ShareAI Platform Docs

チャット応答をストリームする

ShareAIチャット補完のサーバー送信イベントを読み取り、コンテンツデルタを一度だけ追加し、完了、エラー、および中断されたストリームを処理します。

Markdownとして表示
このページについて

設定 stream: true 応答を段階的に受け取るために。HTTP接続を開いたままにし、完全なSSEイベントを解析し、各コンテンツデルタを一度だけ追加します。

POST https://api.shareai.now/api/v1/chat/completions

サーバー送信イベントストリームを返します。

ベースURL
https://api.shareai.now
認証
Bearer APIキーまたは承認済みOAuthアクセストークン

cURL

curl --no-buffer --fail-with-body https://api.shareai.now/api/v1/chat/completions \
  -H "Authorization: Bearer $SHAREAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"model":"MODEL_IDENTIFIER","messages":[{"role":"user","content":"Explain server-sent events briefly."}],"stream":true}'

イベント境界を読む#

SSEは空行でイベントを区切ります。ネットワークチャンクはJSON値を分割することも、複数のイベントを含むこともあるため、各ネットワークリードを完全なJSON応答として解析しないでください。UTF-8を段階的にデコードし、イベントが完了するまで不完全なデータを保持してください。

Plain text

data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}

data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

コンテンツを一度だけレンダリングする#

存在する場合は追加します。 choices[0].delta.content 空白と繰り返しの単語を保持します。役割のみまたは最終チャンクにはコンテンツがない場合があります。 [DONE] ストリーム終了記号として扱います。

ストリームエラーを処理する#

SSEパーサーに入る前にHTTPステータスを確認してください。ストリーミングが開始された後、イベントと予期しない切断を処理します。中断された回答を不完全としてマークし、ユーザーが明示的に再試行できるようにします。部分的な出力に独立して生成された2つ目の回答を追加しないでください。 event: error イベントと予期しない切断。中断された回答を不完全としてマークし、ユーザーが明示的に再試行できるようにします。不完全な出力に対して独立して生成された2つ目の回答を追加しないでください。

アプリケーションからキャンセルする#

ユーザーが生成を停止した際には、HTTPクライアントのキャンセル機能を使用してください。キャンセル、ネットワーク障害、完了した回答はそれぞれ別のUI状態として保持してください。クライアント接続を閉じることで、すでに処理された使用量が取り消されると約束しないでください。

最終更新日 2026年9月15日

ShareAIプラットフォームドキュメント
すべてのドキュメント

タイトルまたは内容で検索してください。

このページについて質問する

このページを探索するためのアシスタントを選択してください。または、ページをコピーして会話に貼り付けることもできます。

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI