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.3.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.3.tar.gz.
File metadata
- Download URL: isagellm_protocol-0.3.0.3.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 |
44356abf10091efe51aaae11fe1920f6dfa0e016494a031d41de63972d53367b
|
|
| MD5 |
9f491764282a7b761d562053f5c60f35
|
|
| BLAKE2b-256 |
a8904f4155764928c23088968c10eac34c594257de036759f90df226284ac612
|
File details
Details for the file isagellm_protocol-0.3.0.3-py2.py3-none-any.whl.
File metadata
- Download URL: isagellm_protocol-0.3.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 |
4105e17dbc379c62dc11babacd9cee15ba1039b1ab50e2f15ddaf0314875085d
|
|
| MD5 |
ba14196816fee9e8494ab7df98fda1d2
|
|
| BLAKE2b-256 |
0fe3f7616bbfcc203b1840aeed7c397e46cba5b0ae599ab8b3327a543917b7ef
|