新增内容: - tests/test_function_registry.py: 函数注册表单元测试 - tests/test_sandbox_executor.py: 沙箱执行器单元测试 - tests/test_mcp_function_tool.py: MCP函数工具调用测试 - tests/conftest.py: pytest 配置 - tests/README.md: 测试文档 - pytest.ini: pytest 配置文件 - run_tests.sh: 测试运行脚本 测试覆盖: - 16个内置函数的完整测试 - 函数注册和查询功能 - 沙箱执行器(超时、异常处理) - MCP协议函数工具调用集成测试 版本: v1.2.1
4.1 KiB
4.1 KiB
taiji-AI-PAD 环境变量配置说明
版本: v1.2.1
最后更新: 2025年12月22日
📋 概述
为了简化配置管理,所有 API Key 和敏感信息现在统一在 .env 文件中管理。您只需要在一个地方填写所有密钥,无需在多个配置文件中重复填写。
🚀 快速开始
1. 创建环境变量文件
如果项目中没有 .env 文件,请复制模板:
cp .env.example .env
2. 编辑 .env 文件
打开 .env 文件,填写您的实际 API Key:
nano .env
# 或使用您喜欢的编辑器
3. 配置项说明
必需配置项
| 配置项 | 说明 | 示例 |
|---|---|---|
OPENROUTER_API_KEY |
OpenRouter API 密钥 | sk-or-v1-... |
RAPIDAPI_KEY |
RapidAPI 密钥 | 33902cc39dmsh... |
LITELLM_MASTER_KEY |
LiteLLM 主密钥 | sk-taiji-master-key |
可选配置项
| 配置项 | 说明 | 何时需要 |
|---|---|---|
OPENAI_API_KEY |
OpenAI API 密钥 | 使用 OpenAI 模型时 |
ANTHROPIC_API_KEY |
Anthropic API 密钥 | 使用 Claude 模型时 |
LANGFUSE_* |
Langfuse 监控配置 | 启用监控功能时 |
📝 当前配置的密钥位置
✅ 已统一管理的密钥
以下密钥现在都在 .env 文件中:
- OpenRouter API Key - 用于模型网关
- RapidAPI Key - 用于数据接入服务
- LiteLLM Master Key - 用于模型网关认证
📍 配置文件位置
.env- 实际环境变量文件(包含真实密钥,已加入 .gitignore).env.example- 配置模板文件(可提交到 Git)docker-compose.yml- 使用${VAR}语法引用环境变量
🔧 如何添加新的 API Key
步骤 1: 在 .env 文件中添加
# 在 .env 文件中添加
NEW_API_KEY=your-new-api-key-here
步骤 2: 在 docker-compose.yml 中引用
services:
your-service:
environment:
- NEW_API_KEY=${NEW_API_KEY}
步骤 3: 在代码中读取
import os
api_key = os.getenv("NEW_API_KEY", "")
🔒 安全注意事项
-
⚠️ 永远不要提交
.env文件到 Git.env文件已在.gitignore中- 只提交
.env.example作为模板
-
生产环境建议
- 使用密钥管理服务(如 AWS Secrets Manager)
- 使用环境变量注入(如 Kubernetes Secrets)
- 定期轮换 API Key
-
权限控制
- 确保
.env文件权限为600(仅所有者可读写)
chmod 600 .env - 确保
📊 配置项清单
当前已配置的密钥
- ✅ OpenRouter API Key
- ✅ RapidAPI Key
- ✅ LiteLLM Master Key
可选配置的密钥
- ⚪ OpenAI API Key(如需要直接使用 OpenAI)
- ⚪ Anthropic API Key(如需要直接使用 Anthropic)
- ⚪ Langfuse 监控密钥(如需要启用监控)
🧪 验证配置
配置完成后,验证环境变量是否正确加载:
# 检查环境变量
docker-compose config | grep -E "OPENROUTER|RAPIDAPI|LITELLM"
# 重启服务以应用新配置
docker-compose restart litellm-gateway data-ingestion
# 检查服务健康状态
curl http://localhost:4000/health # LiteLLM Gateway
curl http://localhost:8001/health # Data Ingestion
📚 相关文档
❓ 常见问题
Q: 为什么需要 .env 文件?
A: .env 文件可以:
- 集中管理所有密钥
- 避免在代码中硬编码敏感信息
- 方便不同环境使用不同配置
- 提高安全性(不提交到 Git)
Q: 如何在不同环境使用不同配置?
A: 可以创建多个环境文件:
.env.development- 开发环境.env.production- 生产环境.env.testing- 测试环境
然后使用:
docker-compose --env-file .env.production up
Q: 忘记填写某个 Key 会怎样?
A: 如果某个环境变量未设置,Docker Compose 会使用空字符串或默认值。服务可能会启动失败或功能受限。请检查服务日志:
docker-compose logs service-name