fix(prompt_optim): allow streaming output to raise exceptions (#34)
This commit is contained in:
@@ -108,16 +108,23 @@ async def get_prompt_opt(
|
|||||||
service = PromptOptimizerService(db)
|
service = PromptOptimizerService(db)
|
||||||
|
|
||||||
async def event_generator():
|
async def event_generator():
|
||||||
async for chunk in service.optimize_prompt(
|
yield "event:start\ndata: {}\n\n"
|
||||||
tenant_id=current_user.tenant_id,
|
try:
|
||||||
model_id=data.model_id,
|
async for chunk in service.optimize_prompt(
|
||||||
session_id=session_id,
|
tenant_id=current_user.tenant_id,
|
||||||
user_id=current_user.id,
|
model_id=data.model_id,
|
||||||
current_prompt=data.current_prompt,
|
session_id=session_id,
|
||||||
user_require=data.message
|
user_id=current_user.id,
|
||||||
):
|
current_prompt=data.current_prompt,
|
||||||
# chunk 是 prompt 的增量内容
|
user_require=data.message
|
||||||
yield f"event:message\ndata: {json.dumps(chunk)}\n\n"
|
):
|
||||||
|
# chunk 是 prompt 的增量内容
|
||||||
|
yield f"event:message\ndata: {json.dumps(chunk)}\n\n"
|
||||||
|
except Exception as e:
|
||||||
|
yield f"event:error\ndata: {json.dumps(
|
||||||
|
{"error": str(e)}
|
||||||
|
)}\n\n"
|
||||||
|
yield "event:end\ndata: {}\n\n"
|
||||||
|
|
||||||
return StreamingResponse(
|
return StreamingResponse(
|
||||||
event_generator(),
|
event_generator(),
|
||||||
|
|||||||
Reference in New Issue
Block a user