wishwakankanamg commited on
Commit
d271024
·
1 Parent(s): c3defd0
Files changed (4) hide show
  1. __pycache__/graph.cpython-310.pyc +0 -0
  2. app.log +645 -0
  3. graph.py +99 -22
  4. oldgraph.py +33 -89
__pycache__/graph.cpython-310.pyc CHANGED
Binary files a/__pycache__/graph.cpython-310.pyc and b/__pycache__/graph.cpython-310.pyc differ
 
app.log CHANGED
@@ -40790,3 +40790,648 @@ AttributeError: 'dict' object has no attribute 'tools_enabled'
40790
  2025-06-06 05:31:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40791
  2025-06-06 05:31:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40792
  2025-06-06 05:31:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40790
  2025-06-06 05:31:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40791
  2025-06-06 05:31:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40792
  2025-06-06 05:31:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40793
+ 2025-06-06 05:31:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40794
+ 2025-06-06 05:31:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40795
+ 2025-06-06 05:31:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40796
+ 2025-06-06 05:31:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40797
+ 2025-06-06 05:31:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40798
+ 2025-06-06 05:31:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40799
+ 2025-06-06 05:31:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40800
+ 2025-06-06 05:31:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40801
+ 2025-06-06 05:31:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40802
+ 2025-06-06 05:31:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40803
+ 2025-06-06 05:31:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40804
+ 2025-06-06 05:31:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40805
+ 2025-06-06 05:31:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40806
+ 2025-06-06 05:31:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40807
+ 2025-06-06 05:31:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40808
+ 2025-06-06 05:31:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40809
+ 2025-06-06 05:31:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40810
+ 2025-06-06 05:31:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40811
+ 2025-06-06 05:31:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40812
+ 2025-06-06 05:31:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40813
+ 2025-06-06 05:31:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7864/ "HTTP/1.1 200 OK"
40814
+ 2025-06-06 05:33:18:__main__:INFO: Starting the interface
40815
+ 2025-06-06 05:33:18:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
40816
+ 2025-06-06 05:33:18:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
40817
+ 2025-06-06 05:33:19:httpx:INFO: HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
40818
+ 2025-06-06 05:33:19:httpx:INFO: HTTP Request: HEAD http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40819
+ 2025-06-06 05:33:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40820
+ 2025-06-06 05:33:19:httpx:INFO: HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
40821
+ 2025-06-06 05:33:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40822
+ 2025-06-06 05:33:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/?__theme=system&__sign=eyJhbGciOiJFZERTQSJ9.eyJyZWFkIjp0cnVlLCJwZXJtaXNzaW9ucyI6eyJyZXBvLmNvbnRlbnQucmVhZCI6dHJ1ZSwicmVwby5kZXZNb2RlLnJlYWQiOnRydWV9LCJvbkJlaGFsZk9mIjp7ImtpbmQiOiJ1c2VyIiwiX2lkIjoiNjgwMTBjMDkyZjNiMmU3MWIyNjU0ODgwIiwidXNlciI6Indpc2h3YWthbmthbmFtZyIsInNlc3Npb25JZCI6IjY4MmE4ZjBlNGZmMmRjOWNlNDYyYWNlMiJ9LCJpYXQiOjE3NDkxNzg3NDMsInN1YiI6Ii9zcGFjZXMvd2lzaHdha2Fua2FuYW1nL0RJWV9hc3Npc3RhbnQiLCJleHAiOjE3NDkyNjUxNDMsImlzcyI6Imh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28ifQ.e6QR9t8PCv7IxUxFLo-nbOhL1NjKZmtDZQ5dptgNtn4fOH-WjduyV0xouDY_5JIEHOsFlGP-pWfipGdhZeYSBQ "HTTP/1.1 200 OK"
40823
+ 2025-06-06 05:33:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40824
+ 2025-06-06 05:33:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40825
+ 2025-06-06 05:33:22:__main__:INFO: Greeting added for new user via handle_initial_greeting_load.
40826
+ 2025-06-06 05:33:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40827
+ 2025-06-06 05:33:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40828
+ 2025-06-06 05:33:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40829
+ 2025-06-06 05:33:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40830
+ 2025-06-06 05:33:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40831
+ 2025-06-06 05:33:28:__main__:INFO: Prompt: You are a helpful assistant.
40832
+ 2025-06-06 05:33:28:__main__:ERROR: Exception occurred
40833
+ Traceback (most recent call last):
40834
+ File "/home/user/app/app.py", line 85, in chat_fn
40835
+ async for stream_mode, chunk in graph.astream(
40836
+ File "/usr/local/lib/python3.10/site-packages/langgraph/pregel/__init__.py", line 2655, in astream
40837
+ async for _ in runner.atick(
40838
+ File "/usr/local/lib/python3.10/site-packages/langgraph/pregel/runner.py", line 400, in atick
40839
+ _panic_or_proceed(
40840
+ File "/usr/local/lib/python3.10/site-packages/langgraph/pregel/runner.py", line 509, in _panic_or_proceed
40841
+ raise exc
40842
+ File "/usr/local/lib/python3.10/site-packages/langgraph/pregel/retry.py", line 136, in arun_with_retry
40843
+ return await task.proc.ainvoke(task.input, config)
40844
+ File "/usr/local/lib/python3.10/site-packages/langgraph/utils/runnable.py", line 676, in ainvoke
40845
+ input = await step.ainvoke(input, config, **kwargs)
40846
+ File "/usr/local/lib/python3.10/site-packages/langgraph/utils/runnable.py", line 440, in ainvoke
40847
+ ret = await self.afunc(*args, **kwargs)
40848
+ File "/home/user/app/graph.py", line 133, in chatbot
40849
+ valid_messages = [msg for msg in state.messages if getattr(msg, "content", "").strip()]
40850
+ File "/home/user/app/graph.py", line 133, in <listcomp>
40851
+ valid_messages = [msg for msg in state.messages if getattr(msg, "content", "").strip()]
40852
+ AttributeError: 'list' object has no attribute 'strip'
40853
+ 2025-06-06 05:33:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40854
+ 2025-06-06 05:33:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40855
+ 2025-06-06 05:33:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40856
+ 2025-06-06 05:33:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40857
+ 2025-06-06 05:33:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40858
+ 2025-06-06 05:33:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40859
+ 2025-06-06 05:33:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40860
+ 2025-06-06 05:33:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40861
+ 2025-06-06 05:33:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40862
+ 2025-06-06 05:33:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40863
+ 2025-06-06 05:33:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40864
+ 2025-06-06 05:33:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40865
+ 2025-06-06 05:33:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40866
+ 2025-06-06 05:33:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40867
+ 2025-06-06 05:33:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40868
+ 2025-06-06 05:33:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40869
+ 2025-06-06 05:33:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40870
+ 2025-06-06 05:33:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40871
+ 2025-06-06 05:33:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40872
+ 2025-06-06 05:33:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40873
+ 2025-06-06 05:33:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40874
+ 2025-06-06 05:33:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40875
+ 2025-06-06 05:33:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40876
+ 2025-06-06 05:33:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40877
+ 2025-06-06 05:33:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40878
+ 2025-06-06 05:33:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40879
+ 2025-06-06 05:33:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40880
+ 2025-06-06 05:33:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40881
+ 2025-06-06 05:33:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40882
+ 2025-06-06 05:33:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40883
+ 2025-06-06 05:33:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40884
+ 2025-06-06 05:34:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40885
+ 2025-06-06 05:34:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40886
+ 2025-06-06 05:34:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40887
+ 2025-06-06 05:34:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40888
+ 2025-06-06 05:34:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40889
+ 2025-06-06 05:34:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40890
+ 2025-06-06 05:34:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40891
+ 2025-06-06 05:34:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40892
+ 2025-06-06 05:34:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40893
+ 2025-06-06 05:34:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40894
+ 2025-06-06 05:34:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40895
+ 2025-06-06 05:34:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40896
+ 2025-06-06 05:34:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40897
+ 2025-06-06 05:34:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40898
+ 2025-06-06 05:34:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40899
+ 2025-06-06 05:34:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40900
+ 2025-06-06 05:34:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40901
+ 2025-06-06 05:34:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40902
+ 2025-06-06 05:34:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40903
+ 2025-06-06 05:34:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40904
+ 2025-06-06 05:34:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40905
+ 2025-06-06 05:34:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40906
+ 2025-06-06 05:34:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40907
+ 2025-06-06 05:34:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40908
+ 2025-06-06 05:34:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40909
+ 2025-06-06 05:34:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40910
+ 2025-06-06 05:34:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40911
+ 2025-06-06 05:34:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40912
+ 2025-06-06 05:34:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40913
+ 2025-06-06 05:34:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40914
+ 2025-06-06 05:34:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40915
+ 2025-06-06 05:34:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40916
+ 2025-06-06 05:34:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40917
+ 2025-06-06 05:34:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40918
+ 2025-06-06 05:34:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40919
+ 2025-06-06 05:34:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40920
+ 2025-06-06 05:34:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40921
+ 2025-06-06 05:34:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40922
+ 2025-06-06 05:34:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40923
+ 2025-06-06 05:34:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40924
+ 2025-06-06 05:34:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40925
+ 2025-06-06 05:34:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40926
+ 2025-06-06 05:34:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40927
+ 2025-06-06 05:34:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40928
+ 2025-06-06 05:34:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40929
+ 2025-06-06 05:34:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40930
+ 2025-06-06 05:34:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40931
+ 2025-06-06 05:34:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40932
+ 2025-06-06 05:34:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40933
+ 2025-06-06 05:34:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40934
+ 2025-06-06 05:34:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40935
+ 2025-06-06 05:34:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40936
+ 2025-06-06 05:34:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40937
+ 2025-06-06 05:34:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40938
+ 2025-06-06 05:34:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40939
+ 2025-06-06 05:34:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40940
+ 2025-06-06 05:34:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40941
+ 2025-06-06 05:34:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40942
+ 2025-06-06 05:34:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40943
+ 2025-06-06 05:35:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40944
+ 2025-06-06 05:35:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40945
+ 2025-06-06 05:35:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40946
+ 2025-06-06 05:35:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40947
+ 2025-06-06 05:35:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40948
+ 2025-06-06 05:35:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40949
+ 2025-06-06 05:35:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40950
+ 2025-06-06 05:35:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40951
+ 2025-06-06 05:35:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40952
+ 2025-06-06 05:35:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40953
+ 2025-06-06 05:35:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40954
+ 2025-06-06 05:35:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40955
+ 2025-06-06 05:35:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40956
+ 2025-06-06 05:35:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40957
+ 2025-06-06 05:35:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40958
+ 2025-06-06 05:35:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40959
+ 2025-06-06 05:35:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40960
+ 2025-06-06 05:35:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40961
+ 2025-06-06 05:35:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40962
+ 2025-06-06 05:35:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40963
+ 2025-06-06 05:35:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40964
+ 2025-06-06 05:35:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40965
+ 2025-06-06 05:35:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40966
+ 2025-06-06 05:35:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40967
+ 2025-06-06 05:35:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40968
+ 2025-06-06 05:35:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40969
+ 2025-06-06 05:35:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40970
+ 2025-06-06 05:35:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40971
+ 2025-06-06 05:35:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40972
+ 2025-06-06 05:35:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40973
+ 2025-06-06 05:35:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40974
+ 2025-06-06 05:35:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40975
+ 2025-06-06 05:35:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40976
+ 2025-06-06 05:35:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40977
+ 2025-06-06 05:35:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40978
+ 2025-06-06 05:35:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40979
+ 2025-06-06 05:35:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40980
+ 2025-06-06 05:35:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40981
+ 2025-06-06 05:35:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40982
+ 2025-06-06 05:35:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40983
+ 2025-06-06 05:35:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40984
+ 2025-06-06 05:35:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40985
+ 2025-06-06 05:35:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40986
+ 2025-06-06 05:35:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40987
+ 2025-06-06 05:35:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40988
+ 2025-06-06 05:35:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40989
+ 2025-06-06 05:35:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40990
+ 2025-06-06 05:35:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40991
+ 2025-06-06 05:35:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40992
+ 2025-06-06 05:35:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40993
+ 2025-06-06 05:35:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40994
+ 2025-06-06 05:35:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40995
+ 2025-06-06 05:35:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40996
+ 2025-06-06 05:35:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40997
+ 2025-06-06 05:35:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40998
+ 2025-06-06 05:35:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
40999
+ 2025-06-06 05:35:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41000
+ 2025-06-06 05:35:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41001
+ 2025-06-06 05:36:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41002
+ 2025-06-06 05:36:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41003
+ 2025-06-06 05:36:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41004
+ 2025-06-06 05:36:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41005
+ 2025-06-06 05:36:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41006
+ 2025-06-06 05:36:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41007
+ 2025-06-06 05:36:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41008
+ 2025-06-06 05:36:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41009
+ 2025-06-06 05:36:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41010
+ 2025-06-06 05:36:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41011
+ 2025-06-06 05:36:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41012
+ 2025-06-06 05:36:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41013
+ 2025-06-06 05:36:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41014
+ 2025-06-06 05:36:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41015
+ 2025-06-06 05:36:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41016
+ 2025-06-06 05:36:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7865/ "HTTP/1.1 200 OK"
41017
+ 2025-06-06 05:36:19:__main__:INFO: Starting the interface
41018
+ 2025-06-06 05:36:19:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
41019
+ 2025-06-06 05:36:19:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
41020
+ 2025-06-06 05:36:19:httpx:INFO: HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
41021
+ 2025-06-06 05:36:20:httpx:INFO: HTTP Request: HEAD http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41022
+ 2025-06-06 05:36:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41023
+ 2025-06-06 05:36:20:httpx:INFO: HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
41024
+ 2025-06-06 05:36:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41025
+ 2025-06-06 05:36:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/?__theme=system&__sign=eyJhbGciOiJFZERTQSJ9.eyJyZWFkIjp0cnVlLCJwZXJtaXNzaW9ucyI6eyJyZXBvLmNvbnRlbnQucmVhZCI6dHJ1ZSwicmVwby5kZXZNb2RlLnJlYWQiOnRydWV9LCJvbkJlaGFsZk9mIjp7ImtpbmQiOiJ1c2VyIiwiX2lkIjoiNjgwMTBjMDkyZjNiMmU3MWIyNjU0ODgwIiwidXNlciI6Indpc2h3YWthbmthbmFtZyIsInNlc3Npb25JZCI6IjY4MmE4ZjBlNGZmMmRjOWNlNDYyYWNlMiJ9LCJpYXQiOjE3NDkxNzg3NDMsInN1YiI6Ii9zcGFjZXMvd2lzaHdha2Fua2FuYW1nL0RJWV9hc3Npc3RhbnQiLCJleHAiOjE3NDkyNjUxNDMsImlzcyI6Imh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28ifQ.e6QR9t8PCv7IxUxFLo-nbOhL1NjKZmtDZQ5dptgNtn4fOH-WjduyV0xouDY_5JIEHOsFlGP-pWfipGdhZeYSBQ "HTTP/1.1 304 Not Modified"
41026
+ 2025-06-06 05:36:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41027
+ 2025-06-06 05:36:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41028
+ 2025-06-06 05:36:23:__main__:INFO: Greeting added for new user via handle_initial_greeting_load.
41029
+ 2025-06-06 05:36:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41030
+ 2025-06-06 05:36:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41031
+ 2025-06-06 05:36:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41032
+ 2025-06-06 05:36:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41033
+ 2025-06-06 05:36:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41034
+ 2025-06-06 05:36:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41035
+ 2025-06-06 05:36:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41036
+ 2025-06-06 05:36:30:__main__:INFO: Prompt: You are a helpful assistant.
41037
+ 2025-06-06 05:36:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41038
+ 2025-06-06 05:36:32:httpx:INFO: HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
41039
+ 2025-06-06 05:36:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41040
+ 2025-06-06 05:36:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41041
+ 2025-06-06 05:36:34:httpx:INFO: HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 400 Bad Request"
41042
+ 2025-06-06 05:36:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41043
+ 2025-06-06 05:36:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41044
+ 2025-06-06 05:36:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41045
+ 2025-06-06 05:36:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41046
+ 2025-06-06 05:36:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41047
+ 2025-06-06 05:36:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41048
+ 2025-06-06 05:36:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41049
+ 2025-06-06 05:36:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41050
+ 2025-06-06 05:36:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41051
+ 2025-06-06 05:36:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41052
+ 2025-06-06 05:36:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7866/ "HTTP/1.1 200 OK"
41053
+ 2025-06-06 05:36:48:__main__:INFO: Starting the interface
41054
+ 2025-06-06 05:36:49:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
41055
+ 2025-06-06 05:36:49:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
41056
+ 2025-06-06 05:36:49:httpx:INFO: HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
41057
+ 2025-06-06 05:36:49:httpx:INFO: HTTP Request: HEAD http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41058
+ 2025-06-06 05:36:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41059
+ 2025-06-06 05:36:49:httpx:INFO: HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
41060
+ 2025-06-06 05:36:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/?__theme=system&__sign=eyJhbGciOiJFZERTQSJ9.eyJyZWFkIjp0cnVlLCJwZXJtaXNzaW9ucyI6eyJyZXBvLmNvbnRlbnQucmVhZCI6dHJ1ZSwicmVwby5kZXZNb2RlLnJlYWQiOnRydWV9LCJvbkJlaGFsZk9mIjp7ImtpbmQiOiJ1c2VyIiwiX2lkIjoiNjgwMTBjMDkyZjNiMmU3MWIyNjU0ODgwIiwidXNlciI6Indpc2h3YWthbmthbmFtZyIsInNlc3Npb25JZCI6IjY4MmE4ZjBlNGZmMmRjOWNlNDYyYWNlMiJ9LCJpYXQiOjE3NDkxNzg3NDMsInN1YiI6Ii9zcGFjZXMvd2lzaHdha2Fua2FuYW1nL0RJWV9hc3Npc3RhbnQiLCJleHAiOjE3NDkyNjUxNDMsImlzcyI6Imh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28ifQ.e6QR9t8PCv7IxUxFLo-nbOhL1NjKZmtDZQ5dptgNtn4fOH-WjduyV0xouDY_5JIEHOsFlGP-pWfipGdhZeYSBQ "HTTP/1.1 304 Not Modified"
41061
+ 2025-06-06 05:36:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41062
+ 2025-06-06 05:36:51:__main__:INFO: Greeting added for new user via handle_initial_greeting_load.
41063
+ 2025-06-06 05:36:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41064
+ 2025-06-06 05:36:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41065
+ 2025-06-06 05:36:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41066
+ 2025-06-06 05:36:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41067
+ 2025-06-06 05:36:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41068
+ 2025-06-06 05:36:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41069
+ 2025-06-06 05:36:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41070
+ 2025-06-06 05:36:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41071
+ 2025-06-06 05:37:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41072
+ 2025-06-06 05:37:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41073
+ 2025-06-06 05:37:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41074
+ 2025-06-06 05:37:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41075
+ 2025-06-06 05:37:03:__main__:INFO: Prompt: You are a helpful assistant.
41076
+ 2025-06-06 05:37:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41077
+ 2025-06-06 05:37:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41078
+ 2025-06-06 05:37:05:httpx:INFO: HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
41079
+ 2025-06-06 05:37:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41080
+ 2025-06-06 05:37:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41081
+ 2025-06-06 05:37:07:httpx:INFO: HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 400 Bad Request"
41082
+ 2025-06-06 05:37:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41083
+ 2025-06-06 05:37:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41084
+ 2025-06-06 05:37:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41085
+ 2025-06-06 05:37:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41086
+ 2025-06-06 05:37:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41087
+ 2025-06-06 05:37:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41088
+ 2025-06-06 05:37:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41089
+ 2025-06-06 05:37:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41090
+ 2025-06-06 05:37:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41091
+ 2025-06-06 05:37:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41092
+ 2025-06-06 05:37:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41093
+ 2025-06-06 05:37:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41094
+ 2025-06-06 05:37:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41095
+ 2025-06-06 05:37:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41096
+ 2025-06-06 05:37:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41097
+ 2025-06-06 05:37:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41098
+ 2025-06-06 05:37:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41099
+ 2025-06-06 05:37:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41100
+ 2025-06-06 05:37:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41101
+ 2025-06-06 05:37:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41102
+ 2025-06-06 05:37:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41103
+ 2025-06-06 05:37:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41104
+ 2025-06-06 05:37:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41105
+ 2025-06-06 05:37:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41106
+ 2025-06-06 05:37:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41107
+ 2025-06-06 05:37:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41108
+ 2025-06-06 05:37:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41109
+ 2025-06-06 05:37:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41110
+ 2025-06-06 05:37:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41111
+ 2025-06-06 05:37:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41112
+ 2025-06-06 05:37:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41113
+ 2025-06-06 05:37:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41114
+ 2025-06-06 05:37:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41115
+ 2025-06-06 05:37:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41116
+ 2025-06-06 05:37:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41117
+ 2025-06-06 05:37:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41118
+ 2025-06-06 05:37:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41119
+ 2025-06-06 05:37:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41120
+ 2025-06-06 05:37:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41121
+ 2025-06-06 05:37:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41122
+ 2025-06-06 05:37:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41123
+ 2025-06-06 05:37:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41124
+ 2025-06-06 05:37:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41125
+ 2025-06-06 05:37:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41126
+ 2025-06-06 05:37:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41127
+ 2025-06-06 05:37:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41128
+ 2025-06-06 05:37:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41129
+ 2025-06-06 05:37:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41130
+ 2025-06-06 05:37:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41131
+ 2025-06-06 05:37:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41132
+ 2025-06-06 05:37:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41133
+ 2025-06-06 05:38:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41134
+ 2025-06-06 05:38:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41135
+ 2025-06-06 05:38:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41136
+ 2025-06-06 05:38:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41137
+ 2025-06-06 05:38:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41138
+ 2025-06-06 05:38:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41139
+ 2025-06-06 05:38:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41140
+ 2025-06-06 05:38:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41141
+ 2025-06-06 05:38:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41142
+ 2025-06-06 05:38:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41143
+ 2025-06-06 05:38:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41144
+ 2025-06-06 05:38:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41145
+ 2025-06-06 05:38:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41146
+ 2025-06-06 05:38:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41147
+ 2025-06-06 05:38:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41148
+ 2025-06-06 05:38:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41149
+ 2025-06-06 05:38:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41150
+ 2025-06-06 05:38:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41151
+ 2025-06-06 05:38:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41152
+ 2025-06-06 05:38:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41153
+ 2025-06-06 05:38:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41154
+ 2025-06-06 05:38:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41155
+ 2025-06-06 05:38:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41156
+ 2025-06-06 05:38:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41157
+ 2025-06-06 05:38:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41158
+ 2025-06-06 05:38:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41159
+ 2025-06-06 05:38:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41160
+ 2025-06-06 05:38:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41161
+ 2025-06-06 05:38:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41162
+ 2025-06-06 05:38:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41163
+ 2025-06-06 05:38:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41164
+ 2025-06-06 05:38:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41165
+ 2025-06-06 05:38:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41166
+ 2025-06-06 05:38:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41167
+ 2025-06-06 05:38:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41168
+ 2025-06-06 05:38:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41169
+ 2025-06-06 05:38:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41170
+ 2025-06-06 05:38:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41171
+ 2025-06-06 05:38:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41172
+ 2025-06-06 05:38:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41173
+ 2025-06-06 05:38:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41174
+ 2025-06-06 05:38:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41175
+ 2025-06-06 05:38:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41176
+ 2025-06-06 05:38:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41177
+ 2025-06-06 05:38:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41178
+ 2025-06-06 05:38:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41179
+ 2025-06-06 05:38:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41180
+ 2025-06-06 05:38:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41181
+ 2025-06-06 05:38:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41182
+ 2025-06-06 05:38:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41183
+ 2025-06-06 05:38:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41184
+ 2025-06-06 05:38:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41185
+ 2025-06-06 05:38:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41186
+ 2025-06-06 05:38:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41187
+ 2025-06-06 05:38:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41188
+ 2025-06-06 05:38:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41189
+ 2025-06-06 05:38:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41190
+ 2025-06-06 05:38:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41191
+ 2025-06-06 05:38:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41192
+ 2025-06-06 05:39:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41193
+ 2025-06-06 05:39:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41194
+ 2025-06-06 05:39:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41195
+ 2025-06-06 05:39:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41196
+ 2025-06-06 05:39:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41197
+ 2025-06-06 05:39:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41198
+ 2025-06-06 05:39:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41199
+ 2025-06-06 05:39:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41200
+ 2025-06-06 05:39:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41201
+ 2025-06-06 05:39:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41202
+ 2025-06-06 05:39:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41203
+ 2025-06-06 05:39:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41204
+ 2025-06-06 05:39:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41205
+ 2025-06-06 05:39:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41206
+ 2025-06-06 05:39:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41207
+ 2025-06-06 05:39:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41208
+ 2025-06-06 05:39:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41209
+ 2025-06-06 05:39:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41210
+ 2025-06-06 05:39:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41211
+ 2025-06-06 05:39:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41212
+ 2025-06-06 05:39:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41213
+ 2025-06-06 05:39:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41214
+ 2025-06-06 05:39:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41215
+ 2025-06-06 05:39:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41216
+ 2025-06-06 05:39:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41217
+ 2025-06-06 05:39:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41218
+ 2025-06-06 05:39:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41219
+ 2025-06-06 05:39:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41220
+ 2025-06-06 05:39:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41221
+ 2025-06-06 05:39:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41222
+ 2025-06-06 05:39:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41223
+ 2025-06-06 05:39:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41224
+ 2025-06-06 05:39:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41225
+ 2025-06-06 05:39:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41226
+ 2025-06-06 05:39:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41227
+ 2025-06-06 05:39:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41228
+ 2025-06-06 05:39:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41229
+ 2025-06-06 05:39:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41230
+ 2025-06-06 05:39:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41231
+ 2025-06-06 05:39:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41232
+ 2025-06-06 05:39:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41233
+ 2025-06-06 05:39:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41234
+ 2025-06-06 05:39:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41235
+ 2025-06-06 05:39:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41236
+ 2025-06-06 05:39:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41237
+ 2025-06-06 05:39:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41238
+ 2025-06-06 05:39:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41239
+ 2025-06-06 05:39:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41240
+ 2025-06-06 05:39:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41241
+ 2025-06-06 05:39:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41242
+ 2025-06-06 05:39:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41243
+ 2025-06-06 05:39:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41244
+ 2025-06-06 05:39:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41245
+ 2025-06-06 05:39:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41246
+ 2025-06-06 05:39:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41247
+ 2025-06-06 05:39:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41248
+ 2025-06-06 05:39:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41249
+ 2025-06-06 05:39:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41250
+ 2025-06-06 05:40:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41251
+ 2025-06-06 05:40:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41252
+ 2025-06-06 05:40:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41253
+ 2025-06-06 05:40:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41254
+ 2025-06-06 05:40:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41255
+ 2025-06-06 05:40:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41256
+ 2025-06-06 05:40:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41257
+ 2025-06-06 05:40:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41258
+ 2025-06-06 05:40:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41259
+ 2025-06-06 05:40:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41260
+ 2025-06-06 05:40:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41261
+ 2025-06-06 05:40:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41262
+ 2025-06-06 05:40:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41263
+ 2025-06-06 05:40:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41264
+ 2025-06-06 05:40:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41265
+ 2025-06-06 05:40:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41266
+ 2025-06-06 05:40:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41267
+ 2025-06-06 05:40:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41268
+ 2025-06-06 05:40:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41269
+ 2025-06-06 05:40:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41270
+ 2025-06-06 05:40:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41271
+ 2025-06-06 05:40:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41272
+ 2025-06-06 05:40:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41273
+ 2025-06-06 05:40:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41274
+ 2025-06-06 05:40:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41275
+ 2025-06-06 05:40:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41276
+ 2025-06-06 05:40:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41277
+ 2025-06-06 05:40:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41278
+ 2025-06-06 05:40:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41279
+ 2025-06-06 05:40:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41280
+ 2025-06-06 05:40:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41281
+ 2025-06-06 05:40:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41282
+ 2025-06-06 05:40:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41283
+ 2025-06-06 05:40:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7867/ "HTTP/1.1 200 OK"
41284
+ 2025-06-06 05:40:37:__main__:INFO: Starting the interface
41285
+ 2025-06-06 05:40:38:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
41286
+ 2025-06-06 05:40:38:httpx:INFO: HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
41287
+ 2025-06-06 05:40:38:httpx:INFO: HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
41288
+ 2025-06-06 05:40:38:httpx:INFO: HTTP Request: HEAD http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41289
+ 2025-06-06 05:40:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41290
+ 2025-06-06 05:40:38:httpx:INFO: HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
41291
+ 2025-06-06 05:40:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/?__theme=system&__sign=eyJhbGciOiJFZERTQSJ9.eyJyZWFkIjp0cnVlLCJwZXJtaXNzaW9ucyI6eyJyZXBvLmNvbnRlbnQucmVhZCI6dHJ1ZSwicmVwby5kZXZNb2RlLnJlYWQiOnRydWV9LCJvbkJlaGFsZk9mIjp7ImtpbmQiOiJ1c2VyIiwiX2lkIjoiNjgwMTBjMDkyZjNiMmU3MWIyNjU0ODgwIiwidXNlciI6Indpc2h3YWthbmthbmFtZyIsInNlc3Npb25JZCI6IjY4MmE4ZjBlNGZmMmRjOWNlNDYyYWNlMiJ9LCJpYXQiOjE3NDkxNzg3NDMsInN1YiI6Ii9zcGFjZXMvd2lzaHdha2Fua2FuYW1nL0RJWV9hc3Npc3RhbnQiLCJleHAiOjE3NDkyNjUxNDMsImlzcyI6Imh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28ifQ.e6QR9t8PCv7IxUxFLo-nbOhL1NjKZmtDZQ5dptgNtn4fOH-WjduyV0xouDY_5JIEHOsFlGP-pWfipGdhZeYSBQ "HTTP/1.1 304 Not Modified"
41292
+ 2025-06-06 05:40:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41293
+ 2025-06-06 05:40:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41294
+ 2025-06-06 05:40:41:__main__:INFO: Greeting added for new user via handle_initial_greeting_load.
41295
+ 2025-06-06 05:40:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41296
+ 2025-06-06 05:40:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41297
+ 2025-06-06 05:40:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41298
+ 2025-06-06 05:40:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41299
+ 2025-06-06 05:40:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41300
+ 2025-06-06 05:40:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41301
+ 2025-06-06 05:40:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41302
+ 2025-06-06 05:40:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41303
+ 2025-06-06 05:40:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41304
+ 2025-06-06 05:40:50:__main__:INFO: Prompt: You are a helpful assistant.
41305
+ 2025-06-06 05:40:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41306
+ 2025-06-06 05:40:50:httpx:INFO: HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
41307
+ 2025-06-06 05:40:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41308
+ 2025-06-06 05:40:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41309
+ 2025-06-06 05:40:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41310
+ 2025-06-06 05:40:54:httpx:INFO: HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 400 Bad Request"
41311
+ 2025-06-06 05:40:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41312
+ 2025-06-06 05:40:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41313
+ 2025-06-06 05:40:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41314
+ 2025-06-06 05:40:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41315
+ 2025-06-06 05:40:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41316
+ 2025-06-06 05:40:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41317
+ 2025-06-06 05:41:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41318
+ 2025-06-06 05:41:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41319
+ 2025-06-06 05:41:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41320
+ 2025-06-06 05:41:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41321
+ 2025-06-06 05:41:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41322
+ 2025-06-06 05:41:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41323
+ 2025-06-06 05:41:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41324
+ 2025-06-06 05:41:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41325
+ 2025-06-06 05:41:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41326
+ 2025-06-06 05:41:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41327
+ 2025-06-06 05:41:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41328
+ 2025-06-06 05:41:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41329
+ 2025-06-06 05:41:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41330
+ 2025-06-06 05:41:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41331
+ 2025-06-06 05:41:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41332
+ 2025-06-06 05:41:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41333
+ 2025-06-06 05:41:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41334
+ 2025-06-06 05:41:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41335
+ 2025-06-06 05:41:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41336
+ 2025-06-06 05:41:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41337
+ 2025-06-06 05:41:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41338
+ 2025-06-06 05:41:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41339
+ 2025-06-06 05:41:23:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41340
+ 2025-06-06 05:41:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41341
+ 2025-06-06 05:41:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41342
+ 2025-06-06 05:41:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41343
+ 2025-06-06 05:41:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41344
+ 2025-06-06 05:41:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41345
+ 2025-06-06 05:41:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41346
+ 2025-06-06 05:41:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41347
+ 2025-06-06 05:41:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41348
+ 2025-06-06 05:41:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41349
+ 2025-06-06 05:41:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41350
+ 2025-06-06 05:41:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41351
+ 2025-06-06 05:41:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41352
+ 2025-06-06 05:41:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41353
+ 2025-06-06 05:41:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41354
+ 2025-06-06 05:41:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41355
+ 2025-06-06 05:41:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41356
+ 2025-06-06 05:41:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41357
+ 2025-06-06 05:41:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41358
+ 2025-06-06 05:41:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41359
+ 2025-06-06 05:41:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41360
+ 2025-06-06 05:41:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41361
+ 2025-06-06 05:41:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41362
+ 2025-06-06 05:41:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41363
+ 2025-06-06 05:41:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41364
+ 2025-06-06 05:41:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41365
+ 2025-06-06 05:41:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41366
+ 2025-06-06 05:41:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41367
+ 2025-06-06 05:41:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41368
+ 2025-06-06 05:41:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41369
+ 2025-06-06 05:41:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41370
+ 2025-06-06 05:41:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41371
+ 2025-06-06 05:41:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41372
+ 2025-06-06 05:41:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41373
+ 2025-06-06 05:41:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41374
+ 2025-06-06 05:41:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41375
+ 2025-06-06 05:42:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41376
+ 2025-06-06 05:42:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41377
+ 2025-06-06 05:42:02:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41378
+ 2025-06-06 05:42:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41379
+ 2025-06-06 05:42:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41380
+ 2025-06-06 05:42:05:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41381
+ 2025-06-06 05:42:06:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41382
+ 2025-06-06 05:42:07:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41383
+ 2025-06-06 05:42:08:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41384
+ 2025-06-06 05:42:09:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41385
+ 2025-06-06 05:42:10:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41386
+ 2025-06-06 05:42:11:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41387
+ 2025-06-06 05:42:12:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41388
+ 2025-06-06 05:42:13:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41389
+ 2025-06-06 05:42:14:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41390
+ 2025-06-06 05:42:15:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41391
+ 2025-06-06 05:42:16:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41392
+ 2025-06-06 05:42:17:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41393
+ 2025-06-06 05:42:18:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41394
+ 2025-06-06 05:42:19:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41395
+ 2025-06-06 05:42:20:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41396
+ 2025-06-06 05:42:21:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41397
+ 2025-06-06 05:42:22:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41398
+ 2025-06-06 05:42:24:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41399
+ 2025-06-06 05:42:25:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41400
+ 2025-06-06 05:42:26:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41401
+ 2025-06-06 05:42:27:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41402
+ 2025-06-06 05:42:28:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41403
+ 2025-06-06 05:42:29:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41404
+ 2025-06-06 05:42:30:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41405
+ 2025-06-06 05:42:31:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41406
+ 2025-06-06 05:42:32:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41407
+ 2025-06-06 05:42:33:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41408
+ 2025-06-06 05:42:34:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41409
+ 2025-06-06 05:42:35:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41410
+ 2025-06-06 05:42:36:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41411
+ 2025-06-06 05:42:37:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41412
+ 2025-06-06 05:42:38:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41413
+ 2025-06-06 05:42:39:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41414
+ 2025-06-06 05:42:40:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41415
+ 2025-06-06 05:42:41:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41416
+ 2025-06-06 05:42:42:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41417
+ 2025-06-06 05:42:43:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41418
+ 2025-06-06 05:42:44:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41419
+ 2025-06-06 05:42:45:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41420
+ 2025-06-06 05:42:46:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41421
+ 2025-06-06 05:42:47:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41422
+ 2025-06-06 05:42:48:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41423
+ 2025-06-06 05:42:49:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41424
+ 2025-06-06 05:42:50:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41425
+ 2025-06-06 05:42:51:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41426
+ 2025-06-06 05:42:52:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41427
+ 2025-06-06 05:42:53:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41428
+ 2025-06-06 05:42:54:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41429
+ 2025-06-06 05:42:55:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41430
+ 2025-06-06 05:42:56:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41431
+ 2025-06-06 05:42:57:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41432
+ 2025-06-06 05:42:58:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41433
+ 2025-06-06 05:42:59:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41434
+ 2025-06-06 05:43:00:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41435
+ 2025-06-06 05:43:01:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41436
+ 2025-06-06 05:43:03:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
41437
+ 2025-06-06 05:43:04:httpx:INFO: HTTP Request: GET http://0.0.0.0:7868/ "HTTP/1.1 200 OK"
graph.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import logging
2
  import os
3
  from typing import Annotated
@@ -18,7 +20,8 @@ from langgraph.prebuilt import ToolNode
18
  from langgraph.checkpoint.memory import MemorySaver
19
  from langgraph.types import Command, interrupt
20
 
21
-
 
22
 
23
 
24
  logger = logging.getLogger(__name__)
@@ -100,17 +103,68 @@ class GraphProcessingState(BaseModel):
100
  search_enabled: bool = Field(default=True, description="Whether to enable search tools")
101
  idea_complete: bool = Field(default=False)
102
 
103
- @root_validator
104
- def remove_empty_messages(cls, values):
105
- messages = values.get("messages", [])
106
- values["messages"] = [
107
- msg for msg in messages if getattr(msg, "content", "").strip()
 
 
 
 
 
 
 
 
 
 
 
108
  ]
109
- return values
110
 
 
 
 
 
 
 
 
111
 
 
 
 
112
 
 
 
 
113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
 
115
  async def chatbot(state: GraphProcessingState, config=None):
116
  assistant_tools = []
@@ -132,9 +186,7 @@ async def chatbot(state: GraphProcessingState, config=None):
132
  )
133
  chain = prompt | assistant_model
134
 
135
- valid_messages = [msg for msg in state.messages if getattr(msg, "content", "").strip()]
136
-
137
- response = await chain.ainvoke({"messages": valid_messages}, config=config)
138
 
139
  # message = llm_with_tools.invoke(state["messages"])
140
  # Because we will be interrupting during tool execution,
@@ -148,6 +200,23 @@ async def chatbot(state: GraphProcessingState, config=None):
148
  "idea_complete": idea_complete
149
  }
150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
 
152
 
153
 
@@ -157,19 +226,30 @@ def define_workflow() -> CompiledStateGraph:
157
  workflow = StateGraph(GraphProcessingState)
158
 
159
  # Add nodes
 
160
  workflow.add_node("tools", ToolNode(tools))
161
- workflow.add_node("chatbot", chatbot)
 
162
 
163
-
 
 
164
 
165
- workflow.add_conditional_edges(
166
- "chatbot",
167
- tools_condition,
168
- )
169
 
170
- workflow.add_edge("tools", "chatbot")
171
- workflow.add_edge(START, "chatbot")
 
 
 
 
 
 
 
 
172
 
 
 
 
173
  compiled_graph = workflow.compile(checkpointer=memory)
174
  try:
175
  img_bytes = compiled_graph.get_graph().draw_mermaid_png()
@@ -183,7 +263,4 @@ def define_workflow() -> CompiledStateGraph:
183
 
184
  return compiled_graph
185
 
186
- graph = define_workflow()
187
-
188
-
189
-
 
1
+
2
+
3
  import logging
4
  import os
5
  from typing import Annotated
 
20
  from langgraph.checkpoint.memory import MemorySaver
21
  from langgraph.types import Command, interrupt
22
 
23
+ class State(TypedDict):
24
+ messages: Annotated[list, add_messages]
25
 
26
 
27
  logger = logging.getLogger(__name__)
 
103
  search_enabled: bool = Field(default=True, description="Whether to enable search tools")
104
  idea_complete: bool = Field(default=False)
105
 
106
+
107
+ async def planning_node(state: GraphProcessingState, config=None):
108
+ # Define the system prompt for planning
109
+ planning_prompt = "Based on the user's idea, create a detailed step-by-step plan to build the DIY product."
110
+
111
+ # Combine the planning prompt with any existing prompts
112
+ if state.prompt:
113
+ final_prompt = "\n".join([planning_prompt, state.prompt, ASSISTANT_SYSTEM_PROMPT_BASE])
114
+ else:
115
+ final_prompt = "\n".join([planning_prompt, ASSISTANT_SYSTEM_PROMPT_BASE])
116
+
117
+ # Create the prompt template
118
+ prompt = ChatPromptTemplate.from_messages(
119
+ [
120
+ ("system", final_prompt),
121
+ MessagesPlaceholder(variable_name="messages"),
122
  ]
123
+ )
124
 
125
+ # Bind tools if necessary
126
+ assistant_tools = []
127
+ if state.tools_enabled.get("download_website_text", True):
128
+ assistant_tools.append(download_website_text)
129
+ if search_enabled and state.tools_enabled.get("tavily_search_results_json", True):
130
+ assistant_tools.append(tavily_search_tool)
131
+ assistant_model = model.bind_tools(assistant_tools)
132
 
133
+ # Create the chain and invoke it
134
+ chain = prompt | assistant_model
135
+ response = await chain.ainvoke({"messages": state.messages}, config=config)
136
 
137
+ return {
138
+ "messages": response
139
+ }
140
 
141
+ async def assistant_node(state: GraphProcessingState, config=None):
142
+ assistant_tools = []
143
+ if state.tools_enabled.get("download_website_text", True):
144
+ assistant_tools.append(download_website_text)
145
+ if search_enabled and state.tools_enabled.get("tavily_search_results_json", True):
146
+ assistant_tools.append(tavily_search_tool)
147
+ assistant_model = model.bind_tools(assistant_tools)
148
+ if state.prompt:
149
+ final_prompt = "\n".join([state.prompt, ASSISTANT_SYSTEM_PROMPT_BASE])
150
+ else:
151
+ final_prompt = ASSISTANT_SYSTEM_PROMPT_BASE
152
+
153
+ prompt = ChatPromptTemplate.from_messages(
154
+ [
155
+ ("system", final_prompt),
156
+ MessagesPlaceholder(variable_name="messages"),
157
+ ]
158
+ )
159
+ chain = prompt | assistant_model
160
+ response = await chain.ainvoke({"messages": state.messages}, config=config)
161
+
162
+ idea_complete = evaluate_idea_completion(response)
163
+
164
+ return {
165
+ "messages": response,
166
+ "idea_complete": idea_complete
167
+ }
168
 
169
  async def chatbot(state: GraphProcessingState, config=None):
170
  assistant_tools = []
 
186
  )
