在将 RAG 系统部署到生产环境之前,请确保完成以下所有检查项。
验证命令:
flake8 src tests
black --check src tests
isort --check-only src tests
mypy src
验证命令:
pytest tests/unit -v
pytest tests/integration -v
pytest --cov=src --cov-report=html
验证命令:
alembic current
alembic history
alembic upgrade head --sql # 预览 SQL
验证命令:
docker build -f docker/Dockerfile --target production -t rag-system:test .
docker-compose -f docker/docker-compose.yml config
验证命令:
safety check
bandit -r src
运行最终验证脚本:
python scripts/final_verification.py
所有检查应该通过。
部署完成后,执行以下验证:
[ ] 健康检查端点响应正常
curl http://your-domain/health
[ ] API 文档可访问
curl http://your-domain/docs
[ ] 创建测试文档成功
curl -X POST http://your-domain/api/v1/documents/ \
-H "Content-Type: application/json" \
-d '{"content": "test", "metadata": {}}'
[ ] 搜索功能正常
curl -X POST http://your-domain/api/v1/documents/search \
-H "Content-Type: application/json" \
-d '{"query_text": "test", "top_k": 10}'
[ ] 日志正常输出
[ ] 监控指标正常
[ ] 数据库连接正常
[ ] 向量数据库连接正常
如果部署出现问题,执行以下步骤:
立即回滚到上一个版本
# Docker
docker-compose down
docker-compose up -d --force-recreate
# Kubernetes
kubectl rollout undo deployment/rag-system
恢复数据库(如果需要)
alembic downgrade -1
# 或从备份恢复
psql rag_system < backup.sql
通知相关人员
记录问题和原因
修复问题后重新部署
完成所有检查后,请相关人员签署:
注意: 此检查清单应该在每次部署前完整执行。不要跳过任何步骤!