openinference  by Arize-ai

OpenTelemetry instrumentation for AI observability

created 1 year ago
521 stars

Top 61.3% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

OpenInference provides a specification and instrumentation libraries to enable observability for AI applications, specifically focusing on Large Language Models (LLMs). It complements OpenTelemetry by offering detailed tracing for LLM interactions, vector store lookups, and tool usage, benefiting AI developers and ML engineers seeking to monitor and debug their AI systems.

How It Works

OpenInference defines a set of semantic conventions for AI observability, allowing for standardized tracing data. It then provides language-specific instrumentation packages that automatically capture relevant telemetry from popular AI SDKs and frameworks. This approach ensures that LLM application workflows, including model calls, data retrieval, and tool integrations, are traceable within an OpenTelemetry-compatible ecosystem.

Quick Start & Requirements

  • Install core libraries: pip install openinference-semantic-conventions openinference-instrumentation-openai
  • Requires Python 3.7+ and an OpenTelemetry-compatible backend (e.g., Arize Phoenix, Jaeger, Prometheus).
  • Examples are available for various SDKs and frameworks like OpenAI, LangChain, LlamaIndex, and DSPy.

Highlighted Details

  • Supports a wide range of Python and JavaScript AI frameworks including OpenAI, LangChain, LlamaIndex, DSPy, MistralAI, Anthropic, and more.
  • Natively supported by Arize Phoenix but compatible with any OpenTelemetry collector.
  • Specification is transport and file-format agnostic, designed for integration with JSON, ProtoBuf, and DataFrames.
  • Offers examples ranging from beginner-level SDK integrations to intermediate-level RAG applications with Next.js and FastAPI.

Maintenance & Community

  • Community channels include Slack (#phoenix-support) and X (formerly Twitter).
  • Roadmap is available for future development insights.
  • Bug reporting via GitHub Issues.

Licensing & Compatibility

  • The project appears to be Apache 2.0 licensed, allowing for commercial use and integration with closed-source applications.

Limitations & Caveats

  • While compatible with any OpenTelemetry backend, native integration is highlighted with Arize Phoenix. The full breadth of compatibility with all OpenTelemetry backends may require further investigation.
Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
157
Issues (30d)
46
Star History
131 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.