AI-Observability in Snowflake Cortex¶
Verwenden Sie AI-Observability in Snowflake Cortex, um Ihre generativen AI-Anwendungen zu bewerten und ihren Ablauf zu verfolgen. Mit AI-Observability können Sie Ihre Anwendungen vertrauenswürdiger und transparenter gestalten. Verwenden Sie es, um die Leistung Ihrer AI-Anwendungen zu messen, indem Sie systematische Auswertungen durchführen. Sie können die Informationen aus den Auswertungen nutzen, um Ihre Anwendungskonfigurationen zu iterieren und die Leistung zu optimieren. Sie können sie auch verwenden, um Ablaufverfolgungen von Anwendungen zu Debugging-Zwecken zu protokollieren.
Verwenden Sie AI-Observability, um die Leistung zu messen und so Ihre Anwendungen vertrauenswürdig zu machen und mehr Vertrauen für die Produktionsbereitstellung zu schaffen.
AI-Observability hat die folgenden Features:
Auswertungen: Verwenden Sie AI-Observability, um die Leistung Ihrer generativen AI-Anwendungen und Agenten systematisch zu bewerten, indem Sie die LLM-as-a-judge Technik verwenden. Sie können Metriken wie Genauigkeit, Latenz, Nutzung und Kosten verwenden, um Ihre Anwendungskonfigurationen schnell zu iterieren und die Leistung zu optimieren.
Vergleich: Vergleichen Sie mehrere Bewertungen nebeneinander und bewerten Sie die Qualität und Genauigkeit der Antworten. Sie können die Antworten für verschiedene LLMs, Aufforderungen und Inferenzkonfigurationen analysieren, um die beste Konfiguration für die Produktionsbereitstellung zu ermitteln.
Ablaufverfolgung: Verfolgen Sie jeden Schritt der Anwendungsausführung über Eingabeaufforderungen, den abgerufenen Kontext, die Verwendung von Tools und die LLM-Inferenz. Verwenden Sie sie, um einzelne Datensätze zu debuggen und die App hinsichtlich Genauigkeit, Latenz und Kosten zu verfeinern.
AI-Observability kann verwendet werden, um eine Vielzahl von Aufgabentypen zu bewerten, wie z. B. die Retrieval-Augmented Generation (RAG) und die Zusammenfassung. Die Kontextrelevanz-Punktzahl kann Ihnen zum Beispiel dabei helfen, die Qualität der Suchergebnisse zu erkennen, die einer Abfrage des Benutzers entsprechen. Sie können die Punktzahlen für die Relevanz und die Fundiertheit der Antworten verwenden, um den Wahrheitsgehalt und die Relevanz der endgültigen Antwort auf der Grundlage des abgerufenen Kontexts zu ermitteln.
Bei der Zusammenfassung können Sie die sachliche Korrektheit und den Umfang der LLM-generierten Zusammenfassungen auf der Grundlage der Originaleingabe messen und Aufforderungen und LLMs vermeiden, die in Ihren generativen AI-Anwendungen eine höhere Häufigkeit von Halluzinationen aufweisen.
Informieren Sie sich zunächst über die Die wichtigsten Konzepte und machen Sie dann einen kurzen Rundgang mit der Tutorial zu AI-Observability. Sie können dann die Informationen auf AI-Anwendungen bewerten für einen ausführlichen Rundgang verwenden.
Um ein bestimmtes Konzept zu überprüfen, besuchen Sie die Seite Snowflake-Referenz für AI-Observability.
Zugriffssteuerung und Voraussetzungen¶
Bevor Sie mit der Verwendung von AI-Observability beginnen:
Vergewissern Sie sich, dass dem Benutzer die folgenden Rollen zugewiesen sind (weitere Informationen finden Sie unter Erforderliche Berechtigungen):
CORTEX_USER
-DatenbankrollenAI_OBSERVABILITY_EVENTS_LOOKUP
-AnwendungsrolleBerechtigung
CREATE EXTERNAL AGENT
auf dem Schema
Installieren Sie die folgenden Trulens Python-Pakete in Ihrem Python-Projekt:
trulens-core
trulens-connectors-snowflake
trulens-providers-cortex
Bevor Sie eine Verbindung zu Snowflake herstellen, setzen Sie die Umgebungsvariable
TRULENS_OTEL_TRACING
in Ihrer Python-Umgebung auf1
.
TruLens ist die Plattform, die Snowflake verwendet, um Ihre Anwendungen zu verfolgen. Weitere Informationen dazu finden Sie in der TruLens-Dokumentation.
Die wichtigsten Konzepte¶
Anwendungen¶
Eine Anwendung ist eine generative End-to-End-AI-Anwendung, die aus mehreren Komponenten wie LLMs, Tools (z. B. Suchabfragen oder APIs) und zusätzlicher benutzerdefinierter Logik aufgebaut ist. Eine Anwendung kann zum Beispiel eine RAG-Pipeline mit Abfragen, Re-Rankern und LLMs enthalten, die miteinander verkettet sind. Sie können die AI-Observability für Anwendungen aktivieren, die in jeder Umgebung (wie Snowflake, Cloud oder lokal) ausgeführt werden können.
Externer Agent¶
Anwendungen werden in Snowflake als EXTERNAL AGENT dargestellt. Ein EXTERNAL AGENT-Objekt in Snowflake wird verwendet, um Anwendungs- und Auswertungsmetadaten zu speichern (z. B. den Anwendungsnamen, den Versionsnamen oder den Laufnamen). Es speichert weder den Anwendungscode, noch die Anwendungsdefinition, die Ablaufverfolgungen oder die Bewertungsergebnisse. Während die Anwendung in einer beliebigen Umgebung (z. B. Snowflake, Cloud oder lokal) gehostet werden kann, werden die Ablaufverfolgungen und Bewertungsergebnisse in einer Ereignistabelle in Ihrem Snowflake-Konto gespeichert. Weitere Informationen dazu finden Sie unter Observability-Daten.
Das Objekt EXTERNAL AGENT speichert nicht nur Anwendungs- und Auswertungsmetadaten, sondern regelt auch den Zugriff auf die Ablaufverfolgung und die Bewertungsergebnisse der Anwendung. Weitere Informationen dazu finden Sie unter Erforderliche Berechtigungen.
Versionen¶
Anwendungen können mehrere Versionen haben. Jede Version steht für eine andere Implementierung. Diese Versionen können zum Beispiel unterschiedliche Abfragen, Aufforderungen, LLMs oder Inferenzkonfigurationen darstellen.
Datensatz¶
Ein Datensatz stellt eine Reihe von Eingaben dar. Sie können ihn so konfigurieren, dass er auch eine Reihe von erwarteten Ausgaben (die Ground Truth) darstellt, um die Anwendung zu testen. Mit Hilfe des Datensatzes können Sie die Anwendung aufrufen, um die folgenden Aufgaben zu erledigen:
Die Ausgabe generieren.
Den Ablauf verfolgen.
Bewertungskennzahlen berechnen.
Sie können einen Datensatz verwenden, der sowohl die Eingaben als auch die generierten Ausgaben enthält, um die Bewertungskennzahlen zu berechnen, ohne die Anwendung aufzurufen. Eine Liste der im Datensatz unterstützten Felder finden Sie unter Datensatz und Attribute.
Läufe¶
Ein Lauf ist ein Bewertungsjob. Es verwendet den Datensatz und die Anwendungsversion, die Sie angegeben haben, um die Bewertungskennzahlen zu berechnen.
Ein Lauf hat einen Stagingbereich für den Aufruf und einen Stagingbereich für die Berechnung. Der Stagingbereich triggert die Anwendung, um die Ausgabe und die entsprechenden Ablaufverfolgungen zu erzeugen. Der Stagingbereich berechnet die für den Lauf angegebenen Bewertungskennzahlen. Es können mehrere Berechnungen durchgeführt werden, um neue Kennzahlen zu einem bestehenden Lauf hinzuzufügen. Eine Liste der Status, die mit der Ausführung eines Laufs verbunden sind, finden Sie unter Läufe.
Kennzahlen¶
Bewertungskennzahlen sind Punktzahlen, mit denen Sie die Leistung der generativen AI-Anwendung anhand Ihrer eigenen Kriterien bewerten können. Diese Kennzahlen verwenden LLMs, um Ergebnisse zu bewerten und detaillierte Informationen zur Bewertung zu liefern. Eine umfassende Liste der Kennzahlen und ihrer Definitionen finden Sie unter Bewertungskennzahlen.
Ablaufverfolgungen¶
Ablaufverfolgungen sind umfassende Aufzeichnungen, die die Eingaben, Ausgaben und Zwischenschritte der Interaktionen mit einer LLM-Anwendung erfassen. Ablaufverfolgungen bieten einen detaillierten Überblick über die Ausführung der Anwendung. Verwenden Sie Ablaufverfolgungen, um die Verhaltensweise des Modells in jedem Stagingbereich zu analysieren und zu verstehen. Sie können die Ablaufverfolgung verschiedener Anwendungsversionen vergleichen, um Verbesserungen zu erkennen, Probleme zu beheben und die beabsichtigte Leistung zu überprüfen. Informationen zum Zugriff auf Ablaufverfolgungen, die mit jedem Datensatz verbunden sind, finden Sie unter AI-Anwendungen bewerten.
Preise¶
AI-Observability verwendet LLM-Richter, um die Bewertungskennzahlen zu berechnen. Für serverseitige Auswertungen werden LLMs auf Cortex AI als LLM Richter verwendet. Die LLM-Richter werden über die Funktion COMPLETE (SNOWFLAKE.CORTEX) aufgerufen, um Bewertungen vorzunehmen. Für die Funktionsaufrufe von Cortex Complete fallen Gebühren an. Das LLM, das zur Durchführung der Bewertungen verwendet wird, bestimmt, wie viel Ihnen berechnet wird. Zusätzlich werden Ihnen die folgenden Kosten in Rechnung gestellt:
Warehouse-Gebühren für Abfragen, die zur Berechnung von Bewertungskennzahlen verwendet werden
Speichergebühren für die Bewertungsergebnisse
Warehouse-Gebühren zum Abrufen der in Snowsight einzusehenden Bewertungsergebnisse