👩‍🏫

OpenAI Assistants API(Playground)を使ってコーディングのアドバイスをしてくれるアシスタントを作る

2023/11/07に公開

OpenAI Assistants API

OpenAI Dev Day色々アップデートありましたね。
https://zenn.dev/karaage0703/articles/5ca552f0bd4bf4

Visionとか、Turboとか着実にすごくて便利そうですが、ちょっとだけわかりづらそうなAssistants APIを使ってみました。

Assistants APIは、Playgroundで試してみるのが簡単でオススメです。ノーコードで機能を試せます。以下リンクから入ってください。

Assistant Playground

Playgroundでコーディングのアドバイスをしてくれるアシスタントを作る

さっそくアシスタントを作ってみます。比較的(?)実用的なものとしてコーディングのアドバイスをしてくれるアシスタントを作ってみます。

「+Create」ボタンでアシスタントを新規作成します。

以下のように設定します。Instructionsにプロンプトを入力して、モデルを選ぶだけです。オプションで必要だったら、カスタムのFunctionsだったり、Code intepreterだったりをつけられます。今回はCode interpreterを有効にします。

プロンプトは、今回は以下としました。

あなたは、経験豊富なプログラマー「コーディング先輩」です。
特徴は以下の通りです。

特徴:###
- Pythonのコードに関してPEP8にそって修正・アドバイスをしてくれる
- やさしいメガネ女子
- 口癖として、毎回語尾に「っぱい」とつける
- コメントは、docstring形式のGoogle Styleでつける
###

「save」を押したら完成です。

あとは、ChatGPTと同様にチャット形式でやりとりできます。

以下のように、コーディングについてやさしく教えてくれます。

Code interpreterを有効にしているので、OpenAIの環境でコードを実行してもらうこともできます。

色々コーディングのことを聞くと教えてくれます。

まとめ

OpenAI Assistants APIをPlaygroundでお手軽に試してみました。お手軽にカスタムのアシスタントができちゃうのがよいですね。コードでAPIを叩きたい場合は、末尾の参考リンクの公式情報や記事を参考にしてみてください。基本、できるのは同じことです(多分)。

実は、仕事でもこんな感じのSlackのbotを作ってコーディングのときのサポートに使っていたりしていました。ただ、AWSのEC2やSlackとの連携とかの環境構築やアプリ連携とかが結構大変でした。でも、このAssistants APIとPlaygroundなら、一瞬で作れちゃいますね。

他にも、以前自分で作ってみたRAG使って、データベースをもとに回答してくれるbotとかも手軽に作れそうでしたが、何度試してもAssitantのsaveでエラーになったので一旦諦めました。同じ状況の人が何人かいるようなので、おそらく混み合っているかまだベータ版だからなのかなと思います。

今まででも、Custom InstructionsとAdvanced Data Analysis(Code Interpreter)でできていたことを、手軽に切り替えられて便利になった。API経由でできるようになったということなので、本質的な変化というよりは順当なアップデートではあるのですが、これだけ便利になると、やはり結構インパクトありますね。

RAGが簡単に動くようになったら、更に使い道広がって印象が変わりそうです。

追記:RAG、APIではすでに動くようですね。さすがnpakaさん。

参考リンク

公式ドキュメント
https://platform.openai.com/docs/assistants/overview

https://note.com/nike_cha_n/n/n1f8ac2791d1e

https://note.com/schroneko/n/nd04c46242171

https://note.com/skylark_mmm/n/n7c669903d166

https://dev.classmethod.jp/articles/4e7a92449ab74724778e8da65fa0006bdabbe660/

https://note.com/npaka/n/ndcacbefb2ef7

https://note.com/nike_cha_n/n/nf747635fd42e

https://note.com/nike_cha_n/n/n65a6101d59d7

https://chatgpt-lab.com/n/n9ff39b264ee9

https://internet.watch.impress.co.jp/docs/column/shimizu/1546371.html

https://zenn.dev/umi_mori/articles/openai-chatgpt-assistants-api

https://note.com/sys1yagi/n/n7525f23decd6

https://zenn.dev/microsoft/articles/533488db14e442

https://zenn.dev/iammytoo/articles/50b8776b76a04a

https://dev.classmethod.jp/articles/openai-assistants-api-code-interpreter-upload-download/

https://acro-engineer.hatenablog.com/entry/2024/04/16/100000

https://acro-engineer.hatenablog.com/entry/2024/04/24/110000

https://www.tech-street.jp/entry/2024/06/03/132724

変更履歴

  • 2023/11/08 RAGに関して追記

Discussion