見出し画像

In English Please (英語学習用chat)

import os
from datetime import datetime
import openai
import deepl
import playsound # windowsは1.2.2をインストールしてください。 pip install playsound==1.2.2

# deeplのAPIキーを取得してください。
# 環境にディレクトリspeechを作成してください。

auth_key = '***********************************' # deepl key
openai_key = os.environ.get("OPENAI_API_KEY")
client = openai.OpenAI()
def stream_and_play(text,count):
    speech_file_path = "./speech/speech" + str(count) + ".mp3"
    response = client.audio.speech.create(
        model="tts-1",
        voice="nova",
        input=text,
    )
    response.stream_to_file(speech_file_path)
    # Play the audio
    playsound.playsound(speech_file_path)

system_content = f"""あなたは優秀なAIアシスタントです。質問に答えてください。
現在時刻は{datetime.now()}です。"""

messages = []
translator = deepl.Translator(auth_key)
target_language = 'EN-US' # 英語に翻訳
print("あなたの友達に挨拶しましょう。 openai TTS")
count = 0
while True:
    u = input("You: ")
    if u == "":
        break
    messages.append({"role": "user", "content": u})
    resp = client.chat.completions.create(
        model="gpt-3.5-turbo-0125",
        messages=messages,
    )
    a = resp.choices[0].message.content
    messages.append({"role": "assistant", "content": a})
    print(" チャットボット: " + a)
    result = translator.translate_text(a, target_lang=target_language)
    print(" Chatbot: " + result.text)
    stream_and_play(result.text, count)
    count += 1

普通にチャットするだけです。あとは英語と日本語のテキストを見ながら発音を聞きます。

この記事が気に入ったらサポートをしてみませんか?