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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file openai-function-tokens-0.1.2.tar.gz.

File metadata

File hashes

Hashes for openai-function-tokens-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ab2d3479446f8a0d4e7aed6a08192bbeb71993fcf7aa8b6e1ef00a3fa313d1e5
MD5 9c7b6ce23c86fbdb052922af6e82bd9f
BLAKE2b-256 2f7ef9f0ef8f67d875c6146a89aeff497ebe633b48bbfbce07cfc97a6aa4541f

See more details on using hashes here.

File details

Details for the file openai_function_tokens-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for openai_function_tokens-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 346b9275db94f6f6b7b66d4ded06db0eb6321b3912c8ea2c9325eb697207833c
MD5 593661471a9d9cab8c214e186a726599
BLAKE2b-256 429aaa58fcec9f30831329427527dcf8ba205c294ed6b112937a98bea01f4e67

See more details on using hashes here.

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