【FastGPT】Linux系统使用podman-compose方式部署指南

发布于:2025-02-28 ⋅ 阅读:(19) ⋅ 点赞:(0)

摘要

FastGPT是一个基于LLM大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过Flow可视化进行工作流编排,从而实现复杂的问答场景。

官方提供了docker-compose方式部署,本文使用podmanpodman-compose方式部署,毕竟podman几乎可以无缝兼容docker

部署之后,还从01FastGPT进行各种配置,直到可以使用为止,方便大家入门。

准备容器环境

# 安装podman
sudo dnf install podman
# 安装python
sudo dnf install python39
# pip方式安装podman-compose
sudo pip3 install podman-compose
# 验证安装
podman -v
podman-compose -v

部署FastGPT

  • 下载 docker-compose.yml
    mkdir fastgpt
    cd fastgpt
    curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
    
    # pgvector 版本(测试推荐,简单快捷)
    curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml
    # milvus 版本
    # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-milvus.yml
    # zilliz 版本
    # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-zilliz.yml
    
  • 修改环境变量
    找到yml文件中,fastgpt容器的环境变量进行下面操作
    FE_DOMAIN=http://10.18.72.150:8300
    

启动容器

使用podman-compose一次性启动所有容器

# 创建目录
sudo mkdir -pv /data/PostgreSQL/data
sudo mkdir -pv /data/mongo/data
sudo mkdir -pv /data/mysql
sudo mkdir -pv /data/oneapi/data
# 启动容器
podman-compose -f ./docker-compose-pgvector.yml up -d
# 等待10s,OneAPI第一次总是要重启几次才能连上Mysql
sleep 10
# 重启一次oneapi(由于OneAPI的默认Key有点问题,不重启的话会提示找不到渠道,临时手动重启一次解决,等待作者修复)
sudo podman restart oneapi

使用podman-compose逐个启动容器

sudo podman pull 05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com/pgvector/pgvector:0.7.0-pg15
sudo /usr/local/bin/podman-compose -f ./docker-compose-pgvector.yml up -d pg
sudo podman logs -f pg

sudo podman pull registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18
sudo /usr/local/bin/podman-compose -f ./docker-compose-pgvector.yml up -d mongo
sudo podman logs -f mongo

sudo podman pull ghcr.io/labring/fastgpt-sandbox:v4.8.21-fix
sudo /usr/local/bin/podman-compose -f ./docker-compose-pgvector.yml up -d sandbox
sudo podman logs -f --tail 200 sandbox

sudo podman pull ghcr.io/labring/fastgpt:v4.8.21-fix
sudo /usr/local/bin/podman-compose -f ./docker-compose-pgvector.yml up -d fastgpt
sudo podman logs -f --tail 200 fastgpt

sudo podman pull 05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com/library/mysql:8.0.36
sudo /usr/local/bin/podman-compose -f ./docker-compose-pgvector.yml up -d mysql
sudo podman logs -f --tail 200 mysql

sudo podman pull ghcr.io/songquanpeng/one-api:v0.6.7
sudo /usr/local/bin/podman-compose -f ./docker-compose-pgvector.yml up -d oneapi
sudo podman logs -f --tail 200 oneapi

访问OneAPI

  • 浏览器访问: http://10.18.72.150:3001
  • 登录账号/密码: root/123456
  • 新增渠道
    在这里插入图片描述

访问FastGPT

  • 浏览器输入: http://10.18.72.150:3000
  • 登录账号/密码: root/1234

在OneAPI中配置渠道

  • 新增大语言模型流式接口的渠道
    在这里插入图片描述
  • 新增大语言模型非流式接口的渠道
    在这里插入图片描述

FastGPT在请求OneAPI的大语言模型的时候,会在已配置的接口地址上追加/v1/chat/completions,配置的时候注意这个细节

  • 配置文本向量模型
    在这里插入图片描述

FastGPT在请求OneAPI的文本向量模型时,会在已配置的接口地址上追加/v1/embeddings,配置的时候注意。

在FastGPT中配置自定义模型

操作路径: 【账号】->【模型提供商】->【模型配置】->【新增模型】

  • 新增自定义大语言模型(流式接口)
    在这里插入图片描述
  • 新增自定义大语言模型(非流式接口)
    在这里插入图片描述
  • 新增自定义索引模型
    在这里插入图片描述

创建知识库

  • 操作路径: 【知识库】 -> 右上角【新建】 -> 【通用知识库】
    在这里插入图片描述
  • 自定义输入【知识库名称】
    • 索引模型和文本理解模型目前只有1个,与截图保持一致即可
      在这里插入图片描述
  • 上传【文档】
    • 点击进入刚才创建好的【知识库】->右上角【新建/导入】->【文本数据集】->【本地文件】
      在这里插入图片描述
  • 如果选择的word带有图片,则会如图提示上传失败
    在这里插入图片描述
  • 可以把word转成PDF再上传
    在这里插入图片描述
  • 点击【下一步】
    在这里插入图片描述
  • 点击【开始上传】
    在这里插入图片描述

创建【应用】

  • 操作路径: 【工作台】 -> 右上角【创建】-> 【简易应用】
    在这里插入图片描述
  • 输入【应用名称】后,点击【创建空白应用】
    在这里插入图片描述
  • 配置【AI模型】
    • 选择opsauto-deepseek-r1-671b,这是流式响应接口
      在这里插入图片描述
  • 【关联知识库】
    • 选择之前创建的知识库,点【完成】
      在这里插入图片描述
  • 配置知识库【参数】
    在这里插入图片描述
  • 【问题优化】
    • 这个开关,可以不打开
    • 如果要打开,AI模型要选择【opsauto-nostream-deepseek-r1-671b】,这是非流式接口
    • 启用问题优化的作用,是把用户输入的问题先请求大语言模型进行优化拆分,拆分的目的是为了更精确的把问题进行向量化,然后去知识库匹配,多一次与大语言模型的交互,等待的时间也明显更长一些。
      在这里插入图片描述
  • 保存应用
    • 点击右上角【保存】->【仅保存】
    • 然后就可以在底部的输入框进行对话了
      在这里插入图片描述

注意事项

  • OneAPI渠道中的模型重定向,是把请求OneAPI模型ID,与json中的key进行匹配,然后替换成value后,再去请求模型地址。
  • OneAPI修改渠道中的模型,需要等几分钟,FastGPT才能匹配到。

官方资料

  • 源码: https://github.com/labring/FastGPT
  • 开发与部署指南: https://doc.tryfastgpt.ai/docs/development/intro/
  • Docker Compose快速部署: https://doc.tryfastgpt.ai/docs/development/docker/