countTokens method

Future<CountTokensResponse> countTokens(
  1. Iterable<Content> contents
)

Counts the total number of tokens in contents.

Sends a "countTokens" API request for the configured model, and waits for the response.

Example:

final promptContent = [Content.text(prompt)];
final totalTokens =
    (await model.countTokens(promptContent)).totalTokens;
if (totalTokens > maxPromptSize) {
  print('Prompt is too long!');
} else {
  final response = await model.generateContent(promptContent);
  print(response.text);
}

Implementation

Future<CountTokensResponse> countTokens(
  Iterable<Content> contents,
) async {
  final parameters = _serializationStrategy.countTokensRequest(
    contents,
    model,
    _safetySettings,
    _generationConfig,
    tools,
    _toolConfig,
  );
  return makeRequest(Task.countTokens, parameters,
      _serializationStrategy.parseCountTokensResponse);
}