.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "tutorial/task_token.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_tutorial_task_token.py: .. _token: Token ========================= AgentScope provides a token counter module under ``agentscope.token`` to calculate the number of tokens in the given messages, allowing developers to estimate the number of tokens in a prompt before sending it to an API. Specifically, the following token counters are available: .. list-table:: :header-rows: 1 * - Provider - Class - Support Image Data - Support Tools * - Anthropic - ``AnthropicTokenCounter`` - ✅ - ✅ * - OpenAI - ``OpenAITokenCounter`` - ✅ - ✅ * - Gemini - ``GeminiTokenCounter`` - ✅ - ✅ * - HuggingFace - ``HuggingFaceTokenCounter`` - Depends on the model - Depends on the model .. tip:: The formatter module has integrated the token counters to support prompt truncation. Refer to the :ref:`prompt` section for more details. .. note:: For DashScope models, the dashscope library doesn't provide a token counting API. So we recommend using the HuggingFace token counter instead. We show an example of using the OpenAI token counter to count the number of tokens: .. GENERATED FROM PYTHON SOURCE LINES 44-66 .. code-block:: Python import asyncio from agentscope.token import OpenAITokenCounter async def example_token_counting(): # Example messages messages = [ {"role": "user", "content": "Hello!"}, {"role": "assistant", "content": "Hi, how can I help you?"}, ] # OpenAI token counting openai_counter = OpenAITokenCounter(model_name="gpt-4.1") n_tokens = await openai_counter.count(messages) print(f"Number of tokens: {n_tokens}") asyncio.run(example_token_counting()) .. rst-class:: sphx-glr-script-out .. code-block:: none Number of tokens: 21 .. GENERATED FROM PYTHON SOURCE LINES 67-72 Further Reading ------------------------------ - :ref:`prompt` .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.905 seconds) .. _sphx_glr_download_tutorial_task_token.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: task_token.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: task_token.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: task_token.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_