187
  chain = prompt | assistant_model
188
 
189
+ response = await chain.ainvoke({"messages": state.messages}, config=config)
 
 
190
 
191
  # message = llm_with_tools.invoke(state["messages"])
192
  # Because we will be interrupting during tool execution,
 
200
  "idea_complete": idea_complete
201
  }
202
 
203
+ # def assistant_cond_edge(state: GraphProcessingState):
204
+ # last_message = state.messages[-1]
205
+ # if hasattr(last_message, "tool_calls") and last_message.tool_calls:
206
+ # logger.info(f"Tool call detected: {last_message.tool_calls}")
207
+ # return "tools"
208
+ # return END
209
+ def assistant_routing(state: GraphProcessingState) -> str:
210
+ last_message = state.messages[-1]
211
+ if hasattr(last_message, "tool_calls") and last_message.tool_calls:
212
+ logger.info("Tool call detected. Routing to 'tools' node.")
213
+ return "tools"
214
+ elif state.idea_complete:
215
+ logger.info("Idea is complete. Routing to 'planning_node'.")
216
+ return "planning_node"
217
+ else:
218
+ logger.info("Idea is incomplete. Routing back to 'assistant_node'.")
219
+ return "assistant_node"
220
 
221
 
222
 
 
226
  workflow = StateGraph(GraphProcessingState)
