OpenAIが提供しているREST APIを呼び出して、質問に対する回答を生成するAppleScriptです。実行のためにはOpenAIのWebサイトにサインアップして、実行のためのAPI Keyを取得してください。
ChatGPTなどのサービスを提供しているOpenAIにサインアップして、各種サービスをAppleScriptから利用できます。Freeアカウントでは1分あたりに発行できるクエリー数の上限が低めに設定されていますが、実験を行う程度であれば十分なレベルでしょう。
https://platform.openai.com/docs/introduction
「質問に対する回答を生成」は、いわゆるChatGPTでよく知られている処理で、対話的に質問文に回答するものです。回答内容が正しいかどうかはちょっとアレですが、自然言語処理もこのレベルまで来たのかと感心させられます。
対話っぽい動作(前回の問い合わせを踏まえた上で回答する)を考えて「user」パラメータを付けて呼び出していますが(ここも自分のユーザーアカウントに書き換えてください)、いまひとつWebブラウザ上で問い合わせを行ったときのような「つながり」を感じられないので、何かまだ指定する必要があるのかもしれません。
AppleScript名:Compilations(質問に対する回答を生成).scptd |
— – Created by: Takaaki Naganoya – Created on: 2023/02/24 — – Copyright © 2023 Piyomaru Software, All Rights Reserved — use AppleScript version "2.4" — Yosemite (10.10) or later use framework "Foundation" use scripting additions property NSString : a reference to current application’s NSString property NSCountedSet : a reference to current application’s NSCountedSet property NSJSONSerialization : a reference to current application’s NSJSONSerialization property NSUTF8StringEncoding : a reference to current application’s NSUTF8StringEncoding set myText to "バンダイナムコのアーケードゲーム「戦場の絆1」の初代プロデューサーの名前は、小山順一朗さんです。" set barerKey to "xx-XXXXXXXxXxxxxXxxXXxXXXXxxxXXxxxxXXxxxXXxXXxxXXxx" set sRes to (do shell script "curl https://api.openai.com/v1/completions -H ’Content-Type: application/json’ -H ’Authorization: Bearer " & barerKey & "’ -d ’{\"model\": \"text-davinci-003\", \"prompt\": \"" & myText & "\", \"max_tokens\": 200, \"temperature\": 0, \"user\": \"maro_ml@piyocast.com\"}’") set jsonString to NSString’s stringWithString:sRes set jsonData to jsonString’s dataUsingEncoding:(NSUTF8StringEncoding) set aRes to NSJSONSerialization’s JSONObjectWithData:jsonData options:0 |error|:(missing value) set modelRes to aRes as {anything, record} –>{|id|:"cmpl-6nMNGJzTFei6eMbn1rnMgMN9ML4qi", object:"text_completion", created:1.677222098E+9, model:"text-davinci-003", choices:{{|index|:0, finish_reason:"stop", logprobs:missing value, |text|:"小山順一朗さんは、バンダイナムコのゲームプロデューサーとして、「戦場の絆1」をはじめとした数々のアーケードゲームをプロデュースしてきました。また、「戦場の絆1」のプロデューサーとして、「戦場の絆2」「戦場の絆3」「戦場の絆4」などのシリーズをプロデュースしています。"}}, usage:{total_tokens:224, completion_tokens:163, prompt_tokens:61}} |
More from my site
(Visited 38 times, 1 visits today)