サーバー応答速度最適化ソリューション
xiaozhi-esp32-serverの待ち時間の問題に対処するために実装できる最適化には4つのレベルがある:
- モデル層の最適化::
- デフォルトのChatGLMを軽量モデルに置き換える (例: config.yamlのllm_modelをAliLLMに変更)
- 必要のない機能モジュールのスイッチオフ(メモリーモードや無駄なTTSエンジンのスイッチオフなど)
- ハードウェアのリソーシング::
- デバイス・メモリ≧4GB(基本要件2GB+スワップ領域2GB)を確保する。
- Python プロセスの CPU アフィニティを設定する:
taskset -c 0,1 python main.py
- ネットワーク層チューニング::
- WiFiの代わりに有線ネットワーク接続を使用する
- WebSocketのハートビート間隔を30秒に設定(ws_heartbeatパラメータを変更)
- パフォーマンス・テストとモニタリング::
- performance_tester.pyスクリプトを定期的に実行する。
- profileパラメータを指定して、パフォーマンスログを生成するサービスを開始する:
python main.py --profile
実装により、応答時間は平均2秒から0.8秒以内に短縮される。特記事項:音声認識とTTS合成は計算集約的なタスクであるため、これらのモジュールはエッジに個別に配置することを推奨します。
この答えは記事から得たものである。xiaozhi-esp32-server: Xiaozhi AIチャットボットオープンソースバックエンドサービスについて































