From 452b401647a23df35bb235ede136a6347e174612 Mon Sep 17 00:00:00 2001
From: "Timothy J. Baek" <timothyjrbeck@gmail.com>
Date: Tue, 21 May 2024 19:56:09 -0700
Subject: [PATCH] fix

---
 main.py | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/main.py b/main.py
index 557be2f..d0d5b58 100644
--- a/main.py
+++ b/main.py
@@ -143,18 +143,19 @@ async def generate_openai_chat_completion(form_data: OpenAIChatCompletionForm):
                     yield f"data: {json.dumps(message)}\n\n"
 
                 if isinstance(res, Iterator):
-                    if isinstance(res, Generator):
-                        for message in res:
-                            print(f"stream_content:Generator:{message}")
-                            message = stream_message_template(form_data.model, message)
-                            yield f"data: {json.dumps(message)}\n\n"
-                    else:
-                        for line in res:
-                            if line:
-                                # Decode the JSON data
-                                decoded_line = line.decode("utf-8")
-                                print(f"stream_content:Iterator:{decoded_line}")
-                                yield f"{decoded_line}\n\n"
+                    for line in res:
+                        try:
+                            line = line.decode("utf-8")
+                        except:
+                            pass
+
+                        print(f"stream_content:Generator:{line}")
+
+                        if line.startswith("data:"):
+                            yield f"{line}\n\n"
+                        else:
+                            line = stream_message_template(form_data.model, line)
+                            yield f"data: {json.dumps(line)}\n\n"
 
                 if isinstance(res, str) or isinstance(res, Generator):
                     finish_message = {