Which embedder should I choose?

    Meilisearch officially supports many different embedders, such as OpenAI, Hugging Face, and Ollama, as well as the majority of embedding generators with a RESTful API.

    This article contains general guidance on how to choose the embedder best suited for your project.

    When in doubt, choose OpenAI

    OpenAI returns relevant search results across different subjects and datasets. It is suited for the majority of applications and Meilisearch actively supports and improves OpenAI functionality with every new release.

    In the majority of cases, and especially if this is your first time working with LLMs and AI-powered search, choose OpenAI.

    If you are already using a specific AI service, choose the REST embedder

    If you are already using a specific model from a compatible embedder, choose Meilisearch's REST embedder. This ensures you continue building upon tooling and workflows already in place with minimal configuration necessary.

    If dealing with non-textual content, choose the user-provided embedder

    Meilisearch does not support searching images, audio, or any other content not presented as text. This limitation applies to both queries and documents. For example, Meilisearch's built-in embedder sources cannot search using an image instead of text. They also cannot use text to search for images without attached textual metadata.

    In these cases, you will have to supply your own embeddings.

    Only choose Hugging Face when self-hosting small static datasets

    Although it returns very relevant search results, the Hugging Face embedder must run directly in your server. This may lead to lower performance and extra costs when you are hosting Meilisearch in a service like DigitalOcean or AWS.

    That said, Hugging Face can be a good embedder for datasets under 10k documents that you don't plan to update often.

    NOTE

    Meilisearch Cloud does not support embedders with {"source": "huggingFace"}.

    To use Hugging Face in the Cloud, use HuggingFace inference points with the REST embedder.