ontogpt Logo" style="max-width: 100%;">
ontogpt est un package Python permettant d'extraire des informations structurées à partir de texte avec de grands modèles de langage (LLM), des invites d'instructions et une mise à la terre basée sur l'ontologie.
Pour plus de détails, veuillez consulter la documentation complète.
ontogpt s'exécute sur la ligne de commande, bien qu'il existe également une interface d'application Web minimale (voir la section Web Application
ci-dessous).
Assurez-vous que Python 3.9 ou supérieur est installé.
Installer avec pip
:
pip install ontogpt
Définissez votre clé API OpenAI :
runoak set-apikey -e openai < your openai api key >
Voir la liste de toutes les commandes ontogpt :
ontogpt --help
Essayez un exemple simple d’extraction d’informations :
echo " One treatment for high blood pressure is carvedilol. " > example.txt
ontogpt extract -i example.txt -t drug
ontogpt récupérera les ontologies nécessaires et affichera les résultats sur la ligne de commande. Votre sortie fournira tous les objets extraits sous le titre extracted_object
.
Il existe une application Web simple pour exécuter ontogpt et afficher les résultats.
Tout d'abord, installez les dépendances requises avec pip
en exécutant la commande suivante :
pip install ontogpt [web]
Exécutez ensuite cette commande pour démarrer l'application Web :
web- ontogpt
REMARQUE : Nous vous déconseillons d'héberger cette application Web publiquement sans authentification.
ontogpt utilise le package litellm
(https://litellm.vercel.app/) pour s'interfacer avec les LLM.
Cela signifie que la plupart des API sont prises en charge, notamment OpenAI, Azure, Anthropic, Mistral, Replicate et au-delà.
Le nom du modèle à utiliser peut être trouvé à partir de la commande ontogpt list-models
- utilisez le nom dans la première colonne avec l'option --model
.
Dans la plupart des cas, cela nécessitera de définir la clé API pour un service particulier comme ci-dessus :
runoak set-apikey -e anthropic-key < your anthropic api key >
Certains points de terminaison, tels que les modèles OpenAI via Azure, nécessitent la définition de détails supplémentaires. Ceux-ci peuvent être définis de la même manière :
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 " >
Ces détails peuvent également être définis en tant que variables d'environnement comme suit :
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 "
Les LLM ouverts peuvent être récupérés et exécutés via le package ollama
(https://ollama.com/).
Vous devrez installer ollama
(voir le dépôt GitHub) et vous devrez peut-être le démarrer en tant que service avec une commande comme ollama serve
ou sudo systemctl start ollama
.
Récupérez ensuite un modèle avec ollama pull <modelname>
, par exemple ollama pull llama3
.
Le modèle peut ensuite être utilisé dans ontogpt en préfixant son nom avec ollama/
, par exemple ollama/llama3
, avec l'option --model
.
Certains modèles ollama peuvent ne pas être répertoriés dans ontogpt list-models
mais la liste complète des LLM téléchargés peut être consultée avec la commande ollama list
.
Les fonctions de ontogpt ont été évaluées sur des données de test. Veuillez consulter la documentation complète pour plus de détails sur ces évaluations et comment les reproduire.
L'approche d'extraction d'informations utilisée dans ontogpt , SPIRES, est décrite plus en détail dans : Caufield JH, Hegde H, Emonet V, Harris NL, Joachimiak MP, Matentzoglu N, et al. Interrogation rapide structurée et extraction récursive de la sémantique (SPIRES) : une méthode pour peupler les bases de connaissances à l'aide d'un apprentissage sans tir. Bioinformatique , volume 40, numéro 3, mars 2024, btae104, https://doi.org/10.1093/bioinformatics/btae104.
Ce projet fait partie de l'Initiative Monarch. Nous remercions également Bosch Research pour son soutien à ce projet de recherche.