deeplとchat-gpt3.5-turboを組み合わせる

これなーに

chat-gpt3.5-turboのAPIは良いけど、日本語よりも英語の方が精度が良い。
そこで考えた。

日本語で入力→英語に翻訳→chatgpt-3.5-turboに投入→英語で帰ってくる→日本語に翻訳

これができれば良いのでは?!
そこで翻訳といえばdeeplなので、deeplをかます

deeplのAPI

deeplのAPIは無料で利用できる。無料のAPI利用登録をしてapi_keyを取得する。
取得したapi_keyの使い方のpythonサンプルは以下。

# coding=utf-8
import requests
import yaml
import pathlib

base_path = pathlib.Path.cwd().parent

config_file = base_path / 'config' / 'config.yaml'
with open(config_file, 'r') as inf:
    config = yaml.safe_load(inf)
deepl_api_key = config['deepl_api']['api_key']


def main():
    text = "I have to go out today. That make me nerves."
    source_lang = 'EN'
    target_lang = 'JA'

    params = {
        'auth_key': deepl_api_key,
        'text': text,
        'source_lang': source_lang,  # 翻訳対象の言語
        "target_lang": target_lang  # 翻訳後の言語
    }

    request = requests.post("https://api-free.deepl.com/v2/translate", data=params)
    result = request.json()

    print(result['translations'][0]['text'])


if __name__ == '__main__':
    main()

とっても簡単。上記を実行すると、以下が帰ってくる。

今日も出かけなければならない。それはそれで緊張する。

日本語から英語の場合は、source_langとtarget_langを入れ替えれば良い。

これを前回の記事のchatgpt3.5-turboのAPIとくっ付ければ良い。

最終的なコードはこちら。streamlitでのデモ付き。

なんかプロンプト上手くいってない感じあるけどサンプルは以下。