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.jsoncurl -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.ymlcurl -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. 知识问答

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go的Gin比java的Springboot更加的开箱即用?

前言 隔壁组的云计算零零后女同事,后文简称 云女士 ,非说 Go 的 Gin 框架比 Springboot 更加的开箱即用,我心想在 Java 里面 Springboot 已经打遍天下无敌手,这份底蕴岂是 Gin 能比。 但是云女士突出一个执拗,非我要…

神经网络中的过拟合问题及其解决方案

目录 ​编辑 过拟合的定义与影响 过拟合的成因 1. 模型复杂度过高 2. 训练数据不足 3. 训练时间过长 4. 数据特征过多 解决方案 1. 数据增强 2. 正则化 3. Dropout 4. 提前停止 5. 减少模型复杂度 6. 集成学习 7. 交叉验证 8. 增加数据量 9. 特征选择 10. 使…

Pull down筛靶策略丨筛选药物与潜在靶蛋白之间相互作用的体外技术

小分子药靶筛选的Pull down实验是一种有效的筛选药物与潜在靶蛋白之间相互作用的体外技术。利用生物分子之间的亲和力原理,将生物素标记的小分子化合物固定在链霉亲和素的磁珠上,与蛋白裂解液进行孵育,孵育结束后与小分子结合的蛋白可以通过质…

Certimate自动化SSL证书部署至IIS服务器

前言:笔者上一篇内容已经部署好了Certimate开源系统,于是开始搭建部署至Linux和Windows服务器,Linux服务器十分的顺利,申请证书-部署证书很快的完成了,但是部署至Windows Server的IIS服务时,遇到一些阻碍&a…

UnityShaderLab 实现黑白着色器效果

实现思路:取屏幕像素的RGB值,将三个通道的值相加,除以一个大于值使颜色值在0-1内,再乘上一个强度值调节黑白强度。 在URP中实现需要开启Opaque Texture ShaderGraph实现: ShaderLab实现: Shader "Bl…

No.4 笔记 探索网络安全:揭开Web世界的隐秘防线

在这个数字时代,网络安全无处不在。了解Web安全的基本知识,不仅能保护我们自己,也能帮助我们在技术上更进一步。让我们一起深入探索Web安全的世界,掌握那些必备的安全知识! 1. 客户端与WEB应用安全 前端漏洞&#xff1…

LeetCode 热题 100_环形链表(25_141_简单_C++)(哈希表;快慢指针)

LeetCode 热题 100_环形链表(25_141) 题目描述:输入输出样例:题解:解题思路:思路一(哈希表):思路二(快慢指针): 代码实现代码实现&…

GTC2024 回顾 | 优阅达携手 HubSpot 亮相上海,赋能企业数字营销与全球业务增长

从初创企业入门到成长型企业拓展,再到 AI 驱动智能化运营,HubSpot 为企业的每步成长提供了全方位支持。 2024 年 11 月下旬,备受瞩目的 GTC2024 全球流量大会(上海)成功举办。本次大会汇聚了全国内多家跨境出海领域企业…

Text2SQL(NL2sql)对话数据库:设计、实现细节与挑战

Text2SQL(NL2sql)对话数据库:设计、实现细节与挑战 前言1.何为Text2SQL(NL2sql)2.Text2SQL结构与挑战3.金融领域实际业务场景4.注意事项5.总结 前言 随着信息技术的迅猛发展,人机交互的方式也在不断演进。…

Tongweb7049M4有关SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱的处理方案(by lqw)

前提条件:Tongweb7049M4已在http通道里配置了https(如何配置https可以参考这个帖子:东方通TongWEB添加Https证书,开启SSL) 遇到客户在配置了https后,扫描漏洞提示: 有关SSL/TLS 服务器瞬时 Dif…

Jenkins部署svn项目

下载 Jenkins 的安装和设置 加载插件太慢,更换镜像地址 http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 安装svn插件 安装Deploy to container Plugin 工具配置jdk和maven 后端部署 源码管理添加svn地址和认证 增加构建步骤 Invoke to…

嵌入式入门Day27

IO day3 文件IO文件描述符分配过程 相关函数 作业 文件IO 文件IO:基于系统调用的API函数接口特点:每一次调用文件IO,系统都会从用户态到内核态之间切换,效率很低作用:后期学习进程间通信,管道,…

复现论文:PromptTA: Prompt-driven Text Adapter for Source-freeDomain Generalization

github:zhanghr2001/PromptTA: Source-free Domain Generalization 论文:[2409.14163] PromptTA: Prompt-driven Text Adapter for Source-free Domain Generalization 自己标注:PromptTA: Prompt-driven Text Adapter for Source-free Domai…

记录 idea 启动 tomcat 控制台输出乱码问题解决

文章目录 问题现象解决排查过程1. **检查 idea 编码设置**2. **检查 tomcat 配置**3.检查 idea 配置文件4.在 Help 菜单栏中,修改Custom VM Options完成后保存,并重启 idea 问题现象 运行 tomcat 后,控制台输出乱码 解决排查过程 1. 检查 id…

《HTML 的变革之路:从过去到未来》

一、HTML 的发展历程 图片: HTML 从诞生至今,经历了多个版本的迭代。 (一)早期版本 HTML 3.2 在 1997 年 1 月 14 日成为 W3C 推荐标准,提供了表格、文字绕排和复杂数学元素显示等新特性,但因实现复杂且缺乏浏览器…

SQL注入--堆叠注入

一.基本概念 堆叠注入概念:在 SQL 中, 分号(;) 是用来表示一条 sql 语句的结束。 试想一下我们在 ; 结束一个 sql语句后继续构造下一条语句, 会不会一起执行? 因此这个想法也就造就了堆叠注入。 二.堆叠注入…

【论文阅读】PRIS: Practical robust invertible network for image steganography

内容简介 论文标题:PRIS: Practical robust invertible network for image steganography 作者:Hang Yang, Yitian Xu∗, Xuhua Liu∗, Xiaodong Ma∗ 发表时间:2024年4月11日 Engineering Applications of Artificial Intelligence 关键…

Linux DNS域名解析服务器

DNS简介 DNS ( Domain Name System )是互联网上的一项服务,它作为将域名和 IP 地址相互映射的一个分 布式数据库,能够使人更方便的访问互联网。 DNS 使用的是 53 端口, 通常 DNS 是以 UDP 这个较快速的数据传输协议…

LeetCode面试题04 检查平衡性

题目: 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 一、平衡树定义: 二叉树,一种由节点组成的树形数据结构,每…

Notable是一款优秀开源免费的Markdown编辑器

一、Notable简介 ‌ Notable‌是一款开源的跨平台Markdown编辑器,支持Linux、MacOS、Windows以及国产操作系统等多种主流操作系统。它以其高颜值和强大的功能,成为了许多用户的首选工具。 主要特性 实时预览‌: Notable提供了实时预览功能&…