Skip to content

TUBE-GULL/MLMathMentor

Repository files navigation

MLMathMentor

Used Libraries

Installation of Dependencies

You can install the required dependencies either manually or using the requirements.txt file.

Install Manually

pip install load_dotenv
pip install faiss-cpu
pip install bitsandbytes
pip install llama_index
pip install langchain_huggingface
pip install llama-index-embeddings-langchain
pip install llama-index-vector-stores-faissv
pip install llama-index-embeddings-huggingface
pip install llama-index-llms-huggingface
pip install -U langchain-community sentence-transformers
pip install pyvis
pip install arize-phoenix openinference-instrumentation-llama-index opentelemetry-sdk --quiet
pip install nemoguardrails

Install using the requirements.txt file

pip install -r requirements.txt

MLMathMentor — AI-бот-репетитор по математике для машинному обучениюю

О проекте

Описание: Проект представляет собой RAG-систему (Retrieval-Augmented Generation), обученную на математических книгах по линейной алгебре, математическому анализу и статистике. Модель: Saiga LLaMA3 8B База знаний: VectorStoreIndex — векторная база, используемая для быстрого поиска релевантной информации по запросу пользователя. Защита и контроль запросов: Запросы проверяются с помощью NeMo Guardrails — система отслеживает, соответствует ли вопрос допустимой теме (например, линейной алгебре), и ограничивает обработку нежелательных запросов. RAG-пайплайн: Поиск ответов по векторной базе знаний. Ранжирование найденных результатов с помощью LLMRerank для выбора наиболее релевантных фрагментов. Трассировка всех запросов и ответов с помощью Phoenix для удобного мониторинга, отладки и аналитики.

Как работает: Пользователь задает вопрос.

NeMo Guardrails проверяет, соответствует ли вопрос теме.

Если запрос допустим:

Запускается RAG-поиск по векторной базе знаний.

LLMRerank выбирает наиболее релевантные фрагменты.

Phoenix трассирует этот процесс.

LLM формирует финальный ответ с объяснениями и примерами.

Если вопрос не по теме — бот возвращает корректное уведомление.

Как запустить

Структура проекта

my_api_project/
├── create_storage/
│   ├── KnowledgeGraphIndex/  
│   │   ├── KnowledgeGraphIndex/               # тестовый вариант KnowledgeGraphIndex (долгое время обработки)
│   │   │   ├── default__vector_store.json     # файлы сохраненного KnowledgeGraphIndex
│   │   │   ├── docstore.json                  # файлы сохраненного KnowledgeGraphIndex
│   │   │   ├── graph_store.json               # файлы сохраненного KnowledgeGraphIndex   
│   │   │   ├── image__vector_store.json       # файлы сохраненного KnowledgeGraphIndex
│   │   │   └── index_store.json               # файлы сохраненного KnowledgeGraphIndex
│   │   │
│   │   ├── KnowledgeGraphIndex.ipynb          # код подготовки базы знаний 
│   │   ├── graph.html                         # визуализация данных 
│   │   └── graph_temp.html                    # временная визуализация данных 
│   │
│   ├── VectorStoreIndex/
│   │   ├── VectorStoreIndex/                  # выбранный вариант, используется в main файле 
│   │   │   ├── default__vector_store.json     # файлы сохраненного VectorStoreIndex  
│   │   │   ├── docstore.json                  # файлы сохраненного VectorStoreIndex
│   │   │   ├── graph_store.json               # файлы сохраненного VectorStoreIndex
│   │   │   ├── image__vector_store.json       # файлы сохраненного VectorStoreIndex
│   │   │   └── index_store.json               # файлы сохраненного VectorStoreIndex
│   │   │
│   │   └── VectorStoreIndex.ipynb             # код подготовки базы знаний 
│   │ 
│   └── library/                               # книги, использованные для обучения базы знаний
│
├── model/
│   └── model.ipynb                            # настройка модели и переменные окружения
│
├── main.ipynb                                 # основной файл: сборка LLM и реализация RAG
├── config.yaml                                # конфигурация для NeMo Guardrails
├── colang_content.yaml                        # правила ограничений и допустимых тем для NeMo Guardrails
├── .env                                       # переменные окружения
├── .gitignore                                 # список файлов/папок для игнорирования в git
├── requirements.txt                           # зависимости проекта
└── README.md                                  # документация проекта

Модель была взята из Hugging-Face и использует saiga_llama3_8b как базову

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published