Kategorien:

Zeichenfolgen- und Binärfunktionen (AI-Funktionen)

AI_COUNT_TOKENS

Bemerkung

AI_COUNT_TOKENS ist die aktualisierte Version von COUNT_TOKENS (SNOWFLAKE.CORTEX). Die neueste Funktionalität finden Sie unter AI_COUNT_TOKENS.

Gibt die Anzahl der Token in einer Eingabeaufforderung für das angegebene große Sprachmodell (Large Language Model) oder die aufgabenspezifische Funktion zurück.

Syntax

AI_COUNT_TOKENS(<function_name>, <model_name> , <input_text> )
AI_COUNT_TOKENS(<function_name>, <input_text> )
AI_COUNT_TOKENS(<function_name>, <input_text>, <categories> )
Copy

Argumente

Benötigt:

Funktionsname

Zeichenfolge, die den Namen der Funktion enthält, auf der die Token-Zählung basieren soll, z. B. 'ai_complete' oder 'ai_sentiment'. Der Name der Funktion muss mit „ai_“ beginnen und darf nur Kleinbuchstaben enthalten.

Eine vollständige Liste der unterstützten Funktionen finden Sie in der Tabelle Regionale Verfügbarkeit.

input_text

Eingabetext, in dem die Token gezählt werden sollen.

Optional:

model_name

Zeichenfolge, die den Namen des Modells enthält, auf dem der Token-Inhalt basieren soll. Erforderlich, wenn die durch function_name angegebene Funktion erfordert, dass Sie das zu verwendende Modell auswählen, z. B. AI_COMPLETE oder AI_EMBED.

Eine Auflistung der verfügbaren LLM-Modelle sind in der Tabelle Regionale Verfügbarkeit verfügbar. Allerdings werden derzeit nicht alle Modelle unterstützt.

Für AI_COMPLETE werden die folgenden Modelle nicht unterstützt:

  • claude-4-opus

  • claude-4-sonnet

  • claude-3-7-sonnet

  • claude-3-5-sonnet

  • openai-gpt-4.1

  • openai-o4-mini

Für AI_EMBED werden die folgenden Modelle nicht unterstützt:

  • snowflake-arctic-embed-l-v2.0-8k

categories

Ein Array von VARIANT-Werten, die eine oder mehrere Kategorien oder Labels angeben, die für Funktionen verwendet werden sollen, die diese Daten erfordern. Kategorien sind in der Token-Zählung für die Eingabe enthalten.

Rückgabewerte

Ein Wert des Typs INTEGER, der die Anzahl der Token des Eingabetexts angibt, die unter Verwendung der angegebenen Parameterwerte berechnet werden.

Nutzungshinweise

  • Verwenden Sie in Funktions- und Modellnamen nur Kleinbuchstaben.

  • COUNT_TOKENS funktioniert nicht mit LLM -Funktionen im SNOWFLAKE.CORTEX-Namespace oder mit Fine-Tuning-Modellen. Sie müssen einen Funktionsnamen angeben, der mit „AI_“ beginnt.

  • COUNT_TOKENS akzeptiert nur Text, keine Bilder oder Audioeingaben.

  • COUNT_TOKENS verwendet keine tokenbasierte Abrechnung und verursacht nur Computekosten.

  • COUNT_TOKENS ist in allen Regionen verfügbar, auch für Modelle, die in einer bestimmten Region nicht verfügbar sind.

Beispiele

AI_COMPLETE-Beispiel

Die folgenden SQL-Anweisung zählt die Anzahl der Token in einer Eingabeaufforderung für AI_COMPLETE und das llama3.3-70b-Modell:

