5/8/2024
: Mise à jour du code d'inférence GPT-3.5 et LLama2 et des résultats pour la figure 6, qui montre la nature émergente de la synergie cognitive.3/15/2024
: Cet article a été accepté comme article principal de la conférence NAACL2024 ! pip install -r requirements.txt
config_template.sh
et exécutez source config_template.sh
pour configurer les variables d'environnement (notez que nous utilisons l'API Azure dans nos expériences) Nous fournissons des scripts d'exécution pour chacune des trois tâches. Veuillez consulter les commentaires dans les scripts ".sh" pour plus d'informations :
bash scripts/trivia_creative_writing.sh
bash scripts/codenames_collaborative.sh
bash scripts/logic_grid_puzzle.sh
Toutes les invites se trouvent dans le dossier prompts/
.
Tous les ensembles de données se trouvent dans le dossier data/
.
Les résultats expérimentaux dans l'article pour chaque tâche peuvent être trouvés dans le dossier logs/
. gpt4_w_sys_mes
et gpt4_wo_sys_mes
contiennent des résultats correspondant au tableau 2 de notre article. Nous incluons également les résultats gpt-3.5 et lama2-13b correspondant aux résultats de la figure 6, où les hyperparamètres, tels que l'ajout ou non d'un message système, suivent les choix les plus performants dans les expériences gpt4.
"test_output_infos"
: contient des métriques d'évaluation pour chaque instance, par exemple # réponses correctes mentionnées."*raw_responses"
: réponses brutes de chaque appel API."*parsing_flag"
: indique si la réponse brute est analysée avec succès. (pour la tâche Codenames, ce champ est séparé en "parsing_success_flag_spymaster" et "parsing_success_flag_guesser")"unwrapped_output"
: sortie analysée qui sera utilisée pour calculer les métriques d'évaluation. (pour la tâche Codenames, ce champ est séparé en "spymaster_output" et "guesser_output" ; il existe un champ supplémentaire nommé "hint_word" qui est analysé à partir de la sortie du spymaster et inséré dans l'entrée du Guesser ; la métrique d'évaluation est calculée sur la base du " deviner_sortie")"task data"
: données pour l'instance de tâche actuelle, par exemple, questions, réponses, mots cibles, etc."usage"
: journalisation du nombre de jetons et du coût dépensé jusqu'à présent.Veuillez citer l'article et mettre en vedette ce dépôt si vous trouvez ce travail intéressant/utile.
@article{wang2023unleashing,
title={Unleashing Cognitive Synergy in Large Language Models: A Task-Solving Agent through Multi-Persona Self-Collaboration},
author={Wang, Zhenhailong and Mao, Shaoguang and Wu, Wenshan and Ge, Tao and Wei, Furu and Ji, Heng},
journal={arXiv preprint arXiv:2307.05300},
year={2023}
}
Cette base de code faisait référence à la structure du dépôt officiel Tree-of-thought. Nous remercions les auteurs pour leurs efforts d’open source.