Mistral

Mistral-integreringen tillhandahåller MistralChatClient för chattagenter och MistralEmbeddingClient för textinbäddningar i Python för Agent Framework.

Installera paketet

pip install agent-framework-mistral --pre

Configuration

MISTRAL_API_KEY="<api-key>"
MISTRAL_CHAT_MODEL="mistral-small-latest"
MISTRAL_EMBEDDING_MODEL="mistral-embed"
# Optional compatible endpoint:
MISTRAL_SERVER_URL="<server-url>"

Du kan också skicka api_key, modeloch server_url direkt till någon av klienterna.

Konfigurera transportinställningar på klienten. Agent Framework avvisar server_url, http_headers, retriesoch timeout_ms när du skickar dem per anrop via options eller ytterligare nyckelordsargument. Alternativ för generering är fortfarande tillgängliga per anrop.

Skapa en chattagent

Skapa ett Agent med MistralChatClient. Klienten läser API-nyckeln och chattmodellen från miljövariablerna som visas i föregående avsnitt.

import asyncio

from agent_framework import Agent
from agent_framework.mistral import MistralChatClient


async def main() -> None:
    client = MistralChatClient()
    try:
        agent = Agent(
            client=client,
            instructions="You are a helpful assistant.",
        )
        response = await agent.run("How many days are in a week?")
        print(response.text)
    finally:
        await client.close()


asyncio.run(main())

Den valda Mistral-modellen avgör vilka funktioner på modellnivå som är tillgängliga.

Chattfunktioner

MistralChatClient stöder följande Agent Framework-funktioner:

Capability Usage
Streaming Anropa agent.run(..., stream=True) för att iterera över svarsuppdateringar.
Funktionsverktyg Lägg till Agent Framework-funktionsverktyg i Agent(tools=...).
Strukturerade utdata Skicka en Pydantisk modell, JSON-schemamappning eller JSON-objektläge via response_format.
Multimodala ingång Skicka bilddata eller URL:er och PDF-dokument-URL:er i användarmeddelanden.
Reasoning Ange reasoning_effort för modeller som stöds och läs returnerat tänkande som text_reasoning innehåll.

För ett exempel på ett körbart funktionsverktyg och strömning, se exemplet med Mistral-agenten.

Generera inbäddningar

Skapa klienten och anropa get_embeddings().

async def basic_embedding_example() -> None:
    """Generate embeddings for a list of texts."""
    print("=== Basic Embedding Generation ===")

    # 1. Create the embedding client using environment-based configuration.
    client = MistralEmbeddingClient()

    # 2. Generate embeddings for multiple texts.
    texts = ["Hello, world!", "How are you?", "Agent Framework with Mistral AI"]
    try:
        result = await client.get_embeddings(texts)

        # 3. Print the generated vectors and usage metadata.
        print(f"Generated {len(result)} embeddings")
        for i, embedding in enumerate(result):
            print(f"  Text {i + 1}: dimensions={embedding.dimensions}, vector={embedding.vector[:5]}...")

        if result.usage:
            print(
                f"  Usage: {result.usage['input_token_count']} input tokens, "
                f"{result.usage['total_token_count']} total tokens"
            )
    finally:
        await client.close()


async def embedding_with_options_example() -> None:
    """Generate embeddings with custom dimensions."""
    print("\n=== Embedding with Custom Dimensions ===")

    from agent_framework.mistral import MistralEmbeddingOptions

    # Only some models support a custom output dimension (e.g. codestral-embed; mistral-embed does not).
    client = MistralEmbeddingClient(model="codestral-embed")

    options: MistralEmbeddingOptions = {"dimensions": 256}

Använd MistralEmbeddingOptions för att begära en utdatadimension som stöds. Du kan också ange MISTRAL_SERVER_URL när programmet använder en anpassad kompatibel slutpunkt.

Important

Mistral AI är ett tredjepartssystem. Granska dess tjänstvillkor, datahantering, regionala gränser, modelllicensiering och användningskostnader innan du skickar programdata.

Tools

MistralChatClient stöder lokalt anropade funktionsverktyg och agentramverkets funktionsanropsloop. Den valda modellen måste ha stöd för funktionsanrop.

Nästa steg

RAG