Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Mistral-Integration bietet MistralChatClient für Chat-Agenten und MistralEmbeddingClient für Text-Embeddings im Agent Framework für Python.
Installiere das Paket
pip install agent-framework-mistral --pre
Konfiguration
MISTRAL_API_KEY="<api-key>"
MISTRAL_CHAT_MODEL="mistral-small-latest"
MISTRAL_EMBEDDING_MODEL="mistral-embed"
# Optional compatible endpoint:
MISTRAL_SERVER_URL="<server-url>"
Sie können model, api_key und server_url auch direkt an einen der beiden Clients übergeben.
Konfigurieren Sie Transporteinstellungen auf dem Client. Agent Framework lehnt server_url, http_headers, retries und timeout_ms ab, wenn Sie sie pro Aufruf über options oder zusätzliche Schlüsselwortargumente übergeben. Generierungsoptionen bleiben pro Anruf verfügbar.
Erstellen eines Chat-Agents
Erstellen Sie eine Agent mit MistralChatClient. Der Client liest den API-Schlüssel und das Chatmodell aus den Umgebungsvariablen aus, die im vorherigen Abschnitt gezeigt werden.
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())
Das ausgewählte Mistral-Modell bestimmt, welche modellbezogenen Funktionen verfügbar sind.
Chatfunktionen
MistralChatClient unterstützt die folgenden Agent Framework-Features:
| Fähigkeit | Verbrauch |
|---|---|
| Streamen | Rufen Sie agent.run(..., stream=True) auf, um die Antwortaktualisierungen zu durchlaufen. |
| Funktionstools | Hinzufügen von Agent Framework-Funktionstools zu Agent(tools=...). |
| Strukturierte Ausgabe | Übergeben Sie ein Pydantisches Modell, eine JSON-Schemazuordnung oder einen JSON-Objektmodus über response_format. |
| Multimodale Eingabe | Senden von Bilddaten oder URLs und PDF-Dokument-URLs in Benutzernachrichten. |
| Argumentation | Legen Sie reasoning_effort für unterstützte Modelle fest und lesen Sie den zurückgegebenen Gedankengang als text_reasoning-Inhalt. |
Ein ausgeführtes Funktionstool und ein Streamingbeispiel finden Sie im Mistral-Agent-Beispiel.
Einbettungen generieren
Erstellen Sie den Client und rufen Sie get_embeddings() auf.
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}
Verwenden Sie MistralEmbeddingOptions, um eine unterstützte Ausgabedimension anzufordern. Sie können auch festlegen MISTRAL_SERVER_URL , wenn die Anwendung einen benutzerdefinierten kompatiblen Endpunkt verwendet.
Important
Mistral AI ist ein Drittanbietersystem. Überprüfen Sie ihre Dienstbedingungen, die Datenverarbeitung, regionale Grenzen, Modelllizenzierung und Nutzungskosten vor dem Senden von Anwendungsdaten.
Tools
MistralChatClient unterstützt lokal aufgerufene Funktionstools und die Agent Framework-Funktionsaufrufschleife. Das ausgewählte Modell muss Funktionsaufrufe unterstützen.