基于缓存审查报告 + Claude Code 交叉审查的反馈: P0+ 语义缓存版本失效: - sync.py: 文档变更后清空语义缓存,防止返回过时的 images/sources - document_routes.py: 删除文档时同步清理缓存 - kb_routes.py: 删除向量库时同步清理缓存 P1.5 cache_type 包含式校验: - intent_analyzer.py: != "rag_answer" 改为 == "intent_analysis" P2+ Rerank Cache 版本失效: - cache.py: increment_kb_version 时同时清空 rerank_cache P1+P6 死代码清理: - agentic.py: 移除未使用的 SemanticCache 实例和相关导入 - agentic_base.py: 移除未使用的语义缓存配置导入 - cache.py: 移除 _compute_doc_hash 和未使用的 doc_ids 参数 - engine.py: 移除 set_query_result 调用中的 doc_ids 参数 P7 缓存质量门槛: - config.py: CACHE_MIN_SCORE 从 0.0 改为 0.3
47 lines
1007 B
Python
47 lines
1007 B
Python
"""
|
|
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
|
|
|
|
# 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 # 幻觉修正最多重试次数
|