Aller au contenu principal

Traçage LiteLLM🚄

Traçage LiteLLM à l'aide de l'autolog

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.

Python
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
remarque

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 :

  1. Identifiants Databricks configurés : Si vous exécutez en dehors de Databricks, définissez vos variables d'environnement :

    Bash
    export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
    export DATABRICKS_TOKEN="your-personal-access-token"
astuce

Si vous exécutez dans un Notebook Databricks, ceux-ci sont automatiquement configurés pour vous.

  1. 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.

    Bash
    export 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​

Python
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 :

Python
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 :

Python
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.

attention

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​