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
🔄 贡献指南
请遵循以下工作流程:
-
创建 Issue - 描述问题/需求
gh issue create --title "[Bug] 描述" --label "bug,sagellm-protocol"
-
开发修复 - 在本地
fix/#123-xxx分支解决git checkout -b fix/#123-xxx origin/main-dev # 开发、测试... pytest -v ruff format . && ruff check . --fix
-
发起 PR - 提交到
main-dev分支gh pr create --base main-dev --title "Fix: 描述" --body "Closes #123"
-
合并 - 审批后合并到
main-dev
更多详情见 .github/copilot-instructions.md
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
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.8.tar.gz.
File metadata
- Download URL: isagellm_protocol-0.4.0.8.tar.gz
- Upload date:
- Size: 75.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9de434dd602a4da9eed9413649a526b894209e8c90fec62e56e85697c2536c74
|
|
| MD5 |
e6a8d495df17133513d261ff2cc288ce
|
|
| BLAKE2b-256 |
a342f7dfd79fc595bcdc8b7ddcb04bb3a1c4a045625b56c73770a1056b41850e
|
File details
Details for the file isagellm_protocol-0.4.0.8-py2.py3-none-any.whl.
File metadata
- Download URL: isagellm_protocol-0.4.0.8-py2.py3-none-any.whl
- Upload date:
- Size: 87.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef303e69ae0533c84887d3925ccae40254c295d451f29cd73eb727c7a58b8174
|
|
| MD5 |
8331643e3c5a40a9219aa550740033e8
|
|
| BLAKE2b-256 |
e721b8cc5e81167d46c0489c8362e00827aa5b72dbc3b258e9d3850a306fe3b4
|