ChatGPT-API Demo:一个基于 OpenAI GPT-3.5 Turbo API 的 demo

分享到社交媒体

ChatGPT-API Demo:一个基于 OpenAI GPT-3.5 Turbo API 的 demo

本地运行

前置环境

  1. Node: 检查您的开发环境和部署环境是否都使用 Node v18 或更高版本。你可以使用 nvm 管理本地多个 node 版本。
     node -v
  2. PNPM: 我们推荐使用 pnpm 来管理依赖,如果你从来没有安装过 pnpm,可以使用下面的命令安装:
     npm i -g pnpm
  3. OPENAI_API_KEY: 在运行此应用程序之前,您需要从 OpenAI 获取 API 密钥。您可以在 https://beta.openai.com/signup 注册 API 密钥。

起步运行

  1. 安装依赖
     pnpm install
  2. 复制 .env.example 文件,重命名为 .env,并添加你的 OpenAI API key 到 .env 文件中
     OPENAI_API_KEY=sk-xxx...
  3. 运行应用,本地项目运行在 http://localhost:3000/
     pnpm run dev

部署

部署在 Vercel

Deploy with Vercel

? 需要站点密码?

携带SITE_PASSWORD进行部署

Deploy with Vercel

image

部署在 Netlify

Deploy with Netlify

分步部署教程:

  1. Fork 此项目,前往 https://app.netlify.com/start 新建站点,选择你 fork 完成的项目,将其与 GitHub 帐户连接。

image

image

  1. 选择要部署的分支,选择 main 分支, 在项目设置中配置环境变量,环境变量配置参考下文。

image

  1. 选择默认的构建命令和输出目录,单击 Deploy Site 按钮开始部署站点。

image

部署在 Docker

部署之前请确认 .env 文件正常配置,环境变量参考下方文档, Docker Hub address.

一键运行

docker run --name=chatgpt-demo -e OPENAI_API_KEY=YOUR_OPEN_API_KEY -p 3000:3000 -d ddiu8081/chatgpt-demo:latest

-e 在容器中定义环境变量。

使用 Docker compose

version: '3'

services:
  chatgpt-demo:
    image: ddiu8081/chatgpt-demo:latest
    container_name: chatgpt-demo
    restart: always
    ports:
      - '3000:3000'
    environment:
      - OPENAI_API_KEY=YOUR_OPEN_API_KEY
      # - HTTPS_PROXY=YOUR_HTTPS_PROXY
      # - OPENAI_API_BASE_URL=YOUR_OPENAI_API_BASE_URL
      # - HEAD_SCRIPTS=YOUR_HEAD_SCRIPTS
      # - PUBLIC_SECRET_KEY=YOUR_SECRET_KEY
      # - SITE_PASSWORD=YOUR_SITE_PASSWORD
      # - OPENAI_API_MODEL=YOUR_OPENAI_API_MODEL
# start
docker compose up -d
# down
docker-compose down

部署在更多的服务器

请参考官方部署文档:https://docs.astro.build/en/guides/deploy

环境变量

配置本地或者部署的环境变量

名称 描述 默认
OPENAI_API_KEY 你的 OpenAI API Key null
HTTPS_PROXY 为 OpenAI API 提供代理. e.g. http://127.0.0.1:7890 null
OPENAI_API_BASE_URL 请求 OpenAI API 的自定义 Base URL. https://api.openai.com
HEAD_SCRIPTS 在页面的 </head> 之前注入分析或其他脚本 null
PUBLIC_SECRET_KEY 项目的秘密字符串。用于生成 API 调用的签名 null
SITE_PASSWORD 为网站设置密码,支持使用英文逗号创建多个密码。如果未设置,则该网站将是公开的 null
OPENAI_API_MODEL 使用的 OpenAI 模型. 模型列表 gpt-3.5-turbo

开启同步更新

Fork 项目后,您需要在 Fork 项目的操作页面上手动启用工作流和上游同步操作。启用后,每天都会执行自动更新:

分享到社交媒体