-
Notifications
You must be signed in to change notification settings - Fork 2
QABotsBase.py
Файл QABotsBase.py включает в себя определения нескольких классов для создания и работы с ретривел-ботами (Retrieval Bots) и вопросно-ответными ботами (QA Bots), использующими методы машинного обучения и обработки естественного языка.
Описание: Класс для структуры ретривел-бота.
Атрибуты:
-
knn: Модель k-ближайших соседей. -
embedder: Модель для векторизации текста. -
answers: Список ответов.
Методы:
-
__init__(path, knn, embedder, answers): Инициализация структуры. -
to(device): Перемещение модели на указанное устройство. -
get_knn(): Получение модели KNN. -
get_embedder(): Получение модели векторизации. -
get_ans_list(): Получение списка ответов. -
save(path): Сохранение структуры в файл. -
load(path): Загрузка структуры из файла.
Описание: Класс для структуры вопросно-ответного бота.
Атрибуты:
-
retri_bot: ЭкземплярRetriBotStruct. -
qa: Модель для генерации ответов на вопросы.
Методы:
-
__init__(path, retri_bot, qa): Инициализация структуры. -
get_retri_bot(): Получение ретривел-бота. -
get_qa(): Получение QA модели. -
save(path): Сохранение структуры в файл. -
load(path): Загрузка структуры из файла.
Описание: Класс для ретривел-бота.
Атрибуты:
-
main_knn: Модель KNN. -
sModel: Модель векторизации текста. -
max_words: Максимальное количество слов. -
texts: Список текстов для ответов.
Методы:
-
__init__(bot, max_words, device): Инициализация бота. -
_get_vect(q): Получение вектора из вопроса. -
cut(text, max_len): Обрезка текста. -
get_answers(q, top_k): Получение ответов на вопрос.
Описание: Класс для вопросно-ответного бота.
Атрибуты:
-
retr: ЭкземплярRetriBot. -
qa: QA модель.
Методы:
-
__init__(bot, max_words, device): Инициализация бота. -
qa_get_answer(text, q, top_k): Получение ответа на вопрос. -
search(text, q, confidence): Поиск ответа на вопрос. -
get_prompt(q, confidence, top_k_search): Получение текста для ответа.
Описание: Класс-заглушка для трансформации векторов.
Методы:
-
__init__(): Инициализация класса. -
transform(vects): Трансформация векторов.
Описание: Класс для поискового бота на базе модели векторизации и метода ближайших соседей.
Атрибуты:
-
knn: Модель KNN. -
model: Модель векторизации текста. -
mean,std: Параметры для нормализации векторов. -
vect_transformer: Функция преобразования векторов (PCA, LDA, VAE и тп)
Методы:
-
__init__(knn, sbert, mean, std, vect_transformer, dim, n_neighbors, eps): Инициализация бота. -
clean_string(text): Очистка и нормализация строки. -
get_vect(q): Получение вектора из вопроса. -
__get_answer_text(text_q): Получение текста ответа. -
get_answer(q): Получение ответа на вопрос.
Эти классы предназначены для создания и работы с интеллектуальными вопросно-ответными системами, которые используют как традиционные методы машинного обучения (например, KNN для поиска похожих текстов), так и более сложные модели обработки естественного языка для генерации ответов на заданные вопросы.
ExplainitAll — это библиотека для интерпретируемого ИИ, предназначенная для интерпретации генеративных моделей (GPT-like), и векторизаторов, например, Sbert. Библиотека предоставляет пользователям инструменты для анализа и понимания работы этих сложных моделей. Кроме того, содержит модули RAG QA, fast_tuning и пользовательский интерфейс.
- Лицензия Apache-2.0 license