forked from fangtianchen/algonotes_rag
2.9 KiB
2.9 KiB
🔧 AlgoNotes RAG 配置说明
配置文件
项目使用两层配置:
.env → 敏感信息(API Key,不提交 Git)
config.toml → 业务配置(提交 Git,${VAR} 引用环境变量)
环境变量
复制 .env.example 为 .env 并填入你的 Key:
# .env
OPENAI_API_KEY = "your-api-key-here"
config.toml 说明
# ── Chat Model ──
[llm]
model = "Qwen3-Next-80B-A3B-Instruct"
base_url = "https://ai.gitee.com/v1"
api_key = "${OPENAI_API_KEY}"
temperature = 0.7
max_tokens = 4096
timeout = 60.0
# ── Embedding Model ──
[embedding]
model = "Qwen/Qwen3-Embedding-4B"
base_url = "https://ai.gitee.com/v1"
api_key = "${OPENAI_API_KEY}"
# ── Reranker Model ──
[reranker]
model = "Qwen3-Reranker-4B"
base_url = "https://ai.gitee.com/v1"
api_key = "${OPENAI_API_KEY}"
top_n = 3
# ── Logging ──
[logging]
level = "INFO"
file = "logs/app.log"
max_bytes = 10485760
backup_count = 5
# ── Storage Paths ──
[store]
chroma_dir = "data/chroma_db"
files_dir = "data/files"
sqlite_path = "data/sql_db/notes.db"
切换模型提供商
只需修改 config.toml 中的 base_url 和 model 即可切换:
生产环境(如比赛要求使用的 Gitee.AI)
[llm]
model = "DeepSeek-R1"
base_url = "https://ai.gitee.com/v1"
[embedding]
model = "Qwen/Qwen3-Embedding-4B"
base_url = "https://ai.gitee.com/v1"
开发环境(如硅基流动)
[llm]
model = "deepseek-ai/DeepSeek-V4-Flash"
base_url = "https://api.siliconflow.cn/v1"
[embedding]
model = "Qwen/Qwen3-Embedding-4B"
base_url = "https://api.siliconflow.cn/v1"
代码中使用
from src.config import config
# LLM 配置
model = init_chat_model(
model=config.llm.model,
model_provider="openai",
openai_api_key=config.llm.api_key,
base_url=config.llm.base_url,
temperature=config.llm.temperature,
)
# Embedding 配置
embeddings = init_embeddings(
model=config.embedding.model,
provider="openai",
openai_api_key=config.embedding.api_key,
base_url=config.embedding.base_url,
)
# 日志配置
logger = setup_logger()
# 自动读取 config.logging.level、config.logging.file 等
配置优先级
硬编码默认值 < config.toml < 环境变量 ${VAR}
- 如果
config.toml不存在,使用 Pydantic 模型中的硬编码默认值 - 如果
config.toml存在,以其为准 ${OPENAI_API_KEY}等占位符在加载时被.env中的实际值替换
公共题库(CPGraph)
[cp_graph] 配置段控制是否查询公共题库:
[cp_graph]
enabled = false # 是否启用公共题库查询
url = "https://mcp.cpgraph.top/mcp" # CPGraph MCP 服务地址
enabled = false:仅查询个人笔记(默认)enabled = true:同时查询公共题库,需要 CPGraph MCP 服务可用