sachin commited on
Commit
5bdad58
·
1 Parent(s): 3e92136

update-llogs for debug

Browse files
Files changed (2) hide show
  1. requirements.txt +2 -1
  2. src/server/main.py +15 -16
requirements.txt CHANGED
@@ -8,4 +8,5 @@ pillow
8
  pyjwt
9
  sqlalchemy
10
  passlib[bcrypt]
11
- pycryptodome
 
 
8
  pyjwt
9
  sqlalchemy
10
  passlib[bcrypt]
11
+
12
+ dwani
src/server/main.py CHANGED
@@ -30,10 +30,9 @@ from config.logging_config import logger
30
 
31
  settings = Settings()
32
 
33
-
34
  dwani.api_key = os.getenv("DWANI_API_KEY")
35
-
36
  dwani.api_base = os.getenv("DWANI_API_BASE_URL")
 
37
  # FastAPI app setup with enhanced docs
38
  app = FastAPI(
39
  title="Dhwani API",
@@ -257,7 +256,7 @@ async def app_register_user(
257
  register_request: RegisterRequest,
258
  x_session_key: str = Header(..., alias="X-Session-Key")
259
  ):
260
- logger.debug(f"App registration attempt")
261
  return await app_register(register_request, x_session_key)
262
 
263
 
@@ -302,7 +301,7 @@ async def generate_audio(
302
  if len(decrypted_input) > 1000:
303
  raise HTTPException(status_code=400, detail="Decrypted input cannot exceed 1000 characters")
304
 
305
- logger.debug("Processing speech request", extra={
306
  "endpoint": "/v1/audio/speech",
307
  "input_length": len(decrypted_input),
308
  "client_ip": get_remote_address(request),
@@ -381,14 +380,14 @@ async def chat(
381
  if len(decrypted_prompt) > 1000:
382
  raise HTTPException(status_code=400, detail="Decrypted prompt cannot exceed 1000 characters")
383
 
384
- logger.debug(f"Received prompt: {decrypted_prompt}, src_lang: {decrypted_src_lang}, user_id: {user_id}")
385
 
386
  try:
387
 
388
  response = dwani.Chat.create(prompt=decrypted_prompt, src_lang=decrypted_src_lang, tgt_lang=decrypted_tgt_lang)
389
  #response_data = response.json()
390
  response_text = response.get("response", "")
391
- logger.debug(f"Generated Chat response from external API: {response_text}")
392
  return ChatResponse(response=response_text)
393
 
394
  except requests.Timeout:
@@ -451,7 +450,7 @@ async def transcribe_audio(
451
 
452
  transcription = response.get("text","")
453
 
454
- logger.debug(f"Transcription completed in {time() - start_time:.2f} seconds")
455
  return TranscriptionResponse(text=transcription)
456
 
457
  except HTTPException:
@@ -530,7 +529,7 @@ async def translate(
530
  logger.error(f"Unsupported language codes: src={decrypted_src_lang}, tgt={decrypted_tgt_lang}")
531
  raise HTTPException(status_code=400, detail=f"Unsupported language codes: src={decrypted_src_lang}, tgt={decrypted_tgt_lang}")
532
 
533
- logger.debug(f"Received translation request: {len(decrypted_sentences)} sentences, src_lang: {decrypted_src_lang}, tgt_lang: {decrypted_tgt_lang}, user_id: {user_id}")
534
 
535
 
536
 
@@ -543,7 +542,7 @@ async def translate(
543
  logger.warning(f"Unexpected response format: {response}")
544
  raise HTTPException(status_code=500, detail="Invalid response from translation service")
545
 
546
- logger.debug(f"Translation successful: {translations}")
547
  return TranslationResponse(translations=translations)
548
 
549
  except requests.Timeout:
@@ -602,7 +601,7 @@ async def extract_text(
602
  logger.error(f"PDF decryption failed: {str(e)}")
603
  raise HTTPException(status_code=400, detail="Invalid encrypted PDF")
604
 
605
- logger.debug("Processing PDF text extraction request", extra={
606
  "endpoint": "/v1/extract-text",
607
  "file_name": file.filename,
608
  "page_number": page_number,
@@ -630,7 +629,7 @@ async def extract_text(
630
  logger.warning("No page_content found in external API response")
631
  extracted_text = ""
632
 
633
- logger.debug(f"PDF text extraction completed in {time() - start_time:.2f} seconds")
634
  return PDFTextExtractionResponse(page_content=extracted_text.strip())
635
 
636
  except requests.Timeout:
@@ -672,7 +671,7 @@ async def visual_query(
672
  try:
673
  import json
674
  visual_query_request = VisualQueryRequest.parse_raw(data)
675
- logger.debug(f"Received visual query JSON: {data}")
676
  except Exception as e:
677
  logger.error(f"Failed to parse JSON data: {str(e)}")
678
  raise HTTPException(status_code=422, detail=f"Invalid JSON data: {str(e)}")
@@ -714,7 +713,7 @@ async def visual_query(
714
  logger.error(f"Image decryption failed: {str(e)}")
715
  raise HTTPException(status_code=400, detail="Invalid encrypted image")
716
 
717
- logger.debug("Processing visual query request", extra={
718
  "endpoint": "/v1/visual_query",
719
  "query_length": len(decrypted_query),
720
  "file_name": file.filename,
@@ -745,7 +744,7 @@ async def visual_query(
745
  logger.warning(f"Empty answer received from external API: {response}")
746
  raise HTTPException(status_code=500, detail="No answer provided by visual query service")
747
 
748
- logger.debug(f"Visual query successful: {answer}")
749
  return VisualQueryResponse(answer=answer)
750
 
751
  except requests.Timeout:
@@ -804,7 +803,7 @@ async def speech_to_speech(
804
  if decrypted_language not in allowed_languages:
805
  raise HTTPException(status_code=400, detail=f"Language must be one of {allowed_languages}")
806
 
807
- logger.debug("Processing speech-to-speech request", extra={
808
  "endpoint": "/v1/speech_to_speech",
809
  "audio_filename": file.filename,
810
  "language": decrypted_language,
@@ -828,7 +827,7 @@ async def speech_to_speech(
828
  raise HTTPException(status_code=400, detail="Transcription failed or returned empty text")
829
 
830
  # Debug inputs
831
- logger.debug(f"Transcription: {transcription}, Language: {decrypted_language}")
832
 
833
  # Chat processing
834
  try:
 
30
 
31
  settings = Settings()
32
 
 
33
  dwani.api_key = os.getenv("DWANI_API_KEY")
 
34
  dwani.api_base = os.getenv("DWANI_API_BASE_URL")
35
+
36
  # FastAPI app setup with enhanced docs
37
  app = FastAPI(
38
  title="Dhwani API",
 
256
  register_request: RegisterRequest,
257
  x_session_key: str = Header(..., alias="X-Session-Key")
258
  ):
259
+ logger.info(f"App registration attempt")
260
  return await app_register(register_request, x_session_key)
261
 
262
 
 
301
  if len(decrypted_input) > 1000:
302
  raise HTTPException(status_code=400, detail="Decrypted input cannot exceed 1000 characters")
303
 
304
+ logger.info("Processing speech request", extra={
305
  "endpoint": "/v1/audio/speech",
306
  "input_length": len(decrypted_input),
307
  "client_ip": get_remote_address(request),
 
380
  if len(decrypted_prompt) > 1000:
381
  raise HTTPException(status_code=400, detail="Decrypted prompt cannot exceed 1000 characters")
382
 
383
+ logger.info(f"Received prompt: {decrypted_prompt}, src_lang: {decrypted_src_lang}, user_id: {user_id}")
384
 
385
  try:
386
 
387
  response = dwani.Chat.create(prompt=decrypted_prompt, src_lang=decrypted_src_lang, tgt_lang=decrypted_tgt_lang)
388
  #response_data = response.json()
389
  response_text = response.get("response", "")
390
+ logger.info(f"Generated Chat response from external API: {response_text}")
391
  return ChatResponse(response=response_text)
392
 
393
  except requests.Timeout:
 
450
 
451
  transcription = response.get("text","")
452
 
453
+ logger.info(f"Transcription completed in {time() - start_time:.2f} seconds")
454
  return TranscriptionResponse(text=transcription)
455
 
456
  except HTTPException:
 
529
  logger.error(f"Unsupported language codes: src={decrypted_src_lang}, tgt={decrypted_tgt_lang}")
530
  raise HTTPException(status_code=400, detail=f"Unsupported language codes: src={decrypted_src_lang}, tgt={decrypted_tgt_lang}")
531
 
532
+ logger.info(f"Received translation request: {len(decrypted_sentences)} sentences, src_lang: {decrypted_src_lang}, tgt_lang: {decrypted_tgt_lang}, user_id: {user_id}")
533
 
534
 
535
 
 
542
  logger.warning(f"Unexpected response format: {response}")
543
  raise HTTPException(status_code=500, detail="Invalid response from translation service")
544
 
545
+ logger.info(f"Translation successful: {translations}")
546
  return TranslationResponse(translations=translations)
547
 
548
  except requests.Timeout:
 
601
  logger.error(f"PDF decryption failed: {str(e)}")
602
  raise HTTPException(status_code=400, detail="Invalid encrypted PDF")
603
 
604
+ logger.info("Processing PDF text extraction request", extra={
605
  "endpoint": "/v1/extract-text",
606
  "file_name": file.filename,
607
  "page_number": page_number,
 
629
  logger.warning("No page_content found in external API response")
630
  extracted_text = ""
631
 
632
+ logger.info(f"PDF text extraction completed in {time() - start_time:.2f} seconds")
633
  return PDFTextExtractionResponse(page_content=extracted_text.strip())
634
 
635
  except requests.Timeout:
 
671
  try:
672
  import json
673
  visual_query_request = VisualQueryRequest.parse_raw(data)
674
+ logger.info(f"Received visual query JSON: {data}")
675
  except Exception as e:
676
  logger.error(f"Failed to parse JSON data: {str(e)}")
677
  raise HTTPException(status_code=422, detail=f"Invalid JSON data: {str(e)}")
 
713
  logger.error(f"Image decryption failed: {str(e)}")
714
  raise HTTPException(status_code=400, detail="Invalid encrypted image")
715
 
716
+ logger.info("Processing visual query request", extra={
717
  "endpoint": "/v1/visual_query",
718
  "query_length": len(decrypted_query),
719
  "file_name": file.filename,
 
744
  logger.warning(f"Empty answer received from external API: {response}")
745
  raise HTTPException(status_code=500, detail="No answer provided by visual query service")
746
 
747
+ logger.info(f"Visual query successful: {answer}")
748
  return VisualQueryResponse(answer=answer)
749
 
750
  except requests.Timeout:
 
803
  if decrypted_language not in allowed_languages:
804
  raise HTTPException(status_code=400, detail=f"Language must be one of {allowed_languages}")
805
 
806
+ logger.info("Processing speech-to-speech request", extra={
807
  "endpoint": "/v1/speech_to_speech",
808
  "audio_filename": file.filename,
809
  "language": decrypted_language,
 
827
  raise HTTPException(status_code=400, detail="Transcription failed or returned empty text")
828
 
829
  # Debug inputs
830
+ logger.info(f"Transcription: {transcription}, Language: {decrypted_language}")
831
 
832
  # Chat processing
833
  try: