Этот проект ChemInstruct состоит из 3 основных компонентов:
Установка обоих компонентов различна и одинакова указана в соответствующих папках.
NERLLaMA — это инструмент распознавания именованных объектов (NER), который использует подход машинного обучения для идентификации именованных объектов в тексте. Инструмент использует возможности больших языковых моделей (LLM). Инструмент прост в использовании и гибок, позволяя пользователям обучать и оценивать модели на собственных данных.
Чтобы установить NERLLaMA, в вашей системе должен быть установлен Python 3.9 или выше. Чтобы установить NERLLaMA, перейдите в ChemInstruct/NERLLaMA и выполните следующую команду:
pip install -e .
Инструмент/пакет можно использовать, как показано ниже.
1: В упаковке:
Это установит пакет nerllama в вашу активную среду Python или среду Conda. Следовательно, пакет можно напрямую использовать в вашем собственном коде.
from nerllama . schemas . ChemStruct import InstructDataset
id = InstructDataset ()
id . convert_instruction_causal ()
2: Из интерфейса командной строки
После завершения вышеуказанной установки. интерфейс CLI nerl
также доступен для доступа с терминала. Эта команда cli облегчает быстрое и простое использование команд nerllama для извлечения объектов и т. д. Чтобы получить более подробную информацию о том, как использовать эту команду, см. раздел «Взаимодействие с командной строкой».
Некоторая часть этого проекта опирается на vllm. Убедитесь, что у вас установлена версия gcc 5 или новее, а также версии CUDA между 11.0 и 11.8, как указано в требованиях к установке для vllm.
NERLLaMA использует библиотеку Hugging Face Transformers для работы с LLM. Чтобы использовать этот инструмент, вам потребуется учетная запись на веб-сайте Hugging Face. Вы можете зарегистрировать аккаунт здесь. Мы настроили и оценили предварительно обученные модели с помощью графического процессора. Следовательно, проект требует, чтобы в вашей системе были установлены CUDA и cuDNN.
Доступ к моделям LLaMA возможен только после получения доступа к моделям на портале Meta AI и Hugging Face. То же самое можно запросить у LLaMA HuggingFace.
Чтобы использовать NERLLaMA, вам понадобится обученная модель. В этом проекте мы предоставляем предварительно обученную модель, которую вы можете использовать для начала работы. Чтобы использовать предварительно обученную модель, выполните следующую команду:
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
модели:
llama2-chat-ft
- Улучшенный чат LLaMA2llama2-base-ft
— усовершенствованная база LLaMA2llama2-chat
- Чат LLaMA2 HFllama2-chat-70b
- LLaMA2 Чат HF 70Bmistral-chat-7b
- Инструкция MistralAI 7B v0.2falcon-chat-7b
- Инструкция TII Falcon 7bтрубопроводы:
llm
— Большая языковая модельrag
- Поиск дополненной генерацииМы использовали W&B для сбора и синхронизации данных генерации/обучения. При использовании CLI вам может быть предложено подключиться к 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
Когда вас спросят о выборе, введите 3, чтобы пропустить подключение к W&B.
NERLLaMA предоставляет команду nerl
cli для быстрого доступа к функциям оплаты дорожных сборов.
Запуск команды nerl nerllama
для извлечения химических объектов из данного файла
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 — это проект по тестированию доступных на рынке инструментов NER. Проект спроектирован так, чтобы быть простым в использовании и гибким, что позволяет пользователям легко тестировать поддерживаемые инструменты в проекте.
Проект разделен на две части: первая часть основана на Java, а вторая часть — на Python.
Во-первых: чтобы установить Java-часть, в вашей системе должна быть установлена Java 8 или более поздняя версия.
Загрузите следующие файлы:
Переместите все скачанные выше файлы в папку packages.
Извлеките javafx-sdk-21.zip в папку пакетов.
Чтобы собрать проект, выполните следующую команду:
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>
Аргументы:
Во-вторых: чтобы установить часть Python, в вашей системе должен быть установлен Python 3.9 или выше.
Чтобы установить все зависимости, выполните следующую команду:
cd python_src
pip install -r requirements.txt
Оба компонента используются по-разному, и в соответствующих папках указано одно и то же.
Этот проект лицензируется по лицензии MIT — подробности см. в файле LICENSE.
Мы хотели бы поблагодарить команду Hugging Face за предоставление инфраструктуры и инструментов, которые сделали этот проект возможным. Мы также хотели бы поблагодарить сообщество за поддержку и вклад.