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.
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)
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
vaklm-0.3.1-py3-none-any.whl
(4.6 kB
view details)
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
|