zylon-ai / private-gpt

Interact with your documents using the power of GPT, 100% privately, no data leaks
https://privategpt.dev
Apache License 2.0
54.29k stars 7.3k forks source link

[BUG] Async (nested sync detected) error in UI when summarizing large/long text files #2080

Open Stego72 opened 2 months ago

Stego72 commented 2 months ago

Pre-check

Description

Using Docker (Ollama-CUDA default settings)

A "RuntimeError: Detected nested async" is raised when trying to summarize large documents from the UI. The model is generating the output in the trace but it fail to appear in the UI - after a while the RuntimeError is raised.

It appears to be a consequence of a previous runtime error:

File "/home/worker/app/.venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request raise exc from None File "/home/worker/app/.venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 189, in handle_async_request await self._close_connections(closing) File "/home/worker/app/.venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 305, in _close_connections await connection.aclose() File "/home/worker/app/.venv/lib/python3.11/site-packages/httpcore/_async/connection.py", line 171, in aclose await self._connection.aclose() File "/home/worker/app/.venv/lib/python3.11/site-packages/httpcore/_async/http11.py", line 265, in aclose await self._network_stream.aclose() File "/home/worker/app/.venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 55, in aclose await self._stream.aclose() File "/home/worker/app/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1198, in aclose self._transport.write_eof() File "uvloop/handles/stream.pyx", line 699, in uvloop.loop.UVStream.write_eof File "uvloop/handles/handle.pyx", line 159, in uvloop.loop.UVHandle._ensure_alive RuntimeError: unable to perform operation on <TCPTransport closed=True reading=False 0x7fd41cdb1090>; the handler is closed

Steps to Reproduce

  1. Ingest large PDF document (150 pages or more)
  2. From the UI, prompt to summarize document
  3. Observe response being generated in the trace
  4. RuntimeError is raised after a while

Expected Behavior

Summary provided

Actual Behavior

RuntimeError

Environment

Win10, RTX4090, Docker install (vanilla Ollama-GPU) as per installation guide

Additional Information

No response

Version

No response

Setup Checklist

NVIDIA GPU Setup Checklist

amida168 commented 2 months ago

I have the same problem.

jaluma commented 2 months ago

It is a problem related to the async implementation of Ollama in llama-index... Can you try to move to sync version until we have a solution?

Nerdnub commented 2 months ago

Changing async to false in settings.yaml doesn't resolve this issue for me.

meng-hui commented 1 month ago

I have noticed that stopping the summarize prompt in the UI also does not stop the model from generating outputs in the trace.

I'm using Ollama API

SuperSonnix71 commented 10 hours ago

take a look here https://github.com/zylon-ai/private-gpt/issues/2131 I have fixed the nested async's in my code changes. the issues presist.