GAG : Génération d'un graphe de relations sociales à l'aide d'un grand modèle pour simuler le comportement humain

Introduction générale

GraphAgent est un framework open source hébergé sur GitHub et développé par Ji-Cather. Il utilise le Large Language Model (LLM) pour simuler le comportement humain et générer des graphes sociaux dynamiques avec des attributs textuels. Cet outil convient à des scénarios tels que les médias sociaux en ligne, le commerce électronique et la création d'essais, aidant les utilisateurs à analyser en profondeur les interactions sur le web. Le code de GraphAgent est gratuit et ouvert, et peut être téléchargé, modifié et utilisé pour des recherches en sociologie, en science des réseaux, etc.

GAG:利用大模型模拟人类行为生成社交关系图谱

 

Liste des fonctions

  • Simulation du comportement humainLes relations sociales : Générer un graphe de relations sociales en simulant des interactions humaines réelles à l'aide d'un modèle de grande taille.
  • Génération dynamique de graphes sociauxLes diagrammes dynamiques : créer des diagrammes dynamiques avec des attributs textuels en fonction des données saisies ou des invites de l'utilisateur.
  • Validation de la structure du grapheLes résultats de l'analyse des données sont ensuite comparés à ceux des données réelles afin d'évaluer la précision des macro et micro caractéristiques.
  • Expansion graphique à grande échelleSupport pour la génération de très grands graphes contenant 100 000 nœuds ou 10 millions d'arêtes.
  • Ajustement de la source ouverteLe code complet est fourni et les utilisateurs peuvent personnaliser la fonctionnalité en fonction de leurs besoins.

 

Utiliser l'aide

GraphAgent est un outil open source basé sur GitHub et nécessite quelques bases techniques pour être installé et utilisé. Vous trouverez ci-dessous un guide d'installation et d'utilisation détaillé qui vous permettra de démarrer rapidement.

Processus d'installation

  1. Préparation de l'environnement
    • Installez Python 3.9 (version recommandée). Dans le terminal, tapez python --version Vérifier la version.
    • Pour installer Git, téléchargez-le à partir du site officiel pour les utilisateurs de Windows, ou utilisez-le pour les utilisateurs de Mac. brew install git.
    • Pour créer un environnement virtuel : Dans le terminal, tapez conda create --name LLMGraph python=3.9puis activer conda activate LLMGraph.
  2. Télécharger GraphAgent
    • Saisissez-le dans le terminal :git clone https://github.com/Ji-Cather/GraphAgent.git.
    • Accédez au catalogue de projets :cd GraphAgent.
  3. Installation des dépendances
    • Installer la bibliothèque AgentScope :
      • importation git clone https://github.com/modelscope/agentscope/.
      • Accès au catalogue cd agentscopepuis exécutez git reset --hard 1c993f9 Version verrouillée.
      • Installation :pip install -e .[distribute].
    • Installer les dépendances du projet : exécuter dans le répertoire GraphAgent pip install -r requirements.txt.
  4. Configuration des clés API
    • spectacle (un billet) LLMGraph/llms/default_model_configs.json Documentation.
    • Ajoutez la clé de l'API de votre modèle, comme celle d'OpenAI gpt-3.5-turbo-0125 peut-être VLLM (utilisé comme expression nominale) llama3-70B.
    • Exemple de configuration :
      {
      "model_type": "openai_chat",
      "config_name": "gpt-3.5-turbo-0125",
      "model_name": "gpt-3.5-turbo-0125",
      "api_key": "sk-你的密钥",
      "generate_args": {"max_tokens": 2000, "temperature": 0.8}
      }
      
    • Après avoir enregistré le fichier, vérifiez que la clé est valide.
  5. Projets en cours
    • Dans le terminal, tapez export PYTHONPATH=./ Définition des variables d'environnement.
    • Sélectionnez le modèle de pointe de modèle, par exemple export MODEL=gpt(avec modèle GPT).

