- Categorias:
Funções de agregação (Geral) Funções de cadeia de caracteres e binários (Large Language Model)
AI_AGG¶
Reduz uma coluna de dados de texto usando uma descrição de tarefa de linguagem natural.
Por exemplo, AI_AGG(reviews, 'Summarize the book reviews in 200 words')
retornará um resumo do feedback do usuário.
Ao contrário de COMPLETE (SNOWFLAKE.CORTEX) e SUMMARIZE (SNOWFLAKE.CORTEX), essa função suporta conjuntos de dados maiores do que a janela máxima de contexto do modelo de linguagem.
- Consulte também:
Sintaxe¶
AI_AGG( <expr>, <task_description> )
Argumentos¶
Obrigatório:
expr
Essa é uma expressão que contém texto no qual uma operação de agregação deve ser executada, como avaliações de restaurantes ou transcrições telefônicas.
task_description
Uma cadeia de caracteres que contém uma descrição em linguagem natural da agregação a ser realizada, por exemplo, “Resumir as avaliações” ou “Identificar todas as pessoas mencionadas e escrever uma pequena biografia para cada uma delas”.
Retornos¶
Retorna uma cadeia de caracteres que contém o resultado da agregação.
Notas de uso¶
Para um desempenho ideal, siga estas diretrizes:
Use texto em inglês simples para a descrição da tarefa.
Descreva o texto fornecido na descrição da tarefa. Por exemplo, em vez de uma descrição de tarefa como “resumir”, use “Resumir as transcrições das chamadas telefônicas”.
Descreva o caso de uso pretendido. Por exemplo, em vez de “encontrar a melhor avaliação”, use “encontrar a avaliação mais positiva e bem escrita do restaurante para destacar no site do restaurante”.
Considere dividir a descrição da tarefa em várias etapas. Por exemplo, em vez de “Resumir os novos artigos”, use “Você receberá artigos de notícias de várias editoras que apresentam eventos de diferentes pontos de vista. Crie um resumo conciso e elaborativo dos textos de origem sem perder nenhuma informação crucial.».
Exemplos¶
AI_AGG pode ser usado como uma função escalar simples em constantes de cadeia de caracteres.
SELECT AI_AGG('[Excellent, Excellent, Great, Mediocre]',
'Summarize the product ratings for a blog post targeting consumers');
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 pode ser usado em uma coluna de dados.
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;
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 também pode ser usado em combinação com 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;
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
A descrição da tarefa pode ser usada para várias tarefas de agregação e para configurar o estilo e o tom da resposta.
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;
+------------+--------------------+
| PRODUCT_ID | SUMMARIZED_REVIEW |
|------------+--------------------+
| 1 | French: Excellent |
| | Polish: Doskonały |
+------------+--------------------+
| 2 | French: Moyen |
| | Polish: Przeciętny |
+------------+--------------------+
Consulte também AI_SUMMARIZE_AGG.