sachin commited on
Commit
1b365ce
·
1 Parent(s): 7220fec

update-tansc

Browse files
Files changed (1) hide show
  1. src/server/main.py +11 -35
src/server/main.py CHANGED
@@ -179,32 +179,6 @@ class VisualQueryRequest(BaseModel):
179
  class VisualQueryResponse(BaseModel):
180
  answer: str
181
 
182
- # TTS Service Interface
183
- class TTSService(ABC):
184
- @abstractmethod
185
- async def generate_speech(self, payload: dict) -> requests.Response:
186
- pass
187
-
188
- class ExternalTTSService(TTSService):
189
- async def generate_speech(self, payload: dict) -> requests.Response:
190
- try:
191
- return requests.post(
192
- settings.external_tts_url,
193
- json=payload,
194
- headers={"accept": "*/*", "Content-Type": "application/json"},
195
- stream=True,
196
- timeout=60
197
- )
198
- except requests.Timeout:
199
- logger.error("External TTS API timeout")
200
- raise HTTPException(status_code=504, detail="External TTS API timeout")
201
- except requests.RequestException as e:
202
- logger.error(f"External TTS API error: {str(e)}")
203
- raise HTTPException(status_code=502, detail=f"External TTS service error: {str(e)}")
204
-
205
- def get_tts_service() -> TTSService:
206
- return ExternalTTSService()
207
-
208
  # Endpoints with enhanced Swagger docs
209
  @app.get("/v1/health",
210
  summary="Check API Health",
@@ -304,8 +278,7 @@ async def generate_audio(
304
  input: str = Query(..., description="Base64-encoded encrypted text to convert to speech (max 1000 characters after decryption)"),
305
  response_format: str = Query("mp3", description="Audio format (ignored, defaults to mp3 for external API)"),
306
  credentials: HTTPAuthorizationCredentials = Depends(bearer_scheme),
307
- x_session_key: str = Header(..., alias="X-Session-Key"),
308
- tts_service: TTSService = Depends(get_tts_service)
309
  ):
310
  user_id = await get_current_user(credentials)
311
  session_key = base64.b64decode(x_session_key)
@@ -330,12 +303,14 @@ async def generate_audio(
330
  "user_id": user_id
331
  })
332
 
 
333
  payload = {
334
  "text": decrypted_input
335
  }
336
 
337
  try:
338
- response = await tts_service.generate_speech(payload)
 
339
  response.raise_for_status()
340
  except requests.HTTPError as e:
341
  logger.error(f"External TTS request failed: {str(e)}")
@@ -588,18 +563,19 @@ async def translate(
588
 
589
  logger.debug(f"Received translation request: {len(decrypted_sentences)} sentences, src_lang: {decrypted_src_lang}, tgt_lang: {decrypted_tgt_lang}, user_id: {user_id}")
590
 
591
- external_url = f"{settings.external_api_base_url}/v1/translate"
592
 
593
- payload = {
594
- "sentences": decrypted_sentences,
595
- "src_lang": decrypted_src_lang,
596
- "tgt_lang": decrypted_tgt_lang
597
- }
598
 
599
  try:
600
  response = dwani.Translate.run_translate(sentences=decrypted_sentences, src_lang=decrypted_src_lang, tgt_lang=decrypted_tgt_lang)
601
 
602
  '''
 
 
 
 
 
 
 
603
  response = requests.post(
604
  external_url,
605
  json=payload,
 
179
  class VisualQueryResponse(BaseModel):
180
  answer: str
181
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  # Endpoints with enhanced Swagger docs
183
  @app.get("/v1/health",
184
  summary="Check API Health",
 
278
  input: str = Query(..., description="Base64-encoded encrypted text to convert to speech (max 1000 characters after decryption)"),
279
  response_format: str = Query("mp3", description="Audio format (ignored, defaults to mp3 for external API)"),
280
  credentials: HTTPAuthorizationCredentials = Depends(bearer_scheme),
281
+ x_session_key: str = Header(..., alias="X-Session-Key")
 
282
  ):
283
  user_id = await get_current_user(credentials)
284
  session_key = base64.b64decode(x_session_key)
 
303
  "user_id": user_id
304
  })
305
 
306
+
307
  payload = {
308
  "text": decrypted_input
309
  }
310
 
311
  try:
312
+ response = dwani.Audio.speech(input="ಕರ್ನಾಟಕ ದ ರಾಜಧಾನಿ ಯಾವುದು", response_format="mp3")
313
+
314
  response.raise_for_status()
315
  except requests.HTTPError as e:
316
  logger.error(f"External TTS request failed: {str(e)}")
 
563
 
564
  logger.debug(f"Received translation request: {len(decrypted_sentences)} sentences, src_lang: {decrypted_src_lang}, tgt_lang: {decrypted_tgt_lang}, user_id: {user_id}")
565
 
 
566
 
 
 
 
 
 
567
 
568
  try:
569
  response = dwani.Translate.run_translate(sentences=decrypted_sentences, src_lang=decrypted_src_lang, tgt_lang=decrypted_tgt_lang)
570
 
571
  '''
572
+ external_url = f"{settings.external_api_base_url}/v1/translate"
573
+
574
+ payload = {
575
+ "sentences": decrypted_sentences,
576
+ "src_lang": decrypted_src_lang,
577
+ "tgt_lang": decrypted_tgt_lang
578
+ }
579
  response = requests.post(
580
  external_url,
581
  json=payload,