chore: format

This commit is contained in:
Timothy Jaeryang Baek
2025-04-12 16:35:11 -07:00
parent 77b25ae36a
commit 91a455a284
61 changed files with 1157 additions and 203 deletions
+33 -21
View File
@@ -624,10 +624,7 @@ def transcribe(request: Request, file_path):
elif request.app.state.config.STT_ENGINE == "azure":
# Check file exists and size
if not os.path.exists(file_path):
raise HTTPException(
status_code=400,
detail="Audio file not found"
)
raise HTTPException(status_code=400, detail="Audio file not found")
# Check file size (Azure has a larger limit of 200MB)
file_size = os.path.getsize(file_path)
@@ -643,11 +640,22 @@ def transcribe(request: Request, file_path):
# IF NO LOCALES, USE DEFAULTS
if len(locales) < 2:
locales = ['en-US', 'es-ES', 'es-MX', 'fr-FR', 'hi-IN',
'it-IT','de-DE', 'en-GB', 'en-IN', 'ja-JP',
'ko-KR', 'pt-BR', 'zh-CN']
locales = ','.join(locales)
locales = [
"en-US",
"es-ES",
"es-MX",
"fr-FR",
"hi-IN",
"it-IT",
"de-DE",
"en-GB",
"en-IN",
"ja-JP",
"ko-KR",
"pt-BR",
"zh-CN",
]
locales = ",".join(locales)
if not api_key or not region:
raise HTTPException(
@@ -658,22 +666,26 @@ def transcribe(request: Request, file_path):
r = None
try:
# Prepare the request
data = {'definition': json.dumps({
"locales": locales.split(','),
"diarization": {"maxSpeakers": 3,"enabled": True}
} if locales else {}
)
data = {
"definition": json.dumps(
{
"locales": locales.split(","),
"diarization": {"maxSpeakers": 3, "enabled": True},
}
if locales
else {}
)
}
url = f"https://{region}.api.cognitive.microsoft.com/speechtotext/transcriptions:transcribe?api-version=2024-11-15"
# Use context manager to ensure file is properly closed
with open(file_path, 'rb') as audio_file:
with open(file_path, "rb") as audio_file:
r = requests.post(
url=url,
files={'audio': audio_file},
files={"audio": audio_file},
data=data,
headers={
'Ocp-Apim-Subscription-Key': api_key,
"Ocp-Apim-Subscription-Key": api_key,
},
)
@@ -681,11 +693,11 @@ def transcribe(request: Request, file_path):
response = r.json()
# Extract transcript from response
if not response.get('combinedPhrases'):
if not response.get("combinedPhrases"):
raise ValueError("No transcription found in response")
# Get the full transcript from combinedPhrases
transcript = response['combinedPhrases'][0].get('text', '').strip()
transcript = response["combinedPhrases"][0].get("text", "").strip()
if not transcript:
raise ValueError("Empty transcript in response")
@@ -718,7 +730,7 @@ def transcribe(request: Request, file_path):
detail = f"External: {e}"
raise HTTPException(
status_code=getattr(r, 'status_code', 500) if r else 500,
status_code=getattr(r, "status_code", 500) if r else 500,
detail=detail if detail else "Open WebUI: Server Connection Error",
)