""" Agentic RAG - 基础模块 包含常量、导入和共享配置 """ import logging # 配置日志 logger = logging.getLogger(__name__) # 尝试导入搜索API配置 try: from config import SERPER_API_KEY HAS_SERPER = True except ImportError: HAS_SERPER = False SERPER_API_KEY = None # LLM 预算控制 try: from core.llm_budget import get_budget_controller, should_use_agent, CallType HAS_BUDGET = True except ImportError: HAS_BUDGET = False CallType = None # 语义缓存 try: from config import SEMANTIC_CACHE_ENABLED, SEMANTIC_CACHE_THRESHOLD HAS_SEMANTIC_CACHE_CONFIG = True except ImportError: SEMANTIC_CACHE_ENABLED = False SEMANTIC_CACHE_THRESHOLD = 0.92 HAS_SEMANTIC_CACHE_CONFIG = False try: from core.semantic_cache import SemanticCache, get_semantic_cache HAS_SEMANTIC_CACHE = True except ImportError: HAS_SEMANTIC_CACHE = False SemanticCache = None # LLM 配置 try: from config import API_KEY, BASE_URL, MODEL except ImportError: API_KEY = None BASE_URL = None MODEL = None # 来源标记 SOURCE_KB = "知识库" SOURCE_WEB = "网络搜索" # Context Compression 配置 MAX_CONTEXT_TOKENS = 8000 # 最大上下文 token 数(与生产路径对齐) MAX_CONTEXT_COUNT = 20 # 最大上下文数量 RERANK_THRESHOLD = 0.3 # Rerank 过滤阈值 # Answer Grounding 配置 MAX_GROUNDING_RETRY = 1 # 幻觉修正最多重试次数