Logotipo ontogpt" style="largura máxima: 100%;">
ontogpt é um pacote Python para extrair informações estruturadas de texto com grandes modelos de linguagem (LLMs), prompts de instrução e fundamentação baseada em ontologia.
Para mais detalhes, consulte a documentação completa.
ontogpt é executado na linha de comando, embora também haja uma interface mínima de aplicativo da web (consulte a seção Web Application
abaixo).
Certifique-se de ter o Python 3.9 ou superior instalado.
Instale com pip
:
pip install ontogpt
Defina sua chave de API OpenAI:
runoak set-apikey -e openai < your openai api key >
Veja a lista de todos os comandos ontogpt :
ontogpt --help
Experimente um exemplo simples de extração de informações:
echo " One treatment for high blood pressure is carvedilol. " > example.txt
ontogpt extract -i example.txt -t drug
ontogpt recuperará as ontologias necessárias e enviará os resultados para a linha de comando. Sua saída fornecerá todos os objetos extraídos sob o título extracted_object
.
Existe um aplicativo da web básico para executar ontogpt e visualizar os resultados.
Primeiro, instale as dependências necessárias com pip
executando o seguinte comando:
pip install ontogpt [web]
Em seguida, execute este comando para iniciar o aplicativo web:
web- ontogpt
NOTA: Não recomendamos hospedar este webapp publicamente sem autenticação.
ontogpt usa o pacote litellm
(https://litellm.vercel.app/) para fazer interface com LLMs.
Isso significa que a maioria das APIs são suportadas, incluindo OpenAI, Azure, Anthropic, Mistral, Replicate e muito mais.
O nome do modelo a ser usado pode ser encontrado no comando ontogpt list-models
- use o nome na primeira coluna com a opção --model
.
Na maioria dos casos, isso exigirá a configuração da chave API para um serviço específico conforme acima:
runoak set-apikey -e anthropic-key < your anthropic api key >
Alguns pontos finais, como os modelos OpenAI através do Azure, requerem a definição de detalhes adicionais. Eles podem ser definidos de forma semelhante:
runoak set-apikey -e azure-key < your azure api key >
runoak set-apikey -e azure-base < your azure endpoint url >
runoak set-apikey -e azure-version < your azure api version, e.g. " 2023-05-15 " >
Esses detalhes também podem ser definidos como variáveis de ambiente da seguinte maneira:
export AZURE_API_KEY= " my-azure-api-key "
export AZURE_API_BASE= " https://example-endpoint.openai.azure.com "
export AZURE_API_VERSION= " 2023-05-15 "
LLMs abertos podem ser recuperados e executados por meio do pacote ollama
(https://ollama.com/).
Você precisará instalar ollama
(consulte o repositório GitHub) e pode ser necessário iniciá-lo como um serviço com um comando como ollama serve
ou sudo systemctl start ollama
.
Em seguida, recupere um modelo com ollama pull <modelname>
, por exemplo, ollama pull llama3
.
O modelo pode então ser usado no ontogpt prefixando seu nome com ollama/
, por exemplo, ollama/llama3
, junto com a opção --model
.
Alguns modelos ollama podem não estar listados em ontogpt list-models
, mas a lista completa de LLMs baixados pode ser vista com o comando ollama list
.
As funções de ontogpt foram avaliadas em dados de teste. Consulte a documentação completa para obter detalhes sobre essas avaliações e como reproduzi-las.
A abordagem de extração de informações usada no ontogpt , SPIRES, é descrita mais detalhadamente em: Caufield JH, Hegde H, Emonet V, Harris NL, Joachimiak MP, Matentzoglu N, et al. Interrogação imediata estruturada e extração recursiva de semântica (SPIRES): Um método para preencher bases de conhecimento usando aprendizagem zero-shot. Bioinformática , Volume 40, Edição 3, março de 2024, btae104, https://doi.org/10.1093/bioinformatics/btae104.
Este projeto faz parte da Iniciativa Monarca. Agradecemos também à Bosch Research pelo seu apoio a este projeto de pesquisa.