Files
taiji-AI-PAD/Docs/前后端调试说明/环境变量配置说明.md
T
xiaohei ed50bd9146 test: 添加 MCP Server 单元测试
新增内容:
- 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
2025-12-22 05:47:49 +00:00

170 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# taiji-AI-PAD 环境变量配置说明
**版本**: v1.2.1
**最后更新**: 2025年12月22日
## 📋 概述
为了简化配置管理,所有 API Key 和敏感信息现在统一在 `.env` 文件中管理。您只需要在一个地方填写所有密钥,无需在多个配置文件中重复填写。
## 🚀 快速开始
### 1. 创建环境变量文件
如果项目中没有 `.env` 文件,请复制模板:
```bash
cp .env.example .env
```
### 2. 编辑 `.env` 文件
打开 `.env` 文件,填写您的实际 API Key:
```bash
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` 文件中:
1. **OpenRouter API Key** - 用于模型网关
2. **RapidAPI Key** - 用于数据接入服务
3. **LiteLLM Master Key** - 用于模型网关认证
### 📍 配置文件位置
- **`.env`** - 实际环境变量文件(包含真实密钥,已加入 .gitignore)
- **`.env.example`** - 配置模板文件(可提交到 Git)
- **`docker-compose.yml`** - 使用 `${VAR}` 语法引用环境变量
## 🔧 如何添加新的 API Key
### 步骤 1: 在 `.env` 文件中添加
```bash
# 在 .env 文件中添加
NEW_API_KEY=your-new-api-key-here
```
### 步骤 2: 在 `docker-compose.yml` 中引用
```yaml
services:
your-service:
environment:
- NEW_API_KEY=${NEW_API_KEY}
```
### 步骤 3: 在代码中读取
```python
import os
api_key = os.getenv("NEW_API_KEY", "")
```
## 🔒 安全注意事项
1. **⚠️ 永远不要提交 `.env` 文件到 Git**
- `.env` 文件已在 `.gitignore` 中
- 只提交 `.env.example` 作为模板
2. **生产环境建议**
- 使用密钥管理服务(如 AWS Secrets Manager)
- 使用环境变量注入(如 Kubernetes Secrets)
- 定期轮换 API Key
3. **权限控制**
- 确保 `.env` 文件权限为 `600`(仅所有者可读写)
```bash
chmod 600 .env
```
## 📊 配置项清单
### 当前已配置的密钥
- ✅ OpenRouter API Key
- ✅ RapidAPI Key
- ✅ LiteLLM Master Key
### 可选配置的密钥
- ⚪ OpenAI API Key(如需要直接使用 OpenAI)
- ⚪ Anthropic API Key(如需要直接使用 Anthropic)
- ⚪ Langfuse 监控密钥(如需要启用监控)
## 🧪 验证配置
配置完成后,验证环境变量是否正确加载:
```bash
# 检查环境变量
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
```
## 📚 相关文档
- [Docker Compose 环境变量文档](https://docs.docker.com/compose/environment-variables/)
- [项目 README](../README.md)
- [测试准备说明](./测试准备说明.md)
## ❓ 常见问题
### Q: 为什么需要 `.env` 文件?
A: `.env` 文件可以:
- 集中管理所有密钥
- 避免在代码中硬编码敏感信息
- 方便不同环境使用不同配置
- 提高安全性(不提交到 Git)
### Q: 如何在不同环境使用不同配置?
A: 可以创建多个环境文件:
- `.env.development` - 开发环境
- `.env.production` - 生产环境
- `.env.testing` - 测试环境
然后使用:
```bash
docker-compose --env-file .env.production up
```
### Q: 忘记填写某个 Key 会怎样?
A: 如果某个环境变量未设置,Docker Compose 会使用空字符串或默认值。服务可能会启动失败或功能受限。请检查服务日志:
```bash
docker-compose logs service-name
```