Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -16,6 +16,7 @@ from huggingface_hub import InferenceClient
|
|
| 16 |
import json
|
| 17 |
import re
|
| 18 |
from gradio_client import Client
|
|
|
|
| 19 |
|
| 20 |
# Define Pydantic model for incoming request body
|
| 21 |
class MessageRequest(BaseModel):
|
|
@@ -31,7 +32,7 @@ llm_client = InferenceClient(
|
|
| 31 |
os.environ["HF_TOKEN"] = os.getenv("HF_TOKEN")
|
| 32 |
|
| 33 |
app = FastAPI()
|
| 34 |
-
|
| 35 |
@app.middleware("http")
|
| 36 |
async def add_security_headers(request: Request, call_next):
|
| 37 |
response = await call_next(request)
|
|
@@ -186,24 +187,17 @@ async def receive_form_data(request: Request):
|
|
| 186 |
async def chat(request: MessageRequest):
|
| 187 |
message = request.message # Access the message from the request body
|
| 188 |
language = request.language
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
language=" Hindi"
|
| 193 |
-
elif language == "es-ES":
|
| 194 |
-
language=" Spanish"
|
| 195 |
-
elif language == "fr-FR":
|
| 196 |
-
language=" French"
|
| 197 |
-
print("Language is French.")
|
| 198 |
-
elif language == "te-IN":
|
| 199 |
-
language=" Telugu"
|
| 200 |
-
print("Language is Telugu.")
|
| 201 |
response = handle_query(message) # Process the message
|
| 202 |
-
|
| 203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
print(f"Selected Language: {language}")
|
| 205 |
-
#language =request.language
|
| 206 |
-
#print(language)
|
| 207 |
message_data = {
|
| 208 |
"sender": "User",
|
| 209 |
"message": message,
|
|
|
|
| 16 |
import json
|
| 17 |
import re
|
| 18 |
from gradio_client import Client
|
| 19 |
+
from googletrans import Translator, LANGUAGES
|
| 20 |
|
| 21 |
# Define Pydantic model for incoming request body
|
| 22 |
class MessageRequest(BaseModel):
|
|
|
|
| 32 |
os.environ["HF_TOKEN"] = os.getenv("HF_TOKEN")
|
| 33 |
|
| 34 |
app = FastAPI()
|
| 35 |
+
translator = Translator()
|
| 36 |
@app.middleware("http")
|
| 37 |
async def add_security_headers(request: Request, call_next):
|
| 38 |
response = await call_next(request)
|
|
|
|
| 187 |
async def chat(request: MessageRequest):
|
| 188 |
message = request.message # Access the message from the request body
|
| 189 |
language = request.language
|
| 190 |
+
language_code = request.language.split('-')[0]
|
| 191 |
+
if language_code not in LANGUAGES:
|
| 192 |
+
return {"response": "Unsupported language selected."}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 193 |
response = handle_query(message) # Process the message
|
| 194 |
+
try:
|
| 195 |
+
response = translator.translate(response, dest=language_code).text
|
| 196 |
+
except Exception as e:
|
| 197 |
+
# Handle translation errors
|
| 198 |
+
print(f"Translation error: {e}")
|
| 199 |
+
translated_response = "Sorry, I couldn't translate the response."
|
| 200 |
print(f"Selected Language: {language}")
|
|
|
|
|
|
|
| 201 |
message_data = {
|
| 202 |
"sender": "User",
|
| 203 |
"message": message,
|