227
 
228
  # Add nodes
229
+ workflow.add_node("assistant_node", assistant_node)
230
  workflow.add_node("tools", ToolNode(tools))
231
+ workflow.add_node("planning_node", planning_node)
232
+ # workflow.add_node("chatbot", chatbot)
233
 
234
+ # Edges
235
+ workflow.add_edge("tools", "assistant_node")
236
+ workflow.add_edge("planning_node", "assistant_node")
237
 
 
 
 
 
238
 
239
+ # workflow.add_conditional_edges(
240
+ # "chatbot",
241
+ # tools_condition,
242
+ # )
243
+
244
+ # workflow.add_edge("tools", "chatbot")
245
+ # workflow.add_edge(START, "chatbot")
246
+
247
+ # Conditional routing
248
+ workflow.add_conditional_edges("assistant_node", assistant_routing)
249
 
250
+ # # Set end nodes
251
+ workflow.set_entry_point("assistant_node")
252
+ # workflow.set_finish_point("assistant_node")
253
  compiled_graph = workflow.compile(checkpointer=memory)
254
  try:
255
  img_bytes = compiled_graph.get_graph().draw_mermaid_png()
 
263
 
264
  return compiled_graph
265
 
266
+ graph = define_workflow()
 
 
 
oldgraph.py CHANGED
@@ -2,6 +2,7 @@ import logging
2
  import os
