LangGraph Sidecar 部署文档
前置依赖
- Docker + Docker Compose (推荐)
- 或 Python 3.11+ + pip (直接部署)
- LLM API Key (DeepSeek / OpenAI 兼容)
目录结构
cfc-langgraph/
├── Dockerfile
├── docker-compose.yml
├── prometheus.yml
├── .env.production # 生产配置 (手动创建, 不上传 git)
├── app/ # 服务代码
│ ├── main.py # FastAPI 入口
│ ├── config.py # 配置管理
│ ├── api/ # HTTP 接口
│ ├── agents/ # Agent 定义
│ ├── graphs/ # LangGraph StateGraph
│ ├── tools/ # Agent Tool
│ ├── rag/ # RAG Pipeline
│ ├── memory/ # 三层记忆
│ └── tasks/ # 定时任务
├── data/
│ └── chroma_db/ # ChromaDB 持久化 (自动创建)
└── docs/
├── deployment.md # 本文件
└── operations.md # 运维手册
Docker Compose 部署
# 1. 创建生产配置
cp .env.example .env.production
# 编辑 .env.production 填入 LLM_API_KEY
# 2. 构建并启动
docker-compose up -d
# 3. 验证
curl http://localhost:9000/api/v1/health
# 4. 查看日志
docker-compose logs -f langgraph-svc
直接部署 (无 Docker)
# 1. 安装依赖
pip install -e .
# 2. 配置环境变量
export LLM_API_KEY=sk-xxx
export JAVA_BASE_URL=http://localhost:9082
# 3. 启动
gunicorn app.main:app \
--worker-class uvicorn.workers.UvicornWorker \
--bind 0.0.0.0:9000 \
--workers 2 \
--timeout 60 \
--access-logfile - \
--error-logfile -
环境变量说明
| 变量 |
必填 |
说明 |
| LLM_API_KEY |
是 |
LLM API Key |
| LLM_BASE_URL |
否 |
默认 https://api.deepseek.com/v1 |
| LLM_MODEL |
否 |
默认 deepseek-chat |
| JAVA_BASE_URL |
是 |
Java 后端地址 |
| CHROMA_DB_PATH |
否 |
ChromaDB 持久化路径, 默认 ./data/chroma_db |
| LOG_LEVEL |
否 |
日志级别, 默认 info |
| JSON_LOGS |
否 |
启用 JSON 日志格式, 默认 false |
健康检查
GET /api/v1/health
Response:
{
"status": "ok",
"components": {
"chromadb": {"status": "ok", "path": "...", "exists": true},
"llm": {"status": "ok"},
"java_backend": {"status": "ok"}
}
}