Blame view

providers/translation.py 968 Bytes
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
1
  """Translation client factory for business callers."""
6f7840cf   tangwang   refactor: rename ...
2
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
3
  from __future__ import annotations
6f7840cf   tangwang   refactor: rename ...
4
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
5
  from typing import Any
a0a173ae   tangwang   last
6
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
7
8
  from config.services_config import get_translation_config
  from translation.client import TranslationServiceClient
a0a173ae   tangwang   last
9
10
  
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
11
  def create_translation_provider(query_config: Any = None) -> TranslationServiceClient:
a0a173ae   tangwang   last
12
      """
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
13
      Create a translation client.
a0a173ae   tangwang   last
14
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
15
16
17
      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.
a0a173ae   tangwang   last
18
      """
d4cadc13   tangwang   翻译重构
19
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
20
21
22
23
24
25
26
27
28
      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,
      )