AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

Memary:知識グラフを使ってエージェントの長期記憶を強化するオープンソースプロジェクト

はじめに

Memaryは革新的なオープンソースプロジェクトで、自律的なインテリジェンスに長期的なメモリ管理ソリューションを提供することに重点を置いている。このプロジェクトは、インテリジェンスが従来のコンテキストウィンドウの制限を突破し、知識グラフと特殊化されたメモリモジュールを通じて、よりスマートなインタラクション体験を実現できるよう支援します。Memaryは、自動メモリ生成メカニズムを使用して、インテリジェンスとのインタラクション中にメモリを自動的に更新し、統一されたダッシュボードを通じてこれらのメモリを表示します。このシステムは、ローカルで動作するLlamaモデルやLLaVAモデル、クラウド上のGPTモデルなど、複数のモデル構成をサポートしています。さらに、Memaryはマルチグラフをサポートしており、開発者はユーザーごとに独立したインテリジェンスのインスタンスを作成し、パーソナライズされたメモリー管理を行うことができます。

Memary:ナレッジグラフ-1を用いたエージェント長期記憶強化のためのオープンソースプロジェクト

メマリー全体アーキテクチャ


 

Memary:ナレッジグラフ-1を用いたエージェント長期記憶強化のためのオープンソースプロジェクト

メマリーエージェント

 

Memary:ナレッジグラフ-1を用いたエージェント長期記憶強化のためのオープンソースプロジェクト

メマリー・ナレッジグラフ

 

Memary:ナレッジグラフ-1を用いたエージェント長期記憶強化のためのオープンソースプロジェクト

メモリーモジュール

 

機能一覧

  • メモリの自動生成と更新
  • 知識グラフの保存と検索
  • メモリ・ストリームのトラッキング・エンティティとタイムスタンプ
  • エンティティ知識ストア(EKS)の管理頻度と適時性
  • 知識グラフ検索を最適化する再帰的検索手法
  • マルチホップ推論が複雑なクエリ処理をサポート
  • カスタムツールエクステンションのサポート
  • マルチ・インテリジェンス・ボディ・マッピング・マネジメント
  • メモリ圧縮とコンテキスト・ウィンドウの最適化
  • トピック抽出とエンティティ分類
  • 時間軸分析機能

 

ヘルプの使用

1.インストール構成

1.1 基本要件

  • 必要なPythonのバージョン: <= 3.11.9
  • 仮想環境でのインストールを推奨

1.2 設置方法
a) pipを使ってインストールする。

pip install memary

b) 現地設置。

  • 仮想環境の作成と起動
  • インストールの依存関係。 pip install -r requirements.txt

1.3 モデル構成
メマリーは2つの動作モードをサポートしている:

  • ローカルモード(デフォルト):使用 オーラマ 運用モデル
    • LLM:ラマ3 8B/40B(推奨)
    • ビジュアルモデル:LLaVA(推奨)
  • クラウドモード:
    • LLM:gpt-3.5-ターボ
    • ビジョンモデル:gpt-4-vision-preview

2.環境準備

2.1 .env ファイルの設定

OPENAI_API_KEY="YOUR_API_KEY"
PERPLEXITY_API_KEY="YOUR_API_KEY"
GOOGLEMAPS_API_KEY="YOUR_API_KEY"
ALPHA_VANTAGE_API_KEY="YOUR_API_KEY"
# 数据库配置(二选一):
FALKORDB_URL="falkor://[[username]:[password]]@[falkor_host_url]:port"
或
NEO4J_PW="YOUR_NEO4J_PW"
NEO4J_URL="YOUR_NEO4J_URL"

2.2 ユーザー設定の更新

  • コンパイラ streamlit_app/data/user_persona.txt ユーザー特性の設定
  • オプション:修正 streamlit_app/data/system_persona.txt システム特性の調整

3.基本的な使い方

3.1 アプリケーションの起動

cd streamlit_app
streamlit run app.py

3.2 コード例

from memary.agent.chat_agent import ChatAgent
# 初始化聊天智能体
chat_agent = ChatAgent(
"Personal Agent",
memory_stream_json,
entity_knowledge_store_json,
system_persona_txt,
user_persona_txt,
past_chat_json,
)
# 添加自定义工具
def multiply(a: int, b: int) -> int:
"""乘法计算工具"""
return a * b
chat_agent.add_tool({"multiply": multiply})
# 移除工具
chat_agent.remove_tool("multiply")

4.マルチインテリジェンス構成

FalkorDBデータベースを使用する場合に適用されます:

# 用户 A 的个人智能体
chat_agent_user_a = ChatAgent(
"Personal Agent",
memory_stream_json_user_a,
entity_knowledge_store_json_user_a,
system_persona_txt_user_a,
user_persona_txt_user_a,
past_chat_json_user_a,
user_id='user_a_id'
)
# 用户 B 的个人智能体
chat_agent_user_b = ChatAgent(
"Personal Agent",
memory_stream_json_user_b,
entity_knowledge_store_json_user_b,
system_persona_txt_user_b,
user_persona_txt_user_b,
past_chat_json_user_b,
user_id='user_b_id'
)

5.メモリー管理機能

5.1 メモリ・ストリーム

  • すべてのエンティティとそのタイムスタンプを自動的にキャプチャする
  • タイムライン分析のサポート
  • テーマ抽出機能

5.2 エンティティ知識ストア

  • エンティティの引用頻度と適時性の追跡
  • エンティティ関連度ランキング
  • エンティティ分類機能
  • 時変分析

5.3 ナレッジ・マッピング機能

  • 再帰検索の最適化
  • マルチホップ推論のサポート
  • 自動更新メカニズム
無断転載を禁じます:チーフAIシェアリングサークル " Memary:知識グラフを使ってエージェントの長期記憶を強化するオープンソースプロジェクト
ja日本語