Add WebLLM support, fix progress bar blocking at 90%, add timeout protection

This commit is contained in:
2025-11-30 11:54:33 +01:00
parent 1d2784602b
commit 9410b07512
4 changed files with 247 additions and 8 deletions

View File

@@ -154,7 +154,7 @@ async def translate_document(
logger.info(f"Saved input file to: {input_path}")
# Configure translation provider
from services.translation_service import GoogleTranslationProvider, DeepLTranslationProvider, LibreTranslationProvider, OllamaTranslationProvider, translation_service
from services.translation_service import GoogleTranslationProvider, DeepLTranslationProvider, LibreTranslationProvider, OllamaTranslationProvider, WebLLMTranslationProvider, translation_service
if provider.lower() == "deepl":
if not config.DEEPL_API_KEY:
@@ -165,6 +165,8 @@ async def translate_document(
elif provider.lower() == "ollama":
vision_model = getattr(config, 'OLLAMA_VISION_MODEL', 'llava')
translation_provider = OllamaTranslationProvider(config.OLLAMA_BASE_URL, config.OLLAMA_MODEL, vision_model)
elif provider.lower() == "webllm":
translation_provider = WebLLMTranslationProvider()
else:
translation_provider = GoogleTranslationProvider()