Skip to main content

A package to estimate token counts for messages AND functions in openai's chat completion API.

Project description

OpenAI Function Tokens Estimator

Estimate OpenAI token usage for chat completions, including functions, with this Python utility!

This package is based upon hmarr's openai-chat-tokens. As of right now (September 2023) there is no official documentation from openai on how to accurately predict the number of tokens from functions. This package solves that! Use it to get a very precise estimation of the token count for chat completions and better manage your OpenAI API usage.

Most often it is correct down to the token.

Installation

  1. Install the Package via pip

    pip install openai-function-tokens
    
  2. Import the Estimation Function

    from openai_function_tokens import estimate_tokens
    

Usage

To use the estimator, call the estimate_tokens function:

estimate_tokens(messages, functions=None, function_call=None)

Pass in the messages, and optionally functions and function_call, to receive a precise token count.

Acknowledgments

Credit to hmarr for the original TypeScript tool. For a better understanding of token counting logic, check out his blog post.

Further Reading

Function Calling

How to call functions with chat models

How to use functions with a knowledge base

JSON Schema documentation

Counting tokens (only messages)

Contributing

Feedback, suggestions, and contributions are highly appreciated. Help make this tool even better!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openai-function-tokens-0.1.2.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

openai_function_tokens-0.1.2-py3-none-any.whl (4.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page