SELECT AI_COUNT_TOKENS('ai_complete', 'llama3.3-70b', 'Summarize the insights from this
call transcript in 20 words: "I finally splurged on these after months of hesitation about
the price, and I\'m mostly impressed. The Nulu fabric really is as buttery-soft as everyone says,
and they\'re incredibly comfortable for yoga and lounging. The high-rise waistband stays put
and doesn\'t dig in, which is rare for me. However, I\'m already seeing some pilling after
just a few wears, and they definitely require gentle care. They\'re also quite delicate -
I snagged them slightly on my gym bag zipper. Great for low-impact activities, but I wouldn\'t
recommend for high-intensity workouts. Worth it for the comfort factor"');
Copy

Antwort:

158

AI_EMBED-Beispiel

Die folgenden SQL-Anweisung zählt die Anzahl der Token im Text, der mithilfe der AI_EMBED-Funktion und dem nv-embed-qa-4'-Modell eingebettet wird:

SELECT AI_COUNT_TOKENS('ai_embed', 'nv-embed-qa-4', '"I finally splurged on these after months
of hesitation about the price, and I\'m mostly impressed. The Nulu fabric really is as buttery-soft
as everyone says, and they\'re incredibly comfortable for yoga and lounging. The high-rise waistband
stays put and doesn\'t dig in, which is rare for me. However, I\'m already seeing some pilling after
just a few wears, and they definitely require gentle care. They\'re also quite delicate - I snagged
them slightly on my gym bag zipper. Great for low-impact activities, but I wouldn\'t recommend for
high-intensity workouts. Worth it for the comfort factor"');
Copy

Antwort:

142

AI_CLASSIFY-Beispiele

Dieses Beispiel berechnet die Gesamtzahl der Eingabe-Token, die für die Textklassifizierung mit angegebenen Eingaben und Labels erforderlich sind:

SELECT AI_COUNT_TOKENS('ai_classify',
  'One day I will see the world and learn to cook my favorite dishes',
  [
      {'label': 'travel'},
      {'label': 'cooking'},
      {'label': 'reading'},
      {'label': 'driving'}
  ]
);
Copy

Antwort:

187

Das folgende Beispiel fügt dem vorherigen Beispiel Beschreibungen pro Label und eine allgemeine Aufgabenbeschreibung hinzu:

SELECT AI_COUNT_TOKENS('ai_classify',
  'One day I will see the world and learn to cook my favorite dishes',
  [
    {'label': 'travel', 'description': 'content related to traveling'},
    {'label': 'cooking','description': 'content related to food preparation'},
    {'label': 'reading','description': 'content related to reading'},
    {'label': 'driving','description': 'content related to driving a car'}
  ],
  {
    'task_description': 'Determine topics related to the given text'
  };
Copy

Antwort:

254

Das folgende Beispiel baut auf den beiden vorherigen Beispielen auf, indem es Beispiele für Labels hinzufügt:

SELECT AI_COUNT_TOKENS('ai_classify',
  'One day I will see the world and learn to cook my favorite dishes',
  [
    {'label': 'travel', 'description': 'content related to traveling'},
    {'label': 'cooking','description': 'content related to food preparation'},
    {'label': 'reading','description': 'content related to reading'},
    {'label': 'driving','description': 'content related to driving a car'}
  ],
  {
    'task_description': 'Determine topics related to the given text',
    'examples': [
      {
        'input': 'i love traveling with a good book',
        'labels': ['travel', 'reading'],
        'explanation': 'the text mentions traveling and a good book which relates to reading'
      }
    ]
  }
);
Copy

Antwort:

298

AI_SENTIMENT-Beispiele

Die folgenden SQL-Anweisung zählt die Anzahl der Token im Text, der mithilfe der AI_SENTIMENT-Funktion auf die Stimmung hin analysiert wird:

SELECT AI_COUNT_TOKENS('ai_sentiment',
  'This place makes the best truffle pizza in the world! Too bad I cannot afford it');
Copy

Antwort:

139

Das folgende Beispiel fügt dem vorherigen Beispiel Labels hinzu:

SELECT AI_COUNT_TOKENS('ai_sentiment',
  'This place makes the best truffle pizza in the world! Too bad I cannot afford it',
  [
    {'label': 'positive'},
    {'label': 'negative'},
    {'label': 'neutral'}
  ]
);
Copy

Antwort:

148