Traçage LiteLLM🚄

LiteLLM est une passerelle LLM open source qui permet d'accéder à plus de 100 LLM dans l'interface unifiée.
MLflow Tracing offre une capacité de suivi automatique pour LiteLLM. En activant le suivi automatique
pour LiteLLM en appelant la fonction mlflow.litellm.autolog, MLflow capturera les suivis pour l'invocation de LLM et les enregistrera dans l'Experimentation MLflow active.
import mlflow
mlflow.litellm.autolog()
Le suivi MLflow capture automatiquement les informations suivantes concernant les appels LiteLLM :
- Prompts et réponses de complétion
- Latences
- Métadonnées sur le fournisseur de LLM, telles que le nom du modèle et l'URL de l'Endpoint
- Utilisations des jetons et coût
- Accès en cache
- Toute exception si levée
Sur les clusters de compute serverless, l'autologging n'est pas activé automatiquement. Vous devez appeler explicitement mlflow.litellm.autolog() pour activer le traçage automatique de cette intégration.
Prérequis​
Avant d'exécuter les exemples ci-dessous, assurez-vous d'avoir :
-
Identifiants Databricks configurés : Si vous exécutez en dehors de Databricks, définissez vos variables d'environnement :
Bashexport DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-personal-access-token"
Si vous exécutez dans un Notebook Databricks, ceux-ci sont automatiquement configurés pour vous.
-
Clés API du fournisseur LLM : assurez-vous que vos clés API sont configurées. Pour les environnements de production, utilisez AI Gateway ou les secrets Databricks au lieu de valeurs codées en dur pour une gestion sécurisée des clés API.
Bashexport ANTHROPIC_API_KEY="your-anthropic-api-key" # For Anthropic models
export OPENAI_API_KEY="your-openai-api-key" # For OpenAI models
# Add other provider keys as needed
Exemple de base​
import mlflow
import litellm
# Enable auto-tracing for LiteLLM
mlflow.litellm.autolog()
# Set up MLflow tracking on Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/litellm-demo")
# Call Anthropic API using LiteLLM
response = litellm.completion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)
API asynchrone​
MLflow prend en charge le traçage des APIs asynchrones de LiteLLM :
mlflow.litellm.autolog()
response = await litellm.acompletion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)
streaming​
MLflow prend en charge le traçage des APIs de streaming synchrones et asynchrones de LiteLLM :
mlflow.litellm.autolog()
response = litellm.completion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content, end="|")
MLflow enregistrera les sorties concaténées des blocs du Stream en tant que sortie d'étendue.
Pour les environnements de production, utilisez AI Gateway ou les secrets Databricks au lieu de valeurs codées en dur pour la gestion sécurisée des clés API.
Désactiver le suivi automatique​
Le traçage automatique pour LiteLLM peut être désactivé globalement en appelant mlflow.litellm.autolog(disable=True) ou mlflow.autolog(disable=True).
Ressources supplémentaires​
- Comprendre les concepts de traçage — Découvrez comment MLflow capture et organise les données de trace
- Déboguer et observer votre application - Utilisez l'interface utilisateur de Trace pour analyser le comportement de votre application LiteLLM.
- Évaluez la qualité de votre application — Configurez l'évaluation de la qualité pour votre application LLM multiprovider.