はじめに
この記事では、OpenAIのGPT-3を使って対話型AIを作成し、WindowsでそのAIからの返答を音声で読み上げる方法を紹介します。Pythonを使用し、GPT-3 APIとpyttsx3
ライブラリを活用して実装していきます。
実装した理由としては、ChatGPTのAPIを使った簡単なアプリを開発してみたかったからです。
準備
まず、必要なライブラリをインストールしましょう。
pip install openai
pip install pyttsx3
コード
以下が、対話型AIと音声読み上げを実現するPythonコードです。
!を入力すると、今までに入れたメッセージが出力されます。
endを入力すると、終了する形にしています。
import openai
import pyttsx3
import os
def text_to_speech(text):
engine = pyttsx3.init()
engine.setProperty("rate", 150)
engine.say(text)
engine.runAndWait()
def get_ai_response(messages):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
return response['choices'][0]['message']['content']
def main():
# ここにAPIを直接書き込むか環境変数で入力するような形にしてください。
openai.api_key = os.environ.get("OPENAI_API_KEY") or "your_openai_api_key_here"
messages = []
max_messages = 10
print("AIの性格を決めて下さい")
AI_input = input("AI: ")
messages.append({"role": "system", "content": AI_input})
while True:
user_input = input("User: ")
if user_input == "end":
break
messages.append({"role": "user", "content": user_input})
ai_response = get_ai_response(messages)
print(f"AI: {ai_response}")
text_to_speech(ai_response)
messages.append({"role": "assistant", "content": ai_response})
if len(messages) > max_messages * 2 + 1:
messages.pop(1)
messages.pop(1)
if user_input == "!":
print("messages:", messages)
if __name__ == "__main__":
main()
使い方
1. 上記のコードをai_voice.pyなどのファイル名で保存します。
2.ターミナルまたはコマンドプロンプトで、スクリプトを実行します。
python ai_voice.py
3.AIの性格を入力し、その後ユーザーとして質問を入力すると、AIが返答を音声で読み上げます。
4. 会話を終了するには、endと入力します。
まとめ
この記事では、GPT-3 APIを使った対話型AIとその返答をWindowsで音声読み上げる方法を紹介しました。pyttsx3ライブラリを使って簡単にテキストを音声に変換でき、対話型AIの返答をリアルタイムで聞くことができます。このコードはさまざまな用途に応用できるため、自由にカスタマイズして活用してください。
追加のカスタマイズ
この対話型AIと音声読み上げプログラムは、さらにカスタマイズして機能を追加できます。
例としては、
- AIの性格や応答スタイルを変更するオプションを追加できます。
- ユーザー入力の履歴をファイルに保存し、後で確認できるようにすることができます。
- 音声認識ライブラリを使用して、ユーザーがマイクで質問をすると、AIがそれに応答するようにできます。
このように、対話型AIと音声読み上げプログラムは多様なシチュエーションで利用でき、ユーザーとのインタラクションをより自然で直感的にすることができます。
注意事項
OpenAIのGPT-3 APIを利用する際は、利用制限や料金に注意してください。APIキーの利用状況を適宜確認し、利用制限を超えないように注意してください。制限に達した場合は、OpenAIのサポートチームに連絡して、APIの利用制限を増やすことを検討してください。
さいごに
この記事で紹介した対話型AIと音声読み上げの実装方法をぜひお試しください。音声対話を通じてAIとのインタラクションを楽しんで、さまざまなアプリケーションやプロジェクトに取り入れてみてください。お楽しみいただければ幸いです。
いやー参考コードを作って、そのコードを基にやってほしいことを追加すれば、
ほとんどChatGPT(GPT4)でやりたいことが実現できるようになるなんて、、。
しかも、それっぽい記事も作成してくれる
すごい時代だわ~