114 lines
3.3 KiB
Markdown
114 lines
3.3 KiB
Markdown
# 环境变量
|
|
|
|
## 环境变量文件
|
|
|
|
项目根目录下的 `.env` 文件包含所有配置。
|
|
|
|
## 基础配置
|
|
|
|
### 数据库
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `DATABASE_URL` | PostgreSQL连接字符串 | `postgresql+asyncpg://user:pass@host:5432/geo` |
|
|
| `DB_POOL_SIZE` | 连接池大小 | `20` |
|
|
| `DB_MAX_OVERFLOW` | 最大溢出连接 | `10` |
|
|
|
|
### Redis
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `REDIS_URL` | Redis连接地址 | `redis://host:6379/0` |
|
|
| `REDIS_PASSWORD` | Redis密码 | `password` |
|
|
|
|
### 应用
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `APP_ENV` | 运行环境 | `development` / `production` |
|
|
| `APP_DEBUG` | 调试模式 | `true` / `false` |
|
|
| `APP_HOST` | 监听地址 | `0.0.0.0` |
|
|
| `APP_PORT` | 监听端口 | `8000` |
|
|
| `SECRET_KEY` | 应用密钥 | `your-secret-key` |
|
|
| `CORS_ORIGINS` | 允许的跨域源 | `http://localhost:3000` |
|
|
|
|
> **注意**:生产环境必须配置具体域名,不能使用通配符`*`
|
|
|
|
### 认证
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `JWT_SECRET` | JWT签名密钥 | `your-jwt-secret` |
|
|
| `JWT_ALGORITHM` | JWT算法 | `HS256` |
|
|
| `JWT_EXPIRE_HOURS` | Token过期时间 | `24` |
|
|
| `REFRESH_TOKEN_EXPIRE_DAYS` | 刷新Token过期时间 | `7` |
|
|
|
|
### AI服务
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `OPENAI_API_KEY` | OpenAI API密钥 | `sk-...` |
|
|
| `DEEPSEEK_API_KEY` | DeepSeek API密钥 | `sk-...` |
|
|
| `ZHIPU_API_KEY` | 智谱AI API密钥 | `...` |
|
|
| `LLM_BASE_URL` | LLM API地址 | `https://api.deepseek.com` |
|
|
| `LLM_MODEL` | 默认模型 | `deepseek-chat` |
|
|
|
|
### 知识库
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `KNOWLEDGE_EMBEDDING_MODEL` | 嵌入模型 | `text-embedding-ada-002` |
|
|
| `KNOWLEDGE_VECTOR_DB` | 向量数据库类型 | `qdrant` |
|
|
| `QDRANT_HOST` | Qdrant地址 | `localhost` |
|
|
| `QDRANT_PORT` | Qdrant端口 | `6333` |
|
|
|
|
### AI平台API密钥
|
|
|
|
| 变量 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `CHATGPT_API_KEY` | ChatGPT API密钥 | `sk-...` |
|
|
| `DEEPSEEK_API_KEY` | DeepSeek API密钥 | `sk-...` |
|
|
| `QWEN_API_KEY` | 通义千问API密钥 | `sk-...` |
|
|
| `KIMI_API_KEY` | Kimi API密钥 | `sk-...` |
|
|
| `DOUBAO_API_KEY` | 豆包API密钥 | `sk-...` |
|
|
| `GEMINI_API_KEY` | Gemini API密钥 | `AI...` |
|
|
| `PERPLEXITY_API_KEY` | Perplexity API密钥 | `pplx-...` |
|
|
| `YUANBAO_API_KEY` | 元宝API密钥 | `sk-...` |
|
|
| `WENXIN_API_KEY` | 文心一言API密钥 | `sk-...` |
|
|
| `ZHIPU_API_KEY` | 智谱AI API密钥 | `...` |
|
|
| `TONGYI_API_KEY` | 通义API密钥 | `sk-...` |
|
|
|
|
### 功能开关
|
|
|
|
| 变量 | 说明 | 默认值 |
|
|
|------|------|------|
|
|
| `ENABLE_LLM` | 启用LLM增强功能 | `true` |
|
|
| `ENABLE_AGENT_FRAMEWORK` | 启用Agent框架 | `true` |
|
|
|
|
## 开发环境示例
|
|
|
|
```env
|
|
# .env.development
|
|
APP_ENV=development
|
|
APP_DEBUG=true
|
|
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/geo
|
|
REDIS_URL=redis://localhost:6379/0
|
|
JWT_SECRET=dev-secret-key-change-in-production
|
|
CORS_ORIGINS=http://localhost:3000
|
|
```
|
|
|
|
## 生产环境示例
|
|
|
|
```env
|
|
# .env.production
|
|
APP_ENV=production
|
|
APP_DEBUG=false
|
|
DATABASE_URL=postgresql+asyncpg://user:pass@prod-db:5432/geo
|
|
REDIS_URL=redis://:password@prod-redis:6379/0
|
|
JWT_SECRET=${JWT_SECRET}
|
|
SECRET_KEY=${SECRET_KEY}
|
|
CORS_ORIGINS=https://your-domain.com
|
|
LLM_BASE_URL=https://api.deepseek.com
|
|
LLM_MODEL=deepseek-chat
|
|
```
|