九、大模型本地部署文档(FastGPT+M3E+Ollama本地部署知识问答大模型系统)

目录

安装fastgpt

向量模型M3E下载

ollama下载

oneapi配置

FastGTP配置与使用


环境配置参考往期文档:

一、大模型本地部署文档(安装 NVIDIA 显卡驱动、CUDA、CUDNN)_大模型驱动安装-优快云博客

六、大模型本地部署文档(Ubantu20.04 Ollama本地部署大模型)-优快云博客

七、大模型本地部署文档(ubantu20.04安装docker)_ubantu 部署大模型-优快云博客

八、大模型本地部署文档(docker部署GPU环境)-优快云博客

文档说明:

本文档概述了利用Docker部署知识问答大模型系统的流程。演示案例中,通过将名为“闭环思维考试题.txt”的文件提供给M3E模型,该模型执行文本分割等一系列预处理步骤,并基于此进行训练。随后,问题与答案的向量被存储到知识库中。在Fastgpt平台中创建的新对话引入了这个闭环思维知识库,并使用Qwen 3.2版本作为对话模型来进行知识问答。

对于提问“闭环思维的核心是什么?”的回答是“凡事有交代”,这一回答引用自闭环思维知识库。

总结而言,当前工作主要集中在对Fastgpt本地部署和使用的初步探索上。更深入的技术细节,如M3E模型训练的具体方法以及多个模型间的协作机制等,尚需进一步研究。关于Fastgpt的评价指出,它可能不适合那些不需要频繁更新的产品项目,因为其系统性能的优化依赖于Fastgpt本身的迭代更新。此外,作为商业化产品的Fastgpt可能会对其最新、最优性能版本有所保留,这可能限制外部产品的发展潜力。

安装fastgpt

先创建一个文件夹来放置一些配置文件

mkdir fastgpt
cd fastgpt

用命令下载fastgpt配置文件

curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json

用命令下载docker的部署文件

# 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

这里如果是测试的话就用简单模型就好了,其他的高级玩法后面再慢慢摸索

启动容器

docker-compose up -d

向量模型M3E下载

#查看网络 
docker network ls
# GPU模式启动(如果失败参考后续内容docker部署GPU环境),并把m3e加载到fastgpt同一个网络
docker run -d -p 6008:6008 --gpus all --name m3e --network fastgpt_fastgpt stawky/m3e-large-api
# CPU模式启动,并把m3e加载到fastgpt同一个网络
docker run -d -p 6008:6008 --name m3e --network fastgpt_fastgpt stawky/m3e-large-api

ollama下载

# GPU模式启动,并把ollama服务加载到fastgpt同一个网络
docker run -d -p 11434:11434 --gpus all --name ollama --network fastgpt_fastgpt ollama/ollama
# CPU模式启动,并把ollama服务加载到fastgpt同一个网络
docker run -d -p 11434:11434 --name ollama --network fastgpt_fastgpt ollama/ollama

进入ollama容器内部

docker exec -it [容器名称或id] /bin/bash

ollama下载对话模型

ollama run (模型名称)llama3.2-vision

可以下载多个模型,具体模型可以访问https://ollama.com/search

oneapi配置

模型的处理我们只要用的是oneapi来处理模型
登录oneapi
本机地址:http://localhost:3001/
oneapi登录账号:root 默认密码:123456或者1234

配置ollama渠道

base url那里的ip要换成本地ip

模型那里选择的模型要选择你本地ollama下载的模型

密钥可以随便填

添加完渠道,记得要点一下测试,测试通过了才能正常使用

配置渠道m3e

base url要像我这样填写才行,不然回出问题

模型要选m3e

密钥填:sk-aaabbbcccdddeeefffggghhhiiijjjkkk

这里提交之后也要点测试,看能不能通

创建令牌

这里记得选无限额度和永不过期

这里复制令牌放置docker-compose.yml文件中

# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
      - DEFAULT_ROOT_PSW=1234
      # AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。
      - OPENAI_BASE_URL=http://oneapi:3000/v1
      # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改)
      - CHAT_API_KEY=sk-apETi4q0ohZoqLynBfA5CcAc716b44CcB9E7F3B0716d8c5f

修改config.json

首先是加入ollama的本地模型

"llmModels": [
    {
      "model": "qwen2.5:7b", // 模型名(对应OneAPI中渠道的模型名)
      "name": "qwen2.5:7b", // 模型别名
      "avatar": "/imgs/model/openai.svg", // 模型的logo
      "maxContext": 125000, // 最大上下文
      "maxResponse": 16000, // 最大回复
      "quoteMaxToken": 120000, // 最大引用内容
      "maxTemperature": 1.2, // 最大温度
      "charsPointsPrice": 0, // n积分/1k token(商业版)
      "censor": false, // 是否开启敏感校验(商业版)
      "vision": true, // 是否支持图片输入
      "datasetProcess": true, // 是否设置为文本理解模型(QA),务必保证至少有一个为true,否则知识库会报错
      "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true)
      "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true)
      "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true)
      "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true)
      "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。目前只有gpt支持)
      "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式)
      "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型
      "customExtractPrompt": "", // 自定义内容提取提示词
      "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词
      "defaultConfig": {}, // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p)
      "fieldMap": {} // 字段映射(o1 模型需要把 max_tokens 映射为 max_completion_tokens)
    },

像我用的是qwen2.5,你们可以根据自己的模型进行选择

然后加入向量模型vectorModels

"vectorModels": [
    {
      "model": "m3e", // 模型名(与OneAPI对应)
      "name": "m3e", // 模型展示名
      "avatar": "/imgs/model/openai.svg", // logo
      "charsPointsPrice": 0, // n积分/1k token
      "defaultToken": 700, // 默认文本分割时候的 token
      "maxToken": 3000, // 最大 token
      "weight": 100, // 优先训练权重
      "defaultConfig":{},  // 自定义额外参数。例如,如果希望使用 embedding3-large 的话,可以传入 dimensions:1024,来返回1024维度的向量。(目前必须小于1536维度)
      "dbConfig": {}, // 存储时的额外参数(非对称向量模型时候需要用到)
      "queryConfig": {} // 参训时的额外参数
    },

重启容器

docker-compose down
docker-compose up -d

FastGTP配置与使用

登录

本机地址:http://localhost:3000
账号:root 密码:1234

新建知识库

这里选用通用知识库

索引模型也就是向量模型

文件处理模型就是用来做回答的模型

训练模型

因为我这里使用的是本地文件去训练,所以要选择 文本数据集

这里是分割数据的模型,用自动模式就好了

这样就是训练好了

创建应用

这里测试的话就用简单应用就好了

这里选择模型,选择完之后就可以用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值