3
  from typing import Annotated
4
  from typing_extensions import TypedDict
 
5
 
6
  import aiohttp
7
  from langchain_core.messages import AnyMessage
@@ -18,8 +19,7 @@ from langgraph.prebuilt import ToolNode
18
  from langgraph.checkpoint.memory import MemorySaver
19
  from langgraph.types import Command, interrupt
20
 
21
- class State(TypedDict):
22
- messages: Annotated[list, add_messages]
23
 
24
 
25
  logger = logging.getLogger(__name__)
@@ -101,42 +101,26 @@ class GraphProcessingState(BaseModel):
101
  search_enabled: bool = Field(default=True, description="Whether to enable search tools")
102
  idea_complete: bool = Field(default=False)
103
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
- async def planning_node(state: GraphProcessingState, config=None):
106
- # Define the system prompt for planning
107
- planning_prompt = "Based on the user's idea, create a detailed step-by-step plan to build the DIY product."
108
 
109
- # Combine the planning prompt with any existing prompts
110
- if state.prompt:
111
- final_prompt = "\n".join([planning_prompt, state.prompt, ASSISTANT_SYSTEM_PROMPT_BASE])
112
- else:
113
- final_prompt = "\n".join([planning_prompt, ASSISTANT_SYSTEM_PROMPT_BASE])
114
 
