Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Mistral-integreringen tillhandahåller MistralChatClient för chattagenter och MistralEmbeddingClient för textinbäddningar i Python för Agent Framework.
Installera paketet
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>"
Du kan också skicka api_key, modeloch server_url direkt till någon av klienterna.
Konfigurera transportinställningar på klienten. Agent Framework avvisar server_url, http_headers, retriesoch timeout_ms när du skickar dem per anrop via options eller ytterligare nyckelordsargument. Alternativ för generering är fortfarande tillgängliga per anrop.
Skapa en chattagent
Skapa ett Agent med MistralChatClient. Klienten läser API-nyckeln och chattmodellen från miljövariablerna som visas i föregående avsnitt.
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())
Den valda Mistral-modellen avgör vilka funktioner på modellnivå som är tillgängliga.
Chattfunktioner
MistralChatClient stöder följande Agent Framework-funktioner:
| Capability | Usage |
|---|---|
| Streaming | Anropa agent.run(..., stream=True) för att iterera över svarsuppdateringar. |
| Funktionsverktyg | Lägg till Agent Framework-funktionsverktyg i Agent(tools=...). |
| Strukturerade utdata | Skicka en Pydantisk modell, JSON-schemamappning eller JSON-objektläge via response_format. |
| Multimodala ingång | Skicka bilddata eller URL:er och PDF-dokument-URL:er i användarmeddelanden. |
| Reasoning | Ange reasoning_effort för modeller som stöds och läs returnerat tänkande som text_reasoning innehåll. |
För ett exempel på ett körbart funktionsverktyg och strömning, se exemplet med Mistral-agenten.
Generera inbäddningar
Skapa klienten och anropa 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}
Använd MistralEmbeddingOptions för att begära en utdatadimension som stöds. Du kan också ange MISTRAL_SERVER_URL när programmet använder en anpassad kompatibel slutpunkt.
Important
Mistral AI är ett tredjepartssystem. Granska dess tjänstvillkor, datahantering, regionala gränser, modelllicensiering och användningskostnader innan du skickar programdata.
Tools
MistralChatClient stöder lokalt anropade funktionsverktyg och agentramverkets funktionsanropsloop. Den valda modellen måste ha stöd för funktionsanrop.