chatgpt-web - openAI Key と Web accessToken の両方をサポートする Express と Vue3 に組み込まれた ChatGPT デモウェブページ

(用 Express 和 Vue3 搭建的同时支持 openAI Key 和 网页 accessToken 的 ChatGPT 演示网页)

Created at: 2023-02-09 11:21:37
Language: Vue
License: MIT

チャットGPTウェブ

デュアルモデルデモWebページの使用と構築のサポート

express
vue3
ChatGPT

覆う カバー2

紹介

デュアルモデルがサポートされており、2つの非公式な方法を提供します

ChatGPT API

方法 無料。 確実 品質
ChatGPTAPI(GPT-3)
じゃない 頼もしい ダンバー
ChatGPTUnofficialProxyAPI(网页 accessToken)
いる 比較的信頼性が低い 賢い

対照:

  1. ChatGPTAPI
    公式の完了シミュレーションを通じて使用します(最も堅牢な方法ですが、無料ではなく、チャット用に微調整されたモデルは使用しません)
    text-davinci-003
    OpenAI
    API
    ChatGPT
  2. ChatGPTUnofficialProxyAPI
    非公式のプロキシサーバーを使用してバックエンドにアクセスし、バイパスします(実際の、非常に軽量ですが、サードパーティのサーバーに依存し、レートが制限されています)
    ChatGPT
    API
    Cloudflare
    ChatGPT

詳細を見る

スイッチモード:

  1. ファイルに移動
    service/.env
  2. [入力してください] フィールド (Get apiKey ) を使用します。
    OpenAI API Key
    OPENAI_API_KEY
  3. [入力してください] フィールド (アクセス トークンの取得) を使用します。
    Web API
    OPENAI_ACCESS_TOKEN
  4. 共存の場合は優先
    OpenAI API Key

リバースプロキシ:

ChatGPTUnofficialProxyAPI
詳細はこちらからご覧いただけます

# service/.env
API_REVERSE_PROXY=

実現するルート

[✓]デュアルモデル

[✓]マルチセッションストレージとコンテキストロジック

[✓]コードなどのメッセージタイプのフォーマット美化

[✗]インターフェースは多言語です

[✗]インターフェーステーマ

[✗] もっと...

前提条件

ノード

node
バージョンが必要(フェッチポリフィルをインストールする必要があります)、NVMを使用すると複数のバージョンをローカルで管理できます
^16 || ^18
node >= 14
node

node -v

ティッカー

インストールしていない場合

pnpm

npm install pnpm -g

キーを入力します

ローカル環境変数を取得または入力してジャンプします

Openai Api Key
accessToken

# service/.env 文件

# OpenAI API Key - https://platform.openai.com/overview
OPENAI_API_KEY=

# change this to an `accessToken` extracted from the ChatGPT site's `https://chat.openai.com/api/auth/session` response
OPENAI_ACCESS_TOKEN=

依存関係のインストール

負担を簡単に理解するために、フロントエンドモードは使用されず、フォルダに格納されます。 セカンダリ開発用のフロントエンドページのみが必要な場合は、フォルダを削除します。

后端开发人员
workspace
service

後端

フォルダに移動し、次のコマンドを実行します

/service

pnpm install

前線

ルートディレクトリから次のコマンドを実行します

pnpm bootstrap

テスト環境が実行されます。

バックエンドサービス

フォルダに移動し、次のコマンドを実行します

/service

pnpm start

フロントエンドのウェブページ

ルートディレクトリから次のコマンドを実行します

pnpm dev

パック

ドッカーを使用する

ドッカー パラメーターの例

  • OPENAI_API_KEY
    2つのいずれかを選択してください
  • OPENAI_ACCESS_TOKEN
    2つのうちの1つを選択し、両方がある場合はそれが優先されます
    OPENAI_API_KEY
  • API_REVERSE_PROXY
    オプション、使用可能な参照で参照されるときにセットアップ
    OPENAI_ACCESS_TOKEN
  • TIMEOUT_MS
    タイムアウト (ミリ秒単位)、オプション

港湾労働者

Docker build & Run

docker build -t chatgpt-web .

# 前台运行
docker run --name chatgpt-web --rm -it -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web

# 后台运行
docker run --name chatgpt-web -d -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web

# 运行地址
http://localhost:3002/

Docker compose

ハブ アドレス

version: '3'

services:
  app:
    image: chenzhaoyu94/chatgpt-web  # 总是使用latest,更新时重新pull该tag镜像即可
    ports:
      - 3002:3002
    environment:
      # 二选一
      OPENAI_API_KEY: xxxxxx
      # 二选一
      OPENAI_ACCESS_TOKEN: xxxxxx
      # 反向代理,可选
      API_REVERSE_PROXY: xxx
      # 超时,单位毫秒,可选
      TIMEOUT_MS: 60000

鉄道を使用したデプロイ

鉄道への展開

鉄道環境変数

環境変数名 必須 所見
PORT
必須 デフォルト
3002
TIMEOUT_MS
随意 タイムアウト (ミリ秒単位)、
OPENAI_API_KEY
OpenAI API
2つのいずれかを選択してください
必須の (apiKey の取得) を使用します。
OpenAI API
apiKey
OPENAI_ACCESS_TOKEN
Web API
2つのいずれかを選択してください
必須 (アクセス トークンの取得) を使用します。
Web API
accessToken
API_REVERSE_PROXY
オプション (使用可能な場合)
Web API
Web API
リバース プロキシ アドレスの詳細

注:環境変数の変更は更新されます

Railway
Deploy

手動包装

バックエンドサービス

このプロジェクトのインターフェースが必要ない場合は、以下の操作を省略できます

node

サービス環境があるサーバーにフォルダーをコピーします。

service
node

# 安装
pnpm install

# 打包
pnpm build

# 运行
pnpm prod

PS:パッケージ化せずにサーバー上で直接実行することも可能です

pnpm start

フロントエンドのウェブページ

1. [内部] の下のルート ディレクトリを実際のバックエンド インターフェイス アドレスに変更します。

.env
VITE_APP_API_BASE_URL

2、根目录下运行以下命令,然后将 文件夹内的文件复制到你网站服务的根目录下

dist

参考信息

pnpm build

常见问题

Q: 为什么 提交总是报错?

Git

A: 因为有提交信息验证,请遵循 Commit 指南

Q: 如果只使用前端页面,在哪里改请求接口?

A: 根目录下 文件中的 字段。

.env
VITE_GLOB_API_URL

Q:ファイルを保存するとき、それらはすべて人気がありますか?

A: プロジェクト推奨プラグインをインストールするか、プラグインを手動でインストールしてください。

vscode
Eslint

貢献に参加する

投稿する前に投稿ガイドラインをお読みください

貢献してくれたすべての人に感謝します!

スポンサー

このプロジェクトがお役に立てば、状況が許せば、少しでも応援していただければ、要するに、ご支援ありがとうございました~

微信

ウィーチャットペイ

アリペイ

アリペイ

ライセンス

MIT © チェンジャオユ