feat(activity): add SAS stream_delta API for LLM progressive text (1.2.14)
All checks were successful
Publish Python Package to Gitea / publish (push) Successful in 24s
All checks were successful
Publish Python Package to Gitea / publish (push) Successful in 24s
This commit is contained in:
17
README.md
17
README.md
@@ -87,6 +87,8 @@ send_prompt_via_composer(page, "第一行\n第二行")
|
||||
|-----|------|
|
||||
| `emit(text, ...)` | 写 Run Journal(`activity` / `progress` / `warn` / `debug`) |
|
||||
| `step(text)` | `emit(type='activity')` 别名 |
|
||||
| `stream_start` / `stream_delta` / `stream_end` | 写 `type=stream` 渐进文本(**不**步进闸门;供 HTML `jiangchang.stream`) |
|
||||
| `stream_channel(...)` | 上下文管理器:start → delta → end |
|
||||
| `finish(status=..., **fields)` | 写终态事件 + **唯一**向 stdout 输出单行 result JSON |
|
||||
| `rpa_step(name)` | 装饰器:闸门 + 进入/成功/失败自动 emit |
|
||||
| `checkpoint()` | consult control(不写步骤事件) |
|
||||
@@ -94,6 +96,21 @@ send_prompt_via_composer(page, "第一行\n第二行")
|
||||
| `JobStopped` | 宿主 stop 时抛出 |
|
||||
| `job_context(...)` | 可选包裹 main;异常时自动 `finish(failed)` |
|
||||
|
||||
### LLM 流式示例(1.2.14+)
|
||||
|
||||
```python
|
||||
from jiangchang_skill_core.activity import finish, stream_channel
|
||||
|
||||
with stream_channel("answer", skill="reply-xmz-knowledge") as ch:
|
||||
for piece in llm_stream(...): # OpenAI/DeepSeek stream chunks
|
||||
ch.delta(piece)
|
||||
|
||||
finish(status="success", skill="reply-xmz-knowledge", message=full_text, answer=full_text)
|
||||
```
|
||||
|
||||
- `stream_delta` 默认合并短突发(约 50ms / 48 字符);可用环境变量 `JIANGCHANG_STREAM_COALESCE_MS` / `JIANGCHANG_STREAM_COALESCE_CHARS` 调整,或 `flush=True` 立即写出。
|
||||
- 宿主 Task Center **不展示**逐字 `stream` delta;HTML 预览通过 `jiangchang.stream` 订阅。
|
||||
|
||||
### Run Journal 路径(宿主 tail 此文件)
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user