ontogpt Logo" style="max-width: 100%;">
ontogpt ist ein Python-Paket zum Extrahieren strukturierter Informationen aus Text mit großen Sprachmodellen (LLMs), Anweisungsaufforderungen und ontologiebasierter Begründung.
Weitere Einzelheiten finden Sie in der vollständigen Dokumentation.
ontogpt wird auf der Befehlszeile ausgeführt, es gibt jedoch auch eine minimale Web-App-Schnittstelle (siehe Abschnitt Web Application
unten).
Stellen Sie sicher, dass Python 3.9 oder höher installiert ist.
Mit pip
installieren:
pip install ontogpt
Legen Sie Ihren OpenAI-API-Schlüssel fest:
runoak set-apikey -e openai < your openai api key >
Sehen Sie sich die Liste aller ontogpt -Befehle an:
ontogpt --help
Probieren Sie ein einfaches Beispiel für die Informationsextraktion aus:
echo " One treatment for high blood pressure is carvedilol. " > example.txt
ontogpt extract -i example.txt -t drug
ontogpt ruft die erforderlichen Ontologien ab und gibt Ergebnisse an die Befehlszeile aus. Ihre Ausgabe stellt alle extrahierten Objekte unter der Überschrift extracted_object
bereit.
Es gibt eine einfache Webanwendung zum Ausführen von ontogpt und zum Anzeigen von Ergebnissen.
Installieren Sie zunächst die erforderlichen Abhängigkeiten mit pip
, indem Sie den folgenden Befehl ausführen:
pip install ontogpt [web]
Führen Sie dann diesen Befehl aus, um die Webanwendung zu starten:
web- ontogpt
HINWEIS: Wir empfehlen, diese Webanwendung nicht ohne Authentifizierung öffentlich zu hosten.
ontogpt verwendet das litellm
-Paket (https://litellm.vercel.app/) als Schnittstelle zu LLMs.
Das bedeutet, dass die meisten APIs unterstützt werden, einschließlich OpenAI, Azure, Anthropic, Mistral, Replicate und darüber hinaus.
Der zu verwendende Modellname kann über den Befehl ontogpt list-models
ermittelt werden. Verwenden Sie den Namen in der ersten Spalte mit der Option --model
.
In den meisten Fällen erfordert dies die Festlegung des API-Schlüssels für einen bestimmten Dienst wie oben beschrieben:
runoak set-apikey -e anthropic-key < your anthropic api key >
Für einige Endpunkte, beispielsweise OpenAI-Modelle über Azure, müssen zusätzliche Details festgelegt werden. Diese können ähnlich eingestellt werden:
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 " >
Diese Details können auch wie folgt als Umgebungsvariablen festgelegt werden:
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 "
Offene LLMs können über das ollama
-Paket (https://ollama.com/) abgerufen und ausgeführt werden.
Sie müssen ollama
installieren (siehe GitHub-Repo) und möglicherweise als Dienst mit einem Befehl wie ollama serve
oder sudo systemctl start ollama
starten.
Rufen Sie dann ein Modell mit ollama pull <modelname>
ab, z. B. ollama pull llama3
.
Das Modell kann dann in ontogpt verwendet werden, indem seinem Namen ollama/
vorangestellt wird, z. B. ollama/llama3
, zusammen mit der Option --model
.
Einige Ollama-Modelle sind möglicherweise nicht in ontogpt list-models
aufgeführt, aber die vollständige Liste der heruntergeladenen LLMs kann mit dem Befehl ollama list
angezeigt werden.
Die Funktionen von ontogpt wurden anhand von Testdaten evaluiert. Einzelheiten zu diesen Auswertungen und deren Reproduktion finden Sie in der vollständigen Dokumentation.
Der in ontogpt verwendete Ansatz zur Informationsextraktion, SPIRES, wird weiter beschrieben in: Caufield JH, Hegde H, Emonet V, Harris NL, Joachimiak MP, Matentzoglu N, et al. Strukturierte prompte Abfrage und rekursive Extraktion der Semantik (SPIRES): Eine Methode zum Auffüllen von Wissensdatenbanken mithilfe von Zero-Shot-Lernen. Bioinformatik , Band 40, Ausgabe 3, März 2024, btae104, https://doi.org/10.1093/bioinformatics/btae104.
Dieses Projekt ist Teil der Monarch-Initiative. Wir danken auch Bosch Research für die Unterstützung dieses Forschungsprojekts.