Skip to main content

Overview

The completions capability provides access to chat and text completion APIs through LiteLLM, supporting multiple providers.

Python Usage

Chat Completion

from praisonai.capabilities import chat_completion

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

print(result.content)  # "4"
print(result.model)    # "gpt-4o-mini-2024-07-18"
print(result.usage)    # {'prompt_tokens': 30, 'completion_tokens': 2, ...}

Text Completion (Legacy)

from praisonai.capabilities import text_completion

result = text_completion(
    prompt="The capital of France is",
    model="gpt-3.5-turbo-instruct",
    max_tokens=10
)

print(result.content)  # " Paris"

Async Usage

import asyncio
from praisonai.capabilities import achat_completion

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

asyncio.run(main())

Parameters

ParameterTypeDefaultDescription
messagesList[Dict]RequiredList of message objects
modelstr”gpt-4o-mini”Model to use
temperaturefloat1.0Sampling temperature
max_tokensintNoneMaximum tokens to generate
toolsList[Dict]NoneList of tools
timeoutfloat600.0Request timeout in seconds
api_keystrNoneAPI key override

Result Object

The CompletionResult object contains:
  • id: Response ID
  • content: Generated text
  • role: Message role (“assistant”)
  • model: Model used
  • finish_reason: Why generation stopped
  • usage: Token usage statistics
  • tool_calls: Any tool calls made