115
- # Create the prompt template
116
- prompt = ChatPromptTemplate.from_messages(
117
- [
118
- ("system", final_prompt),
119
- MessagesPlaceholder(variable_name="messages"),
120
- ]
121
- )
122
 
123
- # Bind tools if necessary
124
- assistant_tools = []
125
- if state.tools_enabled.get("download_website_text", True):
126
- assistant_tools.append(download_website_text)
127
- if search_enabled and state.tools_enabled.get("tavily_search_results_json", True):
128
- assistant_tools.append(tavily_search_tool)
129
- assistant_model = model.bind_tools(assistant_tools)
130
-
131
- # Create the chain and invoke it
132
- chain = prompt | assistant_model
133
- response = await chain.ainvoke({"messages": state.messages}, config=config)
134
-
135
- return {
136
- "messages": response
137
- }
138
 
139
- async def assistant_node(state: GraphProcessingState, config=None):
140
  assistant_tools = []
141
  if state.tools_enabled.get("download_website_text", True):
142
  assistant_tools.append(download_website_text)
@@ -155,36 +139,23 @@ async def assistant_node(state: GraphProcessingState, config=None):
155
  ]
156
  )
157
  chain = prompt | assistant_model
158
- response = await chain.ainvoke({"messages": state.messages}, config=config)
159
 
