83c7da7517
Root cause: load_dotenv() default override=False meant system-level ANTHROPIC_BASE_URL (https://api.deepseek.com/anthropic) took precedence over .env's OPENAI_BASE_URL (https://api.minimaxi.com/anthropic). All Anthropic API calls went to DeepSeek with a MiniMax key, causing 401. Changes: - backend/llm.py: load_dotenv(override=True) — .env always wins - .env.example: add explicit ANTHROPIC_API_KEY + ANTHROPIC_BASE_URL - CLAUDE.md: document env var priority pitfall
77 lines
1.9 KiB
Bash
77 lines
1.9 KiB
Bash
# 大语言模型后端:cloud 或 local
|
||
LLM_BACKEND=cloud
|
||
|
||
# 云端提供商:openai 或 anthropic
|
||
LLM_PROVIDER=anthropic
|
||
|
||
# Anthropic 兼容 API(MiniMax 等,优先使用)
|
||
ANTHROPIC_API_KEY=sk-xxxx
|
||
ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic
|
||
|
||
# OpenAI 兼容 API(fallback,当 ANTHROPIC_* 未设置时使用)
|
||
OPENAI_API_KEY=sk-xxxx
|
||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||
|
||
LLM_MODEL=MiniMax-M2.7
|
||
|
||
# 本地大语言模型(Ollama)
|
||
LOCAL_LLM_MODEL=qwen2.5-coder:7b
|
||
|
||
# 嵌入模型后端:local 或 cloud
|
||
EMBED_BACKEND=local
|
||
LOCAL_EMBED_MODEL=Qwen/Qwen3-Embedding-0.6B
|
||
|
||
# 验证服务地址
|
||
VALIDATION_SERVICE_URL=http://localhost:8001/validate
|
||
|
||
# Chroma 持久化目录
|
||
CHROMA_PERSIST_DIR=./db/chroma
|
||
|
||
# ---- RAG / 向量知识库 (rag_jrxml 子模块) ----
|
||
# 嵌入模型
|
||
RAG_EMBED_MODEL=sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
|
||
# JRXML 模板源目录 (rag 子模块内已含 107 个模板)
|
||
RAG_JRXML_SOURCE=./rag/jrxml_source
|
||
# 分块输出目录
|
||
RAG_CHUNKER_OUTPUT=./rag/jrxml_chunker_output
|
||
# 向量输出目录
|
||
RAG_EMBEDDINGS_DIR=./rag/embeddings
|
||
# ChromaDB 知识库路径
|
||
RAG_CHROMA_PATH=./db/chroma
|
||
# ChromaDB 集合名称
|
||
RAG_COLLECTION_NAME=jrxml_chunks
|
||
# GPU 加速
|
||
RAG_USE_GPU=true
|
||
# FP16 半精度
|
||
RAG_USE_FP16=true
|
||
# 向量化批处理大小
|
||
RAG_BATCH_SIZE=64
|
||
|
||
# 最大自动修正尝试次数
|
||
MAX_RETRY=3
|
||
|
||
# 上下文压缩阈值(token 数)
|
||
CONTEXT_MAX_TOKENS=6000
|
||
|
||
# 保留最近 N 轮完整对话
|
||
CONTEXT_KEEP_RECENT=4
|
||
|
||
# 会话持久化目录
|
||
SESSIONS_DIR=./sessions
|
||
|
||
# 日志目录和级别
|
||
LOG_DIR=./logs
|
||
LOG_LEVEL=DEBUG
|
||
|
||
# 状态快照保留数量(用于撤销操作)
|
||
HISTORY_MAX_SNAPSHOTS=10
|
||
|
||
# 意图识别模型(默认使用主 LLM 模型)
|
||
# INTENT_MODEL=gpt-4o-mini
|
||
|
||
# OCR 字段提取配置
|
||
# 是否使用 GPU 加速 OCR(需要 CUDA 驱动和 GPU 版 EasyOCR/PaddleOCR)
|
||
OCR_USE_GPU=false
|
||
# OCR 文本置信度最低阈值(0-1),低于此值的元素将被忽略
|
||
OCR_CONFIDENCE_THRESHOLD=0.5
|