Rastreando o LlamaIndex
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.
import mlflow
mlflow.llama_index.autolog()
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
.
- Development
- Production
Para ambientes de desenvolvimento, instale o pacote completo do MLflow com os extras do Databricks e llama-index
:
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.
Para implantações de produção, instale mlflow-tracing
e llama-index
:
pip install --upgrade mlflow-tracing llama-index
O pacote mlflow-tracing
é otimizado para uso na produção.
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:
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 .
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:
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?")
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)
.