- Docker 和 Docker Compose 已安装
- 创建
.env文件(参考下面的配置)
在项目根目录创建 .env 文件,内容如下:
# PostgreSQL Database Configuration
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=olist_ecommerce
# OpenAI API Configuration (必需)
OPENAI_API_KEY=your_openai_api_key_here
# LangSmith Configuration (可选)
LANGCHAIN_API_KEY=your_langsmith_api_key_here
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT=nl2sql-agent
# Ngrok Configuration (可选 - 用于公网访问)
NGROK_AUTHTOKEN=your_ngrok_authtoken_here
NGROK_DOMAIN=your_ngrok_domain_here确保 configs/database.yml 中的数据库配置与 .env 文件一致,或者修改为使用环境变量:
database:
host: postgres # Docker 服务名
port: 5432
database: olist_ecommerce
username: postgres
password: postgres# 构建并启动所有服务
docker compose up -d
# 查看日志
docker compose logs -f
# 停止服务
docker compose down
# 停止并删除数据卷
docker compose down -v-
postgres: PostgreSQL 数据库(带 pgvector 扩展)
- 端口: 5432
- 数据持久化在
postgres_data卷中
-
app: NL2SQL Agent API 应用
- 端口: 8000
- API 文档: http://localhost:8000/docs
- 健康检查: http://localhost:8000/health
-
ngrok: 公网访问代理(可选)
- 端口: 4040
- 需要配置
NGROK_AUTHTOKEN和NGROK_DOMAIN
确保 Dockerfile 文件在项目根目录。
- 检查
configs/database.yml中的host是否为postgres(Docker 服务名) - 确保 PostgreSQL 服务已启动:
docker compose ps
- 确保
.env文件存在且配置正确 - 检查环境变量是否被正确读取:
docker compose config
首次运行前,可能需要:
- 创建数据库表结构
- 初始化向量存储
- 导入示例数据
参考项目文档或 notebooks 中的教程。