Kategorien:

Aggregatfunktionen (Allgemein) Zeichenfolgen- und Binärfunktionen (Large Language Model)

AI_AGG

Reduziert eine Spalte mit Textdaten anhand einer Aufgabenbeschreibung in natürlicher Sprache.

Zum Beispiel liefert AI_AGG(reviews, 'Summarize the book reviews in 200 words') eine Zusammenfassung der Rückmeldungen von Benutzern.

Im Gegensatz zu COMPLETE (SNOWFLAKE.CORTEX) und SUMMARIZE (SNOWFLAKE.CORTEX) unterstützt diese Funktion Datensätze, die größer sind als das maximale Kontextfenster des Sprachmodells.

Siehe auch::

AI_SUMMARIZE_AGG

Syntax

AI_AGG( <expr>, <task_description> )
Copy

Argumente

Benötigt:

expr

Dies ist ein Ausdruck, der Text enthält, für den eine Aggregationsoperation durchgeführt werden soll, z. B. Restaurantbewertungen oder Telefonaufzeichnungen.

task_description

Eine Zeichenfolge, die eine Beschreibung in natürlicher Sprache der durchzuführenden Aggregation enthält, z. B. „Summarize the reviews“ oder „Identify all people mentioned and write a short biography for each of them“.

Rückgabewerte

Gibt eine Zeichenfolge zurück, die das Ergebnis der Aggregation enthält.

Nutzungshinweise

Um eine optimale Leistung zu erzielen, befolgen Sie diese Richtlinien:

  • Verwenden Sie einfachen englischen Text für die Aufgabenbeschreibung.

  • Beschreiben Sie den in der Aufgabenbeschreibung angegebenen Text. Verwenden Sie zum Beispiel statt einer Aufgabenbeschreibung wie „summarize“ die Formulierung „Summarize the phone call transcripts“.

  • Beschreiben Sie den beabsichtigten Anwendungsfall. Verwenden Sie z. B. statt „find the best review“ die Formulierung „Find the most positive and well-written restaurant review to highlight on the restaurant website“.

  • Ziehen Sie in Erwägung, die Aufgabenbeschreibung in mehrere Schritte aufzuteilen. Verwenden Sie z. B. anstelle von „Summarize the new articles“ die Formulierung „You will be provided with news articles from various publishers presenting events from different points of view. Please create a concise and elaborative summary of source texts without missing any crucial information.“

Beispiele

AI_AGG kann als einfache skalare Funktion für Zeichenfolgenkonstanten verwendet werden.

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 kann auf eine Datenspalte angewendet werden.

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 kann auch in Kombination mit GROUP BY verwendet werden.

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.                                        |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Die Aufgabenbeschreibung kann für verschiedene Aggregationsaufgaben und zur Konfiguration von Stil und Ton der Antwort verwendet werden.

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 |
+------------+--------------------+

Siehe auch AI_SUMMARIZE_AGG.