Update app.py
Browse files
app.py
CHANGED
|
@@ -1,12 +1,13 @@
|
|
| 1 |
from fastapi import FastAPI
|
| 2 |
from fastapi.responses import HTMLResponse
|
| 3 |
from pydantic import BaseModel
|
| 4 |
-
from fastapi.responses import JSONResponse
|
| 5 |
import requests
|
| 6 |
import json
|
| 7 |
import openai
|
| 8 |
import time
|
| 9 |
|
|
|
|
| 10 |
class Text(BaseModel):
|
| 11 |
content: str = ""
|
| 12 |
|
|
@@ -127,8 +128,7 @@ def chat_gpt_ep(content: Text = None):
|
|
| 127 |
return JSONResponse(content=content)
|
| 128 |
|
| 129 |
|
| 130 |
-
|
| 131 |
-
def chat_gpt_stream_ep(content: Text = None):
|
| 132 |
start_time = time.time()
|
| 133 |
obj = json.loads(content.content)
|
| 134 |
response = openai.ChatCompletion.create(
|
|
@@ -146,15 +146,16 @@ def chat_gpt_stream_ep(content: Text = None):
|
|
| 146 |
chunk_message = chunk['choices'][0]['delta'] # extract the message
|
| 147 |
collected_messages.append(chunk_message) # save the message
|
| 148 |
print(f"Message received {chunk_time:.2f} seconds after request: {chunk_message}") # print the delay and text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 149 |
|
| 150 |
-
# print the time delay and text received
|
| 151 |
-
print(f"Full response received {chunk_time:.2f} seconds after request")
|
| 152 |
-
full_reply_content = ''.join([m.get('content', '') for m in collected_messages])
|
| 153 |
-
print(f"Full conversation received: {full_reply_content}")
|
| 154 |
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
return
|
| 158 |
|
| 159 |
|
| 160 |
@app.post("/embeddings")
|
|
|
|
| 1 |
from fastapi import FastAPI
|
| 2 |
from fastapi.responses import HTMLResponse
|
| 3 |
from pydantic import BaseModel
|
| 4 |
+
from fastapi.responses import JSONResponse, StreamingResponse
|
| 5 |
import requests
|
| 6 |
import json
|
| 7 |
import openai
|
| 8 |
import time
|
| 9 |
|
| 10 |
+
|
| 11 |
class Text(BaseModel):
|
| 12 |
content: str = ""
|
| 13 |
|
|
|
|
| 128 |
return JSONResponse(content=content)
|
| 129 |
|
| 130 |
|
| 131 |
+
async def chat_gpt_stream_fun(content: Text = None):
|
|
|
|
| 132 |
start_time = time.time()
|
| 133 |
obj = json.loads(content.content)
|
| 134 |
response = openai.ChatCompletion.create(
|
|
|
|
| 146 |
chunk_message = chunk['choices'][0]['delta'] # extract the message
|
| 147 |
collected_messages.append(chunk_message) # save the message
|
| 148 |
print(f"Message received {chunk_time:.2f} seconds after request: {chunk_message}") # print the delay and text
|
| 149 |
+
full_reply_content = ''.join([m.get('content', '') for m in collected_messages])
|
| 150 |
+
print(f"Full conversation received: {full_reply_content}")
|
| 151 |
+
content = {'content': full_reply_content}
|
| 152 |
+
print('content:', content)
|
| 153 |
+
yield full_reply_content
|
| 154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
|
| 156 |
+
@app.post("/chatgptstream")
|
| 157 |
+
async def get_random_numbers(content: Text = None):
|
| 158 |
+
return StreamingResponse(chat_gpt_stream_fun(content))
|
| 159 |
|
| 160 |
|
| 161 |
@app.post("/embeddings")
|