将 Llama2 中文模型接入 FastGPT,再将 FastGPT 接入任意 GPT 套壳应用,真刺激!
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
Llama2 是Facebook 母公司 Meta 发布的开源可商用大模型,国内的开源社区以及个人和机构也纷纷着手基于 Llama2 构建了中文版,并且还利用 GGML 机器学习张量库构建了可以在 CPU 上运行的 Llama2 中文版模型。
今天我们来玩点刺激的! 首先在 CPU 上运行一个开源的 Llama2 中文版模型,然后将这个模型接入到 FastGPT 的知识库中,最后再将 FastGPT 接入第三方任意 GPT 套壳应用。
原文链接:https://forum.laf.run/d/1009
一键运行 LLama2 中文版
运行模型有很多种方法,但是为了能和各种 GPT 应用兼容,最好能够提供一个对外的 API,并且这个 API 还得对齐 OpenAI 的 API。这就需要用到一个叫做 Text generation web UI 的项目。
Text generation web UI
Text generation web UI 是一个大语言模型启动器,它的终极目标是在 AI 对话领域对标 Stable Diffusion WebUI。引用 GitHub 原文:
A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, OPT, and GALACTICA.
Its goal is to become the AUTOMATIC1111/stable-diffusion-webui of text generation.
它可以加载几乎所有的主流模型(支持 llama.cpp 模型),并且在本地运行他们。语言模型能做什么,你就能体验到什么,可以当成离线版 ChatGPT 来使用。再加上 ChatGPT 在国内的审查问题,以及信息泄露风险,客制化的本地模型几乎提供了无限可能。

值得一提的是,它还支持通过 API 来进行调用,同时还提供插件对齐 OpenAI 的 API,你可以将其接入任意套壳 GPT 应用中。

接下来我们就需要用到这个 openai 插件!
Sealos 国内集群
今年 6 月份,Sealos 正式上线了海外集群,虽然也向国内用户开放,但其机房在新加坡,国内部分线路不太友好。国内很多用户的需求比较特殊,必须要使用魔法,海外集群正好可以满足需求,至于线路到国内是否友好并不是非常重要。
但大部分国内用户的需求还是要保证线路稳定,使用海外集群就有点力不从心了。为了满足国内用户的需求,如今我们正式上线了国内集群,与海外集群功能一致。除此之外,国内集群还新增了一项功能:通过共享存储来加载主流的大模型文件(目前只加载了 LLama2 中文模型)。
运行 Llama2 中文模型
我们可以直接通过以下链接打开 Text generation web UI 的应用部署模板:
- https://cloud.sealos.top/?openapp=system-template%3FtemplateName%3Dllama2-chinese
然后直接点击「部署应用」,部署完成后跳转到应用详情页面,查看日志:

只有出现下面红色方框中的日志,才算是启动完了:

这里的外网地址是 openai 插件的 API 地址(因为 Sealos 目前只能暴露一个端口到外网,暂且将 Web UI 端口关闭了,只暴露 API 端口),复制一下外网地址,就可以接入 FastGPT 了。
将 Llama2 中文版接入 FastGPT
首先打开 FastGPT 并登录:https://fastgpt.run
然后进入账号界面,点击「OpenAI 账号」:

API Key 的值随便填,BaseUrl 的值填入之前在应用详情页面复制的外网地址,并在结尾加上路径 v1,并点击「确认」:

然后就可以在 FastGPT 中和 Llama2 中文大模型进行对话啦~
首先来到「应用界面」,新建一个应用:

模板选择「简单的对话」,然后确认创建:

应用设置界面有很多可以自定义的选项,我们暂时先不管它,直接点击「对话」进行对话:


回复速度还是不错的,毕竟给他分配了 15C,勉强能用。而且理解能力也不错,就是有时候胡说八道的能力与 GPT-3.5 有的一拼~
接入知识库
下面来玩一个更花的,将 Llama2 中文版接入 FastGPT 的知识库。
首先创建一个知识库:

