Traçage de LlamaIndex

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.
import mlflow
mlflow.llama_index.autolog()
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.
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.
- Development
- Production
Pour les environnements de développement, installez le package MLflow complet avec les extras Databricks et llama-index:
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.
Pour les déploiements en production, installez mlflow-tracing et llama-index:
pip install --upgrade mlflow-tracing llama-index
Le mlflow-tracing package est optimisé pour une utilisation en production.
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 :
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.
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 :
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?")
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).