160
- idea_complete = evaluate_idea_completion(response)
 
 
 
 
 
 
161
 
162
- return {
163
- "messages": response,
164
- "idea_complete": idea_complete
165
- }
166
-
167
- async def chatbot(state: GraphProcessingState, config=None):
168
- assistant_tools = []
169
- if state.tools_enabled.get("download_website_text", True):
170
- assistant_tools.append(download_website_text)
171
- if search_enabled and state.tools_enabled.get("tavily_search_results_json", True):
172
- assistant_tools.append(tavily_search_tool)
173
- assistant_model = model.bind_tools(assistant_tools)
174
- if state.prompt:
175
- final_prompt = "\n".join([state.prompt, ASSISTANT_SYSTEM_PROMPT_BASE])
176
- else:
177
- final_prompt = ASSISTANT_SYSTEM_PROMPT_BASE
178
 
179
- prompt = ChatPromptTemplate.from_messages(
180
- [
181
- ("system", final_prompt),
182
- MessagesPlaceholder(variable_name="messages"),
183
- ]
184
- )
185
- chain = prompt | assistant_model
186
 
187
- response = await chain.ainvoke({"messages": state.messages}, config=config)
188
 
189
  # message = llm_with_tools.invoke(state["messages"])
190
  # Because we will be interrupting during tool execution,
