fix: openai error handling

This commit is contained in:
Timothy Jaeryang Baek
2025-08-11 17:00:06 +04:00
parent 8916a284bd
commit 97448e25ec
4 changed files with 36 additions and 6 deletions

View File

@@ -1255,9 +1255,16 @@ async def process_chat_response(
if not isinstance(response, StreamingResponse):
if event_emitter:
if isinstance(response, dict) or isinstance(response, JSONResponse):
response_data = (
response if isinstance(response, dict) else response.content
)
if isinstance(response, JSONResponse) and isinstance(
response.body, bytes
):
try:
response_data = json.loads(response.body.decode("utf-8"))
except json.JSONDecodeError:
response_data = {"error": {"detail": "Invalid JSON response"}}
else:
response_data = response
if "error" in response_data:
error = response_data["error"].get("detail", response_data["error"])