Streamed Anthropic thinking content_block_start has no signature field
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
server/anthropic_api.pyから始め、_open_thinking()と_event()を読みます。issueの再現手順では、ストリームで送信されるcontent_block_startの確認方法が示されています。thinkingブロックに期待される空の署名を設定し、対象を絞ったストリームチェックを実行します。開始イベントに期待されるpayloadと一致する"signature":""が含まれていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
A streamed thinking block's content_block_start on /v1/messages is {"type":"thinking","thinking":""}, with no signature. _open_thinking() (server/anthropic_api.py) never sets it, and _event() serializes with exclude_none=True. The Anthropic SDK types ThinkingBlock.signature as a required str. The non-streaming response and the closing signature_delta already send "".
import asyncio
from freetoken.server import anthropic_api as A
from freetoken.server.generation import ReasoningDelta, ContentDelta, GenDone
async def ev():
for e in (ReasoningDelta("x"), ContentDelta("hi"), GenDone("stop", 1, 1)):
yield e
async def main():
async for f in A.anthropic_event_stream(ev(), "m", 1):
if "content_block_start" in f:
print(f.splitlines()[1]) # ..."content_block":{"type":"thinking","thinking":""}...
asyncio.run(main())
Expected: {"type":"thinking","thinking":"","signature":""}.
Environment: main 07813248 (CPU-only check), Python 3.14.
Implementation (on my fork, with a test): e106a9e
- 主要言語
- Python
- スター
- 14.2k
- フォーク
- 1.4k
- 平均マージ
- 21時間 39分
- マージ済み PR(30日)
- 100
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
FlashML-org/FreeToken のほかの issue
-
Desktop feature
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
FlashML-org/FreeToken#800 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
FlashML-org/FreeToken#767 ·
メンテナーはふだん 1 日以内に返信
-
test_gemv_path_matches_the_transcription fails on sm_120 (bf16 rounding tie exceeds the tolerance)対応中かも @void-mckenzie が 17 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
FlashML-org/FreeToken#649 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
FlashML-org/FreeToken#648 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
FlashML-org/FreeToken#646 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
FlashML-org/FreeToken の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
Validate finite output clamping limits in StepPredictor.prepare_clamping_params to prevent silent NaN/Inf propagation対応中かも @muskan-creates352 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
mllam/neural-lam#848 ·
メンテナーはふだん 2 日以内に返信
-
infra
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
fab-geocommuns/RNB-coeur#1166 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
deepspeedai/DeepSpeed#8951 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
aws/context-ontology-accelerator#343 ·
メンテナーはふだん 1 日以内に返信