Mac通过源码安装部署SQLBOT

这里写自定义目录标题

  • 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

发现

  1. 确认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)中路径:

相关推荐
传奇开心果编程13 小时前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
the3clipse19 小时前
MacOS、Linux 与 Windows 视频编解码对比:AV1、HEVC、ProRes 与硬件加速优劣势
linux·windows·macos·hevc·av1·视频解码·硬件解码
传奇开心果编程1 天前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
朋友圈自动点赞工具1 天前
Gmail 委托邮箱在手机上关不掉
macos·智能手机·cocoa·硬件评测
小黄人软件2 天前
AndroidStudio老项目 macOS运行BlueTooth蓝牙串口助手(Android+Studio源码).rar
android·macos
她说..2 天前
IntelliJ IDEA 快捷键速查表(Mac 版)
java·macos·intellij-idea
for_ever_love__2 天前
iOS: CABasicAnimation动画
macos·ios·cocoa
ITKEY_2 天前
Mac mini彻底禁止自动睡眠
macos
k4m7v2pz3 天前
用中文编程语言写游戏:玄铁语言生命游戏的 macOS 适配实录
游戏·macos·玄铁·生命游戏·中文编程语言·玄铁中文编程
大熊猫侯佩3 天前
macOS27 上可变界面尺寸 iOS App 揭秘
macos·ios·swiftui