cover_image

embedchain,一个神奇的 python 库

程序员小寒 程序员学长 2023年09月27日 23:35

大家好,我是小寒。

今天给大家分享一个神奇的 python 库,embedchain

https://github.com/embedchain/embedchain

Embedchain 是一个开源的 python 库,可以在任何数据集上轻松创建 LLM(大语言模型) 支持的机器人的框架。

什么是 Embedchain

Embedchain 抽象了加载数据集、分块、创建嵌入并将其存储在矢量数据库中的整个过程

你可以使用 .add 方法添加单个或多个数据集。然后,只需使用.query 方法从添加的数据集中查找答案即可。

如果你想创建一个包含 YouTube 视频、PDF 格式的书籍、两篇博客文章的问答机器人,你只需添加相应的链接即可。

Embedchain 将负责剩下的工作,为你创建一个机器人。

图片

初体验

库的安装

我们这里可以直接使用 pip 来进行安装。
pip install --upgrade embedchain

创建聊天机器人只需要 3 个步骤:

  • 导入库
  • 加载数据集
  • 在数据集上查询或聊天并获得答案

使用以下代码在 python 中运行你的第一个机器人。

注意:需要首先设置正确的 OPENAI_API_KEY 。

这里我们使用 add 方法将网页地址添加到 embedchain 中。
import os
from embedchain import App
os.environ["OPENAI_API_KEY"] = "xxx"
elon_musk_bot = App()

# Embed Online Resources
elon_musk_bot.add("https://en.wikipedia.org/wiki/Elon_Musk")
elon_musk_bot.add("https://www.forbes.com/profile/elon-musk")

response = elon_musk_bot.query("How many companies does Elon Musk run and name those?")
print(response)
# Answer: 'Elon Musk currently runs several companies. As of my knowledge, he is the CEO and lead designer of SpaceX, the CEO and product architect of Tesla, Inc., the CEO and founder of Neuralink, and the CEO and founder of The Boring Company. However, please note that this information may change over time, so it's always good to verify the latest updates.'
       
​       

下面让我们添加其他类型数据,例如youtube、pdf、sitemap等。

Youtube 视频

要将任何 YouTube 视频添加到你的应用程序,请将 data_type ( .add() 方法的一个参数)设置为 youtube_video。
例如:
app.add( 'a_valid_youtube_url_here' , data_type= 'youtube_video' )

PDF文件

要添加任何 pdf 文件,请将 data_type 设置为 pdf_file。

例如:
app.add('a_valid_url_where_pdf_file_can_be_accessed', data_type='pdf_file')

注意,这里不支持受密码保护的 pdf 文件。

文档文件

要添加任何 doc/docx 文件,请将 data_type 设置为 docx。

docx 允许远程 URL 和常规文件路径。

例如:
app.add('https://example.com/content/intro.docx', data_type="docx")
app.add('content/intro.docx', data_type="docx")

网页

要添加任何网页,请将 data_type 设置为 web_page。

例如:
app.add('a_valid_web_page_url', data_type='web_page')

CSV 文件

要添加任何 csv 文件,请将 data_type 设置为 csv

csv 允许远程 URL 和常规文件路径。

例如:
app.add('https://example.com/content/sheet.csv', data_type="csv")
app.add('content/sheet.csv', data_type="csv")
注意:csv 文件有一个大小限制,超过该限制可能会引发错误。该限制由 LLM 设定。请考虑将大型 csv 文件分成较小的 csv 文件。

网站地图

添加 xml 站点地图中的所有网页。过滤非文本文件。设置 data_type 为 sitemap。
例如:
app.add('https://example.com/sitemap.xml', data_type='sitemap')


最后



今天的分享就到这里。如果觉得不错,点赞,转发安排起来吧。
接下来我们会分享更多的 「深度学习案例以及python相关的技术」,欢迎大家关注。
最后,最近新建了一个 python 学习交流群,会经常分享 「python相关学习资料,也可以问问题,非常棒的一个群」

「进群方式:加我微信,备注 “python”」



图片

往期回顾

图片

图片

Fashion-MNIST 服装图片分类-Pytorch实现

图片

python 探索性数据分析(EDA)案例分享

图片

深度学习案例分享 | 房价预测 - PyTorch 实现

图片

万字长文 |  面试高频算法题之动态规划系列

图片

面试高频算法题之回溯算法(全文六千字)  

    


图片



如果对本文有疑问可以加作者微信直接交流。进技术交流群的可以加微信拉你进群。

图片

人工智能 · 目录
上一篇Xorbits,一个超强的 python 库下一篇mljar-supervised,一个超强的 python 库

微信扫一扫
关注该公众号

继续滑动看下一个
程序员学长
向上滑动看下一个