Spaces:
Running
Running
Update apis/chat_api.py
Browse files- apis/chat_api.py +12 -1
apis/chat_api.py
CHANGED
@@ -3,6 +3,7 @@ import uvicorn
|
|
3 |
import sys
|
4 |
import json
|
5 |
|
|
|
6 |
from fastapi import FastAPI
|
7 |
from fastapi.encoders import jsonable_encoder
|
8 |
from fastapi.responses import JSONResponse
|
@@ -11,6 +12,7 @@ from sse_starlette.sse import EventSourceResponse
|
|
11 |
from utils.logger import logger
|
12 |
from networks.message_streamer import MessageStreamer
|
13 |
from messagers.message_composer import MessageComposer
|
|
|
14 |
|
15 |
|
16 |
class ChatAPIApp:
|
@@ -43,11 +45,20 @@ class ChatAPIApp:
|
|
43 |
)
|
44 |
|
45 |
def chat_completions(self, item: ChatCompletionsPostItem):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
item_response = {
|
47 |
"from_language": item.from_language,
|
48 |
"to_language": item.to_language,
|
49 |
"text": item.text,
|
50 |
-
"translate":
|
51 |
}
|
52 |
json_compatible_item_data = jsonable_encoder(item_response)
|
53 |
return JSONResponse(content=json_compatible_item_data)
|
|
|
3 |
import sys
|
4 |
import json
|
5 |
|
6 |
+
|
7 |
from fastapi import FastAPI
|
8 |
from fastapi.encoders import jsonable_encoder
|
9 |
from fastapi.responses import JSONResponse
|
|
|
12 |
from utils.logger import logger
|
13 |
from networks.message_streamer import MessageStreamer
|
14 |
from messagers.message_composer import MessageComposer
|
15 |
+
from googletrans import Translator
|
16 |
|
17 |
|
18 |
class ChatAPIApp:
|
|
|
45 |
)
|
46 |
|
47 |
def chat_completions(self, item: ChatCompletionsPostItem):
|
48 |
+
translator = Translator()
|
49 |
+
f = open('apis/lang_name.json', "r")
|
50 |
+
available_langs = json.loads(f.read())
|
51 |
+
from_lang = "en"
|
52 |
+
for lang_item in available_langs:
|
53 |
+
if item.to_language == lang_item['code']:
|
54 |
+
from_lang = item.to_language
|
55 |
+
break
|
56 |
+
|
57 |
item_response = {
|
58 |
"from_language": item.from_language,
|
59 |
"to_language": item.to_language,
|
60 |
"text": item.text,
|
61 |
+
"translate": translator.translate(item.text, dest=from_lang)
|
62 |
}
|
63 |
json_compatible_item_data = jsonable_encoder(item_response)
|
64 |
return JSONResponse(content=json_compatible_item_data)
|