Skip to content

[FEAT] Add Mistral embedding adapter (mistral-embed) #2157

Description

@ahmedk20

Is your feature request related to a problem? Please describe.

Unstract supports Mistral as an LLM adapter, but there's no Mistral embedding adapter — even though Mistral ships a real, widely-used embedding model (mistral-embed). Users who standardize on Mistral for generation currently have to switch to a different provider (OpenAI, Gemini, etc.) just for embeddings, which means a second API key, a second billing relationship, and mixing providers within a single RAG pipeline.

The gap is visible when comparing the two adapter lists:

  • LLM adapters (14): anthropic, anyscale, azure_ai_foundry, azure_openai, bedrock, gemini, mistral, nvidia_build, ollama, openai, openai_compatible, openrouter, vertexai
  • Embedding adapters (9): azure_openai, bedrock, gemini, nvidia_build, ollama, openai, openai_compatible, vertexai — no mistral

Describe the solution you'd like

Add a first-class Mistral embedding adapter for mistral-embed, matching the existing embedding-adapter pattern:

  • New MistralEmbeddingAdapter under unstract/sdk1/adapters/embedding1/ with a MistralEmbeddingParameters class in base1.py.
  • Routes through LiteLLM's native mistral/ provider (confirmed in LiteLLM pricing data: mistral/mistral-embed, litellm_provider: "mistral", mode: "embedding"), so cost calculation works out of the box.
  • UI JSON schema (name, model, API key, timeout) and reuse of the existing Mistral logo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions