将 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 示例:

最后看一下效果:

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

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

相关文章

javaweb入门版学生信息管理系统-增删改查+JSP+Jstl+El

dao public class StudentDao {QueryRunner queryRunner QueryRunnerUtils.getQueryRunner();//查询全部学生信息public List<Student> selectStudent(){String sql "select * from tb_student";List<Student> students null;try {students queryRunn…

关于大模型参数微调的不同方法

Adapter Tuning 适配器模块&#xff08;Adapter Moudle&#xff09;可以生成一个紧凑且可扩展的模型&#xff1b;每个任务只需要添加少量可训练参数&#xff0c;并且可以在不重新访问之前任务的情况下添加新任务。原始网络的参数保持不变&#xff0c;实现了高度的参数共享 Pa…

django/CVE-2017-12794XSS漏洞复现

docker搭建漏洞复现环境 漏洞原理看帮助文档 # Django debug page XSS漏洞&#xff08;CVE-2017-12794&#xff09;分析Django发布了新版本1.11.5&#xff0c;修复了500页面中可能存在的一个XSS漏洞&#xff0c;这篇文章说明一下该漏洞的原理和复现&#xff0c;和我的一点点评…

音视频入门基础理论知识

文章目录 前言一、视频1、视频的概念2、常见的视频格式3、视频帧4、帧率5、色彩空间6、采用 YUV 的优势7、RGB 和 YUV 的换算 二、音频1、音频的概念2、采样率和采样位数①、采样率②、采样位数 3、音频编码4、声道数5、码率6、音频格式 三、编码1、为什么要编码2、视频编码①、…

SQL-DQL

-----分组查询----- 1.语法&#xff1a; SELECT 字段列表 FROM 表名 [WHERE 条件 ] GROUP BY 分组字段名 [HAVING 分组后过滤条件]&#xff1b; 2.where与having区别 》执行时机不同&#xff1a;where是分组之前进行过滤&#xff0c;不满足where条件&#xff0c;不参与分组&…

第 361 场 LeetCode 周赛题解

A 统计对称整数的数目 枚举 x x x class Solution { public:int countSymmetricIntegers(int low, int high) {int res 0;for (int i low; i < high; i) {string s to_string(i);if (s.size() & 1)continue;int s1 0, s2 0;for (int k 0; k < s.size(); k)if …

WPF C# .NET7 基础学习

学习视频地址&#xff1a;https://www.bilibili.com/video/BV1hx4y1G7C6?p3&vd_source986db470823ebc16fe0b3d235addf050 开发工具&#xff1a;Visual Studio 2022 Community 基础框架&#xff1a;.Net 6.0 下载创建过程略 .Net和.Framework 区别是Net是依赖项&#xff…

ASIC-WORLD Verilog(16)综合

写在前面 在自己准备写一些简单的verilog教程之前&#xff0c;参考了许多资料----Asic-World网站的这套verilog教程即是其一。这套教程写得极好&#xff0c;奈何没有中文&#xff0c;在下只好斗胆翻译过来&#xff08;加点自己的理解&#xff09;分享给大家。 这是网站原文&…

Centos 6.5 升级到Centos7指导手册

一、背景 某业务系统因建设较早&#xff0c;使用的OS比较过时&#xff0c;还是centos6.5的系统&#xff0c;因国产化需要&#xff0c;需将该系统升级到BClinux 8.6&#xff0c;但官方显示不支持centos 6.x升级到8&#xff0c;需先将centos6.5升级到centos7的最新版&#xff0c…

【100天精通Python】Day53:Python 数据分析_NumPy数据操作和分析进阶

目录 1. 广播 2 文件输入和输出 3 随机数生成 4 线性代数操作 5 进阶操作 6 数据分析示例 1. 广播 广播是NumPy中的一种机制&#xff0c;用于在不同形状的数组之间执行元素级操作&#xff0c;使它们具有兼容的形状。广播允许你在不显式复制数据的情况下&#xff0c;对不同…

合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container)

容器 (Container) 容器是 lvgl 相当重要的一个控件了&#xff0c;可以设置布局&#xff0c;容器的大小也会自动进行调整&#xff0c;利用容器可以创建出自适应成都很高的界面布局。 代码示例 – 创建容器 cont lvgl.cont_create(lvgl.scr_act(), nil) lvgl.obj_set_auto_re…

北京APP外包开发需要注意的问题

开发APP的过程中&#xff0c;由于开发APP需要投入大量的时间、精力和资源&#xff0c;所以在开始前一定要做好充足的准备和规划。您需要注意以下重点&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1…

如何熟练使用vector?

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…

数据集收集列表(opencv,机器学习,深度学习)持续更新

opencv 车牌识别数据集 opencv 手写数字识别数据集 机器学习 印第安糖尿病 Pima Indians数据集 &#xff0c;下载地址 Boston波士顿房价数据集 &#xff0c;下载

MetInfo5.0文件包含漏洞

MetInfo历史版本与文件 环境在这里下载&#xff0c;使用phpstudy搭建 我们来看到这个index.php&#xff0c;如下图所示&#xff0c;其中定义了fmodule变量与module变量&#xff0c;其中require_once语句表示将某个文件引入当前文件&#xff0c;在这个代码中&#xff0c;通过r…

PostgreSQL问题记录:column “...“ does not exist

在PostgreSQL中&#xff0c;不论是在pgAdmin中&#xff0c;还是在命令行控制台里面&#xff0c;在SQL语句中表示属性值的总会遇到ERROR: column “…” does not exist这样的错误&#xff0c;比如下面的语句&#xff1a; 解决方案&#xff1a;将 “txt2txt” 的双引号改成单引…

配置本地maven

安装maven安装包 修改环境变量 vim ~/.bash_profile export JMETER_HOME/Users/yyyyjinying/apache-jmeter-5.4.1 export GOROOT/usr/local/go export GOPATH/Users/yyyyjinying/demo-file/git/backend/go export GROOVY_HOME/Users/yyyyjinying/sortware/groovy-4.0.14 exp…

虚拟机的安装

需要的工具 ①VMware Workstation 17 提取链接&#xff1a;https://pan.baidu.com/s/1e2p_wlYwdM-JxbXVMb3W0Q?pwd16ed 提取码&#xff1a;16ed ②Redhat镜像 9.1版本提取链接&#xff1a;https://pan.baidu.com/s/1sJC275e2d_9tPDElC83o2g?pwdss9x 提取码&#xff1a;…

Linux系统Ubuntu配置Docker详细流程

本文介绍在Linux操作系统Ubuntu的18.04及以上版本中&#xff0c;配置开源容器化平台和工具集Docker的详细方法&#xff1b;其中&#xff0c;我们以配置Docker平台的核心组件之一——Docker Engine为例来详细介绍。 首先&#xff0c;大家需要明确&#xff0c;我们常说的Docker&a…

pytorch(b站小土堆学习笔记P1-P15)

P3. Python学习中的两大法宝函数&#xff08;当然也可以用在PyTorch&#xff09; import torch#查看pytorch有哪些指令 print(dir(torch)) print(dir(torch.cuda)) #查看每条指令怎么用 help(torch.cuda.is_available) P4. PyCharm及Jupyter使用及对比 P5 dataset和dataloade…