これは、GPT-3.5-Turbo-*モデルを使用してOpenai APIを使用して、ダイアログコンテキストを意識した方法でユーザーに会話の応答を提供するPythonベースのTelegram Chatbotです。
models.ymlファイルを使用して、ChatbotのOpenAIモデルのパラメーターを簡単に構成できます。このアプローチにより、コードを変更せずに、 temperature 、 max_tokens 、 voiceなどのモデル設定をすばやく調整できます。 models.ymlを編集するだけで、必要に応じてチャットボットの動作と応答スタイルを変更してください。
リポジトリをクローンまたはダウンロードします。
git clone [email protected]:welel/dialog-chat-bot.git
GPT-3.5-Turboブランチのチェックアウト。
git checkout gpt-3.5-turbo
仮想環境を作成し、それをアクティブにし、依存関係をインストールします。
python -m venv env
source env/bin/activate
pip install --upgrade pip && pip install -r requirements.txt
ボイスメッセージを使用するには、FFMPEGをインストールしてください。
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
.env.dist to .envにコピー/名前を付けて、データを入力します。
cp .env.dist .env
電報ボットをセットアップしてボットトークンを取得します(https://medium.com/geekculture/generate-telegram-token-for-bot-api-d26faf9bf064を参照)。
OpenAIアカウントを設定してAPIキーを取得します(手順についてはhttps://beta.openai.com/docs/quickstartを参照)。
ボットを実行します。
python bot.py
DockerとDocker Composeをインストールします(方法がわからない場合はリンク)。
.env.dist to .envにコピー/名前を付けて、データを入力します。
cp .env.dist .env
ここで、単に画像を作成し、Docker Composeで実行します。
docker compose build
docker compose up -d
ボットとの対話を開始するには、テレグラムボットにメッセージを送信します。
チャットボットは、 models.ymlファイルで指定された構成を使用して、その応答を調整します。このファイルにより、OpenaIモデルパラメーターの詳細なカスタマイズが可能になり、さまざまなニーズやコンテキストに応じてボットの動作を調整する柔軟性が提供されます。
models.ymlを使用してモデルを構成しますProject Directoryのmodels.ymlファイルには、さまざまなモデルまたはシナリオの構成が含まれています。これを構成する方法は次のとおりです。
モデルの選択: modelsキーの下で、複数の構成を定義できます。
各構成は、異なるOpenAIモデルを指定できます。たとえば、 default構成では、 max_tokensリミット100のgpt-3.5-turboを使用します。環境変数MODEL_CONFIG_NAMEでモデル構成名を設定して、構成を選択する必要があります。
OpenAIチャットモデルの構成( chat_modelセクション) :
gpt-3.5-turboモデルのさまざまなバージョンが含まれ、それぞれ異なる機能とコンテキストウィンドウサイズを備えています。チャットボットの動作の構成( chatbotセクション) :
max_context_lenパラメーターは、単一の会話ウィンドウで考慮されるトークン(ユーザー入力とボット応答)の総数を定義します。これを調整すると、会話履歴の詳細を管理し、計算要件と請求に影響を与える可能性があります。ボットの音声の構成( voiceセクション) :
alloy 、 echo 、 fable 、 onyx 、 nova 、およびshimmer 。各声にはユニークなトーンとスタイルがあります。