- 后端 API(Flask + Gunicorn) - RAG 引擎(混合检索 + 云端 Reranker + 引用溯源) - 文档解析(MinerU + 多格式支持) - Docker 生产部署配置 - 排除前端项目、敏感配置、模型文件
63 lines
1.4 KiB
Python
63 lines
1.4 KiB
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
|
|
|
|
# 语义缓存
|
|
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 # 幻觉修正最多重试次数
|