Skip to content

Printing chunk_data (in main-api/main.py 78行) causes error (incomplete chunked read) #10

@vivisol

Description

@vivisol

The code in main-api/main.py 78行 cause Error:

        print(f"生成正文输出的chunk_data: {chunk_data}")

The error message:

======================================================================
ERROR: test_generate_content (__main__.PPTBaseTestCase)
Test generating content_base_ppt_outline
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_transports\default.py", line 101, in map_httpcore_exceptions
    yield
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_transports\default.py", line 271, in __aiter__
    async for part in self._httpcore_stream:
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_async\connection_pool.py", line 407, in __aiter__
    raise exc from None
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_async\connection_pool.py", line 403, in __aiter__
    async for part in self._stream:
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_async\http11.py", line 342, in __aiter__
    raise exc
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_async\http11.py", line 334, in __aiter__
    async for chunk in self._connection._receive_response_body(**kwargs):
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_async\http11.py", line 203, in _receive_response_body
    event = await self._receive_event(timeout=timeout)
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_async\http11.py", line 213, in _receive_event
    with map_exceptions({h11.RemoteProtocolError: RemoteProtocolError}):
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.RemoteProtocolError: peer closed connection without sending complete message body (incomplete chunked read)

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

Traceback (most recent call last):
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\unittest\async_case.py", line 64, in _callTestMethod
    self._callMaybeAsync(method)
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\unittest\async_case.py", line 87, in _callMaybeAsync
    return self._asyncioTestLoop.run_until_complete(fut)
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\asyncio\base_events.py", line 649, in run_until_complete
    return future.result()
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\unittest\async_case.py", line 101, in _asyncioLoopRunner
    ret = await awaitable
  File "D:\Learn\TrainPPTAgent\TrainPPTAgent\backend\test_main.py", line 63, in test_generate_content
    async for line in response.aiter_lines():
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_models.py", line 1031, in aiter_lines
    async for text in self.aiter_text():
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_models.py", line 1018, in aiter_text
    async for byte_content in self.aiter_bytes():
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_models.py", line 997, in aiter_bytes
    async for raw_bytes in self.aiter_raw():
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_models.py", line 1055, in aiter_raw
    async for raw_stream_bytes in self.stream:
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_client.py", line 176, in __aiter__
    async for chunk in self._stream:
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_transports\default.py", line 270, in __aiter__
    with map_httpcore_exceptions():
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "D:\ProgramData\miniconda3\envs\trainPPTAgent\lib\site-packages\httpx\_transports\default.py", line 118, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.RemoteProtocolError: peer closed connection without sending complete message body (incomplete chunked read)

----------------------------------------------------------------------
Ran 3 tests in 79.401s

FAILED (errors=1)

The solution:

Just comment the print code ,then it works ok :

    async for chunk_data in content_wrapper.generate(result):
        # print(f"生成正文输出的chunk_data: {chunk_data}")
        if chunk_data["type"] == "text":
            yield chunk_data["text"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions