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包装器及其一些独特功能的更详细演示,请参阅此笔记本