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
使用自定义参数的近似 k-NN 搜索的 similarity_search
使用脚本评分的 similarity_search
使用自定义参数的脚本评分 的 similarity_search
使用无痛脚本的 similarity_search
使用自定义参数的无痛脚本 的 similarity_search
最大边际相关性搜索 (MMR)
如果你想查找一些相似的文档,但同时也希望获得多样化的结果,MMR 是你应该考虑的方法。最大边际相关性优化了与查询的相似性以及所选文档之间的多样性。使用预先存在的 OpenSearch 实例
也可以使用一个预先存在的 OpenSearch 实例,其中文档已经包含向量。使用 AOSS (Amazon OpenSearch Service 无服务器)
这是一个使用faiss 引擎和 efficient_filter 的 AOSS 示例。
我们需要安装几个 python 包。
使用 AOS (Amazon OpenSearch Service)
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

