Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite erfahren Sie, wie Sie mit dem Google Gen AI SDK die Tokens und ihre Token-IDs eines Prompts auflisten und die Gesamtzahl der Tokens eines Prompts abrufen.
Tokens und die Bedeutung der Auflistung und Zählung von Tokens
Modelle für generative KI zerlegen Text und andere Daten in einem Prompt in Einheiten, die als Tokens bezeichnet werden, um sie zu verarbeiten. Wie Daten in Tokens umgewandelt werden, hängt vom verwendeten Tokenizer ab. Ein Token kann aus Zeichen, Wörtern oder Wortgruppen bestehen.
Jedes Modell hat eine maximale Anzahl von Tokens, die in einem Prompt und einer Antwort verarbeitet werden können. Wenn Sie die Anzahl der Tokens in Ihrem Prompt kennen, wissen Sie, ob Sie dieses Limit überschritten haben. Außerdem werden beim Zählen von Tokens auch die abrechenbaren Zeichen für den Prompt zurückgegeben. Dies hilft Ihnen bei der Schätzung der Kosten.
Wenn Sie das Auflisten von Tokens auswählen, wird eine Liste der Tokens zurückgegeben, in die Ihr Prompt unterteilt ist.
Jedes aufgeführte Token ist mit einer Token-ID verknüpft, die Ihnen bei der Fehlerbehebung und der Analyse des Modellverhaltens hilft.
Unterstützte Modelle
In der folgenden Tabelle sind die Modelle aufgeführt, die die Auflistung und Zählung von Tokens unterstützen:
Liste der Tokens und Token-IDs für eine Eingabeaufforderung abrufen
Das folgende Codebeispiel zeigt, wie Sie eine Liste von Tokens und Token-IDs für einen Prompt abrufen. Der Prompt darf nur Text enthalten. Multimodale Prompts werden nicht unterstützt.
Tokenanzahl und abrechenbare Zeichen eines Prompts abrufen
Das folgende Codebeispiel zeigt, wie Sie die Anzahl der Tokens und die Anzahl der abrechenbaren Zeichen eines Prompts abrufen. Es werden sowohl Nur-Text- als auch multimodale Prompts unterstützt.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-25 (UTC)."],[],[],null,["# List and count tokens\n\n| **Preview**\n|\n|\n| This product or feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA products and features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThis page shows you how to list the tokens and their token IDs of a prompt\nand how to get a total token count of a prompt by using the Google Gen AI SDK.\n\nTokens and the importance of token listing and counting\n-------------------------------------------------------\n\nGenerative AI models break down text and other data in a prompt into units called\ntokens for processing. The way that data is converted into tokens depends on the\ntokenizer used. A token can be characters, words, or phrases.\n\nEach model has a maximum number of tokens that it can handle in a prompt and\nresponse. Knowing the token count of your prompt lets you know whether you've\nexceeded this limit or not. Additionally, counting tokens also returns the billable\ncharacters for the prompt, which helps you estimate cost.\n\nListing tokens returns a list of the tokens that your prompt is broken down into.\nEach listed token is associated with a token ID, which helps you perform\ntroubleshooting and analyze model behavior.\n\nSupported models\n----------------\n\nThe following table shows you the models that support token listing and token\ncounting:\n\n- [Gemini 2.5 Flash Image Preview](/vertex-ai/generative-ai/docs/models/gemini/2-5-flash#image) (Preview)\n- [Gemini 2.5 Flash-Lite](/vertex-ai/generative-ai/docs/models/gemini/2-5-flash-lite)\n- [Gemini 2.0 Flash with image generation](/vertex-ai/generative-ai/docs/models/gemini/2-0-flash) (Preview)\n- [Vertex AI Model Optimizer](/vertex-ai/generative-ai/docs/model-reference/vertex-ai-model-optimizer) (Experimental)\n- [Gemini 2.5 Pro](/vertex-ai/generative-ai/docs/models/gemini/2-5-pro)\n- [Gemini 2.5 Flash](/vertex-ai/generative-ai/docs/models/gemini/2-5-flash)\n- [Gemini 2.0 Flash](/vertex-ai/generative-ai/docs/models/gemini/2-0-flash)\n- [Gemini 2.0 Flash-Lite](/vertex-ai/generative-ai/docs/models/gemini/2-0-flash-lite)\n\nGet a list of tokens and token IDs for a prompt\n-----------------------------------------------\n\nThe following code sample shows you how to get a list of tokens and token IDs for\na prompt. The prompt must contain only text. Multimodal prompts are not supported. \n\n### Python\n\n#### Install\n\n```\npip install --upgrade google-genai\n```\n\n\nTo learn more, see the\n[SDK reference documentation](https://googleapis.github.io/python-genai/).\n\n\nSet environment variables to use the Gen AI SDK with Vertex AI:\n\n```bash\n# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values\n# with appropriate values for your project.\nexport GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT\nexport GOOGLE_CLOUD_LOCATION=global\nexport GOOGLE_GENAI_USE_VERTEXAI=True\n```\n\n\u003cbr /\u003e\n\n from google import genai\n from google.genai.types import HttpOptions\n\n client = genai.Client(http_options=HttpOptions(api_version=\"v1\"))\n response = client.models.compute_tokens(\n model=\"gemini-2.5-flash\",\n contents=\"What's the longest word in the English language?\",\n )\n\n print(response)\n # Example output:\n # tokens_info=[TokensInfo(\n # role='user',\n # token_ids=[1841, 235303, 235256, 573, 32514, 2204, 575, 573, 4645, 5255, 235336],\n # tokens=[b'What', b\"'\", b's', b' the', b' longest', b' word', b' in', b' the', b' English', b' language', b'?']\n # )]\n\n### Go\n\nLearn how to install or update the [Go](/vertex-ai/generative-ai/docs/sdks/overview).\n\n\nTo learn more, see the\n[SDK reference documentation](https://pkg.go.dev/google.golang.org/genai).\n\n\nSet environment variables to use the Gen AI SDK with Vertex AI:\n\n```bash\n# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values\n# with appropriate values for your project.\nexport GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT\nexport GOOGLE_CLOUD_LOCATION=global\nexport GOOGLE_GENAI_USE_VERTEXAI=True\n```\n\n\u003cbr /\u003e\n\n import (\n \t\"context\"\n \t\"encoding/json\"\n \t\"fmt\"\n \t\"io\"\n\n \tgenai \"google.golang.org/genai\"\n )\n\n // computeWithTxt shows how to compute tokens with text input.\n func computeWithTxt(w io.Writer) error {\n \tctx := context.Background()\n\n \tclient, err := genai.NewClient(ctx, &genai.ClientConfig{\n \t\tHTTPOptions: genai.HTTPOptions{APIVersion: \"v1\"},\n \t})\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to create genai client: %w\", err)\n \t}\n\n \tmodelName := \"gemini-2.5-flash\"\n \tcontents := []*genai.Content{\n \t\t{Parts: []*genai.Part{\n \t\t\t{Text: \"What's the longest word in the English language?\"},\n \t\t},\n \t\t\tRole: \"user\"},\n \t}\n\n \tresp, err := client.Models.ComputeTokens(ctx, modelName, contents, nil)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to generate content: %w\", err)\n \t}\n\n \ttype tokenInfoDisplay struct {\n \t\tIDs []int64 `json:\"token_ids\"`\n \t\tTokens []string `json:\"tokens\"`\n \t}\n \t// See the documentation: https://pkg.go.dev/google.golang.org/genai#ComputeTokensResponse\n \tfor _, instance := range resp.TokensInfo {\n \t\tdisplay := tokenInfoDisplay{\n \t\t\tIDs: instance.TokenIDs,\n \t\t\tTokens: make([]string, len(instance.Tokens)),\n \t\t}\n \t\tfor i, t := range instance.Tokens {\n \t\t\tdisplay.Tokens[i] = string(t)\n \t\t}\n\n \t\tdata, err := json.MarshalIndent(display, \"\", \" \")\n \t\tif err != nil {\n \t\t\treturn fmt.Errorf(\"failed to marshal token info: %w\", err)\n \t\t}\n \t\tfmt.Fprintln(w, string(data))\n \t}\n\n \t// Example response:\n \t// {\n \t// \t\"ids\": [\n \t// \t\t1841,\n \t// \t\t235303,\n \t// \t\t235256,\n \t// ...\n \t// \t],\n \t// \t\"values\": [\n \t// \t\t\"What\",\n \t// \t\t\"'\",\n \t// \t\t\"s\",\n \t// ...\n \t// \t]\n \t// }\n\n \treturn nil\n }\n\n\u003cbr /\u003e\n\nGet the token count and billable characters of a prompt\n-------------------------------------------------------\n\nThe following code sample shows you how to Get the token count and the number of\nbillable characters of a prompt. Both text-only and multimodal prompts are\nsupported. \n\n### Python\n\n#### Install\n\n```\npip install --upgrade google-genai\n```\n\n\nTo learn more, see the\n[SDK reference documentation](https://googleapis.github.io/python-genai/).\n\n\nSet environment variables to use the Gen AI SDK with Vertex AI:\n\n```bash\n# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values\n# with appropriate values for your project.\nexport GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT\nexport GOOGLE_CLOUD_LOCATION=global\nexport GOOGLE_GENAI_USE_VERTEXAI=True\n```\n\n\u003cbr /\u003e\n\n from google import genai\n from google.genai.types import HttpOptions\n\n client = genai.Client(http_options=HttpOptions(api_version=\"v1\"))\n\n prompt = \"Why is the sky blue?\"\n\n # Send text to Gemini\n response = client.models.generate_content(\n model=\"gemini-2.5-flash\", contents=prompt\n )\n\n # Prompt and response tokens count\n print(response.usage_metadata)\n\n # Example output:\n # cached_content_token_count=None\n # candidates_token_count=311\n # prompt_token_count=6\n # total_token_count=317\n\n### Go\n\nLearn how to install or update the [Go](/vertex-ai/generative-ai/docs/sdks/overview).\n\n\nTo learn more, see the\n[SDK reference documentation](https://pkg.go.dev/google.golang.org/genai).\n\n\nSet environment variables to use the Gen AI SDK with Vertex AI:\n\n```bash\n# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values\n# with appropriate values for your project.\nexport GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT\nexport GOOGLE_CLOUD_LOCATION=global\nexport GOOGLE_GENAI_USE_VERTEXAI=True\n```\n\n\u003cbr /\u003e\n\n import (\n \t\"context\"\n \t\"encoding/json\"\n \t\"fmt\"\n \t\"io\"\n\n \tgenai \"google.golang.org/genai\"\n )\n\n // generateTextAndCount shows how to generate text and obtain token count metadata from the model response.\n func generateTextAndCount(w io.Writer) error {\n \tctx := context.Background()\n\n \tclient, err := genai.NewClient(ctx, &genai.ClientConfig{\n \t\tHTTPOptions: genai.HTTPOptions{APIVersion: \"v1\"},\n \t})\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to create genai client: %w\", err)\n \t}\n\n \tmodelName := \"gemini-2.5-flash\"\n \tcontents := []*genai.Content{\n \t\t{Parts: []*genai.Part{\n \t\t\t{Text: \"Why is the sky blue?\"},\n \t\t},\n \t\t\tRole: \"user\"},\n \t}\n\n \tresp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to generate content: %w\", err)\n \t}\n\n \tusage, err := json.MarshalIndent(resp.UsageMetadata, \"\", \" \")\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to convert usage metadata to JSON: %w\", err)\n \t}\n \tfmt.Fprintln(w, string(usage))\n\n \t// Example response:\n \t// {\n \t// \t \"candidatesTokenCount\": 339,\n \t// \t \"promptTokenCount\": 6,\n \t// \t \"totalTokenCount\": 345\n \t// }\n\n \treturn nil\n }"]]