Este proyecto ChemInstruct tiene 3 componentes principales:
La instalación de ambos componentes es diferente y la misma se menciona en las carpetas respectivas.
NERLLaMA es una herramienta de reconocimiento de entidades nombradas (NER) que utiliza un enfoque de aprendizaje automático para identificar entidades nombradas en texto. La herramienta utiliza el poder de los modelos de lenguaje grandes (LLM). La herramienta está diseñada para ser fácil de usar y flexible, lo que permite a los usuarios entrenar y evaluar modelos con sus propios datos.
Para instalar NERLLaMA, necesitará tener Python 3.9 o superior instalado en su sistema. Para instalar NERLLaMA, navegue hasta ChemInstruct/NERLLaMA y ejecute el siguiente comando:
pip install -e .
La herramienta/paquete se puede utilizar como se muestra a continuación
1: Como paquete:
Esto instala el paquete nerllama en su python venv activo o conda env. Por lo tanto, el paquete se puede utilizar directamente en su propio código personalizado.
from nerllama . schemas . ChemStruct import InstructDataset
id = InstructDataset ()
id . convert_instruction_causal ()
2: Desde CLI
Una vez que se complete la instalación anterior. También está disponible una interfaz CLI nerl
a la que se puede acceder desde el terminal. Este comando cli facilita el uso rápido y sencillo de los comandos nerllama para extraer entidades, etc. Consulte CLI-Interaction para obtener más detalles sobre cómo utilizar el comando.
Una parte de este proyecto se basa en vllm. Asegúrese de tener gcc versión 5 o posterior y versiones CUDA entre 11.0 y 11.8, como se especifica en los requisitos de instalación de vllm.
NERLLaMA utiliza la biblioteca Hugging Face Transformers para trabajar con LLM. Necesitará tener una cuenta en el sitio web de Hugging Face para utilizar la herramienta. Puede registrarse para obtener una cuenta aquí. Hemos ajustado y evaluado los modelos previamente entrenados en GPU. Por lo tanto, el proyecto requiere que CUDA y cuDNN estén instalados en su sistema.
Solo se puede acceder a los modelos LLaMA después de obtener acceso a los modelos desde el portal Meta AI y Hugging Face. Lo mismo se puede solicitar a LLaMA HuggingFace.
Para utilizar NERLLaMA, necesitará tener un modelo entrenado. En este proyecto proporcionamos un modelo previamente entrenado que puede utilizar para comenzar. Para utilizar el modelo previamente entrenado, ejecute el siguiente comando:
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
modelos:
llama2-chat-ft
- Chat LLaMA2 afinadollama2-base-ft
- Base LLaMA2 afinadallama2-chat
- LLaMA2 Chat HFllama2-chat-70b
- LLaMA2 Chat HF 70Bmistral-chat-7b
- MistralAI 7B Instrucción v0.2falcon-chat-7b
- Instrucción Falcon 7b de TIItuberías:
llm
- Modelo de lenguaje granderag
- Recuperación Generación AumentadaHemos utilizado W&B para recopilar y sincronizar datos de generación/entrenamiento. Al utilizar CLI, es posible que se le solicite la conexión a 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
Cuando se le solicite una opción, ingrese 3 para omitir la conexión a W&B
NERLLaMA expone un comando nerl
cli para facilitar el acceso a las funcionalidades de peajes
Ejecutando el comando nerl nerllama
para extraer entidades químicas del archivo dado
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 es un proyecto para probar las herramientas NER disponibles en el mercado. El proyecto está diseñado para ser fácil de usar y flexible, lo que permite a los usuarios probar fácilmente las herramientas admitidas en el proyecto.
El proyecto se divide en dos partes: la primera parte está basada en Java y la segunda parte está basada en Python.
Primero: para instalar la parte de Java, necesitará tener instalado Java 8 o superior en su sistema.
Descargue los siguientes archivos:
Mueva todos los archivos descargados anteriormente a la carpeta de paquetes.
Extraiga javafx-sdk-21.zip en la carpeta de paquetes
Para construir el proyecto, ejecute el siguiente comando:
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>
Argumentos:
Segundo: para instalar la parte de Python, necesitará tener Python 3.9 o superior instalado en su sistema.
Para instalar todas las dependencias, ejecute el siguiente comando:
cd python_src
pip install -r requirements.txt
El uso de ambos componentes es diferente y el mismo se menciona en las carpetas respectivas.
Este proyecto tiene la licencia MIT; consulte el archivo de LICENCIA para obtener más detalles.
Nos gustaría agradecer al equipo de Hugging Face por proporcionar la infraestructura y las herramientas que hicieron posible este proyecto. También nos gustaría agradecer a la comunidad por su apoyo y contribuciones.