# **SARA Engine ツール群について (About Tools)**

SARA Engineプロジェクトには、モデルの学習から評価、データ収集、データベース管理に至るまで、開発と実験を円滑に進めるための多様なスクリプトが含まれています。

すべてのスクリプトは、プロジェクトのルートディレクトリから実行することを想定しています。

## **1\. 統合CLIツール**

* **scripts/sara\_cli.py**  
  SARA Engineの主要な機能（チャット、学習、評価など）をコマンドラインから統合的に呼び出すためのエントリーポイントです。個別のスクリプトのラッパーとして機能します。

## **2\. 学習用スクリプト (scripts/train/)**

SNNモデルの学習（事前学習、ファインチューニング、自己組織化）を行うためのスクリプト群です。**※SARAのポリシーに従い、バックプロパゲーションは使用せず、STDPなどの局所学習則に基づいています。**

* **train\_snn\_lm.py**  
  Spiking Language Model (SNN-LM) の事前学習を実行します。コーパスデータから単語の出現パターンやコンテキストをスパイクのタイミングとして学習します。  
* **train\_chat.py**  
  チャットデータセット (chat\_data.jsonl 等) を用いて、SNNモデルを対話形式にファインチューニング（あるいは直接配線）します。  
* **train\_vision.py**  
  画像データセット（MNIST、Fashion MNISTなど）を用いて、視覚野スパイキングモジュールの学習を行います。  
* **train\_self\_organized.py**  
  構造的プラスティシティ（シナプスの動的生成・消滅）やホメオスタシスを利用した、教師なし/自己組織化学習の実験を行います。  
* **distill\_llm.py**  
  生物学的蒸留（Biological Distillation）モジュールを用いて、巨大なモデルの知識を効率的なスパイク表現へと抽出・転移させます。  
* **optimize\_hyperparams.py**  
  発火閾値、リーク率、STDPの学習率など、SNN特有のハイパーパラメータを自動探索・最適化します。

## **3\. 評価・推論スクリプト (scripts/eval/)**

学習済みモデルのパフォーマンス評価や、ユーザーとのインタラクティブなテストを行うためのスクリプト群です。

* **chat\_agent.py**  
  マルチモーダル処理や記憶へのアクセス能力を持つ、統合的な sara\_agent とのチャットインターフェースを起動します。  
* **chat\_snn\_lm.py**  
  事前学習された純粋なSNN言語モデル（SNN-LM）とのインタラクティブなテキストチャットを行います。  
* **chat\_self\_organized.py**  
  自己組織化モデルベースで構築された対話エージェントのテストを行います。  
* **test\_math\_chat.py**  
  数学的な推論タスクや論理的思考が求められるプロンプトに対する、SNNモデルの応答精度を評価します。  
* **test\_vision\_inference.py**  
  視覚モデル（スパイキング画像分類器など）の推論精度をテスト・評価します。  
* **health\_check.py**  
  SARA Engineのモジュール依存関係、Rustコア (sara\_rust\_core) のロード状態、環境変数のヘルスチェックを実行します。

## **4\. データ収集・前処理スクリプト (scripts/data/)**

学習に使用するコーパスやデータセットを収集・整形するためのスクリプトです。

* **collect\_all.py**  
  設定されたすべてのデータソースから一括してテキスト・データを収集・統合します。  
* **collect\_aozora.py**  
  青空文庫などのオープンソースデータから日本語テキストを収集し、SNNで処理可能なコーパス形式に変換します。  
* **collect\_docs.py**  
  プロジェクト内のドキュメントや外部の技術文書を収集し、知識ベース（RAG用のテキスト等）として整形します。  
* **collect\_math.py**  
  論理推論力を高めるための、数学的問題や数式データセットを収集・パースします。
* **collect\_dvs.py**  
  DVSのイベントデータ（CSV/NPZ/AEDAT）をスパイク列JSONLに変換し、空間・時間のダウンサンプリングにも対応します。

## **5\. ユーティリティ・データベース管理 (scripts/utils/)**

LTM（長期記憶）ベクトルストアやSQLiteデータベースのメンテナンス、ネットワークの最適化を行うスクリプト群です。

* **manage\_db.py**  
  SARA Engineのコーパスデータベース (data/sara\_corpus.db) の初期化、更新、マイグレーション管理を行います。  
* **fix\_memory.py**  
  LTM（長期記憶）やSNNベクトルストア内の破損したエントリや、不整合が発生している記憶データの修復を行います。  
* **prune\_memory.py**  
  発火頻度が極端に低い不要なシナプスや、陳腐化した古い記憶ベクトルを剪定（Pruning）し、推論速度とメモリ効率を向上させます。
