0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WindowsでGPT-3を使った対話型AIと音声読み上げを実現する方法

Last updated at Posted at 2023-04-06

はじめに

この記事では、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)でやりたいことが実現できるようになるなんて、、。
しかも、それっぽい記事も作成してくれる
すごい時代だわ~

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?