since 2023-03-04
https://openai.com/blog/introducing-chatgpt-and-whisper-apis
Get started から初期設定して Secret Key をひとつ作る。
https://platform.openai.com/docs/quickstart/build-your-application
node.js ではなく python flask を試す。
git clone https://github.com/openai/openai-quickstart-python.git
このままだと macOS (Apple Silicon) だと python3.11 で pip install がこけた。。
Preparing metadata (setup.py) ... done ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11 ERROR: Could not find a version that satisfies the requirement numpy==1.21.3 (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.3, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0, 1.20.1, 1.20.2, 1.20.3, 1.21.0, 1.21.1, 1.22.0, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.23.0rc1, 1.23.0rc2, 1.23.0rc3, 1.23.0, 1.23.1, 1.23.2, 1.23.3, 1.23.4, 1.23.5, 1.24.0rc1, 1.24.0rc2, 1.24.0, 1.24.1, 1.24.2) ERROR: No matching distribution found for numpy==1.21.3
だがよく見ると requirements.txt が古いバージョンを指定しているので、直してやる
click Flask numpy openai requests python-dotenv
以下も参考
https://moneyforward-dev.jp/entry/2023/03/02/160050
@app.route("/", methods=("GET", "POST")) def index(): if request.method == "POST": animal = request.form["animal"] response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "あなたはペットトリマーです。"}, {"role": "user", "content": f"{animal}のお手入れについて知りたい。"}, ], ) return redirect(url_for("index", animal=animal, result=response.choices[0].message.content)) animal = request.args.get("animal") result = request.args.get("result") return render_template("index.html", animal=animal, result=result)
成果 <html> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">なるほどこういうのは作れるな <a href="https://t.co/Wbqk70Ive5">pic.twitter.com/Wbqk70Ive5</a></p>— にしもつ (@24motz) <a href="https://twitter.com/24motz/status/1631839861702549504?ref_src=twsrc%5Etfw">March 4, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </html>