Spaces:
Sleeping
Sleeping
Ganesh Chintalapati commited on
Commit ·
6e59463
1
Parent(s): a64da77
Fix syntax3
Browse files
app.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import os
|
| 2 |
import logging
|
| 3 |
import httpx
|
|
|
|
| 4 |
from dotenv import load_dotenv
|
| 5 |
import gradio as gr
|
| 6 |
from typing import AsyncGenerator, List, Dict, Tuple
|
|
@@ -55,15 +56,20 @@ async def ask_openai(query: str, history: List[Dict[str, str]]) -> AsyncGenerato
|
|
| 55 |
data = line[6:] # Remove "data: " prefix
|
| 56 |
if data == "[DONE]":
|
| 57 |
break
|
|
|
|
|
|
|
| 58 |
try:
|
| 59 |
-
json_data =
|
| 60 |
if "choices" in json_data and json_data["choices"]:
|
| 61 |
delta = json_data["choices"][0].get("delta", {})
|
| 62 |
-
if "content" in delta:
|
| 63 |
yield delta["content"]
|
| 64 |
-
except
|
| 65 |
-
logger.error(f"Error parsing OpenAI stream chunk: {str(e)}")
|
| 66 |
yield f"Error parsing stream: {str(e)}"
|
|
|
|
|
|
|
|
|
|
| 67 |
|
| 68 |
except httpx.HTTPStatusError as e:
|
| 69 |
logger.error(f"OpenAI HTTP Status Error: {e.response.status_code}, {e.response.text}")
|
|
|
|
| 1 |
import os
|
| 2 |
import logging
|
| 3 |
import httpx
|
| 4 |
+
import json
|
| 5 |
from dotenv import load_dotenv
|
| 6 |
import gradio as gr
|
| 7 |
from typing import AsyncGenerator, List, Dict, Tuple
|
|
|
|
| 56 |
data = line[6:] # Remove "data: " prefix
|
| 57 |
if data == "[DONE]":
|
| 58 |
break
|
| 59 |
+
if not data.strip():
|
| 60 |
+
continue
|
| 61 |
try:
|
| 62 |
+
json_data = json.loads(data) # Safely parse JSON
|
| 63 |
if "choices" in json_data and json_data["choices"]:
|
| 64 |
delta = json_data["choices"][0].get("delta", {})
|
| 65 |
+
if "content" in delta and delta["content"] is not None:
|
| 66 |
yield delta["content"]
|
| 67 |
+
except json.JSONDecodeError as e:
|
| 68 |
+
logger.error(f"Error parsing OpenAI stream chunk: {str(e)} - Data: {data}")
|
| 69 |
yield f"Error parsing stream: {str(e)}"
|
| 70 |
+
except Exception as e:
|
| 71 |
+
logger.error(f"Unexpected error in OpenAI stream: {str(e)} - Data: {data}")
|
| 72 |
+
yield f"Error in stream: {str(e)}"
|
| 73 |
|
| 74 |
except httpx.HTTPStatusError as e:
|
| 75 |
logger.error(f"OpenAI HTTP Status Error: {e.response.status_code}, {e.response.text}")
|