Open1
Module-LLMでのStackFlow llm-llmについて

LLMモジュール詳細仕様書
概要
LLMモジュールは、大規模言語モデル(Large Language Model)を利用したテキスト生成システムです。TCP/IP通信を介してJSONベースのプロトコルを採用し、ストリーミング形式での応答に対応しています。複数の言語モデルをサポートし、柔軟な設定オプションを提供します。
システム要件
通信仕様
- プロトコル:TCP/IP
- デフォルトホスト名:m5stack-LLM.local
- デフォルトポート:10001
- データフォーマット:UTF-8エンコードされたJSON
- 通信方式:ストリーミング対応の双方向通信
サポートモデル
本システムは以下の言語モデルをサポートしています:
-
Qwenシリーズ
- qwen2.5-0.5B-prefill-20e
- qwen2.5-1.5B-ax630c
-
Llamaシリーズ
- llama3.2-1B-prefill-ax630c
- openbuddy-llama3.2-1B-ax630c
通信プロトコル仕様
セッション初期化
初期化リクエスト形式:
{
"request_id": "llm_001",
"work_id": "llm",
"action": "setup",
"object": "llm.setup",
"data": {
"model": "<モデル名>",
"response_format": "llm.utf-8.stream",
"input": "llm.utf-8.stream",
"enoutput": true,
"max_token_len": 1023,
"prompt": "<システムプロンプト>"
}
}
設定可能なパラメータ:
- model:使用する言語モデルの指定
- response_format:応答フォーマット(ストリーミング形式推奨)
- input:入力フォーマット
- max_token_len:最大トークン長(1〜1023の範囲)
- prompt:システムプロンプト(モデルの初期設定)
推論リクエスト
テキスト生成リクエスト形式:
{
"request_id": "llm_001",
"work_id": "<セッションID>",
"action": "inference",
"object": "llm.utf-8.stream",
"data": {
"delta": "<入力テキスト>",
"index": 0,
"finish": true
}
}
ストリーミング応答
応答データ形式:
{
"created": "<タイムスタンプ>",
"data": {
"delta": "<生成テキスト断片>",
"finish": false,
"index": 0
},
"error": {
"code": 0,
"message": ""
},
"object": "llm.utf-8.stream",
"request_id": "<リクエストID>",
"work_id": "<セッションID>"
}
セッション終了
終了リクエスト形式:
{
"request_id": "llm_exit",
"work_id": "<セッションID>",
"action": "exit"
}
モデル特性
Qwen 2.5シリーズ
-
qwen2.5-0.5B-prefill-20e
- サイズ:0.5Bパラメータ
- 特徴:軽量かつ高速な応答
- 用途:一般的な対話や短文生成
-
qwen2.5-1.5B-ax630c
- サイズ:1.5Bパラメータ
- 特徴:より高度な文脈理解と生成能力
- 用途:複雑な対話や長文生成
Llama 3.2シリーズ
-
llama3.2-1B-prefill-ax630c
- サイズ:1Bパラメータ
- 特徴:バランスの取れた性能
- 用途:汎用的な対話システム
-
openbuddy-llama3.2-1B-ax630c
- サイズ:1Bパラメータ
- 特徴:対話に最適化された応答
- 用途:自然な会話システム
システム動作仕様
初期化プロセス
- TCP接続の確立
- モデルの初期化リクエスト送信
- セッションIDの取得と保持
- システムプロンプトの適用
推論プロセス
- ユーザー入力の受信と処理
- ストリーミング形式での逐次応答
- 応答完了の確認(finish: true)
- エラー処理とリカバリ
性能特性
- 最大トークン長:1023トークン
- ストリーミング遅延:モデルサイズにより可変
- メモリ使用量:モデルサイズに依存
- 同時接続処理:シングルセッション推奨
エラー処理
システムは以下のエラー状況に対応しています:
-
通信エラー
- 接続エラー
- タイムアウト
- データ形式エラー
-
モデルエラー
- 初期化エラー
- 推論エラー
- リソース不足
-
セッション管理
- セッションタイムアウト
- 不正なセッションID
- リソース解放エラー