Snowflake Cortex의 AI Observability

생성형 AI 애플리케이션을 평가하고 추적하려면 Snowflake Cortex의 AI Observability를 사용하십시오. AI Observability를 사용하면 애플리케이션을 더욱 신뢰할 수 있고 투명하게 만들 수 있습니다. 체계적인 평가를 실행하여 AI 애플리케이션의 성능을 측정하는 데 사용하십시오. 평가에서 얻은 정보를 사용하여 애플리케이션 구성을 반복하고 성능을 최적화할 수 있습니다. 디버깅 목적으로 애플리케이션 추적을 로그하는 데 사용할 수도 있습니다.

AI Observability를 사용하여 성능을 벤치마킹하여 애플리케이션을 신뢰할 수 있게 만들고 프로덕션 배포에 대한 신뢰도를 높이십시오.

AI Observability에는 다음과 같은 기능이 있습니다.

  • 평가: AI Observability를 사용하여 AI 애플리케이션 및 에이전트의 성능을 체계적으로 평가하려면 LLM-as-a-judge 기법을 사용하십시오. 정확도, 지연 시간, 사용량, 비용과 같은 메트릭을 사용하여 애플리케이션 구성을 빠르게 반복하고 성능을 최적화할 수 있습니다.

  • 비교: 여러 평가를 나란히 비교하고 응답의 품질과 정확성을 평가하십시오. 다양한 LLMs, 프롬프트 및 추론 구성에 대한 응답을 분석하여 프로덕션 배포에 가장 적합한 구성을 식별할 수 있습니다.

  • 추적: 입력 프롬프트, 검색된 컨텍스트, 도구 사용 및 LLM 추론에서 애플리케이션 실행의 모든 단계를 추적합니다. 이를 사용하여 개별 레코드를 디버그하고 앱의 정확성, 지연 시간 및 비용을 개선할 수 있습니다.

AI Observability는 검색 증강 생성(RAG) 및 요약과 같은 다양한 작업 유형을 평가하는 데 사용할 수 있습니다. 예를 들어, 문맥 관련성 점수는 사용자 쿼리에 해당하는 검색 결과 검색의 품질을 감지하는 데 도움이 될 수 있습니다. 답변 관련성 및 근거 점수를 사용하여 검색된 문맥을 기반으로 최종 응답의 진실성 및 관련성을 감지할 수 있습니다.

요약의 경우, 원본 입력을 기반으로 LLM 생성 요약의 사실적 정확성과 포괄성을 측정하고 생성형 AI 애플리케이션에서 환각의 빈도가 높은 프롬프트 및 LLMs 을 피할 수 있습니다.

시작하려면 핵심 개념 에 대해 알아본 다음 AI Observability 자습서 에서 간단한 안내를 확인하십시오. 그런 다음 AI 애플리케이션 평가하기 에서 정보를 사용하여 자세한 안내를 받을 수 있습니다.

구체적인 개념을 검토하려면 Snowflake AI Observability 참조 섹션을 참조하십시오.

액세스 제어 및 전제 조건

AI Observability 사용을 시작하기 전에:

  1. 사용자 역할에 다음 역할이 부여되었는지 확인(자세한 내용은 필수 권한 섹션 참조):

    • CORTEX_USER 데이터베이스 역할

    • AI_OBSERVABILITY_EVENTS_LOOKUP 애플리케이션 역할

    • 스키마에 대한 CREATE EXTERNAL AGENT 권한

  2. Python 프로젝트에 다음 Trulens 패키지를 설치하십시오.

    • trulens-core

    • trulens-connectors-snowflake

    • trulens-providers-cortex

  3. Snowflake에 연결하기 전에 Python 환경에서 TRULENS_OTEL_TRACING 환경 변수를 1 로 설정하십시오.

TruLens 는 Snowflake가 애플리케이션을 추적하는 데 사용하는 플랫폼입니다. 자세한 내용은 TruLens 설명서 를 참조하십시오.

핵심 개념

애플리케이션

애플리케이션은 LLMs, 도구(예: 검색 검색기 또는APIs) 및 추가 사용자 정의 로직과 같은 여러 구성 요소를 사용하여 설계된 엔드투엔드 생성형 AI 애플리케이션입니다. 예를 들어, 애플리케이션에는 검색, 순위 재지정, LLMs 이 연결된 RAG 파이프라인이 포함될 수 있습니다. 모든 환경(Snowflake, 클라우드, 온프레미스 등)에서 실행할 수 있는 애플리케이션에 대해 AI Observability를 활성화할 수 있습니다.

External Agent

