OLLAMA+FASTGPT+M3E 大模型本地化部署手记

目录

1.安装ollama 0.5.1

2.下载大模型 qwen2.5 3b

3.开启WSL

4.更新wsl

5.安装ubuntu

6.docker下载

6.1 修改docker镜像源

6.2 开启WSL integration

7.安装fastgpt 

7.1 创建fastgpt文件夹

7.2 下载fastgpt配置文件

8.启动容器

9.M3E下载

9.1 下载运行命令

9.2 开机自动运行

10.oneapi配置

10.1 配置ollama渠道

10.2 配置渠道m3e

10.3 创建令牌 

10. 4 将创建的fastGPT令牌放置docker-compose.yml文件中

10.5 修改config.json

10.5 重启容器

11. FastGTP配置与使用

11.0 登录

11.1 创建知识库

11.2 添加知识库内容

12.创建应用

13. 知识问答


1.安装ollama 0.5.1

官网地址 ollama.com  

直接下载速度太慢,使用加速:

  • https://mirror.ghproxy.com/https://github.com/ollama/ollama/releases/download/v0.5.1/OllamaSetup.exeGitHub Proxy 代理加速【实测速度超快】

2.下载大模型 qwen2.5 3b

ollama run qwen2.5:3b

3.开启WSL

因为这里使用的win部署,所以要安装wsl,如果是linux系统就没那么麻烦 控制面板->程序->程序和功能 

4.更新wsl

wsl --set-default-version 2

wsl --update --web-download

5.安装ubuntu

wsl --install -d Ubuntu

 反馈:

解决办法:ip138.com 查询 域名对应的IP地址,然后修改host,添加对上面地址的解析。

用户名 密码 wf

6.docker下载


官网下载:  docker官网

然后安装即可

安装好后,启动docker desktop

6.1 修改docker镜像源


因为docker下载的镜像源默认是国外的地址,所以下载比较慢,换成国内的镜像源下载会比较快一点

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.1panel.live",
        "https://hub.rat.dev"
    ]
}

6.2 开启WSL integration

7.安装fastgpt 

7.1 创建fastgpt文件夹

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

mkdir fastgpt
cd fastgpt

7.2 下载fastgpt配置文件

用命令下载fastgpt配置文件

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

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

curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json 下载不下来的话,重新配置host:185.199.108.133 raw.githubusercontent.com

或者镜像: curl -o docker-compose.yml https://raw.fastgit.org/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml

raw.fastgit.org 地址无法解析的话,ip138.com 查询解析,然后配host:

 

用命令下载docker的部署文件

# pgvector 版本(测试推荐,简单快捷)
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml

curl -O https://raw.gitmirror.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

8.启动容器

docker-compose up -d

9.M3E下载

9.1 下载运行命令

#查看网络 
docker network ls
# 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


9.2 m3e 开机自动运行,自动重启设置

docker run -d --restart always -p 6008:6008 --name m3e --network fastgpt_fastgpt stawky/m3e-large-api

10.oneapi配置

模型的处理我们用的是oneapi来处理模型

本机地址:http://localhost:3001/     oneapi登录账号:root 默认密码:123456   登录后立即修改密码为 baxcy516193@z1k3t7w

10.1 配置ollama渠道

或者选择 ollama 类型 但要配置代理,代理地址与上面的BASE URL 一致。

通过测试发现,ollama 类型方式,测试的响应时间要慢。

ollama响应时间普遍在一秒以上:

而自定义渠道方式测试响应时间在一秒以内:

另外就是直接写本机局域网ip地址,会提示连接被拒绝, 

使用docker自动在hosts里面生成的域名host.docker.internal可以正常连接.

base url那里使用docker自动在hosts里面生成的域名host.docker.internal可以正常连接;选择的模型要选择你本地ollama下载的模型,并且要带上参数。比如:qwen2.5:3b

 密钥可以随便填

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

10.2 配置渠道m3e

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

密钥填:sk-aaabbbcccdddeeefffggghhhiiijjjkkk

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

10.3 创建令牌 

选无限额度和永不过期

10. 4 将创建的fastGPT令牌放置docker-compose.yml文件中

复制刚创建的fastGPT令牌放置docker-compose.yml文件中,

文件位置在 d:\fastgpt\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-8Nf0ICoXYi3MtyIJD499F97eFf434387A1D44e307a423291

10.5 修改config.json

首先是加入ollama的本地模型,像我用的是qwen2.5:3b,你们可以根据自己的模型进行填写

"llmModels": [
    {
      "model": "qwen2.5:3b", // 模型名(对应OneAPI中渠道的模型名)
      "name": "ollama", // 模型别名
      "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)
    },


然后加入向量模型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": {} // 参训时的额外参数
    },


10.5 重启容器

docker-compose down
docker-compose up -d

11. FastGTP配置与使用

11.0 登录

本机地址:http://localhost:3000

账号:root 密码:1234

11.1 创建知识库

选用通用知识库 索引模型也就是向量模型 文件处理模型就是用来做回答的模型

11.2 添加知识库内容

新建导入,选择   文本数据集,然后选择本地文件,从本地文件夹上传文件。然后上传

根据提示,点击下一步,下一步,确认文件上传。

最后 状态从索引中  变为  已就绪  表示索引创建完成。就可以使用这个知识库了。后续还可以不断添加文件到这个知识库。

12.创建应用

13. 知识问答

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/934367.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 10、11、12存储适配相关

AndroidQ(10)分区存储完美适配 - 简书前言 最近时间在做AndroidQ的适配,截止到今天AndroidQ分区存储适配完成,期间出现很多坑,目前网上的帖子大部分都是概述变更内容,接下来的几篇帖子都是对分区存储实际...https://www.jianshu.c…

