No project description provided
Project description
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 messageapi_key: API key for authenticationstream: Whether to stream the response (default: False)temperature: Sampling temperature (0-2, default: 1.0)max_tokens: Maximum tokens to generatetimeout: 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 errorsStreamingError: For streaming-specific errors
Always wrap calls in try/except blocks to handle potential errors.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65270f788ae7db5d438583647ae57541054fd83cc0f87b8be5deb044d21c3288
|
|
| MD5 |
8efb8ef8f49f656b9d9d2b20229dc32b
|
|
| BLAKE2b-256 |
381238921fb19c1615efcac3d9f1ef79aadf5c87ba6835878cbf3b4fe7039b8e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a80e72ad86536e92fb49aaade087bf5eced8b8c8a41796ff75ec91c3119a03ce
|
|
| MD5 |
aef91a81c3aaa8b3d9c41700e259f9e2
|
|
| BLAKE2b-256 |
3ce8cdd92f524b00a56333d5a743181c9e426a84df31c72091143b54ee31e410
|