隆重推出 Magician AI,这是一个高度互动的平台,利用 OpenAI 的 GPT-3.5 的强大功能进行文本生成,并利用 DALL-E 进行图像生成。以及用于歌曲和视频生成的复制人工智能。通过我们的平台,您可以与人工智能进行交流,要求它编写代码、描述要生成的图像或视频等等。我们的界面易于使用,旨在提供令人兴奋的创意体验。专为使用 Stripe 处理订阅和付款而设计,用户的初始使用受到限制,随后可以订阅以继续访问。
要运行该项目,您需要:
节点 18 LTS
下一步.JS 13+
我们的平台提供了几个独特且引人入胜的功能供您探索:
我们的系统确保无缝且安全的用户体验:
用户可以使用电子邮件和密码注册
用户可以使用第三方身份验证提供商(例如 Google 和 GitHub)进行注册
用户可以使用电子邮件和密码登录
用户可以注销
用户可以管理他们的订阅和付款
用户可以与人工智能进行丰富的对话:
要求 AI 根据给定的提示生成文本
与人工智能以对话方式讨论各种话题
用户可以利用人工智能进行编程:
让AI根据具体需求编写代码
AI 提供生成的代码片段以及解释
人工智能根据用户描述创建图像:
用户描述图像
AI 会生成许多与指定分辨率的描述相匹配的图像
通过视频生成体验人工智能的创造力:
用户描述视频
AI根据提供的描述生成视频
请注意,在有限的使用次数后,用户必须订阅才能继续访问这些功能。使用 Stripe 安全地处理支付和订阅管理。
Magician AI 项目利用一套强大的现代技术来提供高质量的用户体验:
Next.js :一个基于 React 的框架,为服务器端渲染 (SSR) 和静态生成的 Web 应用程序提供工具和约定。
Tailwind CSS :实用程序优先的 CSS 框架,促进高度可定制和响应式设计。
Shadcn UI :使用 Radix UI 和 Tailwind CSS 构建的可重用、可访问和可自定义的组件的集合。 Shadcn UI 为开发人员提供了一个轻松的起点,无论他们对组件库的经验如何。
Node.js :在 Web 浏览器之外执行 JavaScript 代码的 JavaScript 运行时环境。
Prisma :一种开源 ORM,为高效、无错误的查询提供类型安全的客户端。
Axios :基于 Promise 的 HTTP 客户端,用于发出 HTTP 请求。
Clerk Auth :一个用户友好的身份验证和用户管理平台。 Clerk提供多种认证策略和完善的用户管理系统。它安全、可扩展且易于使用,并具有可定制的 UI 组件。
Stripe :该项目中使用的在线支付处理平台,用于处理付款和订阅。
Zod :用于类型安全 REST API 的 TypeScript 优先架构声明和验证库。
MySQL :一种流行的开源关系数据库管理系统。
OpenAI :用于生成文本和图像。 OpenAI的GPT-3.5用于文本生成,DALL-E用于图像生成。
复制人工智能:用于根据用户输入生成音乐和视频。
该堆栈中的每项技术在提供无缝、动态的用户体验方面都发挥着至关重要的作用。
打开终端并使用以下命令克隆项目:
git 克隆 https://github.com/mbeps/magician-ai.git
导航到项目的根目录并使用以下命令安装所需的依赖项:
纱线安装
创建.env.example
文件的副本并将其重命名为.env.local
。使用必要的机密填充.env.local
。
以下是获取其中一些秘密的说明:
职员授权
在 Clerk 的网站上创建一个帐户。
创建一个新应用程序。
在您的应用程序仪表板中,转到设置部分。
您将在此部分中找到NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
和CLERK_SECRET_KEY
。
将这些键添加到.env.local
中的环境变量中。
您还需要为 Clerk Auth 添加以下 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 数据库推送
运行 Stripe CLI 并使其监听 webhook:
条带监听 --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 CLI 需要同时运行,应用程序才能正常运行。