애플리케이션은 Snowflake에서 EXTERNAL AGENT 로 표시됩니다. Snowflake의 EXTERNAL AGENT 오브젝트는 애플리케이션 및 평가 메타데이터(예: 애플리케이션 이름, 버전 이름 또는 실행 이름)를 저장하는 데 사용됩니다. 애플리케이션 코드, 애플리케이션 정의, 실행 추적 또는 평가 결과는 저장하지 않습니다. 애플리케이션은 모든 환경(예: Snowflake, 클라우드 또는 온프레미스)에서 호스팅할 수 있지만, 실행 추적 및 평가 결과는 Snowflake 계정의 이벤트 테이블에 저장됩니다. 자세한 내용은 Observability 데이터 섹션을 참조하십시오.

EXTERNAL AGENT 오브젝트는 애플리케이션 및 평가 메타데이터를 저장하는 것 외에도 애플리케이션의 추적 및 평가 결과에 대한 액세스를 관리하는 데도 사용됩니다. 자세한 내용은 필수 권한 섹션을 참조하십시오.

버전

애플리케이션에는 여러 버전이 있을 수 있습니다. 각 버전은 서로 다른 구현을 나타냅니다. 예를 들어, 이러한 버전은 서로 다른 검색기, 프롬프트, LLMs 또는 추론 구성을 나타낼 수 있습니다.

Datasets

데이터 세트는 입력의 집합을 나타냅니다. 애플리케이션을 테스트하기 위해 예상 출력 세트(ground truth)를 나타내도록 구성할 수도 있습니다. 데이터 세트를 사용해 애플리케이션을 호출하여 다음 작업을 수행할 수 있습니다.

  • 출력을 생성합니다.

  • 추적을 캡처합니다.

  • 평가 메트릭을 계산합니다.

입력과 생성된 출력이 모두 포함된 데이터 세트를 사용하여 애플리케이션을 호출하지 않고도 평가 메트릭을 계산할 수 있습니다. 데이터 세트에서 지원되는 필드 목록은 데이터 세트 및 특성 섹션을 참조하십시오.

실행

실행은 평가 작업입니다. 지정한 데이터 세트와 애플리케이션 버전을 사용하여 평가 메트릭을 계산합니다.

실행에는 호출 스테이지와 계산 스테이지가 있습니다. 호출 스테이지에서는 애플리케이션이 출력과 해당 추적을 생성하도록 트리거합니다. 계산 스테이지에서는 실행에 지정된 평가 메트릭을 계산합니다. 여러 계산을 수행하여 기존 실행에 새 메트릭을 추가할 수 있습니다. 실행과 관련된 상태 목록은 실행 섹션을 참조하십시오.

메트릭

평가 메트릭은 자체 기준에 따라 생성된 AI 애플리케이션 성능을 평가하는 데 사용하는 점수입니다. 이러한 메트릭은 LLMs 을 사용하여 출력물을 채점하고 자세한 채점 정보를 제공합니다. 메트릭과 그 정의에 대한 전체 목록은 평가 메트릭 섹션을 참조하십시오.

추적

추적은 LLM 애플리케이션과의 상호 작용의 입력, 출력 및 중간 단계를 캡처하는 포괄적인 레코드입니다. 추적은 애플리케이션의 실행에 대한 자세한 뷰를 제공합니다. 추적을 사용하여 각 스테이지에서 모델의 동작을 분석하고 이해합니다. 여러 애플리케이션 버전의 추적을 비교하여 개선 사항을 식별하고, 문제를 디버그하고, 의도한 성능을 확인할 수 있습니다. 각 레코드와 관련된 추적에 액세스하는 방법에 대한 자세한 내용은 AI 애플리케이션 평가하기 섹션을 참조하십시오.

가격

AI Observability는 LLM 평가자을 사용하여 평가 메트릭을 계산합니다. 서버 측 평가의 경우, Cortex AI 의 LLMs 이 LLM 평가자로 사용됩니다. LLM 평가자는 COMPLETE (SNOWFLAKE.CORTEX) 함수를 통해 호출되어 평가를 수행합니다. Cortex Complete 함수 호출에 대한 요금이 부과됩니다. 평가를 수행하는 데 사용되는 LLM 에 따라 청구 금액이 결정됩니다. 또한 다음과 같은 비용이 청구됩니다.

  • 평가 메트릭을 계산하는 데 사용되는 쿼리에 대한 웨어하우스 요금

  • 평가 결과에 대한 저장소 비용

  • 평가 결과를 검색하기 위한 웨어하우스 요금은 Snowsight에서 조회할 수 있습니다