这里写自定义目录标题
- 1.前期准备
-
- [1.1 安装homebrew](#1.1 安装homebrew)
- [1.2 安装其他依赖](#1.2 安装其他依赖)
- [1.3 拉取项目](#1.3 拉取项目)
- [2. 部署后端](#2. 部署后端)
-
- [2.1 部署后端依赖](#2.1 部署后端依赖)
- [2.2 配置环境变量与启动](#2.2 配置环境变量与启动)
- [2.3 启动后端服务](#2.3 启动后端服务)
- [3. 部署前端](#3. 部署前端)
- [4. 其他配置](#4. 其他配置)
-
- [4.1 配置embedding模型](#4.1 配置embedding模型)
1.前期准备
1.1 安装homebrew
1.2 安装其他依赖
brew install python@3.11 node@18 git postgresql@17


其中node、postgresql提示需要激活
echo 'export PATH="/opt/homebrew/opt/node@18/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/postgresql@17/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
which node
which psql
确认安装成功后可启动postgresql
brew services start postgresql@17

1.3 拉取项目
git clone https://github.com/dataease/SQLBot.git --depth 1
cd SQLBot
创建虚拟环境,安装其他依赖
python3.11 -m venv .venv
source .venv/bin/activate
pip install uv -i http://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
2. 部署后端
2.1 部署后端依赖
cd backend
uv syn
2.2 配置环境变量与启动
在 backend 目录创建 .env 文件,填入数据库连接信息:
POSTGRES_SERVER=localhost
POSTGRES_PORT=5432
POSTGRES_DB=sqlbot
POSTGRES_USER=sqlbot
POSTGRES_PASSWORD=你的密码
SECRET_KEY=一个随机长字符串(用于加密)
2.3 启动后端服务
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
实际启动时报错:

这是因为没有安装依赖
pip install uvicorn fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
uvicorn --version
再次启动时报错:

这是因为sync没有实际安装在当前虚拟环境中,此时需要强制安装
uv sync --active

发现
-
确认PostgreSQL服务状态
brew services list | grep postgresql@17
连接成功后(提示符变为 postgres=> 或类似),依次执行以下 SQL 命令:
sql
-- 1. 创建 sqlbot 用户(角色),请设置一个强密码
CREATE USER sqlbot WITH PASSWORD 'YourPassword123!';
-- 2. 创建 sqlbot 数据库,并指定所有者
CREATE DATABASE sqlbot OWNER sqlbot;
-- 3. 授予所有权限(可选但推荐)
GRANT ALL PRIVILEGES ON DATABASE sqlbot TO sqlbot;
-- 4. 查看用户是否创建成功
\du
-- 5. 退出
\q
再重启后端服务
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
3. 部署前端
# 切换至前端目录
cd /Users/bf/SQLBot/frontend
# 安装Node.js依赖(如果尚未安装)
npm install
# 启动前端开发服务器
npm run dev

打开浏览器,输入http://localhost:5173即可启动啦

4. 其他配置
4.1 配置embedding模型
sudo mkdir /opt/sqlbot/models/embedding
cd /opt/sqlbot/models/embedding
sudo git clone https://hf-mirror.com/shibing624/text2vec-base-chinese
同时记得修改代码(/Users/bf/SQLBot/backend/apps/ai_model/embedding.py)中路径:
