sageLLM protocol types and validation (Protocol v0.1)
Project description
sagellm-protocol
Protocol Compliance (Mandatory)
- This repository defines Protocol v0.1 as the source of truth.
- Any globally shared definitions (fields, error codes, metrics, IDs, schemas) MUST be added here before use.
Type definitions and validation for sageLLM inference engine.
- Package:
isagellm-protocol - Import:
sagellm_protocol - Python: 3.10+
Installation
pip install isagellm-protocol
For development:
git clone git@github.com:intellistream/sagellm-protocol.git
cd sagellm-protocol
pip install -e ".[dev]"
Features
- Request/Response type definitions
- Streaming event types (start/delta/end)
- Performance metrics with validation
- Error types and error codes
- Timestamp tracking
- KV cache lifecycle hooks
- Pydantic v2 validation
Quick Start
from sagellm_protocol import Request, Response, Metrics, ErrorCode
# 创建请求
req = Request(
request_id="req-001",
trace_id="trace-001",
model="llama2-7b",
prompt="Hello, world!",
max_tokens=128,
stream=False,
temperature=0.7,
)
# 创建响应
metrics = Metrics(
ttft_ms=45.2,
tbt_ms=12.5,
throughput_tps=80.0,
peak_mem_mb=24576,
error_rate=0.0,
)
resp = Response(
request_id="req-001",
trace_id="trace-001",
output_text="Hi there!",
output_tokens=[42, 17],
finish_reason="stop",
metrics=metrics,
)
For more examples, see examples/basic_usage.py.
API Reference
Core Types
Request/Response- Request and response objectsMetrics- Performance metricsStreamEvent- Streaming event typesError/ErrorCode- Error handlingTimestamps- Timestamp trackingKVAllocateParams/KVHandle- KV cache management
Development
Run tests:
pytest tests/ -v
Format and lint:
ruff format .
ruff check . --fix
Type check:
mypy src/sagellm_protocol
Documentation
For more details:
License
Proprietary - IntelliStream
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
isagellm_protocol-0.3.0.4.tar.gz
(64.7 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
File details
Details for the file isagellm_protocol-0.3.0.4.tar.gz.
File metadata
- Download URL: isagellm_protocol-0.3.0.4.tar.gz
- Upload date:
- Size: 64.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3e481672bcfbff14456e3b48dddfeb4673e4667da46e8f3090907add34b740
|
|
| MD5 |
ad1ae2cb364b69130c886a27fca4d555
|
|
| BLAKE2b-256 |
b1e2e34d279b8742612a3e507d1688815f87c1dbed16c508c9eee038db819053
|
File details
Details for the file isagellm_protocol-0.3.0.4-py2.py3-none-any.whl.
File metadata
- Download URL: isagellm_protocol-0.3.0.4-py2.py3-none-any.whl
- Upload date:
- Size: 77.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e693ab4c708bbef429c7df54557637537926a3d327b7de7fe1ad4c88bebe4f3
|
|
| MD5 |
e45e7ea50b2d606bfbd8279ef3238c36
|
|
| BLAKE2b-256 |
a886d5783bd11a7433e3b6872b5e2ad1f1828a68125b6ab3a9a95591b1fb82f3
|