npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

token-counter

v0.0.4

Published

Counting openAI usage fees

Downloads

10

Readme

install

npm

npm install token-counter

yarn

yarn add token-counter

Feature

  • Count the number of tokens from the text
  • Calculate the price based on the number of tokens
  • Price calculation according to the model in use
  • Support for LangChain Callback
  • Calculation of amounts in each country's currency
  • Obtaining usage details
  • OnChange event handler when adding
  • Avoid counting in mock use option

Usage

Count tokens from text

import { TokenCounter } from "token-counter";

const tokenCounter = new TokenCounter();

const prompt = "example text";

tokenCounter.addGpt3_4kInputText(prompt);

// Tapping the API of Gpt-3.5-turbo (4k model)

tokenCounter.addGpt3_4kOutputText(prompt);

Use for LangChain Callback

import { TokenCounter } from "token-counter";
import { TokenCounter3_4kCallback } from "token-counter/langchain";

const tokenCounter = new TokenCounter();

new ChatOpenAI({
  modelName: "gpt-3.5-turbo-0613",
  temperature: 0,
  callbacks: [new TokenCounter3_4kCallback(tokenCounter)],
});

Get prices in your country's currency

console.log(tokenCounter.jpyPrice);

Obtain a statement of use

// True must be passed as the first argument when initializing tokenCounter
const tokenCounter = new TokenCounter(true);

tokenCounter.addGpt3_4kInputText(prompt);

// Obtain a statement of use
console.log(tokenCounter.receipt);

Available Methods

Counting based on text

  • addGpt3_4kInputText
  • addGpt3_4kOutputText
  • addGpt3_16kInputText
  • addGpt3_16kOutputText
  • addGpt4_8kInputText
  • addGpt4_8kOutputText
  • addGpt4_32kInputText
  • addGpt4_32kOutputText
  • addAda_v2Text

Counting based on tokens

  • addGpt3_4kInputTokenCount
  • addGpt3_4kOutputTokenCount
  • addGpt3_16kInputTokenCount
  • addGpt3_16kOutputTokenCount
  • addGpt4_8kInputTokenCount
  • addGpt4_8kOutputTokenCount
  • addGpt4_32kInputTokenCount
  • addGpt4_32kOutputTokenCount
  • addAda_v2TokenCount

LangChain Callback

  • TokenCounter3_4kCallback
  • TokenCounter3_16kCallback
  • TokenCounter4_8kCallback
  • TokenCounter4_32kCallback

Available Properties

Get number of tokens

  • tokenCounter.tokens

Get price in USD

  • tokenCounter.price

Retrieve usage statements

  • tokenCounter.receipt

Supported Currency Properties

  • tokenCounter.jpyPrice