Allgemeine Einführung
Observers ist ein quelloffenes Python-SDK, das umfassende Beobachtungsmöglichkeiten für generative KI-APIs bietet. Die Bibliothek ermöglicht es Benutzern, Interaktionen mit KI-Modellen einfach zu verfolgen und aufzuzeichnen und diese Beobachtungen in mehreren Backends zu speichern. Unabhängig davon, ob es sich um OpenAI oder einen anderen LLM-Anbieter handelt, der das OpenAI-API-Nachrichtenformat implementiert, können Beobachter effizient überwacht und protokolliert werden. Durch die Integration mit Speicher-Backends wie DuckDB und Hugging Face Datasets können Nutzer KI-Interaktionsdaten einfach abfragen und analysieren.
Funktionsliste
- Generative AI API-ÜberwachungUnterstützung für OpenAI und andere LLM-Anbieter, die das OpenAI-API-Nachrichtenformat implementieren.
- Mehrere Backend-DatenspeicherUnterstützung für DuckDB, Hugging Face-Datensätze und viele andere Speicher-Backends.
- Dokument Information WatchUnterstützung für mehrere Dokumentformate wie PDF, DOCX, PPTX, XLSX, Bilder, HTML, AsciiDoc und Markdown durch Docling-Integration.
- Open-Source-Telemetrie-UnterstützungUnterstützung für mehrere Telemetrieanbieter durch OpenTelemetry-Integration.
- einheitliche SchnittstelleBietet eine einheitliche LLM-API-Schnittstelle durch AISuite und Litellm.
Hilfe verwenden
Montage
Zuerst können Sie das Observer SDK mit pip installieren:
pip install Beobachter
Wenn Sie einen anderen LLM-Anbieter über AISuite oder Litellm verwenden möchten, können Sie ihn mit dem folgenden Befehl installieren:
pip install observers[aisuite] # oder observers[litellm]
Wenn Sie Dokumentinformationen beobachten müssen, können Sie die Docling-Integration nutzen:
pip install observers [docling]
Zur Unterstützung der Open-Source-Telemetrie kann Folgendes installiert werden:
pip install observers[opentelemetry]
ausnutzen
In der Beobachterbibliothek wird zwischen Beobachtern und Speichern unterschieden. Beobachter verpacken generative KI-APIs (z. B. OpenAI oder llama-index) und verfolgen ihre Interaktionen. Die Speicherklasse hingegen synchronisiert diese Beobachtungen mit einem anderen Speicher-Backend (z. B. DuckDB oder Hugging Face Dataset).
Beispielcode (Rechnen)
Nachfolgend finden Sie ein einfaches Codebeispiel, das zeigt, wie Sie mit der Observer Library Anfragen senden und Interaktionen protokollieren können:
from observers.observers import wrap_openai
from observers.stores import DuckDBStore
von openai importieren OpenAI
store = DuckDBStore()
openai_client = OpenAI()
client = wrap_openai(openai_client, store=store)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Erzähl mir einen Witz."}], )
)
Der Code sendet die Anfrage an einen serverlosen Endpunkt und protokolliert die Interaktion in einem Hub-Dataset unter Verwendung des Standardspeichers DatasetsStore. Das Dataset wird in Ihren persönlichen Arbeitsbereich gepusht (z. B. http://hf.co/{Ihr_Benutzername}).
Konfiguration Speicherung
Um ein anderes Speicher-Backend zu konfigurieren, können Sie das folgende Beispiel heranziehen:
- DuckDB SpeicherungDuckDB: Der Standardspeicher ist DuckDB, der über die DuckDB CLI angezeigt und abgefragt werden kann.
- Speicherung des Datensatzes "Hugging FaceDatensätze können mit dem Hugging Face Datasets Viewer angesehen und abgefragt werden.
- Argilla LagerungErmöglicht die Synchronisierung von Beobachtungen mit Argilla.
- OpenTelemetry SpeicherungOpenTelemetry: Ermöglicht die Synchronisierung von Beobachtungen mit jedem OpenTelemetry-fähigen Anbieter.