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.
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:
Describe the solution you'd like
Add a first-class Mistral embedding adapter for mistral-embed, matching the existing embedding-adapter pattern: