はじめに
GraphAgentはGitHubでホストされているオープンソースのフレームワークで、Ji-Catherによって開発されました。大規模言語モデル(Large Language Model:LLM)を使用して人間の行動をシミュレートし、テキスト属性を持つ動的なソーシャルグラフを生成する。このツールは、オンライン・ソーシャルメディア、電子商取引、エッセイ作成などのシナリオに適しており、ユーザーがウェブ上のやり取りを深く分析するのに役立ちます。GraphAgentのコードはフリーでオープンであり、ダウンロードや改変が可能で、社会学やネットワーク科学などの研究に利用できる。
機能一覧
- 人間行動シミュレーション大規模なモデルを用いて実際の人間関係をシミュレートし、社会関係グラフを生成する。
- 動的ソーシャルグラフ生成入力データやユーザープロンプトに基づいて、テキスト属性を持つ動的なダイアグラムを作成します。
- グラフ構造の検証生成されたプロットを実際のプロットと比較し、マクロとミクロの特徴の精度を評価する。
- 大規模グラフ展開100,000ノードまたは1,000万エッジを含む非常に大きなグラフの生成をサポート。
- オープンソースの調整完全なコードが提供され、ユーザーは必要に応じて機能をカスタマイズすることができます。
ヘルプの使用
GraphAgentはGitHubをベースとしたオープンソースのツールであり、インストールと使用にはある程度の技術的な基礎が必要です。以下は、すぐに使い始められるように、インストールと操作の詳細ガイドです。
設置プロセス
- 環境を整える
- Python 3.9(推奨バージョン)をインストールする。ターミナルで
python --バージョン
バージョンを確認する。 - Gitのインストール:Windowsユーザーは公式ウェブサイトからダウンロードできる。
gitをインストールする
. - 仮想環境を作成するには:ターミナルで次のようにタイプする。
conda create --name LLMGraph python=3.9
を起動する。LLMGraphを起動する
.
- Python 3.9(推奨バージョン)をインストールする。ターミナルで
- GraphAgentのダウンロード
- それをターミナルに入力する:
git clone https://github.com/Ji-Cather/GraphAgent.git
. - プロジェクト・カタログにアクセスする:
cd GraphAgent
.
- それをターミナルに入力する:
- 依存関係のインストール
- AgentScopeライブラリをインストールします:
- 輸入
git clone https://github.com/modelscope/agentscope/
. - カタログへのアクセス
CDエージェントスコープ
を実行する。git reset --hard 1c993f9
ロックされたバージョン。 - インストール:
pip install -e .[ディストリビュート]
.
- 輸入
- プロジェクトの依存関係をインストールします。
pip install -r requirements.txt
.
- AgentScopeライブラリをインストールします:
- APIキーの設定
- 見せる
LLMGraph/llms/default_model_configs.json
ドキュメンテーション - OpenAIのようなモデルのAPIキーを追加する。
gpt-3.5-turbo-0125
もしかしたら ブイエルエルエム なラマ3-70B
. - 設定例:
{ "config_name": "gpt-3.5-turbo-0125", "model_name": "gpt-3.5-turbo-0125", "model_type": "openai_chat"、 "api_key": "sk-your-key"、 "generate_args": {"max_tokens": 2000, "temperature": 0.8}. }
- ファイルを保存したら、キーが有効であることを確認してください。
- 見せる
- ランニング・プロジェクト
- ターミナルで
export PYTHONPATH=./
環境変数の設定。 - モデル先端のテンプレートを選択する。
エクスポート MODEL=gpt
(GPTテンプレート付き)。
- ターミナルで
データ準備
- サンプルデータのダウンロード
- 輸入
git clone https://oauth2:RxG7vLWFP_NbDhmB9kXG@www.modelscope.cn/datasets/cather111/GAG_data.git
. - データには、ツイートのサンプル、映画の評価、エッセイの引用などが含まれる。
- 輸入
主な機能
1.人間行動シミュレーションとソーシャルグラフ生成
- データからグラフを作成する::
- ツイート・ネットワーク
python main.py --task tweets --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json"
. - 映画レーティング・ネットワーク
python main.py --task movielens --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json"
. - 論文引用ネットワーク:
python main.py --task citeseer --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json"
.
- ツイート・ネットワーク
- ユーザー入力からダイアグラムを生成する::
- 例
python main.py --user_input "著者と論文の相互作用をシミュレートし、高度にクラスタ化された引用ネットワークを生成したい" --build
.
- 例
- 出力結果生成されたファイルは指定したパスの下にあり、Gephiのような可視化ツールで見ることができます。
2.パラレル・アクセラレーション
- 並列サービスの開始ターミナルで実行
python start_launchers.py --launcher_save_path "LLMGraph/llms/launcher_info.json"
. - 操作する別の端末で
python main.py --task tweets --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info.json"
. - ゆうせい90.4%による大規模グラフ生成の高速化。
3.フィギュア構造の検証
- 評価スクリプトの実行::
- ソーシャルネットワーキング:
python evaluate/social/main.py
. - 映画ネットワーク
python evaluate/movie/main.py
. - ウェブの引用
python evaluate/article/main.py
.
- ソーシャルネットワーキング:
- 結果の分析グラフの巨視的特徴(例えば、べき乗分布)と微細構造(11%のリフティング)を示すレポートを作成します。
操作技術
- デバッグモード単一のポートで実行する(例.
-launcher_save_path "LLMGraph/llms/launcher_info_none.json"。
)を使ってトラブルシューティングを容易にする。 - カスタマイズ修正
main.py
または設定ファイルを使用して、モデルのパラメータやグラフ生成ルールを調整します。 - ヘルプを見る走る
python main.py --help
コマンドの詳細を取得する。
ほら
- APIキーが有効であることを確認する。そうしないと、プログラムはビッグモデルを呼び出すことができない。
- 大規模なグラフ生成には、少なくとも16GBのRAMを推奨する高性能コンピュータが必要。
- プロジェクトは継続的にアップデートされているので、GitHubで定期的に最新版をチェックしてほしい。
アプリケーションシナリオ
- ソーシャルメディア分析
ユーザーの相互作用をモデル化し、影響伝播の研究に役立つアテンション・ネットワークを生成する。 - Eコマース推奨調査
ユーザーとアイテムのインタラクショングラフによる推薦システム設計の最適化. - 学術引用ネットワーク
論文の引用マップを作成し、研究動向や学術的関係を分析する。 - 社会学的実験
シミュレーションデータを使って人間の行動パターンを研究し、ネットワーク進化の法則を探る。
品質保証
- GraphAgentはどのくらいの大きさのグラフを生成できますか?
10万ノードまたは1000万エッジの大規模グラフをサポートし、高速で並列加速が可能。 - 支払いは必要ですか?
フレームワークは無料だが、大規模なモデルを呼び出すにはAPI料金が必要になる場合がある(例:OpenAI)。 - 中国のデータは入手可能か?
テキスト形式であれば、中国語でも英語でも大丈夫です。 - ランタイムエラーが発生したら?
Pythonのバージョン、依存関係のインストール、APIの設定を確認するか、GitHub Issuesで助けを求めてください。