Перейти к содержанию

Главная

Kairos

Kairos - веб-приложение для генерации курсов с помощью ИИ, написанное на flask

FastAPI Version Made with Flask GitHub License MIT Powered by Commit Maker Black Flake8 Tests Ask DeepWiki


Документация: https://sashayerty.github.io/Kairos/
Исходный код: https://github.com/Sashayerty/Kairos
FastAPI версия: https://github.com/Sashayerty/kairos-fastapi
Демонстрация: https://disk.yandex.ru/i/xtsrACTVPR5HrA


Обязательные учетные данные

1. Google Custom Search API (optional)

Начнем с поиска данных в интернете. Для работы поиска нам понадобится CSE id и Google Search API Key. Инструкция по получению. При создании API ключа стоит учитывать, что вы можете указать список сайтов, которые будут парситься при API, что делает поиск более конкретным, узконаправленным и специфичным. Создать поисковый сервис в Google тут.

2. Mistral AI API

Теперь, главная составляющая проекта - ИИ. Получить API ключ можно на официальном сайте Mistral.

3. Secret Key

Секретный ключ для wtforms. Необходим для корректной работы wtforms. Нужно его создать собственноручно. Лучше всего для ключа подойдет uuid4. Сгенерировать можно или через python библиотеку uuid, или на сайте.
P.S. В документации Flask рекомендуется использовать рандомный набор байтов. Ниже пример:

python -c 'import secrets; print(secrets.token_hex())'

> 192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf

Пример .env файла

.env файл должен лежать в корне проекта.

MISTRAL_AI_API_KEY=mistral-ai-api-key
GOOGLE_API_KEY=google-api-key
CSE_ID=cse-id
SECRET_KEY=secret-key

Установка

Клонируем

git clone https://github.com/sashayerty/Kairos
cd ./Kairos

С помощью pip

1. Создаем виртуальное окружение python

# Windows
python -m venv venv
# Linux/MacOS
python3 -m venv venv

2. Активируем виртуальное окружение

# Windows
venv/Scripts/activate
# Linux/MacOS
source venv/bin/activate

3. Устанавливаем зависимости проекта

# Windows
pip install -r ./requirements.txt
# Linux/MacOS
pip3 install -r ./requirements.txt

4. Запускаем локальный сервер flask

# Windows
python run.py
# Linux/MacOS
python3 run.py

С помощью uv (рекомендуемое)

1. Подтягиваем зависимости

uv sync # .venv создается автоматически

2. Запускаем проект

uv run run.py

В обоих случаях переходим на http://127.0.0.1:5000/

Взаимодействие с кодом

ModifiedMistral (deprecated)

Это кастомный класс Mistral. Был он создан для того, чтобы при взаимодействии с ИИ убрать лишнюю рутинную работу. Код тут.

ModifiedOpenAI

Пришел на смену Mistral. Код тут.

Список агентов

В схеме Функция Назначение агента Работает
1 check Агент для цензуры темы и пожеланий пользователя. ✅
2 gen_prompt Агент для создания промпта по теме, пожеланиям и описанию пользователя. ✅
3 searcher Агент для составления поискового запроса по промпту. ✅
4 check_is_need_test Агент для проверки нужности тестов в курсе. 🧱
5 gen_plan Агент для составления плана курса по промпту. ✅
6 analyze Агент для анализа данных из интернета на нужность по плану. ✅
7 test Агент для создания тестов для курсов. 🧱
8 summarizer Агент для сжатия статей из интернета. ✅
9 gen_course Агент для генерации итогового результата. ✅
* edit_course Агент для изменения курса по корректировкам пользователя ✅
* create_course Агент для итеративной генерации курса. ✅

* - вспомогательный агент

Функция для поиска в Google Custom Search. Подробнее тут

Схема логики приложения со стороны агентов

Логика

База данных проекта

База данных проекта

License

Kairos лицензирован MIT