Dieses Projekt ChemInstruct besteht aus drei Hauptkomponenten:
Die Installation beider Komponenten ist unterschiedlich und wird in den jeweiligen Ordnern gleich erwähnt.
NERLLaMA ist ein NER-Tool (Named Entity Recognition), das einen maschinellen Lernansatz verwendet, um benannte Entitäten im Text zu identifizieren. Das Tool nutzt die Leistungsfähigkeit von Large Language Models (LLMs). Das Tool ist benutzerfreundlich und flexibel gestaltet und ermöglicht es Benutzern, Modelle anhand ihrer eigenen Daten zu trainieren und auszuwerten.
Um NERLLaMA zu installieren, muss Python 3.9 oder höher auf Ihrem System installiert sein. Um NERLLaMA zu installieren, navigieren Sie zu ChemInstruct/NERLLaMA und führen Sie den folgenden Befehl aus:
pip install -e .
Das Tool/Paket kann wie folgt verwendet werden
1: Als Paket:
Dadurch wird das Nerllama-Paket in Ihrer aktiven Python-Venv- oder Conda-Umgebung installiert. Daher kann das Paket direkt in Ihrem eigenen benutzerdefinierten Code verwendet werden.
from nerllama . schemas . ChemStruct import InstructDataset
id = InstructDataset ()
id . convert_instruction_causal ()
2: Von CLI
Sobald die obige Installation abgeschlossen ist. Es steht auch eine nerl
-CLI-Schnittstelle zur Verfügung, auf die vom Terminal aus zugegriffen werden kann. Dieser CLI-Befehl ermöglicht die schnelle und einfache Verwendung der Nerllama-Befehle zum Extrahieren von Entitäten usw. Weitere Informationen zur Verwendung des Befehls finden Sie unter CLI-Interaktion.
Ein Teil dieses Projekts basiert auf vllm. Stellen Sie sicher, dass Sie über gcc Version 5 oder höher und CUDA-Versionen zwischen 11.0 und 11.8 verfügen, wie in den Installationsanforderungen für vllm angegeben.
NERLLaMA verwendet die Hugging Face Transformers-Bibliothek, um mit LLMs zu arbeiten. Um das Tool nutzen zu können, benötigen Sie ein Konto auf der Hugging Face-Website. Hier können Sie sich für ein Konto anmelden. Wir haben die vorab trainierten Modelle über die GPU optimiert und ausgewertet. Daher erfordert das Projekt die Installation von CUDA und cuDNN auf Ihrem System.
Auf LLaMA-Modelle kann erst zugegriffen werden, nachdem Zugriff auf die Modelle über das Meta AI-Portal und Hugging Face erhalten wurde. Das Gleiche kann beim LLaMA HuggingFace angefordert werden.
Um NERLLaMA verwenden zu können, benötigen Sie ein geschultes Modell. In diesem Projekt stellen wir ein vorab trainiertes Modell zur Verfügung, das Sie für den Einstieg verwenden können. Um das vorab trainierte Modell zu verwenden, führen Sie den folgenden Befehl aus:
python main.py --text " Your text goes here " --model " llama2-chat-ft " --pipeline " llm " --auth_token " <your huggingface auth token> "
python main.py --file " <workspace_root>/ChemInstruct/NERLLaMA/nerllama/data/sample.txt " --model " llama2-chat-ft " --pipeline " llm " --auth_token " <your huggingface auth
Modelle:
llama2-chat-ft
– Feinabstimmung des LLaMA2-Chatsllama2-base-ft
– Feinabstimmung der LLaMA2-Basisllama2-chat
- LLaMA2 Chat HFllama2-chat-70b
- LLaMA2 Chat HF 70Bmistral-chat-7b
– MistralAI 7B Instruct v0.2falcon-chat-7b
– Falcon 7b Instruct von TIIRohrleitungen:
llm
– Großes Sprachmodellrag
– Retrieval Augmented GenerationWir haben W&B verwendet, um Generierungs-/Trainingsdaten zu sammeln und zu synchronisieren. Wenn Sie CLI verwenden, werden Sie möglicherweise aufgefordert, eine Verbindung zu W&B herzustellen.
wandb: (1) Create a W & B account
wandb: (2) Use an existing W & B account
wandb: (3) Don ' t visualize my results
wandb: Enter your choice: 3
Wenn Sie zur Auswahl aufgefordert werden, geben Sie 3 ein, um die Verbindung zu W&B zu überspringen
NERLLaMA stellt einen nerl
CLI-Befehl für den einfachen Zugriff auf die Mautfunktionen bereit
Ausführen des Befehls nerl nerllama
um chemische Entitäten aus einer bestimmten Datei zu extrahieren
nerl nerllama run "<path to file containing chemical literature>" <model HF path / or shorthand (mentioned above)> <pipeline: LLM/RAG> <hf token>
nerl nerllama run /home/ubuntu/data/sample_text.txt llama2-chat-ft LLM hf_*****
nerl nerllama run /home/ubuntu/data/sample_text.txt meta-llama/Meta-Llama-3-8B-Instruct LLM hf_*****
nerl nerllama run /home/ubuntu/data/sample_text.txt llama2-chat-ft RAG hf_*****
TestingNERTools ist ein Projekt zum Testen der verfügbaren NER-Tools auf dem Markt. Das Projekt ist benutzerfreundlich und flexibel gestaltet, sodass Benutzer die unterstützten Tools im Projekt problemlos testen können.
Das Projekt ist in zwei Teile gegliedert: Der erste Teil basiert auf Java und der zweite Teil basiert auf Python.
Erstens: Um den Java-Teil zu installieren, muss Java 8 oder höher auf Ihrem System installiert sein.
Laden Sie die folgenden Dateien herunter:
Verschieben Sie alle oben heruntergeladenen Dateien in den Paketordner.
Extrahieren Sie javafx-sdk-21.zip im Paketordner
Um das Projekt zu erstellen, führen Sie den folgenden Befehl aus:
javac -cp " .;<root directory>ChemInstructTestingNERToolspackages*;<root directory>ChemInstructTestingNERToolssrc " <root directory>ChemInstructTestingNERToolssrcStartEvaluation.java
java -cp " .;<root directory>ChemInstructTestingNERToolspackages*;<root directory>ChemInstructTestingNERToolssrc " <root directory>ChemInstructTestingNERToolssrcStartEvaluation.java --directory <input directory path> --tool <tool name> --dataset <dataset>
Argumente:
Zweitens: Um den Python-Teil zu installieren, muss Python 3.9 oder höher auf Ihrem System installiert sein.
Führen Sie den folgenden Befehl aus, um alle Abhängigkeiten zu installieren:
cd python_src
pip install -r requirements.txt
Die Verwendung beider Komponenten ist unterschiedlich und wird in den jeweiligen Ordnern auf die gleiche Weise erwähnt.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der LIZENZ-Datei.
Wir möchten dem Hugging Face-Team für die Bereitstellung der Infrastruktur und der Tools danken, die dieses Projekt ermöglicht haben. Wir möchten uns auch bei der Community für ihre Unterstützung und Beiträge bedanken.