diff --git a/.gitignore b/.gitignore index 12661c9..8d51e87 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,10 @@ .vscode/ -backend/app/.DS_Store *.DS_Store -.DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes .idea/ -settings.local.json \ No newline at end of file +settings.local.json +dump.rdb +backend/.env.dev \ No newline at end of file diff --git a/README.md b/README.md index a07d9fc..b74b0f7 100644 --- a/README.md +++ b/README.md @@ -166,9 +166,13 @@ pnpm run dev ``` 修改 backend/.env.dev 的环境变量 **REDIS_URL** -2. 配置 +配置API Key -侧边栏 -> 头像 -> API Key +1. 使用 WebUI +  侧边栏 -> 头像 -> API Key +2. 修改 backend/.env.dev 文件 +  先将.env.example文件 改为.env.dev +  然后在.env.dev中 修改各 Agent API 配置 diff --git a/backend/.env.example b/backend/.env.example new file mode 100644 index 0000000..7ce7c5c --- /dev/null +++ b/backend/.env.example @@ -0,0 +1,194 @@ +# ============================================================================== +# MathModelAgent 后端配置文件示例 +# 复制此文件为 .env.dev 并填写实际配置 +# 参考文档:https://github.com/opendatalab/MathModelAgent +# 配置项格式:KEY=VALUE(等号两侧无空格) +# 修改后需重启后端服务生效 +# ============================================================================== + +# ============ 环境设置 ============ +# 当前运行环境:dev(开发)/ prod(生产) +# 决定加载对应的配置文件 +ENV=dev + +# ============ 各 Agent API 配置 ============ +# 系统包含4个核心Agent,每个独立配置: +# - Coordinator:协调器,负责任务调度和决策 +# - Modeler:建模手,负责数学建模和算法设计 +# - Coder:代码手,负责代码编写和执行 +# - Writer:论文手,负责报告撰写和文档生成 + +# ------------------------------ +# 协调器 Agent 配置 +# ------------------------------ +# API类型:openai-chat / openai-responses / anthropic +COORDINATOR_API_TYPE=openai-chat +# API密钥(请填写你的密钥) +COORDINATOR_API_KEY= +# 模型名称(如:deepseek-chat, gpt-4o-mini) +COORDINATOR_MODEL= +# API服务地址(如:https://api.deepseek.com/v1) +COORDINATOR_BASE_URL= +# 最大输出token数(控制响应长度) +COORDINATOR_MAX_TOKENS=8192 + +# ------------------------------ +# 建模 Agent 配置 +# ------------------------------ +# API类型 +MODELER_API_TYPE=openai-chat +# API密钥 +MODELER_API_KEY= +# 模型名称 +MODELER_MODEL= +# API服务地址 +MODELER_BASE_URL= +# 最大输出token数 +MODELER_MAX_TOKENS=8192 + +# ------------------------------ +# 编码 Agent 配置 +# ------------------------------ +# API类型 +CODER_API_TYPE=openai-chat +# API密钥 +CODER_API_KEY= +# 模型名称 +CODER_MODEL= +# API服务地址 +CODER_BASE_URL= +# 最大输出token数 +CODER_MAX_TOKENS=8192 + +# ------------------------------ +# 写作 Agent 配置 +# ------------------------------ +# API类型 +WRITER_API_TYPE=openai-chat +# API密钥 +WRITER_API_KEY= +# 模型名称 +WRITER_MODEL= +# API服务地址 +WRITER_BASE_URL= +# 最大输出token数 +WRITER_MAX_TOKENS=8192 + +# ============ 可选服务配置 ============ +# 以下服务为可选功能,不配置不影响核心建模流程 + +# ------------------------------ +# E2B 代码执行环境(可选) +# 提供安全的Python代码沙箱执行环境 +# 不配置则使用本地解释器执行代码 +# ------------------------------ +# E2B平台API密钥(需注册获取) +E2B_API_KEY= + +# ------------------------------ +# Tavily Web Search(可选) +# 使Agent能够联网搜索真实数据 +# 需配置API密钥并启用 +# ------------------------------ +# Tavily搜索API密钥(需注册获取) +TAVILY_API_KEY= +# 是否启用Web搜索(true/false) +SEARCH_ENABLED=false + +# ------------------------------ +# OpenAlex 学术搜索(可选) +# 用于检索学术论文引用信息 +# 配置邮箱或API密钥即可使用 +# ------------------------------ +# OpenAlex邮箱(免费额度) +OPENALEX_EMAIL= +# OpenAlex API密钥(付费用户) +OPENALEX_API_KEY= + +# ============ 系统配置 ============ +# 基础系统运行参数 + +# 日志级别:DEBUG/INFO/WARN/ERROR +LOG_LEVEL=DEBUG +# 调试模式:true(开发)/ false(生产) +DEBUG=true +# 最大聊天轮数(空表示无限制,数字表示上限) +# MAX_CHAT_TURNS= # 取消注释并设置数字,或完全删除此行使用默认值 + +# API调用失败重试次数 +MAX_RETRIES=3 + +# ------------------------------ +# Redis 配置 +# 用于消息队列和状态管理 +# ------------------------------ +# Redis连接地址(本地开发) +REDIS_URL=redis://localhost:6379/0 +# Docker Compose环境使用此地址 +# REDIS_URL=redis://redis:6379/0 + +# ------------------------------ +# CORS 跨域配置 +# 允许前端访问后端的域名列表 +# ------------------------------ +CORS_ALLOW_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 + +# ------------------------------ +# 服务地址配置 +# ------------------------------ +# 后端服务访问地址 +SERVER_HOST=http://localhost:8000 + +# ============ RAG 知识库配置(可选) ============ +# 启用后可使用本地知识库进行检索增强生成 +# 是否启用RAG(true/false) +RAG_ENABLED=false +# 知识库数据库存储路径 +RAG_DB_PATH=data/chromadb +# 检索时返回的最大文档数 +RAG_TOP_K=5 +# 文本嵌入模型 +RAG_EMBEDDING_MODEL=BAAI/bge-m3 +# 检索结果重排序模型 +RAG_RERANKER_MODEL=BAAI/bge-reranker-v2-m3 + +# ============ HIL 人机协作配置 ============ +# Human-in-the-Loop,启用后人机协作审批功能 +# 是否启用人机协作(true/false) +HIL_ENABLED=false +# 审批超时时间(秒),超时后自动继续 +HIL_TIMEOUT=300 +# HIL_CHECKPOINTS配置在代码中定义,包含: +# - problem_split: 问题拆分审批 +# - model_selection: 模型选择审批 +# - code_review: 代码审查审批 +# - paper_review: 论文审查审批 + +# ============================================================================== +# 配置示例参考: +# +# 【DeepSeek 配置示例】 +# COORDINATOR_API_TYPE=openai-chat +# COORDINATOR_API_KEY=sk-xxx +# COORDINATOR_MODEL=deepseek-chat +# COORDINATOR_BASE_URL=https://api.deepseek.com/v1 +# +# 【OpenAI 配置示例】 +# COORDINATOR_API_TYPE=openai-chat +# COORDINATOR_API_KEY=sk-xxx +# COORDINATOR_MODEL=gpt-4o-mini +# COORDINATOR_BASE_URL=https://api.openai.com/v1 +# +# 【Anthropic 配置示例】 +# COORDINATOR_API_TYPE=anthropic +# COORDINATOR_API_KEY=sk-ant-api03-xxx +# COORDINATOR_MODEL=claude-3-opus-20240229 +# COORDINATOR_BASE_URL=https://api.anthropic.com/v1 +# +# 使用步骤: +# 1. 复制此文件为 .env.dev +# 2. 填写各 Agent 的 API Key 和模型信息 +# 3. 根据需要配置可选服务 +# 4. 启动 Redis 服务 +# 5. 启动后端服务 +# ==============================================================================