Skip to main content

VAKLM

A Python client for interacting with OpenAI-compatible API endpoints with reasoning support.

Installation

pip install vaklm

Usage

Basic Usage

from vaklm import vaklm, VAKLMException

# Non-streaming response with reasoning
try:
    content, reasoning = vaklm(
        endpoint="http://localhost:11434/v1/chat/completions",
        model_name="llama3.2:latest",
        user_prompt="Explain quantum computing in simple terms",
        system_prompt="You are a helpful AI assistant",
        api_key="YOUR_API_KEY",
        temperature=0.7
    )
    print("Content:", content)
    print("Reasoning:", reasoning)
except VAKLMException as e:
    print(f"Error: {str(e)}")

Streaming Usage

from vaklm import vaklm

print("\nStreaming example:")
try:
    for content, reasoning in vaklm(
        endpoint="http://localhost:11434/v1/chat/completions",
        model_name="llama3.2:latest",
        user_prompt="Write a short story about a cat.",
        system_prompt="You are a creative writer.",
        api_key="YOUR_API_KEY",
        stream=True,
        temperature=0.7
    ):
        print(content, end='', flush=True)
        if reasoning:
            print(f"\n[Reasoning: {reasoning}]")
except VAKLMException as e:
    print(f"Error: {str(e)}")

Features

  • Supports both streaming and non-streaming responses
  • Includes reasoning content in responses
  • Automatic retry logic for failed requests
  • Configurable temperature and max tokens
  • System prompt support for context setting
  • Comprehensive error handling

Configuration

The vaklm function accepts the following parameters:

  • endpoint: API endpoint URL (required)
  • model_name: Model identifier (required)
  • user_prompt: User's input message (required)
  • system_prompt: Optional system context message
  • api_key: API key for authentication
  • stream: Whether to stream the response (default: False)
  • temperature: Sampling temperature (0-2, default: 1.0)
  • max_tokens: Maximum tokens to generate
  • timeout: Request timeout in seconds (default: 30)
  • max_retries: Maximum retry attempts (default: 3)
  • retry_delay: Base delay between retries (default: 1.0)

Error Handling

The client raises VAKLMException for general errors, with specific subclasses:

  • APIError: For API-specific errors
  • StreamingError: For streaming-specific errors

Always wrap calls in try/except blocks to handle potential errors.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vaklm-0.3.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

vaklm-0.3.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file vaklm-0.3.1.tar.gz.

File metadata

  • Download URL: vaklm-0.3.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for vaklm-0.3.1.tar.gz
Algorithm Hash digest
SHA256 65270f788ae7db5d438583647ae57541054fd83cc0f87b8be5deb044d21c3288
MD5 8efb8ef8f49f656b9d9d2b20229dc32b
BLAKE2b-256 381238921fb19c1615efcac3d9f1ef79aadf5c87ba6835878cbf3b4fe7039b8e

See more details on using hashes here.

File details

Details for the file vaklm-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: vaklm-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for vaklm-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a80e72ad86536e92fb49aaade087bf5eced8b8c8a41796ff75ec91c3119a03ce
MD5 aef91a81c3aaa8b3d9c41700e259f9e2
BLAKE2b-256 3ce8cdd92f524b00a56333d5a743181c9e426a84df31c72091143b54ee31e410

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

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