카테고리:

집계 함수 (일반) 문자열 및 이진 함수 (대형 언어 모델)

AI_AGG

자연어 작업 설명을 사용하여 텍스트 데이터 열을 줄입니다.

예를 들어 AI_AGG(reviews, 'Summarize the book reviews in 200 words') 는 사용자 피드백의 요약을 반환합니다.

COMPLETE (SNOWFLAKE.CORTEX)SUMMARIZE (SNOWFLAKE.CORTEX) 와 달리, 이 함수는 최대 언어 모델 컨텍스트 윈도우보다 큰 데이터 세트를 지원합니다.

참고 항목:

AI_SUMMARIZE_AGG

구문

AI_AGG( <expr>, <task_description> )
Copy

인자

필수:

expr

레스토랑 리뷰나 전화 기록과 같이 집계 작업을 수행할 텍스트가 포함된 식입니다.

task_description

수행할 집계에 대한 자연어 설명이 포함된 문자열입니다(예: “리뷰 요약” 또는 “언급된 모든 사람을 식별하고 각 사람에 대한 간단한 약력 작성”).

반환

집계 결과가 포함된 문자열을 반환합니다.

사용법 노트

최적의 성능을 위해 다음 지침을 따르십시오.

  • 작업 설명에는 일반 영어 텍스트를 사용합니다.

  • 작업 설명에 제공된 텍스트를 설명합니다. 예를 들어 “요약”과 같은 작업 설명 대신 “전화 통화 내용 요약”을 사용합니다.

  • 의도된 사용 사례를 설명합니다. 예를 들어 “최고의 리뷰 찾기” 대신 “레스토랑 웹사이트에서 강조 표시할 가장 긍정적이고 잘 작성된 레스토랑 리뷰 찾기”를 사용하십시오.

  • 작업 설명을 여러 단계로 나누는 것도 고려해 보십시오. 예를 들어 “새 기사 요약” 대신 “다양한 관점에서 이벤트를 소개하는 여러 공급자의 뉴스 기사를 제공합니다. 중요한 정보를 놓치지 않고 원본 텍스트를 간결하고 정교하게 요약해 주십시오.”를 사용하십시오.

AI_AGG 는 문자열 상수에 대한 간단한 스칼라 함수로 사용할 수 있습니다.

SELECT AI_AGG('[Excellent, Excellent, Great, Mediocre]',
              'Summarize the product ratings for a blog post targeting consumers');
Copy
This product has a generally positive rating, with most reviewers praising its quality. Key strengths include high satisfaction levels, with 2 reviewers giving it an "Excellent" rating. However, some reviewers had a more neutral experience, with 1 rating it "Mediocre". Overall, it's a solid choice, but may not exceed expectations for everyone.

AI_AGG 를 데이터 열에 사용할 수 있습니다.

WITH reviews AS (
            SELECT 'Excellent' AS review
  UNION ALL SELECT 'Excellent'
  UNION ALL SELECT 'Great'
  UNION ALL SELECT 'Mediocre'
)
SELECT AI_AGG(review,
              'Summarize the product ratings for a blog post targeting consumers')
  FROM reviews;
Copy
This product has a 4.25/5 overall rating, with most reviewers (2) giving it an "Excellent" rating and one reviewer giving it a "Great" rating. The majority of consumers are impressed with its performance, suggesting it's a reliable and high-quality option. However, one reviewer had a mediocre experience, indicating it may not meet everyone's expectations.

AI_AGG 를 GROUP BY 와 함께 사용할 수도 있습니다.

WITH reviews AS (
            SELECT 1 AS product_id, 'Excellent' AS review
  UNION ALL SELECT 1, 'Excellent'
  UNION ALL SELECT 1, 'Great'
  UNION ALL SELECT 1, 'Mediocre'
  UNION ALL SELECT 2, 'Terrible'
  UNION ALL SELECT 2, 'Bad'
)
SELECT product_id,
       AI_AGG(review, 'Summarize the product ratings for a blog post targeting consumers') AS summarized_review
  FROM reviews
 GROUP BY 1;
Copy
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| PRODUCT_ID | SUMMARIZED_REVIEW                                                                                                                                                                                                                                                                                                                                                     |
|------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 1          | This product has a 4.25/5 overall rating, with most reviewers (2) giving it an "Excellent" rating and one reviewer giving it a "Great" rating. The majority of consumers are impressed with its performance, suggesting it's a reliable and high-quality option. However, one reviewer had a mediocre experience, indicating it may not meet everyone's expectations. |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 2          | This product has received extremely negative reviews, with a 1/5-star rating based on 2 reviews. Consumers have rated it as "Terrible" and "Bad", citing no redeeming qualities or positive aspects. The product has failed to meet user expectations, and potential buyers are advised to exercise caution before purchasing.                                        |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

작업 설명은 다양한 집계 작업에 사용할 수 있으며 응답의 스타일과 어조를 구성하는 데 사용할 수 있습니다.

WITH reviews AS (
            SELECT 1 AS product_id, 'Excellent' AS review
  UNION ALL SELECT 1, 'Excellent'
  UNION ALL SELECT 1, 'Great'
  UNION ALL SELECT 1, 'Mediocre'
  UNION ALL SELECT 2, 'Terrible'
  UNION ALL SELECT 2, 'Bad'
  UNION ALL SELECT 2, 'Average'
)
SELECT product_id,
       AI_AGG(review, 'Identify the most positive rating and translate it into French and Polish, one word only') AS summarized_review
  FROM reviews
 GROUP BY 1;
Copy
+------------+--------------------+
| PRODUCT_ID | SUMMARIZED_REVIEW  |
|------------+--------------------+
| 1          | French: Excellent  |
|            | Polish: Doskonały  |
+------------+--------------------+
| 2          | French: Moyen      |
|            | Polish: Przeciętny |
+------------+--------------------+

AI_SUMMARIZE_AGG 도 참조하십시오.