@@ -198,23 +169,6 @@ async def chatbot(state: GraphProcessingState, config=None):
198
  "idea_complete": idea_complete
199
  }
200
 
201
- # def assistant_cond_edge(state: GraphProcessingState):
202
- # last_message = state.messages[-1]
203
- # if hasattr(last_message, "tool_calls") and last_message.tool_calls:
204
- # logger.info(f"Tool call detected: {last_message.tool_calls}")
205
- # return "tools"
206
- # return END
207
- def assistant_routing(state: GraphProcessingState) -> str:
208
- last_message = state.messages[-1]
209
- if hasattr(last_message, "tool_calls") and last_message.tool_calls:
210
- logger.info("Tool call detected. Routing to 'tools' node.")
211
- return "tools"
212
- elif state.idea_complete:
213
- logger.info("Idea is complete. Routing to 'planning_node'.")
214
- return "planning_node"
215
- else:
216
- logger.info("Idea is incomplete. Routing back to 'assistant_node'.")
217
- return "assistant_node"
218
 
219
 
220
 
@@ -224,15 +178,10 @@ def define_workflow() -> CompiledStateGraph:
224
  workflow = StateGraph(GraphProcessingState)
225
 
226
  # Add nodes
227
- # workflow.add_node("assistant_node", assistant_node)
228
  workflow.add_node("tools", ToolNode(tools))
