Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De Mistral-integratie biedt MistralChatClient voor chatagents en MistralEmbeddingClient voor tekst-embeddings in Agent Framework Python.
Installeer het pakket
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>"
U kunt ook server_url, api_key en model direct aan een van beide clients doorgeven.
Een chatagent maken
Maak een Agent met MistralChatClient. De client leest de API-sleutel en het chatmodel uit de omgevingsvariabelen die in de vorige sectie worden weergegeven.
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())
Het geselecteerde Mistral-model bepaalt welke mogelijkheden op modelniveau beschikbaar zijn.
Chatmogelijkheden
MistralChatClient ondersteunt de volgende Agent Framework-functies:
| Vermogen | Usage |
|---|---|
| Streaming | Roep agent.run(..., stream=True) aan om de antwoordupdates te doorlopen. |
| Functiegereedschappen | Agent Framework-functiehulpprogramma's toevoegen aan Agent(tools=...). |
| Gestructureerde uitvoer | Geef een Pydantic-model, JSON-schematoewijzing of JSON-objectmodus door via response_format. |
| Multimodale invoer | Verzend afbeeldingsgegevens of URL's en URL's van pdf-documenten in gebruikersberichten. |
| Redenering | Stel reasoning_effort in voor ondersteunde modellen en lees de geretourneerde denkuitvoer als text_reasoning-inhoud. |
Zie het Mistral-agentvoorbeeld voor een uitvoerbaar functiehulpmiddel en een voorbeeld van streaming.
Embeddings genereren
Maak de client en roep get_embeddings() aan.
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}
Gebruik MistralEmbeddingOptions dit om een ondersteunde uitvoerdimensie aan te vragen. U kunt ook instellen MISTRAL_SERVER_URL wanneer de toepassing gebruikmaakt van een aangepast compatibel eindpunt.
Belangrijk
Mistral AI is een systeem van derden. Bekijk de servicevoorwaarden, gegevensverwerking, regionale grenzen, modellicenties en gebruikskosten voordat u toepassingsgegevens verzendt.
Tools
MistralChatClient ondersteunt lokaal aangeroepen functiehulpprogramma's en de functie-aanroeplus van Agent Framework. Het geselecteerde model moet functie-aanroepen ondersteunen.