然后导入数据开始训练:

FastGPT 提供了手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中“直接分段”支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。
关于知识库的训练方式,可以参考这篇文章:利用 FastGPT 打造高质量 AI 知识库
训练好知识库后,需要到你的「应用」中关联你的知识库:


关联完知识库后,再次与应用进行对话,它就会根据知识库内容来回答你的问题。以我训练的本公司 CEO 数字克隆为例:

效果还是很不错的👍
将 FastGPT 接入任意套壳 GPT
现在来到了最后一个环节,现在绝大多数的 GPT 应用接入的都是 OpenAI 的 API,所以只要咱们的 API 对齐了 OpenAI,就可以直接接入绝大多数的 GPT 应用。
这不巧了么这不是,FastGPT 现在已经完全对齐了 OpenAI,可以直接接入第三方 GPT 应用了。
首先依次选择应用 -> 「API访问」,然后点击「API 密钥」来创建密钥:
⚠️注意:密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。

组合秘钥
利用刚复制的 API 秘钥加上 AppId 组合成一个新的秘钥,格式为:API 秘钥-AppId,例如这里的组合密钥就是:fastgpt-z51pkjqm9nrk03a1rx2funoy-6467660e98568613e0525b45。
替换三方应用的变量
一般只需要替换以下两个变量即可:
OPENAI_API_BASE_URL: https://fastgpt.run/api/openapi (改成自己部署的域名)
OPENAI_API_KEY = 组合秘钥
不同应用的变量名不一样,但都差不多,自己甄别一下。
ChatGPT Next Web 示例:

ChatGPT Web 示例:

最后看一下效果:

