Skip to content

Token counting logic #28

Open
Open
@RodolfoCastanheira

Description

@RodolfoCastanheira

export const getTokenCount = (messages: Array<Message>) => {
const input = messages.filter(
(m) => m.role !== "assistant" && typeof m.content === "string",
)
const output = messages.filter((m) => m.role === "assistant")
const inputTokens = countTokens(input)
const outputTokens = countTokens(output)
return {
input: inputTokens,
output: outputTokens,
}
}

I may be misreading, but are you counting assistant messages as output tokens and other roles as input tokens, is that it?

If so, the correct should be:.

  • Everything sent to the api is input
  • Everything sent by the api is output

If I'm misunderstanding the code, please just ignore. And thanks for this project!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions