Marqo: 强大的端到端向量搜索引擎

Ray

Marqo简介

Marqo是一个端到端的向量搜索引擎,专为文本和图像搜索而设计。它通过单一API提供向量生成、存储和检索的全套功能,无需用户自行提供嵌入向量。Marqo的目标是让开发者能够以最小的努力将向量搜索集成到应用程序中。

Marqo Logo

为什么选择Marqo?

传统的向量数据库仅提供向量相似度计算,而完整的向量搜索系统还需要机器学习模型部署和管理、输入预处理和转换,以及在不重新训练模型的情况下修改搜索行为的能力。Marqo将这些组件整合在一起,为开发者提供了一个完整的解决方案。

Marqo的优势

  1. 集成嵌入生成:无需单独处理向量生成,Marqo自动完成从文档到向量的转换。
  2. 先进的机器学习模型:支持使用PyTorch、Hugging Face、OpenAI等最新模型。
  3. 高性能:采用内存中的HNSW索引,实现尖端搜索速度。
  4. 灵活性:支持复杂的语义查询和结果过滤。
  5. 多模态支持:同时处理文本和图像数据。

核心功能

🤖 先进的嵌入技术

Marqo支持使用最新的机器学习模型,包括:

  • PyTorch模型
  • Hugging Face模型
  • OpenAI模型

用户可以选择预配置的模型,也可以使用自定义模型。Marqo同时支持CPU和GPU推理。

⚡ 高性能

  • 采用内存中的HNSW索引,实现极速搜索
  • 通过水平分片支持亿级文档索引
  • 异步非阻塞的数据上传和搜索

🌌 文档输入-文档输出

Marqo采用"文档输入-文档输出"的设计理念,自动处理:

  • 向量生成
  • 向量存储
  • 向量检索

这使得开发者可以专注于应用逻辑,而不必关心底层的向量处理细节。

🍱 托管云服务

Marqo还提供托管的云服务,具有以下特点:

  • 低延迟优化部署
  • 一键扩展推理能力
  • 高可用性
  • 24/7支持
  • 访问控制

快速开始

要开始使用Marqo,只需几个简单步骤:

  1. 安装Docker并确保至少分配8GB内存和50GB存储空间。

  2. 使用Docker运行Marqo:

docker rm -f marqo
docker pull marqoai/marqo:latest
docker run --name marqo -it -p 8882:8882 marqoai/marqo:latest
  1. 安装Marqo客户端:
pip install marqo
  1. 开始索引和搜索:
import marqo

mq = marqo.Client(url='http://localhost:8882')

mq.create_index("my-first-index", model="hf/e5-base-v2")

mq.index("my-first-index").add_documents([
    {
        "Title": "The Travels of Marco Polo",
        "Description": "A 13th-century travelogue describing Polo's travels"
    }, 
    {
        "Title": "Extravehicular Mobility Unit (EMU)",
        "Description": "The EMU is a spacesuit that provides environmental protection, "
                       "mobility, life support, and communications for astronauts",
        "_id": "article_591"
    }],
    tensor_fields=["Description"]
)

results = mq.index("my-first-index").search(
    q="What is the best outfit to wear on the moon?"
)

这个简单的示例展示了如何创建索引、添加文档和执行搜索查询。Marqo会自动处理文本嵌入和向量搜索,返回最相关的结果。

高级功能

多模态和跨模态搜索

Marqo支持图像和文本的联合搜索。使用CLIP模型,可以轻松实现图文混合检索:

settings = {
    "treat_urls_and_pointers_as_images":True,
    "model":"ViT-L/14"
}
mq.create_index("my-multimodal-index", **settings)

mq.index("my-multimodal-index").add_documents([{
    "My_Image": "https://example.com/image.jpg",
    "Description": "A beautiful landscape",
    "_id": "image-1"
}], tensor_fields=["My_Image"])

results = mq.index("my-multimodal-index").search('nature scene')

加权查询

Marqo允许对查询组件进行加权,实现更精细的搜索控制:

query = {
    "I need a communication device": 1.1,
    "It should be modern and smart": 1.0,
}
results = mq.index("my-index").search(q=query)

多模态组合字段

Marqo支持将文本和图像组合成单一字段,实现更高效的存储和检索:

mq.index("multimodal-index").add_documents(
    [
        {
            "Title": "Flying Plane",
            "caption": "An image of a passenger plane flying in front of the moon.",
            "image": "https://example.com/plane.jpg",
        }
    ],
    mappings={
        "captioned_image": {
            "type": "multimodal_combination",
            "weights": {
                "caption": 0.3,
                "image": 0.7
            }
        }
    },
    tensor_fields=["captioned_image"]
)

集成与生态系统

Marqo与多个流行的AI和数据处理框架集成,包括:

  • 💙 Haystack: 用于构建NLP应用的开源框架
  • 🛹 Griptape: 用于企业级LLM应用部署
  • 🦜🔗 Langchain: 用于构建LLM应用的框架
  • ⋙ Hamilton: 用于数据流处理的框架

这些集成使得Marqo可以轻松融入各种AI驱动的应用场景。

应用场景

Marqo在多个领域都有广泛应用:

  1. 高级图像搜索
  2. 多语言文本数据库
  3. 与GPT集成,增强上下文感知问答能力
  4. 创意AI,如结合稳定扩散生成图像
  5. 语音处理,支持语音转写和说话人分离
  6. 内容审核,识别和删除不当内容
  7. 电子商务个性化推荐

结论

Marqo作为一个强大的端到端向量搜索引擎,为开发者提供了一个全面的解决方案,简化了AI驱动搜索应用的开发过程。通过集成向量生成、存储和检索功能,Marqo使得构建高性能、多模态的搜索系统变得前所未有的简单。

无论是处理文本、图像还是多模态数据,Marqo都能提供卓越的性能和灵活性。随着AI技术的不断发展,Marqo将继续扮演重要角色,助力开发者构建下一代智能搜索应用。

如果您正在寻找一个强大、易用且功能丰富的向量搜索解决方案,Marqo无疑是一个值得考虑的选择。立即开始使用Marqo,探索AI驱动搜索的无限可能性!

Marqo Architecture

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号