fix GeneratorExit: aclose stream generator before closing httpx client
This commit is contained in:
parent
5707754cec
commit
7b54c97333
1 changed files with 11 additions and 11 deletions
|
|
@ -955,23 +955,23 @@ async def _proxy_to_external_provider(
|
|||
)
|
||||
|
||||
async def _stream():
|
||||
gen = client.stream_chat_completion(
|
||||
messages = chat_messages,
|
||||
model = model,
|
||||
temperature = payload.temperature,
|
||||
top_p = payload.top_p,
|
||||
max_tokens = payload.max_tokens,
|
||||
presence_penalty = payload.presence_penalty,
|
||||
stream = payload.stream,
|
||||
)
|
||||
try:
|
||||
async for line in client.stream_chat_completion(
|
||||
messages = chat_messages,
|
||||
model = model,
|
||||
temperature = payload.temperature,
|
||||
top_p = payload.top_p,
|
||||
max_tokens = payload.max_tokens,
|
||||
presence_penalty = payload.presence_penalty,
|
||||
stream = payload.stream,
|
||||
):
|
||||
async for line in gen:
|
||||
yield f"{line}\n\n"
|
||||
yield "data: [DONE]\n\n"
|
||||
except GeneratorExit:
|
||||
pass
|
||||
except Exception as exc:
|
||||
logger.error("external_provider.stream_error", error = str(exc))
|
||||
finally:
|
||||
await gen.aclose()
|
||||
await client.close()
|
||||
|
||||
return StreamingResponse(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue