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 chave do provedor API: Certifique-se de que sua chave API esteja configurada. Para ambientes de produção, use segredosMosaic AI Gateway ou Databricks em vez de valores codificados para um gerenciamento seguro API key .

    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.

atenção

Para ambientes de produção, use segredosMosaic AI Gateway ou Databricks em vez de valores codificados para um gerenciamento seguro API key .

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