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_KEY | OpenAI 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 | 履歴を自動的にクリアする | true | 4096 文字制限を回避するため、メッセージを削除します |
MAX_HISTORY_LENGTH | 最大履歴の長さ | 20 | AUTO_TRIM_HISTORY が有効の場合、4096 文字制限を回避するため、メッセージを削除します |
CHAT_MODEL | OpenAI モデルの選択 | 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. 実行#
ユーザー設定の実行後#
各ユーザーのカスタム設定は、Telegram でメッセージを送信して変更することができます。メッセージの形式は/setenv KEY=VALUE
です。
KEY | 説明 | 例 |
---|---|---|
SYSTEM_INIT_MESSAGE | システムの初期化パラメーター。新しいセッションを開始しても保持され、毎回デバッグする必要はありません。 | /setenv SYSTEM_INIT_MESSAGE = 今からあなたはにゃんこです。すべての文はにゃんで終わります。 |
OPENAI_API_EXTRA_PARAMS | OpenAI API の追加パラメーター。設定すると、API を呼び出すたびに使用され、温度などのパラメーターを調整するために使用できます。 | /setenv OPENAI_API_EXTRA_PARAMS={"temperature": 0.5} 変更するたびに完全な JSON で指定する必要があります。 |