Skip to main content
OpenSearch 是一个可扩展、灵活且可扩展的开源软件套件,用于搜索、分析和可观测性应用,基于 Apache 2.0 许可证。OpenSearch 是一个基于 Apache Lucene 的分布式搜索和分析引擎。
本笔记本展示了如何使用与 OpenSearch 数据库相关的功能。 要运行,你应该有一个正在运行的 OpenSearch 实例:参见此处获取简单的 Docker 安装 similarity_search 默认执行近似 k-NN 搜索,该搜索使用几种算法之一,如 lucene、nmslib、faiss,推荐用于大型数据集。要执行暴力搜索,我们有其他搜索方法,称为脚本评分和无痛脚本。查看此处了解更多详情。

安装

安装 Python 客户端。
我们想使用 OpenAIEmbeddings,所以我们需要获取 OpenAI API 密钥。
使用自定义参数的 近似 k-NN 搜索的 similarity_search
使用自定义参数的 脚本评分similarity_search
使用自定义参数的 无痛脚本similarity_search

最大边际相关性搜索 (MMR)

如果你想查找一些相似的文档,但同时也希望获得多样化的结果,MMR 是你应该考虑的方法。最大边际相关性优化了与查询的相似性以及所选文档之间的多样性。

使用预先存在的 OpenSearch 实例

也可以使用一个预先存在的 OpenSearch 实例,其中文档已经包含向量。

使用 AOSS (Amazon OpenSearch Service 无服务器)

这是一个使用 faiss 引擎和 efficient_filterAOSS 示例。 我们需要安装几个 python 包。

使用 AOS (Amazon OpenSearch Service)