OpenAI Cost Logger
Project description
OpenAI Cost Logger
Simple cost logger for OpenAI requests.
Track the cost of every request you make to OpenAI and visualize them in a user-friendly way.
Homepage on PyPI.
Demo file with a usage example.
How to install:
pip install openai-cost-logger
from openai_cost_logger import OpenAICostLogger from openai_cost_logger import OpenAICostLoggerViz from openai_cost_logger import OpenAICostLoggerUtils from openai_cost_logger import OpenAICostLogger_Singleton from openai_cost_logger import DEFAULT_LOG_PATH, MODELS_COST
Key Features:
Track the cost of every request you make and save them in a JSON file.
Choose the feature you want to track (prompt_tokens, completion_tokens, completion, prompt, etc.).
Check the cost of your requests filtering by model or strftime aggregation (see the docs).
Models supported:
The generation of responses is totally up to the user. The library supports every model whose response contains the fields usage.prompt_tokens and usage.total_tokens (e.g. chat completions, embeddings, etc.).
Multithreading:
Be aware that the classic cost logger is not thread-safe.
If you want to use it in a multithreading environment, you should use the thread-safe version of the logger: OpenAICostLogger_Singleton. The interface is the same as the classic logger. This will prevent multiple threads from writing to the same file at the same time.
Note:
Every cost is specified per million tokens.
If you don’t specify the cost, the library will look to the MODELS_COST dictionary and get the cost of the model you are using. Be aware that if the model is not in the dictionary, an exception will be raised.
Viz example:
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
File details
Details for the file openai-cost-logger-0.5.1.tar.gz
.
File metadata
- Download URL: openai-cost-logger-0.5.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 768ed1e7470d4eadff0e75f9a54c82bd7d29521d34ac0a495f4ff193bfbd7b7a |
|
MD5 | adffb3c56c0c548890fa601245b93f13 |
|
BLAKE2b-256 | 1a7b539891456e444e4b7bc4370dee4e5e6364687660f4e2ae95d3101969ea36 |