Skip to main content

Marqo(马尔科)

本页面介绍如何在LangChain中使用Marqo生态系统。

Marqo是什么?(What is Marqo?)

Marqo是一个张量搜索引擎,使用存储在内存中的HNSW索引的嵌入来实现尖端的搜索速度。Marqo可以通过水平索引分片扩展到亿级文档索引,并允许异步和非阻塞的数据上传和搜索。Marqo使用来自PyTorch、Huggingface、OpenAI等最新的机器学习模型。您可以从预配置的模型开始,也可以自己带入模型。内置的ONNX支持和转换可以实现更快的推理速度和更高的CPU和GPU吞吐量。

由于Marqo包含了自己的推理,您的文档可以包含文本和图像的混合,您可以将带有来自其他系统的数据的Marqo索引带入langchain生态系统中,而无需担心嵌入是否兼容。

Marqo的部署非常灵活,您可以使用我们的Docker镜像自行开始,或者联系我们了解我们的托管云服务!

要在本地使用我们的Docker镜像运行Marqo,请参阅入门指南。

安装和设置

  • 使用pip install marqo安装Python SDK

包装器

VectorStore

存在一个围绕Marqo索引的包装器,允许您在vectorstore框架内使用它们。Marqo允许您从一系列模型中选择用于生成嵌入,并公开了一些预处理配置。

Marqo vectorstore还可以与现有的多模型索引一起使用,其中您的文档包含图像和文本的混合。有关更多信息,请参阅我们的文档。请注意,使用现有的多模型索引实例化Marqo vectorstore将禁用通过langchain vectorstore的add_texts方法向其添加任何新文档的能力。

要导入此vectorstore:

from langchain.vectorstores import Marqo

有关Marqo包装器及其一些独特功能的更详细演示,请参阅此笔记本