将 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.mzph.cn/news/61017.shtml

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

相关文章

深度学习(前馈神经网络)知识点总结

用于个人知识点回顾,非详细教程 1.梯度下降 前向传播 特征输入—>线性函数—>激活函数—>输出 反向传播 根据损失函数反向传播,计算梯度更新参数 2.激活函数(activate function) 什么是激活函数? 在神经网络前向传播中&#x…

3D风速仪 Gill Instruments Limited_R3-50 R3-100 and R3A -100 Manual

R3测量超声波脉冲从上部换能器到相反的下部换能器所花费的时间,并将其与脉冲从下部换能器到上部换能器的时间进行比较。 同样,在其他上下换能器之间比较时间。 如图1所示,每对换能器之间沿轴的空气速度可以从每条轴上的飞行次数计算出来。 …

django的简易的图书管理系统jsp书店进销存源代码MySQL

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 django的简易的图书管理系统 系统有1权限&#xff1a…

【LeetCode-中等题】148. 排序链表

文章目录 题目方法一:集合排序(核心是内部的排序)方法二: 优先队列(核心也是内部的排序)方法三:归并排序(带递归) 从上往下方法四:归并排序(省去递…

桌面网络存储迎来新浪潮!龙蜥社区联合龙芯首发优龙桌面网络存储一体机方案

2023 年 8 月 19 日,龙蜥社区合作伙伴单位南京龙众创芯电子科技有限公司(以下简称“龙众创芯“)与龙蜥社区理事单位龙芯中科(武汉)技术有限公司(以下简称“龙芯”),联合可道云、上海七朵信息等多家生态伙伴,以及龙芯开…

报错:Cannot read properties of undefined (reading ‘$message‘)

报错 一、问题二、分析三、解决 一、问题 Cannot read properties of undefined (reading ‘$message’) 二、分析 是因为在 main.js 文件中,此时还未有 this,我们可以打印一下,是 null 三、解决 如果想要使用 this.$message(这是一条消息…

Jmeter性能压测 —— 高并发思路

测试场景&#xff1a;模拟双11&#xff0c;百万级的订单量一个物流信息的查询接口。 条件&#xff1a;接口响应时间<150ms以内。10万并发量每秒。 设计性能测试方案 1、生产环境 ①10W/S--并发量&#xff08;架构师/技术负责人提供&#xff09; ②20台机器&#xff08;…

rabbitmq的优先级队列

在我们系统中有一个 订单催付 的场景&#xff0c;我们的客户在天猫下的订单 , 淘宝会及时将订单推送给我们&#xff0c;如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒&#xff0c;很简单的一个功能对吧&#xff0c;但是&#xff0c;tianmao商家对我们来说&#…

【力扣 第 360 场周赛】题解(一题待补)

目录 2833. 距离原点最远的点2834. 找出美丽数组的最小和2835. 使子序列的和等于目标的最少操作次数TODO 2836. 在传球游戏中最大化函数值 这场比赛排名第 1 - 1000 名的参赛者 可获「NIO 蔚来」简历内推机会&#xff0c;比有的场次前十才给容易多了。 2833. 距离原点最远的点…

Acwing792. 高精度减法

Acwing792. 高精度减法 题目描述代码展示 题目描述 代码展示 #include <iostream> #include <vector>using namespace std;bool cmp(vector<int> &A, vector<int> &B) {if (A.size() ! B.size()) return A.size() > B.size();for (int i …

利用条件竞争突破优惠券仅能使用一次逻辑限制

Portswigger练兵场之条件竞争 目录 Portswigger练兵场之条件竞争&#x1f984;条件竞争-突破一次逻辑限制&#x1f680;实验前置必要知识点&#x1f3c6;实验要求⚡️渗透开始1. 站点分析2. 登录3.日志探查4.功能点探究5.完成实验 修复方案 &#x1f984;条件竞争-突破一次逻辑…

基于Vue前端框架构建BI应用程序

一、什么是Vue&#xff1f; Vue&#xff08;Vue.js&#xff09;是一个轻量级、高性能、可组件化的MVVM库。简而言之&#xff0c;是一个构建数据驱动的web界面的渐进式框架。它采用MVVM思想&#xff0c;通过数据双向绑定实现数据的动态渲染&#xff0c;同时也支持组件化的开发方…

深度学习论文分享(八)Learning Event-Driven Video Deblurring and Interpolation

深度学习论文分享&#xff08;八&#xff09;Learning Event-Driven Video Deblurring and Interpolation 前言Abstract1 Introduction2 Motivation2.1 Physical Model of Event-based Video Reconstruction2.2 Spatially Variant Triggering Threshold 3 Proposed Methods3.1 …

无涯教程-Android - List fragments函数

框架的ListFragment的静态库支持版本&#xff0c;用于编写在Android 3.0之前的平台上运行的应用程序&#xff0c;在Android 3.0或更高版本上运行时,仍使用此实现。 List fragment 的基本实现是用于创建fragment中的项目列表 List in Fragments 示例 本示例将向您说明如何基于…

如何在windows下使用masm和link对汇编文件进行编译

前言 32位系统带有debug程序&#xff0c;可以进行汇编语言和exe的调试。但真正的汇编编程是“编辑汇编程序文件(.asm)->编译生成obj文件->链接生成exe文件”。下面&#xff0c;我就来说一下如何在windows下使用masm调试&#xff0c;使用link链接。 1、下载相应软件 下载…

gif怎么转换成mp4格式视频

gif怎么转换成mp4格式视频&#xff1f;GIF格式是一种广泛应用的公用图像文件格式标准&#xff0c;具有许多优势。它占用的内存较小&#xff0c;可以实现自动循环播放&#xff0c;并且兼容多个平台。然而&#xff0c;GIF格式也存在一些缺点。例如&#xff0c;它无法处理复杂的图…

如何提高工业网关的数据传输速度?

工业网关是工业物联网系统中不可或缺的设备&#xff0c;提高工业网关的数据采集、传输速度&#xff0c;是保障和优化物联网系统运营效率的基础。如何提高工业物联网关的数据传输速度&#xff1f;本篇就为大家简单介绍一下。 1、选用高品质网络设备 选用具有足够带宽容量的高质…

hive问题总结

往往用了很久的函数却只知道其单一的应用场景&#xff0c;本文将不断完善所遇到的好用的hive内置函数。 1.聚合函数或者求最大最小值函数搭配开窗函数使用可以实现滑动窗口 例&#xff1a; collect_list函数&#xff0c;搭配开窗函数&#xff0c;实现了在滑动窗口内对事件路径…

idea 常用插件和常用快捷键 - 记录

idea 常用插件 记得下载插件完成后&#xff0c;点击 Apply 和 OK Alibaba Java Coding Guidelines 作用&#xff1a;使用该插件可以&#xff0c;自动提示相关的语法格式问题&#xff0c;格式参考 阿里巴巴代码规范 详情链接&#xff1a; 代码规范之Alibaba Java Coding G…

js深拷贝三种方法

使用递归函数实现深拷贝 const obj {name: zzz,age: 18,hobby: [篮球, 足球],family: {baby: baby}} // 深拷贝 数组 对象 一定要先筛数组再筛对象,因为万物皆对象function deepcopy(newObj, oldObj) {for (const k in oldObj) {// 判断值是否属于array类if (oldObj[k] i…