Skip to content

内蔵メモリ ​

Memoh に標準搭載されているデフォルトのメモリバックエンドで、Memoh の抽出/検索フローに接続します。次をサポートします。

  • 会話からのメモリ抽出
  • チャット時のセマンティック検索
  • 手動での作成・編集
  • メモリ圧縮とストア全体の再構築

動作のしくみ ​

内蔵プロバイダーは graph モードで動作します。メモリのノードとエッジは唯一の正となるデータとして PostgreSQL に保存され、そこから Markdown ビュー(Bot ワークスペース内の memory/ bundle と MEMORY.md)が派生して、Agent が読み書きできます。

セマンティック検索は、その上に重ねる任意のレイヤーです。

レイヤーストレージ必要なもの提供されるもの
Graph(常時有効)PostgreSQL のメモリノード/エッジメインデータベースのみ構造化されたリコール、メモリ間の関係、圧縮、再構築
セマンティックインデックス(任意)pgvector データベースCompose スタックの [pgvector] データベースに加えて、プロバイダーで embedding モデルを選択していることメモリノードに対するベクトル類似度検索

embedding モデルを選んでいない場合や pgvector を設定していない場合でも、プロバイダーは graph のみのモードでそのまま動作し、セマンティック検索だけがスキップされます。


作成する ​

  1. Memory Providers を開きます。
  2. Add Memory Provider をクリックします。
  3. Name を入力し、Provider Type で builtin を選びます。
  4. Create をクリックします。

設定 ​

フィールド説明
Embedding Model任意。いずれかのモデルプロバイダーの embedding モデルです。選択すると(かつ pgvector が利用可能なら)メモリノードがベクトル化され、セマンティック検索が有効になります。空のままにすると graph のみのモードです。

Edit と Delete は通常どおり使えます。


依存関係 ​

graph のみ ​

メインの PostgreSQL 以外に追加の依存はありません。

セマンティックインデックス ​

デフォルトの Docker Compose スタックには pgvector サービスが含まれており、config.toml にも対応するセクションがあります。

toml
[pgvector]
enabled = true
host = "pgvector"
port = 5432
user = "memoh"
password = "memoh123"
database = "memoh_vector"
sslmode = "disable"

その上で、プロバイダーで Embedding Model を 1 つ選びます。ベクトルは選択したモデルプロバイダー(OpenAI、Gemini、Ollama など)で生成されるため、そのプロバイダーで embedding モデルが利用できる必要があります。


Bot に割り当てる ​

  1. Bots → Bot
  2. 一般 → Memory Provider
  3. 保存

選択していない場合、実行時にこのプロバイダーは使われません。


設定後 ​

個々のメモリは、Bot の メモリ タブで管理します。

  • 手動で新規作成
  • 会話から抽出
  • 検索・編集・削除
  • メモリストアの圧縮・再構築

日常の操作は 長期メモリ を参照してください。

Published under AGPLv3