Observabilidade de AI no Snowflake Cortex

Use a observabilidade de AI no Snowflake Cortex para avaliar e rastrear seus aplicativos de AI generativa. Com a observabilidade de AI, você pode tornar seus aplicativos mais confiáveis e transparentes. Use-o para medir o desempenho de seus aplicativos de AI executando avaliações sistemáticas. Você pode usar as informações das avaliações para iterar nas configurações do aplicativo e otimizar o desempenho. Você também pode usá-lo para registrar traços de aplicativos para fins de depuração.

Use o observabilidade de AI para avaliar o desempenho, tornando seus aplicativos confiáveis e proporcionando maior confiança para as implementações de produção.

A observabilidade de AI tem os seguintes recursos:

  • Avaliações: use a observabilidade de AI para avaliar sistematicamente o desempenho de seus aplicativos e agentes de AI generativa usando a técnica LLM como juiz. Você pode usar métricas, como precisão, latência, uso e custo, para iterar rapidamente nas configurações do aplicativo e otimizar o desempenho.

  • Comparação: compare várias avaliações lado a lado e avalie a qualidade e a precisão das respostas. Você pode analisar as respostas em diferentes LLMs, prompts e configurações de inferência para identificar a melhor configuração para implementações de produção.

  • Rastreamento: rastreie cada etapa das execuções de aplicativos em prompts de entrada, contexto recuperado, uso de ferramentas e inferência de LLM. Use-o para depurar registros individuais e refinar o aplicativo em termos de precisão, latência e custo.

A observabilidade de AI pode ser usada para avaliar uma variedade de tipos de tarefas, como a geração aumentada por recuperação (RAG) e o resumo. Por exemplo, a pontuação de relevância do contexto pode ajudá-lo a detectar a qualidade da recuperação dos resultados da pesquisa correspondente a uma consulta do usuário. Você pode usar as pontuações de relevância e fundamentação da resposta para detectar a veracidade e a relevância da resposta final com base no contexto recuperado.

Para resumir, você pode medir a exatidão factual e a abrangência dos resumos gerados pelo LLMcom base na entrada original e evitar prompts e LLMs que tenham uma frequência maior de alucinações em seus aplicativos de AI generativa.

Para começar, saiba mais sobre Principais conceitos e siga um rápido passo a passo com o Tutorial de observabilidade de AI. Em seguida, você pode usar as informações em Avalie os aplicativos AI para seguir um passo a passo detalhado.

Para analisar um conceito específico, consulte o Referência de observabilidade de AI do Snowflake.

Controle de acesso e pré-requisitos

Antes de começar a usar a observabilidade de AI:

  1. Certifique-se de que a função do usuário tenha as seguintes funções concedidas (para obter mais informações, consulte Privilégios obrigatórios):

    • Função de banco de dados CORTEX_USER

    • Função de aplicativo AI_OBSERVABILITY_EVENTS_LOOKUP

    • Privilégio CREATE EXTERNAL AGENT no esquema

  2. Instale os seguintes pacotes Trulens Python em seu projeto Python:

    • trulens-core

    • trulens-connectors-snowflake

    • trulens-providers-cortex

  3. Antes de se conectar ao Snowflake, defina a variável de ambiente TRULENS_OTEL_TRACING como 1 em seu ambiente Python.

TruLens é a plataforma que a Snowflake usa para rastrear seus aplicativos. Para obter mais informações, consulte a documentação TruLens.

Principais conceitos

Aplicativos

Um aplicativo é um aplicativo de AI generativa de ponta a ponta projetado por meio do uso de vários componentes, como LLMs, ferramentas (como mecanismos de recuperação de pesquisa ou APIs) e lógica personalizada adicional. Por exemplo, um aplicativo pode conter um pipeline RAG com mecanismos de recuperação, mecanismos de classificação e LLMs encadeados. Você pode ativar a observabilidade de AI para aplicativos que podem ser executados em qualquer ambiente (como o Snowflake, na nuvem ou no local).

