Pular para o conteúdo principal

Rastreando o LlamaIndex

Rastreamento do LlamaIndex via autolog

OLlamaIndex é uma estrutura de código aberto para a criação de aplicativos generativos autênticos AI que permitem que modelos de linguagem grandes trabalhem com seus dados em qualquer formato.

O MLflow Tracing fornece o recurso de rastreamento automático para o LlamaIndex. O senhor pode habilitar o rastreamento para o LlamaIndex chamando a função mlflow.llama_index.autolog, e os rastreamentos aninhados são automaticamente registrados na experiência MLflow ativa após a invocação dos mecanismos do LlamaIndex e do fluxo de trabalho.

Python
import mlflow

mlflow.llama_index.autolog()
dica

A integração do MLflow com o LlamaIndex não se trata apenas de rastreamento. MLflow oferece experiência completa de acompanhamento para o LlamaIndex, incluindo acompanhamento de modelos, gerenciamento de índices e avaliação.

Pré-requisitos

Para usar o MLflow Tracing com o LlamaIndex, o senhor precisa instalar o MLflow e a biblioteca llama-index.

Para ambientes de desenvolvimento, instale o pacote completo do MLflow com os extras do Databricks e llama-index:

Bash
pip install --upgrade "mlflow[databricks]>=3.1" llama-index

O pacote completo do mlflow[databricks] inclui todos os recursos para desenvolvimento local e experimentação no Databricks.

nota

O MLflow 3 é altamente recomendado para obter a melhor experiência de rastreamento com o LlamaIndex.

Antes de executar os exemplos, você precisará configurar seu ambiente:

Para usuários fora do Databricks Notebook : Defina seu Databricks variável de ambiente:

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

Para usuários do Databricks Notebook : Essas credenciais são definidas automaticamente para o senhor.

API chave : Verifique se o provedor LLM API key está configurado. Para ambientes de produção, use segredosMosaic AI Gateway ou Databricks em vez de valores codificados para um gerenciamento seguro API key .

Bash
export OPENAI_API_KEY="your-openai-api-key"
# Add other provider keys as needed

Exemplo de uso

Primeiro, vamos fazer o download de um dado de teste para criar um índice de brinquedo:

!mkdir -p data
!curl -L https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt -o ./data/paul_graham_essay.txt

Carregue-os em um índice vetorial simples na memória:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

Agora o senhor pode ativar o rastreamento automático do LlamaIndex e começar a consultar o índice:

Python
import mlflow
import os

# Ensure your OPENAI_API_KEY (or other LLM provider keys) is set in your environment
# os.environ["OPENAI_API_KEY"] = "your-openai-api-key" # Uncomment and set if not globally configured

# Enabling tracing for LlamaIndex
mlflow.llama_index.autolog()

# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/llamaindex-demo")

# Query the index
query_engine = index.as_query_engine()
response = query_engine.query("What was the first program the author wrote?")
atenção

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

LlamaIndex fluxo de trabalho

O Workflow é a estrutura de orquestração GenAI de última geração da LlamaIndex. Ele foi projetado como uma estrutura flexível e interpretável para a criação de aplicativos LLM arbitrários, como um agente, um fluxo RAG, um pipeline de extração de dados, etc. O MLflow é compatível com o rastreamento, a avaliação e o acompanhamento dos objetos do fluxo de trabalho, o que os torna mais observáveis e passíveis de manutenção.

O rastreamento automático para o fluxo de trabalho do LlamaIndex funciona imediatamente, chamando o mesmo mlflow.llama_index.autolog().

Desativar o rastreamento automático

O rastreamento automático do LlamaIndex pode ser desativado globalmente ligando para mlflow.llama_index.autolog(disable=True) ou mlflow.autolog(disable=True).