Newer
Older
TelosDB / document / 05_sidecar_integration.md

サイドカー統合仕様書 (Sidecar Integration Specification)

1. コンセプト

本システムは、Tauri の Sidecar 機能を活用し、内蔵された llama-server バイナリを動的に制御することで、外部 LLM サービスに依存しないローカル嵌入環境を提供します。

2. Sidecar 管理仕様

2.1 実行バイナリ

  • 名称: llama-server
  • アーキテクチャ: x86_64-pc-windows-msvc (Windows 環境時)
  • モデル: Gemma-3-270m-it (Q4_K_M.gguf) - 640次元

2.2 DLL 依存解決 (Windows)

Windows 環境での DLL 地獄(Dependency Hell)を回避するため、build.rs による自動供給システムを導入しています。

  1. 自動コピー: ビルド時に sqlite-vec 等の依存 DLL を node_modules から抽出し、ターゲットディレクトリ(target/release およびその deps)へ自動配置します。
  2. ランタイム解決: lib.rs 内で実行ファイルの親ディレクトリにある bin フォルダを特定し、vec0.dll を動的に読み込みます。

3. 推論エンジン設定

起動時に以下のパラメータを指定します。

引数 説明
--model {path} gemma-3-270m-it-Q4_K_M.gguf へのパス。
--port 8080 内部通信用ポート。
--embedding (flag) 埋め込み (Vector) 生成モードを有効化。
--parallel 1 同時実行数。リソース消費を抑えるため 1 に制限。

4. ライフサイクル

  1. 初期化: App 起動時に Sidecar API を用いて非同期に起動。
  2. ヘルスチェック: mcp.rs 内のモニタースレッドが /health に対し 2 秒間隔でポーリング。
  3. モニタリング: tauri-plugin-shell のストリームを tauri-plugin-log に転送し、一元管理。
  4. 終了処理: アプリ終了時にチャイルドプロセスを確実に Kill。

5. 推論エンジン最適化

  • Vulkan/CPU: 環境に応じて ggml-vulkan.dll または ggml-cpu.dll が自動的にロードされます。
  • ログ管理: logs/telos.logllama-server の起動シーケンスと推論ログが詳細に出力されます。