Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Integracja Mistral udostępnia MistralChatClient dla agentów czatu i MistralEmbeddingClient dla osadzania tekstu w środowisku Agent Framework Python.
Instalowanie pakietu
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>"
Możesz również przekazać api_key, model i server_url bezpośrednio do jednego z klientów.
Tworzenie agenta czatu
Utwórz element Agent za pomocą MistralChatClient. Klient odczytuje klucz interfejsu API i model czatu ze zmiennych środowiskowych przedstawionych w poprzedniej sekcji.
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())
Wybrany model Mistral określa, które możliwości na poziomie modelu są dostępne.
Możliwości czatu
MistralChatClient program obsługuje następujące funkcje platformy Agent Framework:
| Zdolność | Usage |
|---|---|
| Transmisja strumieniowa | Wywołaj agent.run(..., stream=True), aby iterować po aktualizacjach odpowiedzi. |
| Narzędzia funkcji | Dodaj narzędzia funkcji platformy Agent Framework do programu Agent(tools=...). |
| Strukturalne dane wyjściowe | Przekaż model Pydantic, mapowanie schematu JSON lub tryb obiektowy JSON przez response_format. |
| Dane wejściowe wielomodalne | Wysyłanie danych obrazów lub adresów URL i adresów URL dokumentów PDF w komunikatach użytkownika. |
| Reasoning | Ustaw reasoning_effort dla obsługiwanych modeli i odczytuj zwrócony proces rozumowania jako zawartość text_reasoning. |
Przykład narzędzia-funkcji, które można uruchomić, oraz przesyłania strumieniowego znajdziesz w przykładzie agenta Mistral.
Generowanie embedów
Utwórz klienta i wywołaj 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}
Użyj MistralEmbeddingOptions, aby zażądać obsługiwanego wymiaru wyjściowego. Można również ustawić MISTRAL_SERVER_URL , gdy aplikacja używa niestandardowego zgodnego punktu końcowego.
Important
Mistral AI to system innej firmy. Przed wysłaniem danych zapoznaj się z warunkami świadczenia usługi, obsługą danych, granicami regionalnymi, licencjonowaniem modelu i kosztami użycia.
Tools
MistralChatClient obsługuje lokalnie wywoływane narzędzia funkcji i pętlę wywołania funkcji platformy Agent Framework. Wybrany model musi obsługiwać wywoływanie funkcji.