Aller au contenu principal

Traçage de LlamaIndex

Traçage LlamaIndex à l'aide de l'enregistrement automatique

LlamaIndex est un cadre open source pour créer des applications d'IA générative agentiques qui permettent aux grands modèles linguistiques de travailler avec vos données dans n'importe quel format.

MLflow Tracing offre une capacité de traçage automatique pour LlamaIndex. Vous pouvez activer le traçage pour LlamaIndex en appelant la fonction mlflow.llama_index.autolog, et les traces imbriquées sont automatiquement journalisées dans l'Expérimentation MLflow active lors de l'invocation des moteurs et workflows LlamaIndex.

Python
import mlflow

mlflow.llama_index.autolog()
remarque

Sur les clusters de compute serverless, l'autologging n'est pas activé automatiquement. Vous devez appeler explicitement mlflow.llama_index.autolog() pour activer le traçage automatique de cette intégration.

astuce

L'intégration de MLflow LlamaIndex ne se limite pas au traçage. MLflow offre une expérience de suivi complète pour LlamaIndex, y compris le suivi des modèles, la gestion des index, et l'évaluation.

Prérequis

Pour utiliser MLflow Tracing avec LlamaIndex, vous devez installer MLflow et la bibliothèque llama-index.

Pour les environnements de développement, installez le package MLflow complet avec les extras Databricks et llama-index:

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

Le package mlflow[databricks] complet inclut toutes les fonctionnalités pour le développement local et l’expérimentation sur Databricks.

remarque

MLflow 3 est vivement recommandé pour une expérience de traçage optimale avec LlamaIndex.

Avant d'exécuter les exemples, vous devrez configurer votre environnement :

Pour les utilisateurs en dehors des notebooks Databricks : Définissez vos variables d'environnement Databricks :

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

Pour les utilisateurs dans les Notebooks Databricks : ces identifiants sont définis automatiquement pour vous.

Clés API : Assurez-vous que les clés API de votre fournisseur LLM 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 OPENAI_API_KEY="your-openai-api-key"
# Add other provider keys as needed

Exemple d'utilisation

Tout d'abord, download des données de test pour créer un index de démonstration :

!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

Chargez-les dans un index vectoriel simple en mémoire :

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

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

Vous pouvez maintenant activer le traçage automatique LlamaIndex et start à interroger l'index :

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?")
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.

Flux de travail LlamaIndex

Le Workflow est le framework d'orchestration GenAI de nouvelle génération de LlamaIndex. Il est conçu comme un framework flexible et interprétable pour créer des applications LLM arbitraires telles qu'un agent, un flux RAG, un pipeline d'extraction de données, etc. MLflow prend en charge le suivi, l'évaluation et le traçage des objets Workflow, ce qui les rend plus observables et maintenables.

Le traçage automatique des workflows LlamaIndex fonctionne immédiatement en appelant le même mlflow.llama_index.autolog().

Désactiver le suivi automatique

Le traçage automatique pour LlamaIndex peut être désactivé globalement en appelant mlflow.llama_index.autolog(disable=True) ou mlflow.autolog(disable=True).