Blame view

config/services_config.py 2.3 KB
42e3aea6   tangwang   tidy
1
  """
86d8358b   tangwang   config optimize
2
  Unified service configuration accessors.
42e3aea6   tangwang   tidy
3
  
86d8358b   tangwang   config optimize
4
5
  This module is now a thin adapter over ``config.loader.get_app_config`` and
  contains no independent parsing or precedence logic.
42e3aea6   tangwang   tidy
6
7
8
9
  """
  
  from __future__ import annotations
  
86d8358b   tangwang   config optimize
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  from typing import Any, Dict, Tuple
  
  from config.loader import get_app_config
  from config.schema import EmbeddingServiceConfig, RerankServiceConfig, TranslationServiceConfig
  
  
  def get_translation_config() -> Dict[str, Any]:
      return get_app_config().services.translation.as_dict()
  
  
  def get_embedding_config() -> EmbeddingServiceConfig:
      return get_app_config().services.embedding
  
  
  def get_rerank_config() -> RerankServiceConfig:
      return get_app_config().services.rerank
42e3aea6   tangwang   tidy
26
27
28
  
  
  def get_translation_base_url() -> str:
86d8358b   tangwang   config optimize
29
      return get_app_config().services.translation.endpoint
42e3aea6   tangwang   tidy
30
31
  
  
d4cadc13   tangwang   翻译重构
32
  def get_translation_cache_config() -> Dict[str, Any]:
86d8358b   tangwang   config optimize
33
      return dict(get_app_config().services.translation.cache)
d4cadc13   tangwang   翻译重构
34
35
  
  
7214c2e7   tangwang   mplemented**
36
  def get_embedding_text_base_url() -> str:
86d8358b   tangwang   config optimize
37
38
      provider_cfg = get_app_config().services.embedding.get_provider_config()
      base = provider_cfg.get("text_base_url")
7214c2e7   tangwang   mplemented**
39
      if not base:
86d8358b   tangwang   config optimize
40
          raise ValueError("Embedding text base_url is not configured")
7214c2e7   tangwang   mplemented**
41
42
43
44
      return str(base).rstrip("/")
  
  
  def get_embedding_image_base_url() -> str:
86d8358b   tangwang   config optimize
45
46
      provider_cfg = get_app_config().services.embedding.get_provider_config()
      base = provider_cfg.get("image_base_url")
7214c2e7   tangwang   mplemented**
47
      if not base:
86d8358b   tangwang   config optimize
48
          raise ValueError("Embedding image base_url is not configured")
7214c2e7   tangwang   mplemented**
49
50
51
      return str(base).rstrip("/")
  
  
86d8358b   tangwang   config optimize
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  def get_embedding_backend_config() -> Tuple[str, Dict[str, Any]]:
      cfg = get_app_config().services.embedding
      return cfg.backend, cfg.get_backend_config()
  
  
  def get_embedding_image_backend_config() -> Tuple[str, Dict[str, Any]]:
      cfg = get_app_config().services.embedding
      return cfg.image_backend, cfg.get_image_backend_config()
  
  
  def get_rerank_backend_config() -> Tuple[str, Dict[str, Any]]:
      cfg = get_app_config().services.rerank
      return cfg.backend, cfg.get_backend_config()
  
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
67
  def get_rerank_base_url() -> str:
86d8358b   tangwang   config optimize
68
69
      provider_cfg = get_app_config().services.rerank.get_provider_config()
      base = provider_cfg.get("service_url") or provider_cfg.get("base_url")
26b910bd   tangwang   refactor service ...
70
      if not base:
86d8358b   tangwang   config optimize
71
          raise ValueError("Rerank service URL is not configured")
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
72
      return str(base).rstrip("/")
42e3aea6   tangwang   tidy
73
74
  
  
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
75
  def get_rerank_service_url() -> str:
5e4dc8e4   tangwang   翻译架构按“一个翻译服务 +
76
      return get_rerank_base_url()