相关文章:
将 Llama2 中文模型接入 FastGPT,再将 FastGPT 接入任意 GPT 套壳应用,真刺激!
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景! Llama2 是Facebook 母公司 Meta 发布的开源可商用大模型,国内的…...
Ubuntu之apt-get系列--apt-get安装软件的方法/教程
原文网址:Ubuntu之apt-get系列--apt-get安装软件的方法/教程_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Ubuntu使用apt-get安装软件的方法。 安装软件 先更新列表 sudo apt-get update 安装软件 sudo apt-get install <package name>[<version>]…...
redux的理解
技术栈: react redux webpack react-router ES6/7/8 immutable 运行项目(nodejs 6.0) git clone https://github.com/bailicangdu/react-pxq.gitcd react-pxqnpm i 或者运行 yarn(推荐)npm startnpm run build (发布&…...
【Java】Java 多线程的应用场景
文章目录 前言多线程的常见应用场景多线程使用的主要目的在于业务需求程序设计代码示例运行结果总结 前言 Java多线程程序设计到的知识: 对同一个数量进行操作 对同一个对象进行操作 回调方法使用 线程同步,死锁问题 线程通信 … 多线程的常见应用…...
Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引
索引的概念 在MySQL中,索引是一种数据结构,它被用于快速查找、读取或插入数据。索引能够极大地提高数据库查询的速度。 索引的工作方式类似于图书的索引。如果你想在图书馆找到一本书,你可以按照书名进行查找。书名就像是一个索引…...
jmeter 接口快速创建
通过cURL命令创建测试计划 从浏览器获取接口 从postman获取接口...
docker 笔记10:Docker轻量级可视化工具Portainer
1. 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 2.安装 https://docs.portainer.io/v/ce-2.9/start/install/server/docker/linux 步骤 docker命令安装 docker run -d …...
028:vue上传解析excel文件,列表中输出内容
第028个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…...
在VR全景中嵌入3D模型有哪些优势?
现阶段,很多商企都会引入VR全景展示来宣传推广自己的产品、服务以及环境,但是环境展示凸显的沉浸式体验只是 VR全景一部分的价值所在,商企使用VR全景还有一个优势就是互动性,通过丰富多样的互动性,让用户同VR场景中的物…...
c高级day2 linux指令的补充和shell脚本
思维导图 写一个1.sh脚本,将以下内容放到脚本中: 在家目录下创建目录文件,dir 在dir下创建dir1和dir2 把当前目录下的所有文件拷贝到dir1中, 把当前目录下的所有脚本文件拷贝到dir2中 把dir2打包并压缩为dir2.tar.xz 再把di…...
Rabbitmq 常见问题处理
Rabbitmq queue NaN status code 如下图: 参考文章 ## https://groups.google.com/g/rabbitmq-users/c/4MlYbOXvy4E## https://groups.google.com/g/rabbitmq-users/c/SsXtN165_30### https://www.cnblogs.com/weschen/p/13321817.html### https://community.piv…...
人工智能和大数据:跨境电商如何实现定制化营销?
在跨境电商竞争激烈的市场中,如何精准地满足消费者的需求并提供个性化的购物体验成为了商家们面临的重要挑战。幸运的是,人工智能和大数据技术的崛起为跨境电商带来了新的机遇,使得定制化营销成为可能。本文将探讨人工智能和大数据在跨境电商…...
博物馆网上展厅有哪些用途,如何搭建数字时代的文化宝库
引言: 博物馆一直以来都是保存、展示和传承人类文化遗产的地方。然而,随着数字时代的来临,博物馆也逐渐迎来了创新的变革。博物馆网上展厅,作为一种新型的文化传播方式,正逐渐崭露头角。 一.什么是博物馆网上展厅&…...
shiro反序列化漏洞
文章目录 一、反序列化概念1.什么是序列化?2.序列化出现场景 二、Apache Shiro 1.2.4反序列化漏洞1.定义2.Shiro反序列化漏洞原理3.漏洞特征 三、CVE-2016-4437漏洞复现(实验)1.搭建环境2.漏洞特征验证1)未登陆验证2)登陆失败验证3)登陆成功验证① 不勾选② 勾选 …...
无需公网IP,实现外网远程访问管家婆ERP进销存系统的方法
文章目录 前言 1.管家婆服务2. 内网穿透2.1 安装cpolar内网穿透2.2 设置远程访问 3. 固定访问地址4. 配置固定公网访问地址 前言 管家婆辉煌系列产品是中小企业进销存、财务管理一体化的典范软件,历经十余年市场的洗礼,深受广大中小企业的欢迎ÿ…...
C#,《小白学程序》第十三课:阶乘(Factorial)的计算方法与代码
1 文本格式 /// <summary> /// 阶乘的非递归算法 /// </summary> /// <param name"a"></param> /// <returns></returns> private int Factorial_Original(int a) { int r 1; for (int i a; i > 1; i--) { …...
以antd为例 React+Typescript 引入第三方UI库
本文 我们来说说 第三方UI库 其实应用市场上的 第三方UI库都是非常优秀的 那么 react 我们比较熟的肯定还是 antd 我们还是来用它作为演示 这边 我们先访问他的官网 https://3x.ant.design/index-cn 点击开始使用 在左侧 有一个 在 TypeScript 中使用 通过图标我们也可以看出…...
matlab如何遍历文件夹及子文件夹下的所有文件
需求 有一个比较深层的文件夹,每个文件夹及其子文件夹下都可能存在我所需要的csv文件,写一个函数,输入文件夹路径后可以返回所有符合要求的csv文件。 代码实现 % folder_path为输入的文件夹,str为指定的文件所特有的关键字&…...
Win11怎么显示隐藏文件
为了保护电脑的安全,系统会将一些重要的文件或者文件夹隐藏起来,导致我们无法轻易的找到和打开,那么这些隐藏的文件怎么显示呢,下面小编就给大家带来Win11显示隐藏文件的方法,感兴趣的小伙伴快来和小编一起看看吧。 W…...
Golang专题精进
Golang专题精进 Golang单元测试Golang错误处理Golang正则表达式Golang反射Golang验证码Golang日期时间处理库CarbonGolang发送邮件库emailGolang log日志Golang log日志框架logrusGolang加密和解密应用Golang访问权限控制框架casbinGolang使用swagger生成api接口文档Golang jwt…...
MSE、MAE、Binary/Categorical Cross-Entropy、HingeLoss五种损失函数的典型应用场景
目录第一类:回归任务(预测具体数值)👓1. MSE (均方误差) —— 重罚离群点👓2. MAE (平均绝对误差) —— 鲁棒性强第二类:分类任务(判断属于哪一类)👓3. Binary Cross-Ent…...
Verilog条件语句实战:如何避免if-else嵌套中的常见陷阱?
Verilog条件语句实战:如何避免if-else嵌套中的常见陷阱? 在数字电路设计中,条件语句的正确使用直接关系到电路的功能实现和性能表现。Verilog作为硬件描述语言,其if-else和case语句的灵活运用是每位工程师必须掌握的技能。但看似简…...
AgiBot World数据集实战:如何用百万级轨迹训练你的机器人策略(附避坑指南)
AgiBot World数据集实战:百万级轨迹训练机器人策略的完整指南 1. 数据集的革命性价值 在机器人学习领域,数据质量与规模直接决定了策略模型的性能上限。AgiBot World作为当前最大的开源机器人操作数据集,其核心突破在于: 规模突…...
5步精通OpenPose:从环境评估到人体姿态检测全流程
5步精通OpenPose:从环境评估到人体姿态检测全流程 【免费下载链接】openpose 项目地址: https://gitcode.com/gh_mirrors/op/openpose 环境评估:系统兼容性与硬件要求 在开始OpenPose的安装之旅前,需要确保你的系统环境满足以下条件…...
从约束到报告:一份给Synopsys PT新手的保姆级命令行操作指南
从约束到报告:一份给Synopsys PT新手的保姆级命令行操作指南 第一次打开PrimeTime(PT)时,面对黑底白字的命令行界面和密密麻麻的时序报告,大多数数字IC工程师都会感到手足无措。作为Synopsys的旗舰级静态时序分析&…...
告别Keil:用VS Code + EIDE打造高效C51开发环境
1. 为什么我们要放弃Keil? 如果你接触过C51单片机开发,Keil μVision这个名字一定不会陌生。作为单片机开发领域的"老前辈",Keil几乎成了教学和入门的标准工具。但说实话,每次打开那个灰蒙蒙的界面,我都感觉…...
如何提升网盘下载效率:直链解析工具使用指南
如何提升网盘下载效率:直链解析工具使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广,无…...
C++实战:用代码构建你的斗罗大陆武魂觉醒系统
1. 从零开始搭建武魂觉醒系统 第一次看到斗罗大陆的武魂觉醒桥段时,我就被这个充满想象力的设定吸引了。作为程序员,我总忍不住思考:如果用代码实现这个系统会怎样?去年带新人培训时,我尝试用C还原了这个过程ÿ…...
突破性全流程AI科研助手:AI-Scientist-v2重塑科学探索范式
突破性全流程AI科研助手:AI-Scientist-v2重塑科学探索范式 【免费下载链接】AI-Scientist-v2 The AI Scientist-v2: Workshop-Level Automated Scientific Discovery via Agentic Tree Search 项目地址: https://gitcode.com/GitHub_Trending/ai/AI-Scientist-v2 …...
Linux下安装SimSun字体的完整指南(附常见问题排查)
Linux下安装SimSun字体的完整指南(附常见问题排查) 在Linux系统中处理中文字体一直是个让开发者头疼的问题。不同于Windows系统预装了丰富的中文字体,大多数Linux发行版默认只包含基础的字体库。当我们需要处理中文文档、开发中文界面或运行某…...