229
- # workflow.add_node("planning_node", planning_node)
230
  workflow.add_node("chatbot", chatbot)
231
 
232
- # Edges
233
- # workflow.add_edge("tools", "assistant_node")
234
- # workflow.add_edge("planning_node", "assistant_node")
235
-
236
 
237
  workflow.add_conditional_edges(
238
  "chatbot",
@@ -242,12 +191,6 @@ def define_workflow() -> CompiledStateGraph:
242
  workflow.add_edge("tools", "chatbot")
243
  workflow.add_edge(START, "chatbot")
244
 
245
- # Conditional routing
246
- # workflow.add_conditional_edges("assistant_node", assistant_routing)
247
-
248
- # # Set end nodes
249
- # workflow.set_entry_point("assistant_node")
250
- # workflow.set_finish_point("assistant_node")
251
  compiled_graph = workflow.compile(checkpointer=memory)
252
  try:
253
  img_bytes = compiled_graph.get_graph().draw_mermaid_png()
@@ -261,4 +204,5 @@ def define_workflow() -> CompiledStateGraph:
261
 
262
  return compiled_graph
263
 
264
- graph = define_workflow()
 
 
2
  import os
3
  from typing import Annotated
4
  from typing_extensions import TypedDict
5
+ from pydantic import model_validator
6
 
7
  import aiohttp
8
  from langchain_core.messages import AnyMessage
 
19
  from langgraph.checkpoint.memory import MemorySaver
20
  from langgraph.types import Command, interrupt
21
 
22
+
 
23
 
24
 
25
  logger = logging.getLogger(__name__)
 
101
  search_enabled: bool = Field(default=True, description="Whether to enable search tools")
102
  idea_complete: bool = Field(default=False)
103
 
104
+ @model_validator(mode="after")
105
+ def remove_empty_messages(self):
106
+ """
107
+ Filters out messages with empty content from the messages list.
108
+ """
109
+ if self.messages:
110
+ filtered_messages = []
111
+ for msg in self.messages:
112
+ # Keep the message if its content is not empty.
113
+ # This handles str content, and list content (for tool calls)
114
+ if msg.content:
115
+ filtered_messages.append(msg)
116
+ self.messages = filtered_messages
117
+ return self
118
 
 
 
 
119
 
 
 
 
 
 
120
 
 
 
 
 
 
 
 
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
 
123
+ async def chatbot(state: GraphProcessingState, config=None):
124
  assistant_tools = []
125
  if state.tools_enabled.get("download_website_text", True):
126
  assistant_tools.append(download_website_text)
 
139
  ]
140
  )
141
  chain = prompt | assistant_model
 
142
 
143
+ valid_messages = [
144
+ msg for msg in state.messages if (isinstance(msg.content, str) and msg.content.strip()) or (isinstance(msg.content, list) and msg.content)
145
+ ]
146
+
147
+ # Crucial Debugging Step: If the error persists, print the messages
148
+ # to see exactly what is being sent.
149
+ # print("Messages being sent to model:", valid_messages)
150
 
151
+ if not valid_messages:
152
+ # Handle the case where all messages are filtered out
153
+ # You might want to return a default response or raise an error
154
+ # For now, we can create a dummy response or just return.
155
+ return {"messages": [AIMessage(content="I have no valid input to respond to.")]}
 
 
 
 
 
 
 
 
 
 
 
156
 
 
 
 
 
 
 
 
157
 
158
+ response = await chain.ainvoke({"messages": valid_messages}, config=config)
159
 
160
  # message = llm_with_tools.invoke(state["messages"])
161
  # Because we will be interrupting during tool execution,
 
169
  "idea_complete": idea_complete
170
  }
171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
 
173
 
174
 
 
178
  workflow = StateGraph(GraphProcessingState)
179
 
180
  # Add nodes
 
181
  workflow.add_node("tools", ToolNode(tools))
 
182
  workflow.add_node("chatbot", chatbot)
183
 
184
+
 
 
 
185
 
186
  workflow.add_conditional_edges(
187
  "chatbot",
 
191
  workflow.add_edge("tools", "chatbot")
192
  workflow.add_edge(START, "chatbot")
193
 
 
 
 
 
 
 
194
  compiled_graph = workflow.compile(checkpointer=memory)
195
  try:
196
  img_bytes = compiled_graph.get_graph().draw_mermaid_png()
 
204
 
205
  return compiled_graph
206
 
207
+ graph = define_workflow()
208
+