Pular para o conteúdo principal

Rastreando LiteLM 🚄

LiteLLM Tracing via autolog

O LiteLLM é um gateway LLM de código aberto que permite o acesso a mais de 100 LLMs em uma interface unificada.

O MLflow Tracing fornece o recurso de rastreamento automático para o LiteLLM. Ao ativar o rastreamento automático para LiteLLM chamando a função mlflow.litellm.autolog, MLflow capturará os rastreamentos para a invocação de LLM e log os enviará para a experiência MLflow ativa.

Python
import mlflow

mlflow.litellm.autolog()

MLflow O rastreamento captura automaticamente as seguintes informações sobre as chamadas do site LiteLLM:

  • Solicitações e respostas de conclusão
  • Latências
  • Metadados sobre o provedor LLM, como o nome do modelo e o URL endpoint
  • Uso e custo dos tokens
  • Cache atingido
  • Qualquer exceção, se levantada

Pré-requisitos

Antes de executar os exemplos abaixo, certifique-se de que o senhor tenha:

  1. Databricks credenciais configuradas : Se estiver executando fora do site Databricks, defina sua variável de ambiente:

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

Se estiver executando dentro de um notebook Databricks, eles serão automaticamente definidos para o senhor.

  1. LLM provedor API key : Defina sua chave API para os provedores LLM que o senhor estiver usando:

    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

Exemplo básico

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 via LiteLLM
response = litellm.completion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)

API assíncrona

O MLflow suporta o rastreamento das APIs assíncronas do LiteLLM:

Python
mlflow.litellm.autolog()

response = await litellm.acompletion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)

transmissão

MLflow suporta o rastreamento da transmissão sincronizada e assíncrona do LiteLLM APIs:

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 registrará as saídas concatenadas dos blocos de transmissão como uma saída de intervalo.

Desativar o rastreamento automático

O rastreamento automático para o LiteLLM pode ser desativado globalmente chamando mlflow.litellm.autolog(disable=True) ou mlflow.autolog(disable=True).

Próximas etapas