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.4.0.3.tar.gz
(64.8 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.4.0.3.tar.gz.
File metadata
- Download URL: isagellm_protocol-0.4.0.3.tar.gz
- Upload date:
- Size: 64.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e044ebcd09a53c21e058e42d4cc450d7e89df37846b9b45ea9778cbf0ecea5b0
|
|
| MD5 |
245442128dcf981ba0eaccd22746518c
|
|
| BLAKE2b-256 |
e88bce5a03acf4ddc71ddd438151723030007ab17bc70025966e38a656ba62c6
|
File details
Details for the file isagellm_protocol-0.4.0.3-py2.py3-none-any.whl.
File metadata
- Download URL: isagellm_protocol-0.4.0.3-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 |
b17214198bb8f5da448f26e3f245dd22d93223a21607004814960b8f85508a7d
|
|
| MD5 |
0951631f106ee3ffeb3ea0a04bb66c39
|
|
| BLAKE2b-256 |
9338a4136ddda4fe0c27413d8fdb03603640d2bbbb54d0b138405f1ef64127c3
|