O advento do processamento de linguagem natural e dos grandes modelos de linguagem (LLMs) revolucionou a extração de dados de artigos acadêmicos não estruturados. No entanto, garantir a fiabilidade dos dados continua a ser um desafio significativo. PropertyExtractor é uma ferramenta de código aberto que aproveita LLMs de conversação avançados, como Google Gemini Pro e OpenAI GPT-4 , combina zero-shot com aprendizado em contexto de poucos disparos e emprega prompts projetados para o refinamento dinâmico de hierarquias de informações estruturadas para permitir autonomia identificação, extração e verificação eficiente, escalonável e precisa de dados de propriedades de materiais para gerar um banco de dados de propriedades de materiais.
PropertyExtractor oferece opções de instalação simples, adequadas para várias preferências do usuário, conforme explicado abaixo. Observamos que todas as bibliotecas e confiáveis são automaticamente determinadas e instaladas junto com o executável "propertyextract" do PropertyExtractor em todas as opções de instalação.
Usando pip : Nossa maneira recomendada de instalar o pacote PropertyExtractor é usando pip.
pip install -U propertyextract
Do código-fonte :
git clone [[email protected]:gmp007/PropertyExtractor.git]
pip install .
Instalação via setup.py :
setup.py
: python setup.py install [--prefix=/path/to/install/]
--prefix
é útil para instalações em ambientes como sistemas compartilhados de computação de alto desempenho (HPC), onde os privilégios administrativos podem ser restritos.pip
não forem aplicáveis. Por favor, não exponha suas chaves de API. Antes de executar PropertyExtractor , configure as chaves de API do Google Gemini Pro e OpenAI GPT-4 como variáveis de ambiente.
export GPT4_API_KEY= ' your_gpt4_api_key_here '
export GEMINI_PRO_API_KEY= ' your_gemini_pro_api_key_here '
set GPT4_API_KEY= ' your_gpt4_api_key_here '
set GEMINI_PRO_API_KEY= ' your_gemini_pro_api_key_here '
PropertyExtractor é fácil de executar. As principais etapas para inicializar o PropertyExtractor são as seguintes:
Geração de dados não estruturados *: Utilize API para obter a propriedade do material que deseja gerar no banco de dados dos editores de sua preferência. Escrevemos funções de API para API ScienceDirect da Elsevier, API REST CrossRef e API PubMed. Podemos compartilhar alguns deles, se necessário.
Crie um diretório de cálculo :
propextract -0
para gerar o modelo de entrada principal do PropertyExtractor , que é o extract.in
. Modifique seguindo as instruções detalhadas incluídas.additionalprompt.txt' for augmenting additional custom prompts and
keywords.json' para palavras-chave adicionais customizadas para dar suporte à palavra-chave primária também são gerados. Modifique para se adequar à propriedade do material que está sendo extraído. O modelo de entrada principal `extract.in' se parece com o seguinte: ###############################################################################
### The input file to control the calculation details of PropertyExtract ###
###############################################################################
# Type of LLM model: gemini/chatgpt
model_type = gemini
# LLM model name: gemini-pro/gpt-4
model_name = gemini-pro
# Property to extract from texts
property = thickness
# Harmonized unit for the property to be extracted
property_unit = Angstrom
# temperature to max_output_tokens are LLM model parameters
temperature = 0.0
top_p = 0.95
max_output_tokens = 80
# You can supply additional keywords to be used in conjunction with the property: modify the file keywords.json
use_keywords = True
# You can add additional custom prompts: modify the file additionalprompt.txt
additional_prompts = additionalprompt.txt
# Name of input file to be processed: csv/excel format
inputfile_name = 2Dthickness_Elsevier.csv
# Column name in the input file to be processed
column_name = Text
# Name of output file
outputfile_name = ppt_test
Inicialize o trabalho :
propextract
para iniciar o processo de cálculo.Compreendendo as opções do PropertyExtractor :
extract.in
inclui texto descritivo para cada sinalizador, tornando-o fácil de usar. Se você usou o pacote PropertyExtractor em sua pesquisa, cite:
@article{Ekuma2024,
title = {Dynamic In-context Learning with Conversational Models for Data Extraction and Materials Property Prediction},
journal = {XXX},
volume = {xx},
pages = {xx},
year = {xx},
doi = {xx},
url = {xx},
author = {Chinedu Ekuma}
}
@misc{PropertyExtractor,
author = {Chinedu Ekuma},
title = {PropertyExtractor -- LLM-based model to extract material property from unstructured dataset},
year = {2024},
howpublished = { url {https://github.com/gmp007/PropertyExtractor}},
note = {Open-source tool leveraging LLMs like Google Gemini Pro and OpenAI GPT-4 for material property extraction},
}
Se você tiver alguma dúvida ou encontrar um bug, entre em contato conosco.
Sinta-se à vontade para entrar em contato conosco por e-mail:
Seus comentários e perguntas são inestimáveis para nós e estamos ansiosos para ouvir de você.
Este projeto está licenciado sob a GNU GPL versão 3 - consulte o arquivo LICENSE para obter detalhes.