前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >基于任何数据集创建LLM(Large Language Models)机器人

基于任何数据集创建LLM(Large Language Models)机器人

作者头像
somenzz
发布于 2023-08-22 06:34:11
发布于 2023-08-22 06:34:11
28600
代码可运行
举报
文章被收录于专栏:Python七号Python七号
运行总次数:0
代码可运行

今天偶然翻到一个仓库 Embedchain,觉得很实用,分享给大家。仓库地址如下:

https://github.com/embedchain/embedchain

它是基于 OpenAI 的,但是你可以添加自己的数据集,然后生成一个对话机器人,使用方法简单,很容易上手。

Embedchain 简介

Embedchain 是一个可以方便地基于任何数据集创建 LLM(Large Language Models)机器人的框架。它抽象了加载数据集、分块、创建嵌入向量以及存储在向量数据库中的整个过程。你可以使用 .add.add_local 函数添加单个或多个数据集,然后使用 .query 函数从添加的数据集中查找答案。

假如你崇拜一个很厉害的人 - Naval Ravikant,你想把他的知识做成一个对话机器人,你可以把他的 Youtube 视频、PDF 书籍、博客文章,以及你提供的一个问题和答案对,添加到 Embedchain,Embedchain 将为你创建一个机器人。这是一个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from embedchain import App

naval_chat_bot = App()

# 嵌入在线资源
naval_chat_bot.add("youtube_video", "https://www.youtube.com/watch?v=3qHkcs3kG44")
naval_chat_bot.add("pdf_file", "https://navalmanack.s3.amazonaws.com/Eric-Jorgenson_The-Almanack-of-Naval-Ravikant_Final.pdf")
naval_chat_bot.add("web_page", "https://nav.al/feedback")
naval_chat_bot.add("web_page", "https://nav.al/agi")

# 嵌入本地资源
naval_chat_bot.add_local("qna_pair", ("Who is Naval Ravikant?", "Naval Ravikant is an Indian-American entrepreneur and investor."))

naval_chat_bot.query("What unique capacity does Naval argue humans possess when it comes to understanding explanations or concepts?")
# 答案:Naval 认为,人类在理解解释或概念方面拥有独特的能力,这是在这个物理现实中可能的最大程度。

Embedchain 使用

要开始使用 Embedchain,首先确保你已经安装了该包。如果还没有安装,可以使用 pip 进行安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install embedchain

Embedchain 使用 OpenAI 的嵌入模型创建块的嵌入,使用 ChatGPT API 作为 LLM,给出相关文档的答案。确保你有一个 OpenAI 帐户和 API 密钥。如果你没有 API 密钥,可以通过访问 此链接 [1] 创建一个。

一旦你有了 API 密钥,将其设置在一个名为 OPENAI_API_KEY 的环境变量中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
os.environ["OPENAI_API_KEY"] = "sk-xxxx"

接下来,从 embedchain 中导入 App 类并使用 .add 函数添加任何数据集。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

from embedchain import App

naval_chat_bot = App()

# 嵌入在线资源
naval_chat_bot.add("youtube_video", "https://www.youtube.com/watch?v=3qHkcs3kG44")
naval_chat_bot.add("pdf_file", "https://navalmanack.s3.amazonaws.com/Eric-Jorgenson_The-Almanack-of-Naval-Ravikant_Final.pdf")
naval_chat_bot.add("web_page", "https://nav.al/feedback")
naval_chat_bot.add("web_page", "https://nav.al/agi")

# 嵌入本地资源
naval_chat_bot.add_local("qna_pair", ("Who is Naval Ravikant?", "Naval Ravikant is an Indian-American entrepreneur and investor."))

如果在你的脚本或应用中有任何其他的应用实例,你可以更改导入如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from embedchain import App as EmbedChainApp

# 或者

from embedchain import App as ECApp

现在你的应用已经创建好了。可以使用 .query 函数获得任何查询的答案。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(naval_chat_bot.query("What unique capacity does Naval argue humans possess when it comes to understanding explanations or concepts?"))
# answer: Naval argues that humans possess the unique capacity to understand explanations or concepts to the maximum extent possible in this physical reality.

支持的格式

支持以下格式:

Youtube 视频

要将任何 Youtube 视频添加到你的应用中,使用数据类型(.add 的第一个参数)为 youtube_video。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.add('youtube_video', 'a_valid_youtube_url_here')

PDF 文件

要添加任何 PDF 文件,使用数据类型为 pdf_file。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.add('pdf_file', 'a_valid_url_where_pdf_file_can_be_accessed')

注意,不支持密码保护的 PDF。

网页

要添加任何网页,使用数据类型为 web_page。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.add('web_page', 'a_valid_web_page_url')

文本

要提供你自己的文本,使用数据类型为 text 并输入一个字符串。文本不会被处理,这可以非常多样化。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.add_local('text', 'Seek wealth, not money or status. Wealth is having assets that earn while you sleep. Money is how we transfer time and wealth. Status is your place in the social hierarchy.')

