KorRyu3 / TriPal

LLM service that offers travel plans
3 stars 0 forks source link

デバッグ時の謎タイムアウトエラーについて #27

Closed KorRyu3 closed 8 months ago

KorRyu3 commented 8 months ago

Originally posted by @nka21 in https://github.com/KorRyu3/TriPal/issues/25#issuecomment-1925349550


@nka21 デバッグしてたら、急にタイムアウトしたのでメモ

ConnectionResetError: [Errno 54] Connection reset by peer

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions
    yield
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 34, in read
    return await self._stream.receive(max_bytes=max_bytes)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/anyio/streams/tls.py", line 196, in receive
    data = await self._call_sslobject_method(self._ssl_object.read, max_bytes)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/anyio/streams/tls.py", line 138, in _call_sslobject_method
    data = await self.transport_stream.receive()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1212, in receive
    raise self._protocol.exception
anyio.BrokenResourceError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_transports/default.py", line 67, in map_httpcore_exceptions
    yield
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_transports/default.py", line 252, in __aiter__
    async for part in self._httpcore_stream:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 361, in __aiter__
    async for part in self._stream:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_async/http11.py", line 337, in __aiter__
    raise exc
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_async/http11.py", line 329, in __aiter__
    async for chunk in self._connection._receive_response_body(**kwargs):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_async/http11.py", line 198, in _receive_response_body
    event = await self._receive_event(timeout=timeout)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_async/http11.py", line 212, in _receive_event
    data = await self._network_stream.read(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 31, in read
    with map_exceptions(exc_map):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ReadError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 250, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/applications.py", line 116, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 151, in __call__
    await self.app(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 55, in wrapped_app
    raise exc
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 44, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/routing.py", line 746, in __call__
    await route.handle(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/routing.py", line 357, in handle
    await self.app(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/routing.py", line 94, in app
    await wrap_app_handling_exceptions(app, session)(scope, receive, send)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 55, in wrapped_app
    raise exc
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 44, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/starlette/routing.py", line 92, in app
    await func(session)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 360, in app
    await dependant.call(**values)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/src/app.py", line 50, in chat
    async for output in tripal_gpt.get_async_generator_output(user_input=user_chat):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/src/tripalgpt.py", line 202, in get_async_generator_output
    async for res in generator_response:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 737, in astream_log
    await task
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 691, in consume_astream
    async for chunk in self.astream(input, config, **kwargs):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain/agents/agent.py", line 1472, in astream
    async for step in iterator:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain/agents/agent_iterator.py", line 240, in __aiter__
    async for chunk in self.agent_executor._aiter_next_step(
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain/agents/agent.py", line 1192, in _aiter_next_step
    output = await self.agent.aplan(
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain/agents/agent.py", line 409, in aplan
    output = await self.runnable.ainvoke(inputs, config={"callbacks": callbacks})
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1747, in ainvoke
    input = await step.ainvoke(
            ^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 3422, in ainvoke
    return await self.bound.ainvoke(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 184, in ainvoke
    llm_result = await self.agenerate_prompt(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 506, in agenerate_prompt
    return await self.agenerate(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 466, in agenerate
    raise exceptions[0]
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 569, in _agenerate_with_cache
    return await self._agenerate(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_community/chat_models/openai.py", line 518, in _agenerate
    return await agenerate_from_stream(stream_iter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 85, in agenerate_from_stream
    async for chunk in stream:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/langchain_community/chat_models/openai.py", line 484, in _astream
    async for chunk in await acompletion_with_retry(
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/openai/_streaming.py", line 94, in __aiter__
    async for item in self._iterator:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/openai/_streaming.py", line 107, in __stream__
    async for sse in iterator:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/openai/_streaming.py", line 98, in _iter_events
    async for sse in self._decoder.aiter(self.response.aiter_lines()):
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/openai/_streaming.py", line 190, in aiter
    async for line in iterator:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_models.py", line 967, in aiter_lines
    async for text in self.aiter_text():
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_models.py", line 954, in aiter_text
    async for byte_content in self.aiter_bytes():
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_models.py", line 933, in aiter_bytes
    async for raw_bytes in self.aiter_raw():
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_models.py", line 991, in aiter_raw
    async for raw_stream_bytes in self.stream:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_client.py", line 147, in __aiter__
    async for chunk in self._stream:
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_transports/default.py", line 251, in __aiter__
    with map_httpcore_exceptions():
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/kojimanaoki/Documents/GitHub/TriPal/.venv/lib/python3.11/site-packages/httpx/_transports/default.py", line 84, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ReadError
KorRyu3 commented 8 months ago

@nka21 いつ、どこで、何をしたらこれが起きたのか教えてくれるとありがたい

nka21 commented 8 months ago

@KorRyu3 ターミナル見たら、 app.pyを起動してから、ずっとエラー吐いてる。

今日の作業はもう終わりなので、明日一緒に解決しようか