Skip to main content

LLM Cost Calculation

Project description

OPEN AI API - PRICE CALCULATOR

Overview

This package is created to calculate cost of OPEN AI API usage.

Pricing based on following url : OPEN AI Pricing API. Source code: Github

Usage

Installation

Install Page

pip install openai-pricing-calc-draft

Without Surrounding Code

from lll_pricing_calculation import calculate_openai_pricing

# Without surrounding Code
costForThousandCurrency,embeddingsCost,promptCost,completionTokenCost,total_cost = calculate_openai_pricing("GPT-3.5 Turbo","4K context",token_counter.total_embedding_token_count,token_counter.prompt_llm_token_count,token_counter.completion_llm_token_count)
print("currency:"+costForThousandCurrency)
print("embeddingsCost:"+str(embeddingsCost))
print("promptCost:"+str(promptCost))
print("completionTokenCost:"+str(completionTokenCost))
print("total cost:"+str(total_cost))

With Surrounding Code Using Llama Index

import tiktoken
from llama_index.callbacks import CallbackManager, TokenCountingHandler
from llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext
from lll_pricing_calculation import calculate_openai_pricing

sampleQuery = "Sample Query"
token_counter = TokenCountingHandler(
    tokenizer=tiktoken.encoding_for_model("text-davinci-003").encode,
    verbose=False  # set to true to see usage printed to the console
)
callback_manager = CallbackManager([token_counter])
service_context = ServiceContext.from_defaults(callback_manager=callback_manager)

def askQuestion(quest,storage,service_context,token_counter):
    token_counter.reset_counts()
    # index defined outside
    specificindex = index.get_index(dataFolder,"./storage"+storage,service_context)
    print(quest)
    result = query.query_index(specificindex, quest,"./storage"+storage)
    print(result)
    # otherwise, you can access the count directly
    print("Embeddings Token Counter stuff is below (total_embedding_token_count):")
    print(token_counter.total_embedding_token_count)
    print("Detailed ")
    print('Embedding Tokens: ', token_counter.total_embedding_token_count, '\n',
      'LLM Prompt Tokens: ', token_counter.prompt_llm_token_count, '\n',
      'LLM Completion Tokens: ', token_counter.completion_llm_token_count, '\n',
      'Total LLM Token Count: ', token_counter.total_llm_token_count)

    # CALCULATE PRICING TAKES PLACE HERE
    costForThousandCurrency,embeddingsCost,promptCost,completionTokenCost,total_cost = calculate_openai_pricing("GPT-3.5 Turbo","4K context",token_counter.total_embedding_token_count,token_counter.prompt_llm_token_count,token_counter.completion_llm_token_count)
    print("currency:"+costForThousandCurrency)
    print("embeddingsCost:"+str(embeddingsCost))
    print("promptCost:"+str(promptCost))
    print("completionTokenCost:"+str(completionTokenCost))
    print("total cost:"+str(total_cost))

askQuestion(sampleQuery,"4",service_context,token_counter)

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_pricing_calc_draft-0.4.1.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openai_pricing_calc_draft-0.4.1-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file openai_pricing_calc_draft-0.4.1.tar.gz.

File metadata

File hashes

Hashes for openai_pricing_calc_draft-0.4.1.tar.gz
Algorithm Hash digest
SHA256 087c220ee495440bb7b748552dbbf219064e561aff0b24a03fdd5a232ee9bba6
MD5 9fe7e11ce376ef61c31e39610c0f1e35
BLAKE2b-256 e953f8097aac745fd28ed99d39eda094942df065fe890da70968090f3e3ba111

See more details on using hashes here.

File details

Details for the file openai_pricing_calc_draft-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for openai_pricing_calc_draft-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e21a4cb6a9544e64b8f583a0200c6bdc389d33f287828a5d88c5061c9d6ba92
MD5 4ae53bdfc20c96c79692bb6857ab5706
BLAKE2b-256 9c2882d8329fffd45287047a917bcd4a5173442bf5b91a0be35dd46f0a8ef54e

See more details on using hashes here.

Supported by

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