Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Embrace

О проекте

AI Embrace — инновационное игровое приложение, разработанное на Unity, которое предлагает пользователям уникальный опыт взаимодействия с искусственным интеллектом через диалоговую систему. Проект представляет собой симулятор общения с AI-персонажами, обладающими собственной личностью, памятью и эмоциональным интеллектом.

Система использует продвинутые технологии машинного обучения для создания естественных диалогов, где AI-персонажи способны запоминать прошлые беседы, адаптировать свое поведение в зависимости от уровня отношений с пользователем и демонстрировать эмоциональные реакции.

Основные возможности

Интеллектуальная система диалогов

  • Контекстная память: AI помнит предыдущие разговоры и использует их для формирования более осмысленных ответов
  • Динамическое поведение: Персонажи адаптируют свой стиль общения в зависимости от уровня близости с игроком
  • Эмоциональный интеллект: Система отслеживания и отображения эмоций персонажей

Система персонажей

  • Уникальные личности: Каждый AI-персонаж обладает собственным характером, описанным в ScriptableObjects
  • Персонализация: Возможность настройки внешнего вида персонажей (одежда, эмоции)
  • Прогрессия отношений: Динамическая система уровней притяжения и развития отношений

Управление данными

  • Облачное хранилище: Синхронизация игровых данных через серверный API
  • Аутентификация: Система регистрации и авторизации пользователей
  • Локальное сохранение: Надежная система сохранения прогресса игры

Технологический стек

Игровой движок и основные технологии

  • Unity 2022.3.3f1 — основной игровой движок для разработки кроссплатформенного приложения
  • C# (.NET) — язык программирования для всей игровой логики
  • Unity UI Toolkit — современная система создания пользовательских интерфейсов

AI и машинное обучение

  • Text Embeddings — векторное представление текста для анализа семантического сходства
  • Token Management — система подсчета и управления токенами для оптимизации запросов к AI
  • Conversational Memory System — продвинутая система управления памятью диалогов с учетом:
    • Актуальности (recency)
    • Важности (importance)
    • Контекстуальной релевантности (context)

Сетевое взаимодействие

  • UnityWebRequest — для асинхронной коммуникации с backend API
  • REST API — архитектура для обмена данными с сервером
  • JSON сериализация — формат передачи данных

Библиотеки и фреймворки

  • Newtonsoft.Json (Json.NET) — продвинутая библиотека для работы с JSON
  • TextMesh Pro — высококачественный рендеринг текста
  • DOTween — библиотека для создания плавных анимаций и переходов
  • Simple Scroll-Snap — компонент для создания удобных прокручиваемых интерфейсов

Unity пакеты и модули

  • Unity Visual Scripting
  • Unity Timeline
  • Unity Test Framework
  • Unity Collaboration Tools

Архитектура проекта

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

Assets/
├── Scripts/           # Основная игровая логика
│   ├── AI/           # Система искусственного интеллекта
│   ├── SaveLoadGameData/  # Управление сохранениями
│   └── ScriptableObjects/ # Конфигурационные объекты
├── Scenes/           # Игровые сцены
├── Prefabs/          # Переиспользуемые игровые объекты
├── Resources/        # Динамически загружаемые ресурсы
├── Sprites/          # Графические ресурсы
├── Sounds/           # Аудио файлы
└── Fonts/            # Шрифты

Ключевые компоненты

AICharacter

Центральный класс, представляющий AI-персонажа с его характеристиками и личными данными. Управляет генерацией промптов для языковой модели с учетом:

  • Системных правил поведения
  • Личности персонажа
  • Воспоминаний о событиях
  • Уровня отношений с игроком
  • Истории диалогов

MemoriesManager

Интеллектуальная система управления воспоминаниями, которая:

  • Оценивает релевантность каждого воспоминания на основе трех факторов
  • Использует векторные embeddings для определения семантической близости
  • Оптимизирует выборку воспоминаний в рамках лимита токенов

ChatManager

Координирует процесс общения между пользователем и AI:

  • Управление историей чата
  • Отрисовка сообщений в интерфейсе
  • Обработка ответов от AI
  • Интеграция с системой эмоций

ClientAPI

Обеспечивает взаимодействие с backend сервисами:

  • Отправка промптов к языковой модели
  • Генерация text embeddings
  • Расчет семантического сходства текстов
  • Подсчет токенов
  • Аутентификация пользователей
  • Синхронизация игровых данных

Технические особенности

Система промптов

Проект использует сложную систему генерации промптов, которая учитывает:

  • Ограничения по количеству токенов для входного контекста и ответа модели
  • Динамическую приоритизацию компонентов промпта
  • Кэширование токенизированных фрагментов

Оптимизация памяти

  • Ленивая загрузка воспоминаний на основе их релевантности
  • Асинхронная обработка запросов к AI
  • Эффективное управление историей чата

Кроссплатформенность

Проект настроен для развертывания на:

  • Windows (Standalone)
  • WebGL
  • Android

Требования

Минимальные системные требования

  • Unity 2022.3.3f1 или выше
  • .NET Framework
  • Интернет-соединение для работы с AI API

Для разработки

  • Visual Studio 2019/2022 или JetBrains Rider
  • Git для контроля версий
  • Unity Hub для управления версиями Unity

Разработка

Настройка окружения

  1. Клонируйте репозиторий
  2. Откройте проект в Unity 2022.3.3f1
  3. Дождитесь импорта всех зависимостей
  4. Настройте endpoint для backend API в ClientAPI
  5. Откройте сцену GameScene.unity для начала работы

Структура AI системы

AI система построена модульно и включает:

  • AICharacterData — статические данные персонажа (личность, описание)
  • AICharacterPersonalData — динамические данные (история чата, уровень отношений)
  • ChatHistory — управление историей диалогов с токенизацией
  • ConversationalBehavior — правила поведения на основе уровня отношений

Безопасность и приватность

  • Защищенная аутентификация пользователей через токены
  • Шифрованная передача данных
  • Валидация входных данных на клиенте и сервере

Лицензии сторонних библиотек

Проект использует следующие сторонние компоненты:

  • DOTween — Demigiant
  • Json.NET — Newtonsoft
  • TextMesh Pro — Unity Technologies
  • Simple Scroll-Snap — см. Assets/Simple Scroll-Snap/LICENSE.md

AI Embrace — это демонстрация возможностей интеграции современных технологий искусственного интеллекта в интерактивные приложения, создавая уникальный пользовательский опыт через естественное и эмоционально окрашенное общение с виртуальными персонажами.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages