Представляем Magician AI, высокоинтерактивную платформу, которая использует возможности OpenAI GPT-3.5 для генерации текста и DALL-E для генерации изображений. А также репликация ИИ для создания песен и видео. С помощью нашей платформы вы можете общаться с ИИ, просить его написать код, описывать изображения или видео, которые необходимо сгенерировать, и многое другое. Наш интерфейс удобен для пользователя и создан для того, чтобы обеспечить захватывающий и творческий опыт. Созданный для обработки подписок и платежей с помощью Stripe, пользователи получают ограниченное первоначальное использование и впоследствии могут подписаться на постоянный доступ.
Для запуска проекта вам необходимо:
Узел 18 ЛТС
Далее.JS 13+
Наша платформа предлагает несколько уникальных и интересных функций для изучения:
Наша система обеспечивает бесперебойную и безопасную работу пользователей:
Пользователи могут зарегистрироваться, используя адрес электронной почты и пароль.
Пользователи могут зарегистрироваться, используя сторонние поставщики аутентификации, такие как Google и GitHub.
Пользователи могут войти в систему, используя адрес электронной почты и пароль
Пользователи могут выйти из системы
Пользователи могут управлять своими подписками и платежами.
Пользователи могут вести полезные беседы с ИИ:
Попросите ИИ сгенерировать текст на основе заданных подсказок.
Обсуждайте различные темы в разговорной манере с ИИ.
Пользователи могут использовать ИИ для программирования:
Попросите ИИ написать код с учетом конкретных требований.
ИИ предоставляет сгенерированный фрагмент кода вместе с объяснением.
ИИ создает изображения на основе описаний пользователей:
Пользователи описывают изображение
ИИ генерирует несколько изображений, соответствующих этому описанию, в указанном разрешении.
Испытайте творческий потенциал ИИ при создании видео:
Пользователи описывают видео
Искусственный интеллект генерирует видео на основе предоставленного описания.
Обратите внимание, что после ограниченного количества использований пользователям необходимо подписаться, чтобы продолжить доступ к этим функциям. Управление платежами и подписками безопасно осуществляется с помощью Stripe.
Проект Magician AI использует надежный набор современных технологий для обеспечения высококачественного пользовательского опыта:
Next.js : платформа на основе React, предлагающая инструменты и соглашения для рендеринга на стороне сервера (SSR) и статически генерируемых веб-приложений.
Tailwind CSS : практичная CSS-инфраструктура, обеспечивающая гибкий и настраиваемый дизайн.
Пользовательский интерфейс Shadcn : коллекция многоразовых, доступных и настраиваемых компонентов, созданных с помощью пользовательского интерфейса Radix и CSS Tailwind. Пользовательский интерфейс Shadcn предлагает легкий старт для разработчиков, независимо от их опыта работы с библиотеками компонентов.
Node.js : среда выполнения JavaScript, которая выполняет код JavaScript вне веб-браузера.
Prisma : ORM с открытым исходным кодом, который предоставляет типобезопасный клиент для эффективных запросов без ошибок.
Axios : HTTP-клиент на основе обещаний, используемый для выполнения HTTP-запросов.
Clerk Auth : удобная платформа аутентификации и управления пользователями. Clerk предлагает несколько стратегий аутентификации и комплексную систему управления пользователями. Он безопасен, масштабируем и прост в использовании, с настраиваемыми компонентами пользовательского интерфейса.
Stripe : платформа онлайн-обработки платежей, используемая в этом проекте для обработки платежей и подписок.
Zod : библиотека объявления и проверки схемы на основе TypeScript, используемая для типобезопасных API REST.
MySQL : популярная система управления реляционными базами данных с открытым исходным кодом.
OpenAI : используется для генерации текста и изображений. GPT-3.5 OpenAI используется для генерации текста, а DALL-E — для генерации изображений.
Репликация искусственного интеллекта : используется для создания музыки и видео на основе данных пользователя.
Каждая технология в этом стеке играет решающую роль в обеспечении бесперебойного и динамичного взаимодействия с пользователем.
Откройте терминал и используйте следующую команду для клонирования проекта:
клон git https://github.com/mbeps/magician-ai.git
Перейдите в корневой каталог проекта и установите необходимые зависимости, используя следующую команду:
установка пряжи
Создайте копию файла .env.example
и переименуйте его в .env.local
. Заполните .env.local
необходимыми секретами.
Вот инструкции по получению некоторых из этих секретов:
Клерк Аутентификация
Создайте учетную запись на сайте Клерка.
Создайте новое приложение.
В панели управления приложения перейдите в раздел настроек.
В этом разделе вы найдете NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
и CLERK_SECRET_KEY
.
Добавьте эти ключи в переменные среды в .env.local
.
Вам также необходимо добавить следующие URL-адреса для проверки подлинности клерка:
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
Для получения этих значений для OPENAI_API_KEY
, REPLICATE_API_TOKEN
, DATABASE_URL
, STRIPE_API_KEY
и NEXT_PUBLIC_APP_URL
обратитесь к документации или странице настроек соответствующей службы.
Этот шаг необходим, если вы хотите использовать предоставленный образ Docker. Вы также можете использовать альтернативный облачный сервис для MySQL. Обязательно измените строку подключения в файле .env
, если хотите.
Запустите следующую команду из корня проекта, чтобы запустить контейнер MySQL:
docker-compose --env-file .env -f docker/docker-compose.yml up db
Чтобы настроить Prisma и отправить схему в базу данных, используйте следующие команды:
Создать клиент Prisma:
пряжа призмы генерировать
Отправьте схему Prisma в базу данных:
пряжа Prisma db push
Запустите CLI Stripe и заставьте его прослушивать вебхук:
полоса прослушивания --forward-to localhost:3000/api/webhook
Это выведет ваш STRIPE_WEBHOOK_SECRET
. Добавьте это в переменные среды в .env.local
.
После настройки переменных среды Prisma и Stripe используйте следующие команды для запуска проекта:
В одном терминале запустите сервер Next.js:
разработчик пряжи
В другом терминале запустите прослушиватель Stripe:
полоса прослушивания --forward-to localhost:3000/api/webhook
Это должно запустить проект на localhost:3000
.
Примечание. Для правильной работы приложения внешний сервер Next.js и интерфейс командной строки Stripe должны работать одновременно.