openai whatsapp chatbot
v0.1 Whatsapp-Chatbot
OpenAI の API を使用して、WhatsApp から受信したテキストおよび音声メッセージに GPT3 ベースの言語モデル (Davinci、Ada、Babbage など) で返信し、DALL-E 2 で画像を生成するチャットボットです。
OpenAI の API への有効なキーが必要です。
git clone https://github.com/simonsanvil/openai-whatsapp-chatbot
pip install -r requirements.txt
OpenAI API キーを環境変数として設定するか、アプリが実行される作業ディレクトリ内の .env ファイルに追加する必要があります。
export OPENAI_API_KEY=[YOUR OPENAI API ACCESS KEY]
/whatsapp/receive
エンドポイントをコールバック URL として、 /whatsapp/status
ステータス コールバック URL として使用して、Whatsapp メッセージ用の Twilio サンドボックスを設定します (これを行う方法については、Twillio のチュートリアルに従ってください。数分かかります)。 export TWILLIO_AUTH_TOKEN=[YOUR TWILIO AUTH TOKEN]
export TWILLIO_ACCOUNT_SID=[YOUR TWILIO ACCOUNT SID]
export FROM_WHATSAPP_NUMBER=[YOUR ASSIGNED TWILIO WHATSAPP NUMBER] # +14155238886
下の画像は、Whatsapp 用に Twillio サンドボックスを構成するときにどのボックスに入力する必要があるかを示しています。
export MAX_TOKENS=[NUMBER OF MAX TOKENS IN EACH REPLY]
export CONVERSATION_EXPIRES_MINS=[N MINUTES UNTIL A CONVERSATION IS ERASED FROM MEMORY]
export ALLOWED_PHONE_NUMBERS=[+1234567890,+1987654321] # Default is any number
export START_TEMPLATE=[PATH TO A FILE WITH A TEMPLATE FOR THE START OF A CONVERSATION] # data/start_template.txt
export ASSEMBLYAI_API_KEY=[YOUR ASSEMBLY-AI API KEY]
ASSEMBLYAI_API_KEY
環境変数は、AssemblyAI の API を使用して、受信した音声メッセージの音声を解析および文字起こしし、エージェントが応答できるようにします。これが必要ない場合、または必要ない場合は、その変数を無視できます。
# (Use --help to see all the options):
python3 -m app.whatsapp
あるいは、Docker コンテナーがすべての要件を自動的にインストールし、whatsapp アプリケーションを実行します。
# building the image
docker build -t openai-ws-chatbot .
# running the container
# It is expected that you have all the required environmental variables in a .env file
docker run -p 5000:5000 openai-ws-chatbot --env_file=.env
Whatsapp 用 Twilio サンドボックス チュートリアルの指示に従うと、サンドボックスに参加してすぐにエージェントとのチャットを開始できるようになります。