Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'integrazione di Mistral fornisce MistralChatClient per gli agenti di chat e MistralEmbeddingClient per gli embedding di testo in Agent Framework Python.
Installare il pacchetto
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>"
È anche possibile passare api_key, modele server_url direttamente a entrambi i client.
Configurare le impostazioni di trasporto nel client. Agent Framework rifiuta server_url, http_headers, retriese timeout_ms quando vengono passati per ogni chiamata tramite options o argomenti di parole chiave aggiuntivi. Le opzioni di generazione rimangono disponibili per ogni chiamata.
Creare un agente di chat
Creare un oggetto Agent con MistralChatClient. Il client legge la chiave API e il modello di chat dalle variabili di ambiente illustrate nella sezione precedente.
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())
Il modello Mistral selezionato determina le funzionalità a livello di modello disponibili.
Funzionalità di chat
MistralChatClient supporta le funzionalità seguenti di Agent Framework:
| Funzionalità | Usage |
|---|---|
| Streaming | Chiama agent.run(..., stream=True) per iterare sugli aggiornamenti della risposta. |
| Strumenti per le funzioni | Aggiungi gli strumenti di funzione di Agent Framework a Agent(tools=...). |
| Output strutturato | Passa un modello Pydantic, una mappatura dello schema JSON o un oggetto JSON tramite response_format. |
| Input multimodale | Inviare url o dati immagine e URL di documento PDF nei messaggi utente. |
| Reasoning | Impostare reasoning_effort per i modelli supportati e leggere il ragionamento restituito come contenuto text_reasoning. |
Per un esempio di funzione e streaming eseguibile, vedere l'esempio dell'agente Mistral.
Generare incorporamenti
Creare il client e chiamare 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}
Utilizzare MistralEmbeddingOptions per richiedere una dimensione di output supportata. È anche possibile impostare MISTRAL_SERVER_URL quando l'applicazione usa un endpoint compatibile personalizzato.
Importante
Mistral AI è un sistema di terze parti. Esaminare le condizioni di servizio, la gestione dei dati, i limiti regionali, le licenze dei modelli e i costi di utilizzo prima di inviare i dati dell'applicazione.
Tools
MistralChatClient supporta gli strumenti di funzione richiamati localmente e il ciclo function-invocation di Agent Framework. Il modello selezionato deve supportare le chiamate di funzione.