Microsoft Ignite 2021の基調講演で発表された「Azure OpenAI Service」。公式ページにある通りOpenAI でOpenAI APIを発行してもらったのでExpamplesにある49個のアプリから「Create study notes」をPythonから実行して試行錯誤します。
OpenAIのExpamplesにあるCreate study notesとは
公式の説明では、「Provide a topic and get study notes.」とあり、“トピックを提供すると学習ノートを取得”となります。トピックから学習ノートが作られ、こんな勉強をしたらいいということを教えてくれます。
公式のタグでは「Generation」1つが付与されています。
プログラムを見るとエンジンは「davinci-instruct-beta」という、「davinci-instruct」というエンジンのβ版となっています。
サンプルコードでは最初に「What are some key points I should know when studying Ancient Rome?(古代ローマを学ぶ上で知っておくべきポイントはありますか?)」とあり、最初からトピックを質問形式で投げるようです。
早速使ってみた
公式にあるコードを参考に、好きな文章を入れられるように str という変数に会話を入れて実行できるようにします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Python Code ‘’’ import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") str = """ What are some key points I should know when studying Ancient Rome? 1. """ response = openai.Completion.create( engine="davinci-instruct-beta", prompt=str, temperature=1, max_tokens=64, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.0 ) print(response["choices"][0]["text"]) ‘’’ |
学習する上でのポイントを教えてくれる
実行すると、
「The Roman’s divided ancient Roman society into “citizenry, slavery.”
- Roman’s organized society according to social class.
- The Roman’s became wealthy by ensuring that they had slaves to clean their villa.
- The social」
となりました。
最後の4の部分が切れてしまっていますが、1つ目に市民・奴隷の話や2つ目に社会階級のように古代ローマに適した学習ノートを返してくれているようです。
また実行するたびに答えが変わるため、1回目の学習ノートがしっくり来なくても数回確認することで、自分が学習したくなるようなノートを作ることが出来ます。
プログラミングの学習方法も教えてくれる
「Where should I start in learning Python?(Pythonの学習は何から始めればいいのでしょうか?)」とすると、
「Read
- Put it into practice
- And learn something new every day
If you know Javascript (and Programming (and Python (and Computer Science (and MATLAB))) and Computer Science (and MATLAB ()) and Java (and LISP (and Mean ))) and」
「You an start at python.org with Beginners Guide to Python or check playingwithpythontour.com
- The video Python
3 data visualization with matplotlib, pygal
What are matplotlibs?
matplotlib is the plotting module in Python, which provides access to low」
のように返ってきました。どちらもPythonの学習についてノートですが、両方ともに「Matlab」「matplotlib」とデータ分析やデータビジュアライゼーションといったことをやったほうがいいという、単にPythonを身につけると言うより将来を見据えたアドバイスを返してくれます。まずはPythonそのものを身につけるための学習方法を知りたいと思うものの、最初から実践的な学びをしたほうがいいという意味でも的確なアドバイスに見えます。
どんなときに使えるのか?
新しいことを学ぶ上でのポイントやコツを教えてくれます。
従来であればGoogle等で検索をかけてヒットする複数のサイトの記事を読み、自分でどんなふうに学ぶかを考え、合わなければ新たに方法を調べるといった流れになると思います。
現時点ではピンポイントでこれだ!という内容が返ってきてはいないものの、上記のような手順を考えると、OpenAIのinstruct(指示する)エンジンは今後、人の様々なことにアドバイスを与えられるように思えます。新しいことを学ぶときや今持っているスキルを伸ばすときなどに活用できます。