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.

Informationen zu einem bestimmten Konzept finden Sie Snowflake-Referenz für AI-Observability. Zum Abfragen von AI_OBSERVABILITY_EVENTS durch SQL für einen Cortex Agent (Übergabe von CORTEX AGENT als agent_type) oder eine externe Agentenanwendung (Übergabe von EXTERNAL AGENT als``agent_type``) finden Sie Informationen unter Cortex Agent-Anfragen überwachen, GET_AI_OBSERVABILITY_EVENTS (SNOWFLAKE.LOCAL) und Befehle für externe Agenten.

Die Sichtbarkeit von nicht ausgeblendeten Rohfeldern bei der Überwachung und in den Ergebnissen der Beobachtbarkeit benutzerdefinierter Tabellenfunktionen wird durch die Kontoberechtigung READ UNREDACTED AI OBSERVABILITY EVENTS TABLE abgedeckt. Dies gilt nicht für Cortex Agent-Evaluierung oder für die externeAgentEvaluations-Erfahrung. Weitere Details dazu finden Sie unter Kontoberechtigung READ UNREDACTED AI OBSERVABILITY EVENTS TABLE und Cortex Agent-Anfragen überwachen.

Zugriffssteuerung und Voraussetzungen

Bevor Sie mit der Verwendung von AI-Observability beginnen:

  1. Um Ausführungen erstellen und ausführen zu können, muss Ihre Rolle über die folgenden Rollen oder Berechtigungen verfügen. Weitere Informationen dazu finden Sie unter Erforderliche Berechtigungen:

    • CORTEX_USER-Datenbankrollen

    • Berechtigung CREATE EXTERNAL AGENT für das Schema

    • Berechtigung CREATE TASK für das Schema

    • Globale Berechtigung EXECUTE TASK

  2. Installieren Sie die folgenden Trulens Python-Pakete in Ihrem Python-Projekt:

    • trulens-core

    • trulens-connectors-snowflake

    • trulens-providers-cortex

    Die Version des Pakets, das Sie in Ihrem Python-Projekt verwenden, sollte Version 2.1.2 oder höher sein.

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 externe Agentenobjekte dargestellt. Ein externes Agentenobjekt wird verwendet, um Anwendungs- und Evaluierungsmetadaten zu speichern (z. B. Anwendungsname, Versionsname oder Ausführungsname). Es werden nicht der Anwendungscode, die Anwendungsdefinition, die Ausführungsverfolgungen oder die Evaluierungsergebnisse gespeichert. Während die Anwendung in jeder Umgebung gehostet werden kann (z. B. Snowflake, Cloud oder lokal), werden die Ausführungsverfolgungen und die Auswertungsergebnisse in einer Ereignistabelle in Ihrem Snowflake-Konto gespeichert. Weitere Informationen dazu finden Sie unter Observability-Daten.

Zusätzlich zur Speicherung von Anwendungs- und Auswertungsmetadaten wird das externe Agentenobjekt auch verwendet, um den Zugriff auf die Ablaufverfolgungen und Evaluierungsergebnisse für die Anwendung zu regeln. Weitere Informationen dazu finden Sie unter Erforderliche Berechtigungen.

Das TruLens SDK erstellt automatisch externe Agentenobjekte, wenn Sie eine Anwendung registrieren (z. B. mit TruApp(), TruChain, TruGraph oder TruLlama). Durch das Ausführen einer Evaluierung kann auch ein externer Agent erstellt werden, wenn für den angegebenen Anwendungsnamen noch kein Agent vorhanden ist.

Sie können externe Agenten auch mit SQL-Befehlen verwalten. Weitere Informationen dazu finden Sie unter Befehle für externe Agenten.

Wichtig

Externe Agentenobjekte teilen sich einen Namespace mit Modell-Objekten. Sie können keinen externen Agenten mit demselben Namen wie ein bestehendes Modell im selben Schema erstellen und umgekehrt. Wenn es zu einem Namenskonflikt kommt (z. B. wenn eine Evaluierung und ein Modell denselben Namen haben), müssen Sie das widersprüchliche Objekt umbenennen oder löschen, bevor Sie fortfahren.

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.

Eine Ausführung hat einen Aufruf-Stage und einen Berechnungs-Stage. Der Aufruf-Stage löst bei der Anwendung das Generieren der Ausgabe und der zugehörigen Ablaufverfolgungen aus. Der Berechnungs-Stage berechnet die für die Ausführung angegebenen Evaluierungskennzahlen. Es können mehrere Berechnungen durchgeführt werden, um neue Metriken zu einer bestehenden Ausführung hinzuzufügen. Die Liste der Status, die mit der Ausführung 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 Aufgaben, die für die Verwaltung von Bewertungsläufen verwendet werden

  • 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