ストリーミング・テクノロジーの導入
ChatGPTのようなタイプライター効果出力を有効にする:
- パラメータ設定のリクエストJSONリクエストボディに
"stream": true
フィールド - クライアント側の処理: EventSourceまたはFetch APIを使用したストリーミング読み出しインターフェース、サンプルコード:
fetch('/v1/chat/completions', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({stream: true, messages: [...]})
}).then(async res => {
const reader = res.body.getReader()
while(true) {
const {done, value} = await reader.read()
if(done) break
// 处理分块数据
}
}) - サーバーサイドの最適化起動時の使用は避ける
--log file
パラメータ(I/Oレイテンシを増加させる)
技術的原則:プロジェクトは内部的にSSE(Server-Sent Events)プロトコルを使用しており、各データブロックには以下のものが含まれている。data: [JSON]nn
インクリメンタルコンテンツのフォーマット。
この答えは記事から得たものである。Gemini-CLI-2-API:Gemini CLIをOpenAI互換のネイティブAPIサービスに変換するについて