Marqo
本页面介绍了如何在LangChain中使用Marqo生态系统。
什么是Marqo?
Marqo 是一个张量搜索引擎,它使用存储在内存中的 HNSW 索引中的嵌入来实现前沿的搜索速度。Marqo 可以通过水平索引分片扩展到数亿文档索引,并支持异步和非阻塞的数据上传和搜索。Marqo 使用来自 PyTorch、Huggingface、OpenAI 等的最新机器学习模型。您可以从预配置的模型开始,或者使用自己的模型。内置的 ONNX 支持和转换允许在 CPU 和 GPU 上实现更快的推理和更高的吞吐量。
因为Marqo包含自己的推理,您的文档可以混合文本和图像,您可以将来自其他系统的数据与Marqo索引一起带入langchain生态系统,而无需担心您的嵌入是否兼容。
Marqo的部署非常灵活,您可以使用我们的docker镜像自行开始,或者联系我们了解我们的托管云服务!
要在本地使用我们的docker镜像运行Marqo,请参阅我们的入门指南。
安装与设置
- 使用
pip install marqo
安装 Python SDK
包装器
向量存储
存在一个围绕Marqo索引的包装器,允许您在向量存储框架中使用它们。Marqo允许您从一系列模型中选择用于生成嵌入,并公开一些预处理配置。
Marqo向量存储也可以与现有的多模态索引一起工作,其中您的文档包含图像和文本的混合,更多信息请参考我们的文档。请注意,使用现有的多模态索引实例化Marqo向量存储将禁用通过langchain向量存储的add_texts
方法添加任何新文档的能力。
要导入这个向量存储:
from langchain_community.vectorstores import Marqo
API Reference:Marqo
有关Marqo包装器及其一些独特功能的更详细演练,请参见此笔记本