marqo  by marqo-ai

End-to-end vector search engine for text and images

Created 3 years ago
4,946 stars

Top 10.1% on SourcePulse

GitHubView on GitHub
Project Summary

Marqo is an end-to-end vector search engine designed to simplify the integration of semantic search into applications. It handles text and image embedding generation, storage, and retrieval through a unified API, eliminating the need for users to manage separate ML models or vector databases. This makes it suitable for developers looking to quickly implement advanced search capabilities.

How It Works

Marqo bundles embedding generation with vector search, offering a "documents in, documents out" approach. It leverages state-of-the-art embedding models from Huggingface, PyTorch, and OpenAI, supporting both CPU and GPU. Data is stored in in-memory HNSW indexes for high-speed retrieval. The system handles preprocessing, embedding, and inference, allowing for flexible search behavior modification without model retraining. It also supports multimodal search, enabling combined text and image indexing and querying.

Quick Start & Requirements

  • Installation: Requires Docker. Run Marqo via docker run --name marqo -it -p 8882:8882 marqoai/marqo:latest. Install the client with pip install marqo.
  • Prerequisites: Docker with at least 8GB memory and 50GB storage.
  • Documentation: https://docs.marqo.ai/
  • Demos: https://www.marqo.ai/blog/

Highlighted Details

  • Supports text, image, and multimodal search with configurable embedding models.
  • Offers weighted queries for complex search scenarios and negations.
  • Scalable to hundreds of millions of documents with horizontal sharding.
  • Integrates with popular AI frameworks like Haystack, Griptape, and Langchain.

Maintenance & Community

Marqo is a community-driven project with active development. Support and discussion are available via their Discourse forum and Slack community.

Licensing & Compatibility

The project appears to be open-source, but a specific license is not explicitly stated in the README. Compatibility for commercial use or closed-source linking would require license clarification.

Limitations & Caveats

Marqo requires Docker, which may be a barrier for some environments. The README warns against running other applications on Marqo's Vespa cluster due to automatic configuration changes.

Health Check
Last Commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
18
Issues (30d)
2
Star History
30 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.