Skip to main content

Overview

Create messages using Anthropic-style API and count tokens in messages.

Python Usage

Create Message

from praisonai.capabilities import messages_create

result = messages_create(
    messages=[{"role": "user", "content": "What is AI?"}],
    model="gpt-4o-mini",
    max_tokens=100,
    system="You are a helpful assistant."
)

if result.content:
    for block in result.content:
        if block.get("type") == "text":
            print(block.get("text"))

print(f"Usage: {result.usage}")

Count Tokens

from praisonai.capabilities import count_tokens

result = count_tokens(
    messages=[
        {"role": "system", "content": "You are helpful."},
        {"role": "user", "content": "Hello, how are you?"}
    ],
    model="gpt-4o-mini"
)

print(f"Token count: {result.input_tokens}")

Async Usage

import asyncio
from praisonai.capabilities import amessages_create, acount_tokens

async def main():
    result = await amessages_create(
        messages=[{"role": "user", "content": "Hello"}],
        model="gpt-4o-mini"
    )
    print(result.content)

asyncio.run(main())

Parameters

messages_create

ParameterTypeDefaultDescription
messagesList[Dict]RequiredList of messages
modelstr”claude-3-5-sonnet-20241022”Model to use
max_tokensint1024Maximum tokens
systemstrNoneSystem prompt
temperaturefloat1.0Sampling temperature
toolsList[Dict]NoneAvailable tools

count_tokens

ParameterTypeDefaultDescription
messagesList[Dict]RequiredMessages to count
modelstr”gpt-4o-mini”Model for tokenization
systemstrNoneSystem prompt

Result Objects

MessageResult

  • id: Message ID
  • content: List of content blocks
  • role: Message role
  • model: Model used
  • stop_reason: Why generation stopped
  • usage: Token usage

TokenCountResult

  • input_tokens: Number of tokens
  • model: Model used