Los sistemas generativos de inteligencia artificial (Genai) se están implementando cada vez más en todas las partes de la industria y los entornos de investigación. Los desarrolladores y los usuarios finales interactúan con estos sistemas mediante el uso de la solicitud o la ingeniería rápida. Si bien la provisión es un concepto generalizado y altamente investigado, existe una terminología contradictoria y una mala comprensión ontológica de lo que constituye un aviso debido a la nascencia del área. Este repositorio es el código para el informe rápido, nuestra investigación que establece una comprensión estructurada de las indicaciones, al ensamblar una taxonomía de las técnicas de incorporación y analizar su uso. Este código permite la revisión automatizada de documentos, la recopilación de datos y la ejecución de experimentos. Nuestro conjunto de datos está disponible en la cara de abrazo y nuestro artículo está disponible en arxiv.org. La información también está disponible en nuestro sitio web.
Después de la clonación, ejecute pip install -r requirements.txt desde la raíz
Haga un archivo en la raíz llamado .env .
Para OpenAi: https://platform.openai.com/docs/quickstart
Para abrazar la cara: https://huggingface.co/docs/hub/security-tokens, también ejecuta huggingface-cli login
Para erudito semático: https://www.semanticscholar.org/product/api#api-key
Use el archivo example.env de referencia.env para completar sus claves/tokens API.
OPENAI_API_KEY=sk.-...
SEMANTIC_SCHOLAR_API_KEY=...
HF_TOKEN=...
Luego para cargar el archivo .env, escriba:
pip install pytest-dotenv
También puede elegir actualizar el archivo ENV haciendo:
py.test --envfile path/to/.env
En el caso de que tenga varios archivos .env, cree un nuevo env_files en la carpeta de configuración de Pytest y escriba:
env_files =
.env
.test.env
.deploy.env
El script main.py llama a las funciones necesarias para descargar todos los documentos, deduplicarlos y filtrarlos, y luego ejecutar todos los experimentos.
El núcleo del repositorio está en src/prompt_systematic_review . El script config_data.py contiene configuraciones que son importantes para ejecutar experimentos y ahorrar tiempo. Puede ver en main.py cómo se utilizan algunas de estas opciones.
La carpeta de origen se divide en 4 secciones principales: 3 scripts ( automated_review.py , collect_papers.py , config_data.py ) que se ocupan de la recopilación de datos y ejecutando la revisión automatizada, la carpeta utils que contiene funciones de utilidad que se usan en todo el repositorio, la carpeta get_papers que contiene los scripts a los scripts a los scripts a los documentos y las carpetas experiments que contienen los scripts.
En la raíz, hay una carpeta data . Viene precargado con algunos datos que se utilizan para los experimentos, sin embargo, la mayor parte del conjunto de datos se puede generar ejecutando main.py o descargando los datos de la cara abrazada. Es en data/experiments_output que se guardan los resultados de los experimentos.
En particular, las palabras clave utilizadas en el proceso de revisión/raspado automatizado están en src/prompt_systematic_review/utils/keywords.py . Cualquiera que desee ejecutar la revisión automatizada puede ajustar estas palabras clave a su gusto en ese archivo.
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 Ejecutar main.py descargará los documentos, ejecutará la revisión automatizada y ejecutará los experimentos. Sin embargo, si desea ahorrar tiempo y solo ejecutar los experimentos, puede descargar los datos de abrazar la cara y mover la carpeta de documentos y todos los archivos CSV en el conjunto de datos en la carpeta de datos (debería parecerse a data/papers/*.pdf y data/master_papers.csv etc). Ajuste Main.py en consecuencia.
Cada script de experimentos tiene una función run_experiment que se llama en main.py La función run_experiment es responsable de ejecutar el experimento y guardar los resultados. Sin embargo, cada script se puede ejecutar individualmente simplemente ejecutando python src/prompt_systematic_review/experiments/<experiment_name>.py desde root.
Hay un experimento, graph_internal_references que, debido a problemas extraños con el paralelismo, se extiende mejor de la raíz como un script individual. Para evitar que cause problemas con otros experimentos, se ejecuta último, ya que se ordena en la parte inferior de la lista en experiments/__init__.py .