Multimodal vector search.

Marqo is more than a vector database, it's an end-to-end vector search engine. Vector generation, storage and retrieval are handled out of the box through a single API. No need to bring your own embeddings.

Marqo CloudOpen Source

More than a vector database, welcome to vector search.


mq = marqo.Client()

mq.create_index("my-first-index")

mq.index("my-first-index").add_documents([
	{"title": "The Travels of Marco Polo"}
])

results = mq.index("my-first-index").search(q="Marqo Polo")

mq = marqo.Client()

mq.create_index(
    "my-multimodal-index", 
    treat_urls_and_pointers_as_images=True, 
    model="ViT-L/14"
)

mq.index("my-multimodal-index").add_documents([{
    "description": "A red double-decker bus driving through Aldwych",
    "image": "https://raw.githubusercontent.com/marqo-ai/marqo/mainline/examples/ImageSearchGuide/data/image4.jpg",
    "_id": "bus-photo"
}])

results = mq.index("my-multimodal-index").search("Image of a bus")

mq = marqo.Client()

mq.create_index(
    "my-multimodal-index", 
    treat_urls_and_pointers_as_images=True, 
    model="ViT-L/14"
)

mq.index("my-multimodal-index").add_documents([{
    "image": "https://raw.githubusercontent.com/marqo-ai/marqo/mainline/examples/ImageSearchGuide/data/image4.jpg",
    "_id": "bus-photo"
}])

results = mq.index("my-multimodal-index").search(
    q={
        "Image of a bus": 1.0,
        "https://raw.githubusercontent.com/marqo-ai/marqo/mainline/examples/ImageSearchGuide/data/image2.jpg": 0.2
    }
)

Search the way you think.

With Marqo, input pre-processing, machine learning inference, and storage are all included out of the box.

Scalable

Run Marqo in a docker image on your laptop or scale it up to dozens of GPU inference nodes in the cloud. Marqo can be scaled to provide low latency searches against multi-terabyte indexes.

Multimodal

Marqo helps you configure deep-learning models like CLIP to pull semantic meaning from images. You can seamlessly search any combination of text and images and even combine text and images into a single vector.

End-to-end

Marqo has you covered from inference to storage. With Marqo you don't need to calculate the vectors yourself, simply select the model you want to use and pass the text and/or image URLs directly to the API.

AI powered

Vector search allows you to go beyond keyword matching and lets you search based on the meaning of text, images and other unstructured data.

 Enhance your search with Marqo's feature-rich developer experience.

Marqo provides a feature rich developer experience - it lets you perform multimodal vector search without having to sacrifice on features like filtering and highlighting.

Multimodal search

Marqo can be used with text and/or image data. Multimodal indexes seamlessly handle image-to-image, image-to-text and text-to-image search.

Composite Queries

Marqo supports weighted queries which can combine multiple text and image queries together. Negative weights can be added to query terms to push certain items out of your result set.

Ranking Modification

Marqo supports score modifiers, numeric fields in your documents can be used to manipulate the score and influence the ranking of results.

Context search

Additional context can be added to queries by providing vectors directly, this helps tailor results without the overhead of additional inference.

Custom model integration

Import open source models from Hugging Face, bring your own, or load private models from AWS S3 or Hugging Face using authentication.

Bulk operations

Parts of Marqo's API support bulk operations to improve throughput. These bulk operations enable use cases such as bulk changes to multiple indexes or coalescing of queries.

Horizontal scalability

Marqo is horizontally scalable and can be run at million document scale whilst maintaining lightning-fast search times.

Highlighting

Marqo provides search highlighting functionality which allows you to transparently understand where and why a match occurred.

Filtering

Marqo offers a powerful query DSL (Domain Specific Language), which can be applied as a prefilter ahead of approximate k-NN search.

Join the community

Get involved with building the future of Marqo or access support from Marqo's vast community by joining us on Slack and Github.

GitHub

Discuss issues, PRs, and what features to add. Vote on your favorite features. Let us know!

Start contributing

Slack

Join the group discussion and let any head-scratchers be answered by the community.

Join our Slack

Discourse

Join our discourse forum to keep up with the latest announcements, troubleshoot with the community, or show off something you have built with Marqo!

Community Forum

Releases

Have a look at Marqo's release notes to keep up-to-date with development.

Release Notes