docs/docs/genai/tracing/integrations/listing/mistral.mdx
import { APILink } from "@site/src/components/APILink"; import StepHeader from "@site/src/components/StepHeader"; import ServerSetup from "@site/src/content/setup_server_slim.mdx"; import ImageBox from "@site/src/components/ImageBox";
MLflow Tracing ensures observability for your interactions with Mistral AI models. When Mistral auto-tracing is enabled by calling the <APILink fn="mlflow.mistral.autolog" /> function, usage of the Mistral SDK will automatically record generated traces during interactive development.
MLflow automatically captures the following information about Mistral calls:
temperature, max_tokens, if specifiedpip install mlflow mistralai
Enable tracing with mlflow.mistral.autolog() and make API calls as usual.
import os
from mistralai import Mistral
import mlflow
# Enable auto-tracing for Mistral
mlflow.mistral.autolog()
# Set a tracking URI and an experiment
mlflow.set_tracking_uri("http://localhost:5000")
mlflow.set_experiment("Mistral")
# Configure your API key
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Use the chat complete method to create new chat
chat_response = client.chat.complete(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
},
],
)
print(chat_response.choices[0].message)
Browse to the MLflow UI at http://localhost:5000 (or your MLflow server URL) and you should see the traces for the Mistral API calls.
MLflow supports automatic tracing for the following Mistral APIs:
| Chat | Function Calling | Streaming | Async | Image | Embeddings | Agents |
|---|---|---|---|---|---|---|
| ✅ | ✅ | - | ✅ (*1) | - | - | - |
(*1) Async support was added in MLflow 3.5.0.
</div>To request support for additional APIs, please open a feature request on GitHub.
import os
from mistralai import Mistral
import mlflow
# Turn on auto tracing for Mistral AI by calling mlflow.mistral.autolog()
mlflow.mistral.autolog()
# Configure your API key.
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Use the chat complete method to create new chat.
chat_response = client.chat.complete(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
},
],
)
print(chat_response.choices[0].message)
MLflow automatically tracks token usage and cost for Mistral. The token usage for each LLM call will be logged in each Trace/Span and the aggregated cost and time trend are displayed in the built-in dashboard. See the Token Usage and Cost Tracking documentation for details on accessing this information programmatically.
Auto tracing for Mistral can be disabled globally by calling mlflow.mistral.autolog(disable=True) or mlflow.autolog(disable=True).