Agent externo

Os aplicativos são representados no Snowflake como um EXTERNAL AGENT. Um objeto EXTERNAL AGENT no Snowflake é usado para armazenar metadados do aplicativo e da avaliação (como o nome do aplicativo, o nome da versão ou o nome da execução). Ele não armazena o código do aplicativo, a definição do aplicativo, os rastros de execução ou os resultados da avaliação. Embora o aplicativo possa ser hospedado em qualquer ambiente (como no Snowflake, na nuvem ou no local), os rastros de execução e os resultados da avaliação são armazenados em uma tabela de eventos em sua conta Snowflake. Para obter mais informações, consulte Dados de observabilidade.

Além de armazenar os metadados do aplicativo e da avaliação, o objeto EXTERNAL AGENT também é usado para controlar o acesso aos rastreamentos e aos resultados da avaliação do aplicativo. Para obter mais informações, consulte Privilégios obrigatórios.

Versões

Os aplicativos podem ter várias versões. Cada versão representa uma implementação diferente. Por exemplo, essas versões podem representar diferentes mecanismos de recuperação, prompts, LLMs ou configurações de inferência.

Conjunto de dados

Um conjunto de dados representa um conjunto de entradas. Você pode configurá-lo para representar também um conjunto de saídas esperadas (a verdade fundamental) para testar o aplicativo. Usando o conjunto de dados, você pode chamar o aplicativo para realizar as seguintes tarefas:

  • Gerar a saída.

  • Capturar os rastros.

  • Calcular métricas de avaliação.

Você pode usar um conjunto de dados que contenha tanto as entradas quanto as saídas geradas para calcular as métricas de avaliação sem invocar o aplicativo. Para obter uma lista dos campos compatíveis com o conjunto de dados, consulte Conjunto de dados e atributos.

Execuções

Uma execução é um trabalho de avaliação. Ela usa o conjunto de dados e a versão do aplicativo que você especificou para calcular as métricas de avaliação.

Uma execução tem um estágio de invocação e um estágio de computação. O estágio de invocação aciona o aplicativo para gerar a saída e os rastreamentos correspondentes. O estágio de computação calcula as métricas de avaliação especificadas para a execução. Vários cálculos podem ser realizados para adicionar novas métricas a uma execução existente. Para obter a lista de status associados à realização de uma execução, consulte Execuções.

Métricas

As métricas de avaliação são pontuações que você usa para avaliar o desempenho do aplicativo de AI generativa com base em seus próprios critérios. Essas métricas usam LLMs para classificar as saídas e fornecer informações detalhadas sobre a pontuação. Para obter uma lista abrangente de métricas e suas definições, consulte Métricas de avaliação.

Rastreamentos

Os rastreamentos são registros abrangentes que capturam as entradas, saídas e etapas intermediárias das interações com um aplicativo LLM. Os rastreamentos fornecem uma exibição detalhada da execução do aplicativo. Use rastreamentos para analisar e entender o comportamento do modelo em cada estágio. Você pode comparar os rastreamentos de diferentes versões de aplicativos para identificar melhorias, depurar problemas e verificar o desempenho pretendido. Para obter informações sobre como acessar os rastros associados a cada registro, consulte Avalie os aplicativos AI.

Preços

A observabilidade de AI usa juízes LLM para calcular as métricas de avaliação. Para avaliações no lado do servidor, LLMs no Cortex AI são usados como juízes LLM. Os juízes LLM são chamados por meio da função COMPLETE (SNOWFLAKE.CORTEX) para realizar avaliações. As chamadas da função COMPLETE no Cortex geram custos. O LLM usado para realizar as avaliações determina o valor cobrado de você. Além disso, você será cobrado pelo seguinte:

  • Taxas de warehouse para consultas usadas para calcular métricas de avaliação

  • Taxas de armazenamento para os resultados da avaliação

  • Taxas de warehouse para recuperar os resultados da avaliação a serem visualizados no Snowsight