monocle2ai/monocle

Monocle is a framework for tracing GenAI app code. This repo contains implementation of Monocle for GenAI apps written in Python.

它解決的問題

Monocle 為生成式 AI 應用程式和代理提供可觀察性與測試功能。它透過將複雜的多步驟工作流程(包括模型呼叫、工具調用和向量查詢)轉換為結構化、逐步的追蹤,解決了 AI 代理的「黑箱」問題。它還讓開發者能夠超越簡單的輸入/輸出測試,透過對實際執行追蹤進行斷言(例如,驗證特定工具是否被呼叫,或 Token 成本是否在預算內)。

如何運作

Monocle 是一個基於 OpenTelemetry (OTel) 的專為 GenAI 設計的可觀察性層。它使用標準化的元模型,將 AI 特定實體(如提示、回應和向量操作)映射到 OTel 之 span 屬性。它提供針對流行框架(如 LangChain、LlamaIndex 和 Haystack)的儀器化適配器,可自動建立 span 而無需手動配置。追蹤以 OTLP 兼容的 span 發出,可匯出至本地 JSON 檔案、控制台或雲端後端(如 Okahu)。

適用對象

  • 應用程式開發者:希望深入掌握其 GenAI 應用程式的運作狀況,而無需撰寫專屬的追蹤程式碼。
  • 平台與基礎設施工程師:偏好使用包裝器或操作員將可觀察性注入應用程式。
  • 企業與 SRE:需要符合標準的 OTel 追蹤以及 CI 友好的測試,以確保可靠性和合規性。

主要特色

  • 原生 OpenTelemetry 支援:發出與任何 OTel 後端相容的標準 OTLP span。
  • 自動儀器化:內建廣泛的代理框架、LLM 提供商和向量資料庫的適配器。
  • 基於追蹤的測試monocle-test-tools 套件允許以 pytest 風格對代理行為、工具使用和推論成本進行斷言。
  • 彈性部署:支援程式碼內初始化與零程式碼包裝器/操作員模式,便於平台級整合。
  • AI 助手追蹤:包含專用的鉤子,可追蹤 AI 程式碼助手,如 Claude CLI、GitHub Copilot 和 OpenAI Codex CLI。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案