Préparation des données

  • Télécharger des exemples de données :
    • importation git clone https://oauth2:RxG7vLWFP_NbDhmB9kXG@www.modelscope.cn/datasets/cather111/GAG_data.git.
    • Les données comprennent des échantillons de tweets, des évaluations de films et des citations d'essais.

Principales fonctions

1. simulation du comportement humain et génération de graphes sociaux

  • Générer des graphiques à partir de données: :
    • Réseau de tweets :python main.py --task tweets --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json".
    • Film Ratings Network :python main.py --task movielens --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json".
    • Réseau de citations de thèses :python main.py --task citeseer --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info_none.json".
  • Générer des diagrammes à partir des données de l'utilisateur: :
    • Exemple :python main.py --user_input "我想模拟作者与论文的互动,生成高聚类度的引用网络" --build.
  • résultat de la sortieLes fichiers générés se trouvent dans le chemin spécifié et peuvent être visualisés à l'aide d'un outil de visualisation tel que Gephi.

2. opérations parallèles accélérées

  • Démarrage des services parallèlesExécution dans un terminal python start_launchers.py --launcher_save_path "LLMGraph/llms/launcher_info.json".
  • opérerDans un autre terminal, lancez python main.py --task tweets --config "small" --build --launcher_save_path "LLMGraph/llms/launcher_info.json".
  • tranchantLa vitesse de TP3T pour la génération de graphes à grande échelle est de 90,41.

3. validation de la structure des chiffres

  • Exécuter le script d'évaluation: :
    • Réseaux sociaux :python evaluate/social/main.py.
    • Réseau de films :python evaluate/movie/main.py.
    • Citer le Web :python evaluate/article/main.py.
  • Analyse des résultatsLes rapports de l'étude peuvent être générés en montrant les caractéristiques macroscopiques (par exemple, les distributions de loi de puissance) et les microstructures (levage de 11%) du graphique.

compétence opérationnelle

  • mode débogage: Exécution avec un seul port (par ex. --launcher_save_path "LLMGraph/llms/launcher_info_none.json") pour faciliter le dépannage.
  • PersonnalisationModification de la loi sur la protection des données main.py ou des fichiers de configuration pour ajuster les paramètres du modèle ou les règles de génération des graphes.
  • Voir l'aide: Run python main.py --help Obtenir les détails de la commande.

mise en garde

  • Assurez-vous que la clé API est valide, sinon le programme ne pourra pas appeler le grand modèle.
  • La génération de graphes à grande échelle nécessite un ordinateur très performant avec au moins 16 Go de mémoire vive.
  • Le projet est continuellement mis à jour, vérifiez régulièrement GitHub pour obtenir la dernière version.

 

scénario d'application

  1. Analyse des médias sociaux
    Modélisation des interactions entre utilisateurs et création de réseaux d'attention pour faciliter la propagation de l'impact de la recherche.
  2. Étude de recommandation sur le commerce électronique
    Optimisation de la conception des systèmes de recommandation par le biais de graphes d'interaction entre l'utilisateur et l'élément.
  3. Réseau de citations académiques
    Générer des cartes de citations d'articles et analyser les tendances de la recherche et les relations savantes.
  4. Une expérience sociologique
    Utilisation de données simulées pour étudier les modèles de comportement humain et explorer les lois de l'évolution des réseaux.

 

QA

  1. Quelle taille de graphe GraphAgent peut-il générer ?
    Prend en charge les graphes à grande échelle avec 100 000 nœuds ou 10 millions d'arêtes, qui sont rapides et peuvent être accélérés en parallèle.
  2. Dois-je payer ?
    Le cadre est gratuit, mais l'appel de grands modèles peut nécessiter une API payante (par exemple, OpenAI).
  3. Des données chinoises sont-elles disponibles ?
    Oui, le chinois et l'anglais sont pris en charge, à condition qu'ils soient au format texte.
  4. Que se passe-t-il si j'obtiens une erreur d'exécution ?
    Vérifiez la version de Python, l'installation des dépendances et la configuration de l'API, ou demandez de l'aide sur GitHub Issues.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...