AI-PSY — это интеллектуальный помощник для эмоциональной поддержки и психического благополучия, разработанный на базе искусственного интеллекта. Сервис предлагает пользователям поддерживающие беседы, стратегии преодоления трудностей и ресурсы по психическому здоровью в доступной и нетерапевтической форме.
Проект ориентирован на помощь в ежедневном поддержании эмоционального состояния, включая:
- Начало новых сеансов бесед.
- Продолжение предыдущих сессий.
- Прохождение психологических тестов.
- Ведение дневника эмоций.
- Настройки и управление учетной записью.
- Python 3.12+
- UV: быстрый пакетный менеджер для Python.
- FastAPI: REST API и обработка запросов.
- LangChain: создание цепочек обработки данных для генерации контекста бесед.
- OpenAI API: интеграция с языковыми моделями для диалогов.
- ChromaDB: хранение и поиск информации.
- Pydantic: схемы данных и валидация.
- Docker: контейнеризация проекта.
- Tailwind CSS: стилизация фронтенда.
- React + TypeScript: разработка пользовательского интерфейса.
- Начало новой сессии с вопросом о состоянии пользователя.
- Специализированные сессии по направлениям психологии:
- Когнитивно-поведенческая терапия (CBT).
- Гештальт-терапия.
- Психоанализ.
- Использование базы данных и промптов для точного формирования ответа.
- Продолжение предыдущих сессий.
- Выбор тестов, например:
- Уровень стресса.
- Эмоциональное состояние.
- Автоматическое сохранение результатов в "Дневник эмоций".
- Ведение записей об эмоциональном состоянии.
- Сохранение и просмотр результатов тестов.
- Поиск по ключевым словам в предыдущих беседах.
- Регистрация и авторизация (с подтверждением по email).
- Изменение данных пользователя и учетной записи.
- Удаление аккаунта с полной очисткой данных.
POST /chat/ask
: Задает вопрос виртуальному психологу.- Параметры запроса:
question
(строка): Вопрос пользователя.
- Ответ:
answer
(строка): Ответ чат-бота.
- Параметры запроса:
POST /chat/ask_cbt
: Задает вопрос в рамках когнитивно-поведенческой терапии.POST /chat/ask_gestalt
: Вопрос в рамках гештальт-терапии.POST /chat/ask_psychoanalysis
: Вопрос в рамках психоанализа.POST /chat/ask_multi_direction
: Смешанный подход по нескольким направлениям.
POST /diary/create_entry
: Создает новую запись.- Параметры:
content
(строка): Текст записи.
- Параметры:
GET /diary/entries
: Получает список всех записей.GET /diary/entry/{id}
: Получает одну запись по идентификатору.
GET /tests
: Получение списка доступных тестов.POST /tests/submit
: Отправка ответов на тест.- Параметры:
test_id
(строка): Идентификатор теста.answers
(объект): Ответы пользователя.
- Параметры:
POST /auth/register
: Регистрация нового пользователя.- Параметры:
email
(строка): Email пользователя.password
(строка): Пароль.- Другие персональные данные.
- Параметры:
POST /auth/login
: Авторизация пользователя.POST /auth/reset
: Восстановление учетной записи.
Установите UV, быстрый менеджер пакетов Python:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Клонируйте репозиторий:
git clone https://github.com/melixz/ai-psy.git
- Создайте и активируйте виртуальное окружение:
uv venv source .venv/bin/activate
- Установите зависимости:
uv sync
- Запустите сервер разработки:
uvicorn backend.app.api.main:app --reload
- Откройте API в браузере:
- Swagger-документация:
http://localhost:8000/docs
.
- Swagger-документация:
- Соберите и запустите проект:
docker-compose up --build
- Остановите контейнеры:
docker-compose down
- Интеграция с языковыми моделями OpenAI для качественной генерации ответов.
- Поддержка специализированных направлений психологии.
- Полная асинхронность для высокой производительности.
- Масштабируемость с помощью Docker.
- Удобный и быстрый менеджмент зависимостей с использованием UV.
AI-PSY — это удобный и мощный инструмент, который поможет пользователям справляться с ежедневными эмоциональными вызовами.