Ce projet ChemInstruct comporte 3 composantes principales :
L'installation des deux composants est différente et la même chose est mentionnée dans les dossiers respectifs.
NERLLaMA est un outil de reconnaissance d'entités nommées (NER) qui utilise une approche d'apprentissage automatique pour identifier les entités nommées dans le texte. L'outil utilise la puissance des grands modèles linguistiques (LLM). L'outil est conçu pour être facile à utiliser et flexible, permettant aux utilisateurs de former et d'évaluer des modèles sur leurs propres données.
Pour installer NERLLaMA, vous devrez avoir Python 3.9 ou supérieur installé sur votre système. Pour installer NERLLaMA, accédez à ChemInstruct/NERLLaMA et exécutez la commande suivante :
pip install -e .
L'outil/package peut être utilisé comme ci-dessous
1 : Comme paquet :
Cela installe le package nerllama dans votre venv python actif ou conda env. Le package peut donc être directement utilisé dans votre propre code personnalisé.
from nerllama . schemas . ChemStruct import InstructDataset
id = InstructDataset ()
id . convert_instruction_causal ()
2 : Depuis la CLI
Une fois l’installation ci-dessus terminée. une interface nerl
CLI est également disponible et accessible depuis le terminal. Cette commande cli facilite une utilisation rapide et facile des commandes nerllama pour extraire des entités, etc. Vérifiez CLI-Interaction pour plus de détails sur la façon d'utiliser la commande.
Une partie de ce projet repose sur vllm. Assurez-vous d'avoir gcc version 5 ou ultérieure et les versions CUDA comprises entre 11.0 et 11.8, comme spécifié dans les exigences d'installation de vllm.
NERLLaMA utilise la bibliothèque Hugging Face Transformers pour travailler avec les LLM. Vous devrez avoir un compte sur le site Web Hugging Face pour utiliser l'outil. Vous pouvez créer un compte ici. Nous avons affiné et évalué les modèles pré=entraînés sur GPU. Par conséquent, le projet nécessite que CUDA et cuDNN soient installés sur votre système.
Les modèles LLaMA ne sont accessibles qu'après avoir accès aux modèles depuis le portail Meta AI et Hugging Face. La même chose peut être demandée auprès du LLaMA HuggingFace.
Pour utiliser NERLLaMA, vous aurez besoin d’un modèle formé. Dans ce projet, nous fournissons un modèle pré-entraîné que vous pouvez utiliser pour commencer. Pour utiliser le modèle pré-entraîné, exécutez la commande suivante :
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
modèles:
llama2-chat-ft
- Chat LLaMA2 affinéllama2-base-ft
- Base LLaMA2 optimiséellama2-chat
- LLaMA2 Chat HFllama2-chat-70b
- LLaMA2 Chat HF 70Bmistral-chat-7b
- Instruct MistralAI 7B v0.2falcon-chat-7b
- Instruction Falcon 7b de TIIcanalisations :
llm
- Grand modèle de langagerag
- Récupération Génération AugmentéeNous avons utilisé W&B pour collecter et synchroniser les données de génération/formation. Lorsque vous utilisez CLI, vous serez peut-être invité à vous connecter à W&B.
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
Lorsqu'on vous demande votre choix, entrez 3 pour ignorer la connexion à W&B.
NERLLaMA expose une commande nerl
cli pour un accès facile aux fonctionnalités de péage
Exécution de la commande nerl nerllama
pour extraire les entités chimiques d'un fichier donné
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 est un projet visant à tester les outils NER disponibles sur le marché. Le projet est conçu pour être facile à utiliser et flexible, permettant aux utilisateurs de tester facilement les outils pris en charge dans le projet.
Le projet est divisé en deux parties : la première partie est basée sur Java et la deuxième partie est basée sur Python.
Premièrement : pour installer la partie Java, vous devrez avoir Java 8 ou supérieur installé sur votre système.
Téléchargez les fichiers suivants :
Déplacez tous les fichiers téléchargés ci-dessus dans le dossier packages.
Extrayez javafx-sdk-21.zip dans le dossier packages
Pour créer le projet, exécutez la commande suivante :
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>
Arguments :
Deuxièmement : pour installer la partie python, vous devrez avoir Python 3.9 ou supérieur installé sur votre système.
Pour installer toutes les dépendances, exécutez la commande suivante :
cd python_src
pip install -r requirements.txt
L'utilisation des deux composants est différente et la même chose est mentionnée dans les dossiers respectifs.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Nous tenons à remercier l'équipe de Hugging Face pour avoir fourni l'infrastructure et les outils qui ont rendu ce projet possible. Nous tenons également à remercier la communauté pour son soutien et ses contributions.