これなーに
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でのデモ付き。
なんかプロンプト上手くいってない感じあるけどサンプルは以下。