Timothy J. Baek 7 月之前
父节点
当前提交
1c4b6b9cd9
共有 2 个文件被更改,包括 14 次插入11 次删除
  1. 10 11
      backend/open_webui/apps/audio/main.py
  2. 4 0
      backend/open_webui/constants.py

+ 10 - 11
backend/open_webui/apps/audio/main.py

@@ -493,18 +493,17 @@ def transcription(
                 if (
                     os.path.getsize(file_path) > MAX_FILE_SIZE
                 ):  # Still larger than 25MB after compression
-                    chunks = split_on_silence(
-                        audio, min_silence_len=1000, silence_thresh=-40
+                    log.debug(
+                        f"Compressed file size is still larger than {MAX_FILE_SIZE_MB}MB: {os.path.getsize(file_path)}"
                     )
-                    texts = []
-                    for i, chunk in enumerate(chunks):
-                        chunk_file_path = f"{file_dir}/{id}_chunk{i}.{ext}"
-                        chunk.export(chunk_file_path, format=ext)
-                        text = transcribe(chunk_file_path)
-                        texts.append(text)
-                    data = {"text": " ".join(texts)}
-                else:
-                    data = transcribe(file_path)
+                    raise HTTPException(
+                        status_code=status.HTTP_400_BAD_REQUEST,
+                        detail=ERROR_MESSAGES.FILE_TOO_LARGE(
+                            size=f"{MAX_FILE_SIZE_MB}MB"
+                        ),
+                    )
+
+                data = transcribe(file_path)
             else:
                 data = transcribe(file_path)
 

+ 4 - 0
backend/open_webui/constants.py

@@ -90,6 +90,10 @@ class ERROR_MESSAGES(str, Enum):
         "The Ollama API is disabled. Please enable it to use this feature."
     )
 
+    FILE_TOO_LARGE = (
+        lambda size="": f"Oops! The file you're trying to upload is too large. Please upload a file that is less than {size}."
+    )
+
 
 class TASKS(str, Enum):
     def __str__(self) -> str: