geo/docs/05-部署运维/environment.md

3.3 KiB

环境变量

环境变量文件

项目根目录下的 .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.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.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