注意:这在示例中没有使用,因为在大多数情况下,你将提供整个段落或文件。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python七号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
博客实现百度自动推送
在网站根目录新建一个文件夹,在文件夹新建一个PHP文件,填写网站sitemap.xml地址和百度的推送接口,把文件地址添加到宝塔定时任务,选择访问URL,自定义执行时间后,保存即可
今天风真的好大好大啊
2022/04/02
4210
博客实现百度自动推送
博客实现百度自动推送
你们平常都是怎么推送收录的呢,是和我一样在人家seo网站上开会员,用人家的自动推送功能吗
qiangzai
2021/12/21
3920
博客实现百度自动推送
百度站长中的php推送怎么使用
百度站长中的 PHP 推送可以让你提交你的网站 URL 和网站地图的地址,以便百度搜索引擎更快地发现你的网站和网站内容。你可以按照以下步骤来使用 PHP 推送:
半夜喝可乐
2024/09/30
1780
新建php文件实现百度自动推送
在网站根目录下新建php文件,文件名随意,例baiduts.php,填写网站sitemap.xml地址和百度站长的推送接口,把自定义的文件地址添加在宝塔定时任务,选择访问URL,自定义执行时间后,保存即可。
团团生活志
2022/08/16
6100
php代码使用post推送文章至百度
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
小狐狸说事
2023/11/26
3430
宝塔计划任务每日推送全站链接至百度收录
一:网站根目录下新建一个PHP文件,复制一下代码至文件,填写修改网站地址和百度推送接口! $urls = array( 'http://adu23.cn', ); $api = 'http:
adu
2022/10/30
2640
宝塔计划任务每日推送全站链接至百度收录
PHP对接百度API提交普通收录/SEO
上面代码是百度的示例这里我们改一下,官方提供的有点麻烦需要我们手动把收录的链接放到数组里面
小唐同学.
2022/05/31
1.7K0
PHP对接百度API提交普通收录/SEO
利用PHP和crontab实现定时推送链接到百度
百度站长之家 https://ziyuan.baidu.com 获取自己站点的推送接口
Qicloud-W
2023/03/07
4420
使用PHP和宝塔计划任务实现typecho定时推送链接到百度
接着,我们在服务器内(可以在网站目录内)新建一个php文件,命名为baidusubmit.php(名字可以随便取,我这里为了后面方便讲明白)
meowrain
2021/04/19
1.2K0
使用PHP和宝塔计划任务实现typecho定时推送链接到百度
利用PHP和crontab实现typecho定时推送链接到百度
想必大家都知道在百度站长添加网站吧,这里就不赘述了 百度站长平台:https://ziyuan.baidu.com 在百度站长中打开自己的网站
云计算小黑
2022/12/28
2900
百度收录自动推送api接口最新修复版
原先百度官方提供的js代码已经失效了,无法使用,本文通过php文件制作接口推送,并通过前端静态调用推送
小唐同学.
2023/03/01
1.9K0
添加文章百度收录推送
cuteen主题目录下post.php文件 </svg><?= $this->category == null ? "未分类" : $this->category(); ?></span> 的下面添加
R0A1NG
2022/02/19
2680
百度站点收录 - 什么叫自动推送
当自己搭建了一个个人网站或者是商业性质的网站时,我们通常希望在百度等搜索引擎上可以直接搜索到,提高网站的曝光率和流量.
caoayu
2020/09/23
7370
PHP企业付款到零钱
昨天分享完小程序,今天就要写给用户发红包.之前也写过一次支付.今天也是有幸接触了下企业付款到零钱.企业通过这个可以将钱直接发到用户的零钱里面.
桑先生
2020/03/23
9560
wordpress实现发布文章主动推送(实时)给百度的方法
很多人为了节约时间,都选择了自动提交的方式。然而你们知道的,自动提交又可以分为主动推送(实时)、自动推送和sitemap三种链接提交通道。
可定
2020/04/20
1.4K0
emlog判断文章有没有被百度收录的方法
首先我们找到模板文件夹下面的module文件,然后用网页编辑工具将这个文件打开,在文件的里面添加下面的的这一段php函数代码: <?php //判断内容页是否百度收录,并且以博主和或者理员身份访问博客
用户1456630
2018/05/25
6580
PHP实现微信提现功能
这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现; 
程序猿的栖息地
2022/04/29
9860
PHP完成微信小程序在线支付功能
微信支付现在用到的地方越来越多,从公众号支付,扫码支付一直到现在的小程序支付等等六种快捷支付方式,公司要求开发小程序商城,就只能我上手处理接口支付问题了,使用最常规的第三方模式,第三方帮特约商户申请商户号并为他进行支付开发,第三方本身不经手资金,支付成功后资金直接进入特约商户商户号。
黄啊码
2021/09/26
1.3K0
相关推荐
博客实现百度自动推送
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验