scope-recall は何をしますか?
Hermesエージェントに永続的なセマンティックメモリを提供します。SQLiteによる真実保存とLanceDBによるベクトル検索を用いて、セッションをまたいだコンテキスト管理を実現します。
概要
このスキルは、Hermesエージェントが会話やタスクの履歴を記憶し、後続のセッションで活用できるようにします。SQLiteデータベースにはエージェントが学習した事実(真実)が保存され、LanceDBベクトルデータベースはセマンティック検索を可能にします。
仕組み
- 真実保存 (SQLite): エージェントが受け取った事実や決定事項を構造化レコードとして保存します。
- ベクトル検索 (LanceDB): 保存された情報をベクトル埋め込みに変換し、意味的類似性に基づいて関連情報を素早く検索します。
- クロスセッション管理: エージェントが新しいセッションを開始する際に、過去のコンテキストを自動的に読み込み、継続性を確保します。
セットアップ
- このリポジトリをHermesエージェント環境にクローンします。
- 必要な依存関係をインストールします:
pip install lancedb sqlite3 numpy
- 環境変数または設定ファイルでデータベースパスを設定します:
SCOPE_RECALL_TRUTH_DB=./data/truth.db
SCOPE_RECALL_VECTOR_DB=./data/vector_db
使い方
エージェント内で以下のコマンドを使用して記憶を操作します:
真実の保存
from scope_recall import TruthStore
store = TruthStore(db_path="./data/truth.db")
store.add_truth("ユーザーはPython開発者です")
記憶の検索
from scope_recall import VectorMemory
memory = VectorMemory(db_path="./data/vector_db")
results = memory.search("Python開発についての以前の会話")
print(results)
コンテキストの復元
各セッションの開始時に、スキルが自動的に以前のコンテキストを読み込み、エージェントの状態を更新します。
設定
config.yamlで動作をカスタマイズできます:
scope_recall:
truth_db_path: "./data/truth.db"
vector_db_path: "./data/vector_db"
embedding_model: "all-MiniLM-L6-v2"
max_results: 5
依存関係
- Python 3.8以上
- LanceDB
- SQLite3(標準搭載)
- NumPy
- 埋め込みモデル(デフォルトではsentence-transformers)
ライセンス
このプロジェクトはMITライセンスの下で提供されています。