Mistral

Integracja Mistral udostępnia MistralChatClient dla agentów czatu i MistralEmbeddingClient dla osadzania tekstu w środowisku Agent Framework Python.

Instalowanie pakietu

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>"

Możesz również przekazać api_key, model i server_url bezpośrednio do jednego z klientów.

Tworzenie agenta czatu

Utwórz element Agent za pomocą MistralChatClient. Klient odczytuje klucz interfejsu API i model czatu ze zmiennych środowiskowych przedstawionych w poprzedniej sekcji.

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())

Wybrany model Mistral określa, które możliwości na poziomie modelu są dostępne.

Możliwości czatu

MistralChatClient program obsługuje następujące funkcje platformy Agent Framework:

Zdolność Usage
Transmisja strumieniowa Wywołaj agent.run(..., stream=True), aby iterować po aktualizacjach odpowiedzi.
Narzędzia funkcji Dodaj narzędzia funkcji platformy Agent Framework do programu Agent(tools=...).
Strukturalne dane wyjściowe Przekaż model Pydantic, mapowanie schematu JSON lub tryb obiektowy JSON przez response_format.
Dane wejściowe wielomodalne Wysyłanie danych obrazów lub adresów URL i adresów URL dokumentów PDF w komunikatach użytkownika.
Reasoning Ustaw reasoning_effort dla obsługiwanych modeli i odczytuj zwrócony proces rozumowania jako zawartość text_reasoning.

Przykład narzędzia-funkcji, które można uruchomić, oraz przesyłania strumieniowego znajdziesz w przykładzie agenta Mistral.

Generowanie embedów

Utwórz klienta i wywołaj 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}

Użyj MistralEmbeddingOptions, aby zażądać obsługiwanego wymiaru wyjściowego. Można również ustawić MISTRAL_SERVER_URL , gdy aplikacja używa niestandardowego zgodnego punktu końcowego.

Important

Mistral AI to system innej firmy. Przed wysłaniem danych zapoznaj się z warunkami świadczenia usługi, obsługą danych, granicami regionalnymi, licencjonowaniem modelu i kosztami użycia.

Tools

MistralChatClient obsługuje lokalnie wywoływane narzędzia funkcji i pętlę wywołania funkcji platformy Agent Framework. Wybrany model musi obsługiwać wywoływanie funkcji.

Następne kroki

RAG