はじめに
Memaryは革新的なオープンソースプロジェクトで、自律的なインテリジェンスに長期的なメモリ管理ソリューションを提供することに重点を置いている。このプロジェクトは、インテリジェンスが従来のコンテキストウィンドウの制限を突破し、知識グラフと特殊化されたメモリモジュールを通じて、よりスマートなインタラクション体験を実現できるよう支援します。Memaryは、自動メモリ生成メカニズムを使用して、インテリジェンスとのインタラクション中にメモリを自動的に更新し、統一されたダッシュボードを通じてこれらのメモリを表示します。このシステムは、ローカルで動作するLlamaモデルやLLaVAモデル、クラウド上のGPTモデルなど、複数のモデル構成をサポートしています。さらに、Memaryはマルチグラフをサポートしており、開発者はユーザーごとに独立したインテリジェンスのインスタンスを作成し、パーソナライズされたメモリー管理を行うことができます。
機能一覧
- メモリの自動生成と更新
- 知識グラフの保存と検索
- メモリ・ストリームのトラッキング・エンティティとタイムスタンプ
- エンティティ知識ストア(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="あなたの_api_key"
perplexity_api_key="あなたの_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、
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 = チャットエージェント(
"個人エージェント"、
memory_stream_json_user_a、
content_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 = チャットエージェント(
「パーソナルエージェント
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 ナレッジ・マッピング機能
- 再帰検索の最適化
- マルチホップ推論のサポート
- 自動更新メカニズム