translation.py
968 Bytes
"""Translation client factory for business callers."""
from __future__ import annotations
from typing import Any
from config.services_config import get_translation_config
from translation.client import TranslationServiceClient
def create_translation_provider(query_config: Any = None) -> TranslationServiceClient:
"""
Create a translation client.
Translation is no longer selected via provider mechanism on the caller side.
Search / indexer always talk to the translator service, while the service
itself decides which translation capabilities are enabled and how to route.
"""
cfg = get_translation_config()
qc = query_config
default_scene = getattr(qc, "translation_context", None) if qc is not None else None
return TranslationServiceClient(
base_url=cfg.service_url,
default_model=cfg.default_model,
default_scene=default_scene or cfg.default_scene,
timeout_sec=cfg.timeout_sec,
)