{"library":"openinference-instrumentation-llama-index","title":"OpenInference LlamaIndex Instrumentation","description":"OpenInference LlamaIndex Instrumentation is a Python auto-instrumentation library for LlamaIndex. It provides comprehensive observability for AI applications by generating OpenTelemetry-compatible traces for LlamaIndex operations such as queries, retrievals, LLM calls, and embeddings. The library is actively maintained with frequent updates across the OpenInference project.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install openinference-instrumentation-llama-index","pip install \"llama-index>=0.12.3\" openinference-instrumentation-llama-index opentelemetry-sdk opentelemetry-exporter-otlp"],"cli":null},"imports":["from openinference.instrumentation.llama_index import LlamaIndexInstrumentor","from opentelemetry.sdk.trace import TracerProvider","from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter","from opentelemetry.sdk.trace.export import SimpleSpanProcessor","from opentelemetry.sdk.resources import Resource"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom openinference.instrumentation.llama_index import LlamaIndexInstrumentor\nfrom openinference.semconv.resource import ResourceAttributes\nfrom opentelemetry import trace as trace_api\nfrom opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter\nfrom opentelemetry.sdk.resources import Resource\nfrom opentelemetry.sdk.trace import TracerProvider\nfrom opentelemetry.sdk.trace.export import SimpleSpanProcessor\n\nfrom llama_index.core import VectorStoreIndex, SimpleDirectoryReader\nfrom llama_index.llms.openai import OpenAI\nfrom llama_index.embeddings.openai import OpenAIEmbedding\nfrom llama_index.core import Settings\n\n# Set up OpenTelemetry for tracing\ndef setup_tracing():\n    collector_endpoint = os.environ.get(\"COLLECTOR_ENDPOINT\", \"http://localhost:6006/v1/traces\")\n    resource = Resource(attributes={ResourceAttributes.PROJECT_NAME: \"llama-index-demo\"})\n    tracer_provider = TracerProvider(resource=resource)\n    span_exporter = OTLPSpanExporter(endpoint=collector_endpoint)\n    span_processor = SimpleSpanProcessor(span_exporter=span_exporter)\n    tracer_provider.add_span_processor(span_processor=span_processor)\n    trace_api.set_tracer_provider(tracer_provider=tracer_provider)\n    LlamaIndexInstrumentor().instrument()\n    print(\"🔭 OpenInference LlamaIndex instrumentation enabled.\")\n\n# Main application logic\ndef main():\n    setup_tracing()\n\n    # Ensure OPENAI_API_KEY is set\n    if not os.environ.get(\"OPENAI_API_KEY\"):\n        print(\"Please set the OPENAI_API_KEY environment variable.\")\n        return\n\n    # Configure LLM and embeddings for LlamaIndex\n    Settings.llm = OpenAI(model=\"gpt-3.5-turbo\", temperature=0.1)\n    Settings.embed_model = OpenAIEmbedding(model=\"text-embedding-3-small\")\n\n    # Create a dummy data directory and file for demonstration\n    if not os.path.exists(\"data\"):\n        os.makedirs(\"data\")\n    with open(\"data/sample.txt\", \"w\") as f:\n        f.write(\"The quick brown fox jumps over the lazy dog. This is a sample document for LlamaIndex.\")\n\n    # Load documents and create an index\n    documents = SimpleDirectoryReader('data').load_data()\n    index = VectorStoreIndex.from_documents(documents)\n\n    # Query the index\n    query_engine = index.as_query_engine()\n    response = query_engine.query(\"What did the fox do?\")\n    print(f\"Response: {response}\")\n\n    print(\"\\nVisit your OpenTelemetry collector (e.g., Phoenix at http://localhost:6006) to see traces.\")\n\nif __name__ == \"__main__\":\n    main()","lang":"python","description":"This quickstart demonstrates how to instrument a basic LlamaIndex query engine with OpenInference. It sets up an OpenTelemetry `TracerProvider` and `OTLPSpanExporter` to send traces to a collector (e.g., Arize Phoenix). It then initializes the `LlamaIndexInstrumentor` and performs a simple query using LlamaIndex with OpenAI as the LLM, showing how operations like document loading, indexing, and querying are automatically traced.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"4.3.8","pypi_latest":"4.4.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":14.2,"avg_import_s":0.65,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.56,"mem_mb":16.3,"disk_size":"283.1M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.47,"mem_mb":13.4,"disk_size":"24.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":25.4,"import_time_s":0.4,"mem_mb":16.3,"disk_size":"277M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":0.33,"mem_mb":13.4,"disk_size":"25M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.78,"mem_mb":17.4,"disk_size":"311.4M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.65,"mem_mb":13.9,"disk_size":"27.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":22.7,"import_time_s":0.71,"mem_mb":17.4,"disk_size":"304M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.9,"import_time_s":0.57,"mem_mb":13.9,"disk_size":"28M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.98,"mem_mb":17.7,"disk_size":"299.9M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.8,"mem_mb":14.1,"disk_size":"19.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":19.1,"import_time_s":0.93,"mem_mb":17.7,"disk_size":"293M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.76,"mem_mb":14.1,"disk_size":"20M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.96,"mem_mb":15.7,"disk_size":"299.1M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.77,"mem_mb":14.3,"disk_size":"18.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":19.4,"import_time_s":0.84,"mem_mb":15.7,"disk_size":"292M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.75,"mem_mb":14.3,"disk_size":"19M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.49,"mem_mb":15.9,"disk_size":"372.6M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.44,"mem_mb":12.9,"disk_size":"24.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"\"llama-index>=0.12.3\"","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":41.4,"import_time_s":0.45,"mem_mb":15.9,"disk_size":"366M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openinference-instrumentation-llama-index","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":0.39,"mem_mb":12.9,"disk_size":"25M"}]}}