Update app.py
Browse files
app.py
CHANGED
|
@@ -89,8 +89,13 @@ async def duckduckgo_chat_stream(model, messages):
|
|
| 89 |
if line:
|
| 90 |
decoded_line = line.decode('utf-8')
|
| 91 |
if decoded_line.startswith("data: "):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
try:
|
| 93 |
-
json_data = json.loads(
|
| 94 |
message_content = json_data.get("message", "")
|
| 95 |
if message_content:
|
| 96 |
# Build OpenAI style streaming response
|
|
@@ -101,11 +106,9 @@ async def duckduckgo_chat_stream(model, messages):
|
|
| 101 |
"model": model,
|
| 102 |
"choices": [
|
| 103 |
{
|
| 104 |
-
"delta": {
|
| 105 |
-
"content": message_content
|
| 106 |
-
},
|
| 107 |
"index": 0,
|
| 108 |
-
"finish_reason": None
|
| 109 |
}
|
| 110 |
],
|
| 111 |
}
|
|
|
|
| 89 |
if line:
|
| 90 |
decoded_line = line.decode('utf-8')
|
| 91 |
if decoded_line.startswith("data: "):
|
| 92 |
+
content = decoded_line[5:].strip()
|
| 93 |
+
# Check if this is the final marker
|
| 94 |
+
if content == "[DONE]":
|
| 95 |
+
yield f"data: [DONE]\n\n"
|
| 96 |
+
break
|
| 97 |
try:
|
| 98 |
+
json_data = json.loads(content)
|
| 99 |
message_content = json_data.get("message", "")
|
| 100 |
if message_content:
|
| 101 |
# Build OpenAI style streaming response
|
|
|
|
| 106 |
"model": model,
|
| 107 |
"choices": [
|
| 108 |
{
|
| 109 |
+
"delta": {"content": message_content},
|
|
|
|
|
|
|
| 110 |
"index": 0,
|
| 111 |
+
"finish_reason": None,
|
| 112 |
}
|
| 113 |
],
|
| 114 |
}
|