Les systèmes d'intelligence artificielle générative (Genai) sont de plus en plus déployés dans toutes les parties de l'industrie et de la recherche. Les développeurs et les utilisateurs finaux interagissent avec ces systèmes grâce à l'utilisation d'incidence ou d'ingénierie rapide. Bien que l'invitation soit un concept répandu et très étudié, il existe une terminologie contradictoire et une mauvaise compréhension ontologique de ce qui constitue une invite en raison de la nascence de la région. Ce référentiel est le code du rapport rapide, notre recherche qui établit une compréhension structurée des invites, en assemblant une taxonomie d'incitation aux techniques et d'analyser leur utilisation. Ce code permet l'examen automatisé des articles, la collecte de données et le fonctionnement des expériences. Notre ensemble de données est disponible sur les câlins et notre papier est disponible sur arXiv.org. Des informations sont également disponibles sur notre site Web.
Après le clonage, exécutez pip install -r requirements.txt à partir de la racine
Faites un fichier à la racine appelée .env .
Pour Openai: https://platform.openai.com/docs/quickstart
Pour le visage étreint: https://huggingface.co/docs/hub/security-tokens, exécutez également huggingface-cli login
Pour le chercheur Sematic: https://www.semiticscholar.org/product/api#api-key
Utilisez le fichier de example.env pour remplir vos clés / jetons API.
OPENAI_API_KEY=sk.-...
SEMANTIC_SCHOLAR_API_KEY=...
HF_TOKEN=...
Ensuite, pour charger le fichier .env, tapez:
pip install pytest-dotenv
Vous pouvez également choisir de mettre à jour le fichier env en faisant:
py.test --envfile path/to/.env
Dans le cas où vous avez plusieurs fichiers .env, créez un nouveau Env_Files dans le dossier de configuration PyTest et Type:
env_files =
.env
.test.env
.deploy.env
Le script main.py appelle les fonctions nécessaires pour télécharger tous les articles, les dédupliquer et les filtrer, puis exécuter toutes les expériences.
Le cœur du référentiel est dans src/prompt_systematic_review . Le script config_data.py contient des configurations qui sont importantes pour exécuter des expériences et gagner du temps. Vous pouvez voir dans main.py comment certaines de ces options sont utilisées.
Le dossier source est divisé en 4 sections principales: 3 scripts ( automated_review.py , collect_papers.py , config_data.py ) qui traitent de la collecte des données et de l'exécution de la revue automatisée, le dossier utils qui contient les scripts pour télécharger les papeurs et les experiments get_papers expériences.
À la racine, il y a un dossier data . Il est livré préchargé avec certaines données utilisées pour les expériences, mais la majeure partie de l'ensemble de données peut être générée en exécutant main.py ou en téléchargeant les données de la face de câlins. C'est dans data/experiments_output que les résultats des expériences sont enregistrés.
Notamment, les mots clés utilisés dans le processus de révision / grattage automatisé se trouvent dans src/prompt_systematic_review/utils/keywords.py . Quiconque souhaite exécuter l'examen automatisé peut ajuster ces mots clés à leur goût dans ce fichier.
git clone https://github.com/trigaten/Prompt_Systematic_Review.git && cd Prompt_Systematic_Review
pip install -r requirements.txt
# create a .env file with your API keys
nano .env
git lfs install
git clone https://huggingface.co/datasets/PromptSystematicReview/ThePromptReport
mv ThePromptReport/ * data/
python main.py Running main.py téléchargera les articles, exécutera la revue automatisée et exécutera les expériences. Cependant, si vous souhaitez gagner du temps et exécuter uniquement les expériences, vous pouvez télécharger les données en étreignant la face et déplacer le dossier des papiers et tous les fichiers CSV dans l'ensemble de données dans le dossier de données (devrait ressembler à data/papers/*.pdf et data/master_papers.csv etc). Ajustez main.py en conséquence.
Chaque script d'expérience a une fonction run_experiment qui est appelée dans main.py La fonction run_experiment est responsable de l'exécution de l'expérience et de la sauvegarde des résultats. Cependant, chaque script peut être exécuté individuellement en exécutant simplement python src/prompt_systematic_review/experiments/<experiment_name>.py à partir de root.
Il y a une expérience, graph_internal_references qui, en raison de problèmes étranges avec le parallélisme, est mieux exécuté à partir de root en tant que script individuel. Pour éviter que cela ne provoque des problèmes avec d'autres expériences, il est exécuté en dernier tel qu'il est ordonné au bas de la liste dans experiments/__init__.py .