[AI Embedchain] 使用案例 语义搜索

语义搜索,涉及理解搜索查询背后的意图和上下文意义,是RAG的另一个流行用例。它在各个领域有几个流行的用例:

  • 信息检索:提高数据库和网站的搜索准确性
  • 电子商务:改善在线购物的产品发现
  • 客户支持:为智能聊天机器人提供动力以有效响应
  • 内容发现:帮助找到相关媒体内容
  • 知识管理:简化企业中的文档和数据检索
  • 医疗保健:促进医学研究和文献搜索
  • 法律研究:协助法律文件和案例法搜索
  • 学术研究:帮助学术论文发现
  • 语言处理:启用多语言搜索能力

Embedchain提供了一个简单但可定制的search()API,你可以用于语义搜索。查看下一节的示例以了解更多信息。

示例:在Next.JS网站+论坛上进行语义搜索

步骤1:设置你的RAG管道

首先,让我们创建你的RAG管道。打开你的Python环境并输入:

1
2
from embedchain import App
app = App()

这将初始化你的应用程序。

步骤2:用数据填充你的管道

现在,让我们向你的管道添加数据。我们将包括Next.JS网站及其文档:

1
2
3
4
5
# 添加Next.JS网站和文档
app.add(" ", data_type="sitemap")

# 添加Next.JS论坛数据
app.add(" ", data_type="sitemap")

这一步将Next.JS网站和论坛的超过15K页面纳入你的管道。有关更多数据源选项,请查看Embedchain数据源概览

步骤3:在本地测试你的管道

在你的本地机器上测试管道:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
app.search("Summarize the features of Next.js 14?")
[
  {
    'context': 'Next.js 14 | Next.js回到博客星期四,2023年10月26日Next.js 14由Lee Robinson@leeerobTim Neutkens@timneutkens在Next.js Conf上宣布,Next.js 14是我们最专注的发布,包括:Turbopack:为App & Pages Router通过的5,000个测试本地服务器启动速度提高53%代码更新速度提高94%的快速刷新服务器操作(稳定):逐步增强的突变与缓存和重新验证集成简单的函数调用,或与表单原生工作部分预渲染',
    'metadata': {
      'source': 'https://nextjs.org/blog/next-14',
      'document_id': '6c8d1a7b-ea34-4927-8823-daa29dcfc5af--b83edb69b8fc7e442ff8ca311b48510e6c80bf00caa806b3a6acb34e1bcdd5d5'
    }
  },
  {
    'context': 'Next.js 13.3 | Next.js回到博客星期四,2023年4月6日Next.js 13.3由Delba de Oliveira@delba_oliveiraTim Neutkens@timneutkensNext.js 13.3添加了流行的社区请求功能,包括:基于文件的元数据API:动态生成站点地图、robots、favicons等。动态Open Graph Images:使用JSX、HTML和CSS生成OG图像。静态导出App Router:静态/单页应用程序(SPA)支持服务器组件。并行路由和拦截:高级',
    'metadata': {
      'source': 'https://nextjs.org/blog/next-13-3',
      'document_id': '6c8d1a7b-ea34-4927-8823-daa29dcfc5af--b83edb69b8fc7e442ff8ca311b48510e6c80bf00caa806b3a6acb34e1bcdd5d5'
    }
  },
  {
    'context': '升级:版本14 | Next.js菜单使用App Router/app中可用的功能。升级版本14从13升级到14要更新到Next.js版本14,请使用您喜欢的包管理器运行以下命令:Terminalnpm i next@latest react@latest react-dom@latest eslint-config-next@latest Terminalyarn add next@latest react@latest react-dom@latest eslint-config-next@latest Terminalpnpm up next react react-dom eslint-config-next -latest Terminalbun add next@latest',
    'metadata': {
      'source': 'https://nextjs.org/docs/app/building-your-application/upgrading/version-14',
      'document_id': '6c8d1a7b-ea34-4927-8823-daa29dcfc5af--b83edb69b8fc7e442ff8ca311b48510e6c80bf00caa806b3a6acb34e1bcdd5d5'
    }
  }
]

source键包含产生该文档块的文档的url。

如果你有兴趣进一步配置搜索,请参考我们的API文档

(可选)步骤4:部署你的RAG管道

想上线吗?使用以下选项部署你的管道:

  • 在Embedchain平台上部署
  • 在你选择的云服务商上自托管

有关详细的部署说明,请遵循以下指南:


本指南将帮助你迅速设置一个语义搜索管道,使用Embedchain更容易地从大数据源访问和分析特定信息。

引用