Mistral

A integração do Mistral fornece MistralChatClient para agentes de chat e MistralEmbeddingClient para embeddings de texto na Agent Framework Python.

Instalar o pacote

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

Você também pode passar api_key, modele server_url diretamente para qualquer cliente.

Defina as configurações de transporte no cliente. O Agent Framework rejeita server_url, http_headers, retries e timeout_ms quando você os passa em cada chamada por meio de options ou de argumentos nomeados adicionais. As opções de geração permanecem disponíveis em cada chamada.

Criar um agente de chat

Criar um Agent com MistralChatClient. O cliente lê a chave de API e o modelo de chat das variáveis de ambiente mostradas na seção anterior.

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

O modelo mistral selecionado determina quais recursos de nível de modelo estão disponíveis.

Recursos de chat

MistralChatClient dá suporte aos seguintes recursos do Agent Framework:

Capacidade Usage
Streaming Chame agent.run(..., stream=True) para iterar sobre atualizações de resposta.
Ferramentas para funções Adicionar ferramentas de funções do Agent Framework a Agent(tools=...).
Saída estruturada Passe um modelo Pydantic, um mapeamento de esquema JSON ou um modo de objeto JSON por meio de response_format.
Entrada multimodal Envie dados de imagem ou URLs e URLs de documentos PDF nas mensagens do usuário.
Reasoning Defina reasoning_effort para modelos compatíveis e leia o raciocínio retornado como conteúdo text_reasoning.

Para ver um exemplo de ferramenta de função que pode ser executada e de streaming, consulte o exemplo de agente do Mistral.

Gerar inserções

Crie o cliente e chame 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}

Use MistralEmbeddingOptions para solicitar uma dimensão de saída com suporte. Você também pode definir MISTRAL_SERVER_URL quando o aplicativo usa um ponto de extremidade compatível personalizado.

Important

A IA do Mistral é um sistema de terceiros. Examine seus termos de serviço, tratamento de dados, limites regionais, licenciamento de modelo e custos de uso antes de enviar dados do aplicativo.

Tools

MistralChatClient dá suporte a ferramentas de função invocadas localmente e ao loop de invocação de função do Agent Framework. O modelo selecionado deve dar suporte à chamada de função.

Próximas Etapas 

RAG