lapis

lapis

理解以真实为本,但真实本身不会自动呈现

部署自己のChatgpt Telegramボット

ChatGpt Telegram ボットの部署#

日付:2023 年 3 月 24 日
スラッグ:19
ステータス:公開済み
タグ:技術
タイプ:投稿

オープンソースプロジェクトのリンク:リンクは、Cloudflare Workers を使用して開発された Telegram の対話ボットです。テスト結果は良好で、無料で使えるので、誰もが気に入るでしょう。

準備#

1. Telegram ボットの作成#

BotFather で Telegram ボットを作成し、トークンを取得し、ボットの名前やアイコンなどをカスタマイズします。

  • Telegram を開き、BotFather に /start コマンドを送信します。
  • /newbot コマンドを送信し、ボットに名前を付けます。
  • ボットに一意のユーザー名を付けます。
  • BotFather はトークンを生成し、コピーして保存します。後で Cloudflare Workers の設定でこのトークンを TELEGRAM_TOKEN 変数に入力します。
  • Telegram で BotFather を見つけ、/setcommands を送信し、自分のボットを見つけて new - 新しい会話を開始します。

2. OpenAI アカウントの登録と API キーの作成#

openai.com でアカウントを登録し、右上のアイコンをクリックして個人設定ページに入り、API キーを作成します。後で API_KEY に入力します。

デプロイ#

1. Workers のデプロイ#

  • Cloudfalre Workers でアカウントを登録します。
  • Create a Worker をクリックします。
  • コードをエディタにコピーして保存します。

2. 環境変数の設定#

Setting-Variables-Environment Variables を開き、次の変数を追加します:

KEY説明デフォルト値特記事項
API_KEYOpenAI API キーnull
TELEGRAM_AVAILABLE_TOKENS複数の Telegram ボットトークンのサポートnull複数のトークンはカンマで区切ります
CHAT_WHITE_LISTチャット ID のホワイトリストnull複数の ID はカンマで区切ります。ID がわからない場合は、ボットとの会話で返されます
I_AM_A_GENEROUS_PERSONホワイトリストを無効にし、すべての人がアクセスできるようにするfalse多くの人々がホワイトリストを設定したくないか、ID の取得方法を知らないため、このオプションを設定すると、すべての人がアクセスできるようになります。値が true の場合に有効になります
AUTO_TRIM_HISTORY履歴を自動的にクリアするtrue4096 文字制限を回避するため、メッセージを削除します
MAX_HISTORY_LENGTH最大履歴の長さ20AUTO_TRIM_HISTORY が有効の場合、4096 文字制限を回避するため、メッセージを削除します
CHAT_MODELOpenAI モデルの選択gpt-3.5-turbo
SYSTEM_INIT_MESSAGEシステムの初期化メッセージあなたは頼りになるアシスタントですデフォルトのボット設定
SYSTEM_INIT_MESSAGE_ROLEシステムの初期化メッセージの役割systemデフォルトのボット設定
ENABLE_USAGE_STATISTICS使用統計の有効化false有効にすると、API の呼び出しごとに KV に記録され、/usage で確認できます
HIDE_COMMAND_BUTTONSコマンドボタンの非表示null非表示にしたいボタンをカンマで区切って書き込みます。/start,/system などのスラッシュを忘れずに、変更後には再初期化が必要です
DEBUG_MODEデバッグモードfalse現在、最新のメッセージを KV に保存してデバッグに便利にします

3. KV データのバインド#

(Settings-Variables-KV Namespace Bindings) で、名前を DATABASE に設定します。

  • 右上の Create a Namespace をクリックします。
  • 名前を DATABASE に設定します。
  • Cloudflare Workers を開き、Workers をクリックします。
  • 右上の Setting -> Variables をクリックします。
  • KV Namespace Bindings で Edit variables をクリックします。
  • Add variable をクリックします。
  • 名前を DATABASE に設定し、先ほど作成した KV データを選択します。

4. 実行#

https://your_workers_name.your_workers_subdomain.workers.dev/init にアクセスして、Telegram との新しい対話を開始するためにバインドします。/new コマンドを使用して開始し、その後はすべてのチャットコンテキストを ChatGPT に送信します。

ユーザー設定の実行後#

各ユーザーのカスタム設定は、Telegram でメッセージを送信して変更することができます。メッセージの形式は/setenv KEY=VALUEです。

KEY説明
SYSTEM_INIT_MESSAGEシステムの初期化パラメーター。新しいセッションを開始しても保持され、毎回デバッグする必要はありません。/setenv SYSTEM_INIT_MESSAGE = 今からあなたはにゃんこです。すべての文はにゃんで終わります。
OPENAI_API_EXTRA_PARAMSOpenAI API の追加パラメーター。設定すると、API を呼び出すたびに使用され、温度などのパラメーターを調整するために使用できます。/setenv OPENAI_API_EXTRA_PARAMS={"temperature": 0.5} 変更するたびに完全な JSON で指定する必要があります。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。