Nanolog起步笔记-8-log解压过程(2)寻找meta

TOC 写在前面 如前。建立工程进行跟踪后,发现自己对Nanolog的理解还是太少了。 其过程,还是相对比较复杂。 以及有一些信息,这前的分析中,没有注意到。 本节,不向前推进,进行一定的总结与学习的准备。 另…

Java-22 深入浅出 MyBatis - 手写ORM框架3 手写SqlSession、Executor 工作原理

点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatis&#xff…

Git:常用命令

一、查看当前分支 git branch 二、查看所有分支 git branch -a 三、切换到远程分支 git checkout origin/分支名 示例:git checkout origin/dev 四、拉取远程分支代码 git pull origin 分支名 示例:git pull origin dev 五、常用指令 查看暂存区…

算法1(蓝桥杯18)-删除链表的倒数第 N 个节点

问题: 给你一个链表,删除链表的倒数第 n 个节点,并且返回链表的头节点。 输入:head 1 -> 2 -> 3 -> 4 -> 5 -> null, n 2 输出:1 -> 2 -> 3 -> 5 -> null输入:head 1 ->…

H5接入Steam 获取用户数据案例 使用 OpenID 登录绑定公司APP账户 steam公开用户信息获取 steam webapi文档使用

官方文档地址 1.注册 Steam API Key: 你需要一个 Steam Web API Key,可以在 Steam API Key 页面 获取。https://steamcommunity.com/dev/apikey 这里开发做demo用自己steam账户的就好,后续上线要用公司的账户 2.使用 OpenID 登录&#xff…

TCP的“可靠性”(上)

目录 TCP的“可靠性”(上)确认应答(可靠性传输的基础)超时重传连接管理(三次握手,四次挥手) TCP的“可靠性”(上) 想必大家都或多或少的听说过TCP的特性:有连…

九、页面级变量的状态管理

状态管理概述 在声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染,在ArkUI中统称为状态管理机制。 自定义组件拥有变量,变…

vs打开unity项目 新建文件后无法自动补全

问题 第一次双击c#文件自动打开vs编辑器的时候能自动补全,再一次在unity中新建c#文件后双击打开发现vs不能自动补全了。每次都要重新打开vs编辑器才能自动补全,导致效率很低,后面发现是没有安装扩展,注意扩展和工具的区别。 解决…

责任链模式的理解和实践

责任链模式(Chain of Responsibility)是行为型设计模式之一,它通过将多个对象连成一条链,并沿着这条链传递请求,直到有对象处理它为止。这个模式的主要目的是将请求的发送者和接收者解耦,使请求沿着处理链传…

软件工程——期末复习(3)

一、题目类(老师重点提到过的题目) 1、高可靠性是否意味着高可用性?试举例证明自己的观点? 答:高可靠性不意味着高可用性 可靠性说明系统已经准备好,马上可以使用;可用性是系统可以无故障的持续运行,是一…

SList(单链表)

文章目录 一:线性表二:数组2.1数组在内存中的存储 三:链式结构四:单链表4.1概念与结构4.1.1概念4.1.2 结构(节点)4.1.3链表的性质4.1.4链表的打印 4.2实现单链表 结语 欢迎大家来到我的博客,给生…

VTK知识学习(21)- 数据的读写

1、前言 对于应用程序而言,都需要处理特定的数据,VTK应用程序也不例外。 VTK应用程序所需的数据可以通过两种途径获取: 第一种是生成模型,然后处理这些模型数据(如由类 vtkCylinderSource 生成的多边形数据); 第二种是从外部存储介质里导…

Nignx部署Java服务测试使用的Spring Boot项目Demo

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

虚幻引擎生存建造系统

先做一个建造预览模式,按下按键B后进入建造预览模式 首先创建自定义事件Preview Loop 用射线追踪摆放物体预览位置,并做一个预览材质 增强输入设置按键 每帧判断是否进入建造模式 预览模式制作成功! 接着做点击左键放置物品&#xff0…

Blender中使用BlenderGIS插件快速生成城市建筑模型

导入下载 BlenderGIS 插件 去github上下载其压缩包,地址如下: https://github.com/domlysz/BlenderGIS 在BlenderGIS中导入这个插件压缩包: 点击上方菜单栏的编辑,点击偏好设置 在插件>从磁盘安装中导入刚刚下载的压缩包 可…

C语言期末复习

1、任意输入一个半径给r&#xff0c;求圆的面积。 #include <stdio.h> #include <windows.h> void main() { double r,s; printf("输入一个半径给r"); scanf("%lf",&r); sr*r*3.1415926; printf("%lf",s); system(&qu…

深圳大学《2024年904自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《深圳大学904自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2024年真题 Part1&#xff1a;2024年完整版真题 2024年真题

transformers生成式对话机器人

简介 生成式对话机器人是一种先进的人工智能系统&#xff0c;它能够通过学习大量的自然语言数据来模拟人类进行开放、连贯且创造性的对话。与基于规则或检索式的聊天机器人不同&#xff0c;生成式对话机器人并不局限于预定义的回答集&#xff0c;而是可以根据对话上下文动态地…

NanoLog起步笔记-4-Server端的两个线程

nonolog起步笔记-4-Server端的两个线程 Server端的两个线程两个线程的角色与各自的职责RuntimeLogger::compressionThreadMain线程 详细学习一下相关的代码第三个线程第一次出现原位置swip buffer Server端的两个线程 如前所述&#xff0c;nanolog的server端&#xff0c;相对而…