Set the MISTRAL_API_KEY environment variable to authenticate calls made using the SDK.
export MISTRAL_API_KEY=[your_key_here]
Start a Phoenix server to collect traces.
python -m phoenix.server.main serve
In a python file, setup the MistralAIInstrumentor and configure the tracer to send traces to Phoenix.
from mistralai.client import MistralClientfrom mistralai.models.chat_completion import ChatMessagefrom openinference.instrumentation.mistralai import MistralAIInstrumentorfrom opentelemetry import trace as trace_apifrom opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporterfrom opentelemetry.sdk import trace as trace_sdkfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessorendpoint ="http://127.0.0.1:6006/v1/traces"tracer_provider = trace_sdk.TracerProvider()tracer_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))# Optionally, you can also print the spans to the console.tracer_provider.add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))trace_api.set_tracer_provider(tracer_provider)MistralAIInstrumentor().instrument()if__name__=="__main__": client =MistralClient() response = client.chat( model="mistral-large-latest", messages=[ChatMessage( content="Who won the World Cup in 2018?", role="user", ) ], )print(response.choices[0].message.content)
Run the python file and observe the traces in Phoenix.