Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’intégration de Mistral fournit MistralChatClient pour les agents conversationnels et MistralEmbeddingClient pour les plongements de texte dans Agent Framework Python.
Installer le package
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>"
Vous pouvez également transmettre directement api_key, model et server_url à l’un ou l’autre client.
Créer un agent de conversation
Créez un Agent avec MistralChatClient. Le client lit la clé API et le modèle de conversation à partir des variables d’environnement indiquées dans la section précédente.
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())
Le modèle Mistral sélectionné détermine les fonctionnalités au niveau du modèle disponibles.
Fonctionnalités de conversation
MistralChatClient prend en charge les fonctionnalités d’Agent Framework suivantes :
| Capacité | Usage |
|---|---|
| Diffusion en continu | Appelez agent.run(..., stream=True) pour itérer sur les mises à jour de la réponse. |
| Outils de fonction | Ajouter des outils de fonction Agent Framework à Agent(tools=...). |
| Sortie structurée | Passez un modèle Pydantic, un mappage de schéma JSON ou un mode objet JSON via response_format. |
| Entrée multimodale | Envoyez des données d’image ou des URL, ainsi que des URL de documents PDF dans les messages utilisateur. |
| Reasoning | Définissez reasoning_effort pour les modèles pris en charge et lisez le raisonnement renvoyé comme contenu text_reasoning. |
Pour obtenir un exemple d’outil de fonction et de diffusion en continu exécutables, consultez l’exemple d’agent Mistral.
Générer des embeddings
Créez le client et appelez 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}
Utilisez MistralEmbeddingOptions pour demander une dimension de sortie prise en charge. Vous pouvez également définir MISTRAL_SERVER_URL lorsque l’application utilise un point de terminaison compatible personnalisé.
Important
Mistral AI est un système tiers. Passez en revue ses conditions de service, la gestion des données, les limites régionales, les licences de modèle et les coûts d’utilisation avant d’envoyer des données d’application.
Tools
MistralChatClient prend en charge les outils de fonction appelés localement et la boucle d’appel de fonction Agent Framework. Le modèle sélectionné doit prendre en charge les appels de fonction.