📚 简介
📝 Embedchain 是一个框架,可轻松创建基于 LLM 的机器人,用于处理任何数据集。
🤔 什么是 Embedchain?
Embedchain 抽象了加载数据集、切分数据、创建嵌入和将其存储在向量数据库中的整个过程。
你可以使用 .add
方法添加一个或多个数据集。然后,只需使用 .query
方法即可从添加的数据集中找到答案。
如果你想创建一个包括 YouTube 视频、PDF 格式的书籍、两篇博客文章和一个问题与答案对的 Naval Ravikant 机器人,你只需要添加相应的链接。Embedchain 将处理其余的工作,为你创建一个机器人。
from embedchain import App
naval_chat_bot = App() # 嵌入在线资源
naval_chat_bot.add("https://www.youtube.com/watch?v=3qHkcs3kG44")
naval_chat_bot.add("https://navalmanack.s3.amazonaws.com/Eric-Jorgenson_The-Almanack-of-Naval-Ravikant_Final.pdf")
naval_chat_bot.add("https://nav.al/feedback")
naval_chat_bot.add("https://nav.al/agi") # 嵌入本地资源
naval_chat_bot.add(("谁是 Naval Ravikant?", "Naval Ravikant 是一位印度裔美国企业家和投资家。"))
naval_chat_bot.query("在理解解释或概念方面,Naval 认为人类拥有什么独特的能力?")
# 答案:Naval 认为,人类拥有在这个物理现实中以最大程度理解解释或概念的独特能力。
🚀 工作原理
创建基于任何数据集的聊天机器人涉及以下步骤:
- 检测数据类型并加载数据
- 创建有意义的数据块
- 为每个数据块创建嵌入
- 将数据块存储在向量数据库中
当用户提出查询时,将执行以下过程以查找答案:
- 为查询创建嵌入
- 从向量数据库中查找与查询相似的文档
- 将相似文档作为上下文传递给 LLM 以获取最终答案
加载数据集和查询的过程涉及多个步骤,每个步骤都有其独特之处:
- 如何切分数据?什么是有意义的数据块大小?
- 如何为每个数据块创建嵌入?应该使用哪种嵌入模型?
- 如何将数据块存储在向量数据库中?应该使用哪种向量数据库?
- 是否应该将元数据与嵌入一起存储?
- 如何为查询查找相似文档?应该使用哪种排名模型?
Embedchain 处理所有这些细节,并提供了一个简单的界面,用于在任何数据集上创建机器人。
在第一个版本中,我们让任何人都能在不到一分钟内轻松运行任何数据集上的聊天机器人。只需创建一个应用程序实例,使用 .add
方法添加数据集,然后使用 .query
方法获取相关答案。
上一篇文章:Embedchain----快速开始_一点知趣的博客-CSDN博客
下一篇文章:Embedchain----APP types_一点知趣的博客-CSDN博客