Необходимо запустить и протестировать QA на основе LLM модели, можно выбрать любую LLM модель (рекомендуется искать на huggingface):
-
на основе llama.cpp - можно запустить на GPU и/или на CPU, примеры:
- TheBloke/Mistral 7B OpenOrca - GGUF
- Saiga Mistral (for Russian language)
-
на GPU, примеры:
- Open-Orca/Mistral-7B-OpenOrca🐋
- Saiga Mistral LORA (for Russian language)
При разработке QA необходимо поддержать следующий алгоритм:
- Считать запрос/вопрос пользователя;
- Считать из БД top-N записей соответствующих запросу/вопросу пользователя;
- Передать в LLM модель данные top-N записей в качестве контекста;
- Сформировать ответ.
Необходимо написать не менее 10 пар запросов и соответствующих им ответов, далее оценить качество ответа. Оценку можно выполнить:
- вручную по предложенному вами методу;
- одним из методов оценки QA систем, например bertscore. Данный подход позволяет получить дополнительные баллы.
Пример реализации похожей задачи без оценки, но с интерфейсом можно посмотреть по данной ссылке Code
Дополнительно можно добавить интерфейс на основе библиотеки Gradio. Простейший пример состоит из следующего кода:
import gradio as gr
def echo(message, history):
return message
demo = gr.ChatInterface(fn=echo, examples=["hello", "hola", "merhaba"], title="Echo Bot")
demo.launch()
И имеет следующую визуализацию:
Общие рекомендации при использовании Google Colab:
- подключаться к окружению с GPU (T4);
- сохранять индекс на google disk, чтобы каждый раз его не пересоздавать;
- использовать модели 7b (mistral и т.п.).
Примеры классов, которые могут потребоваться для выполнения данного задания описаны в ноутбуке.