banner
Geek

Geek

🧠在家居士 | 🥦素食者 | 🏃🏻马拉松爱好者 | 📡AI降临派 | 过🪜技术资深学者 | 🤖科技狂 | 📤更新狂🆅 https://www.igeekbb.com/
twitter
github

OpenWrtソフトルーターにChatGPT公式サービスをDockerを使用してデプロイする

イントロダクション#

生活と仕事の両方で移動する中で、ChatGPT の公式ウェブサイトは頻繁にダウンすることがあります。偶然にも、両方の場所には OpenWrt というソフトウェアルーターがありますので、ChatGPT をソフトウェアルーターにデプロイしました。両方のゲートウェイは 192.168.2.1 です。そして、ソフトウェアルーター上の ChatGPT を Google Chrome のブックマークに追加することで、いつでも両方の場所に素早くアクセスできます。

プロジェクト#

今回使用したのはPandoraという、アクセストークンを使用して Web 版の ChatGPT を実現したオープンソースプロジェクトです。バックエンドの最適化により、Cloudflare を回避して高速化されています。

プロジェクトアドレス
Pandorahttps://github.com/pengzhile/pandora
アクセストークンhttp://chat.openai.com/api/auth/session

アクセストークンの有効期間は14日であり、その間はプロキシを使用せずにアクセスできます

デプロイ#

Docker のインストール#

OpenWrt を開きます。使用しているファームウェアはhttps://supes.top/ です。`システム`-`ソフトウェアパッケージ` に移動し、リストを更新します。

image

更新後、次のパッケージをインストールします:

  • luci-lib-jsonc
  • luci-lib-docker
  • luci-app-dockerman

CleanShot 2023-05-26 at 11.03.15@2x

CleanShot 2023-05-26 at 11.03.40@2x

インストールが完了したら、左側のメニューで Docker を見つけることができます。

CleanShot 2023-05-26 at 11.05.01@2x

以下の手順は SSH で実行することをおすすめします。OpenWrt 上で Docker を操作するのは本当に難しいです!

SSH ツールを使用して OpenWrt ゲートウェイ 192.168.2.1 に接続します。ユーザー名とパスワードは OpenWrt のものです。おすすめのツールはelectermです。

イメージの取得#

docker pull pengzhile/pandora

CleanShot 2023-05-26 at 11.08.06@2x

イメージの実行#

docker run -e PANDORA_CLOUD=cloud -e PANDORA_SERVER=0.0.0.0:8899 -p 8899:8899 -d pengzhile/pandora

CleanShot 2023-05-26 at 11.08.37@2x

その他の Docker 環境変数については、pandora 環境変数を参照してください。

アクセストークンの取得#

  • 公式ウェブサイトにログインし、ここにアクセスしてアクセストークンを取得します。有効期間は14日です。

  • OpenAI アカウントを使用して直接ログインすることもできます。
    http://gateway:8899 / を開きます。
    私はアクセストークンを使用しています。
    CleanShot 2023-05-26 at 11.09.16@2x

完了です。クラウドモードを使用すると、ChatGPT の公式ウェブサイトと同じで、チャットの履歴が同期され、安定して高速です。

CleanShot 2023-05-26 at 11.11.36@2x

起動時に自動起動するように設定(必須ではありません)#

  • /etc/rc.localファイルを使用してカスタム起動スクリプトを実行します。

  • /etc/rc.localファイルを見つけます。

  • ファイルの末尾に以下の内容を追加します。

#!/bin/sh
/etc/init.d/dockerd restart # Dockerサービスの再起動
sleep 10 # 10秒待機して、Dockerサービスが起動したことを確認する docker start my_container # Dockerコンテナの起動

CleanShot 2023-05-26 at 11.50.48@2x

上記のdocker start my_containerを、openwrt Docker 内のコンテナ ID(私の場合は3c3ab7807401)に置き換えます。
docker start 3c3ab7807401

Pasted image 20230529104653

  • ファイルを保存して閉じます。

/etc/rc.localファイルに実行権限を付与します。

chmod +x /etc/rc.local

CleanShot 2023-05-26 at 11.50.59@2x


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。