🔰
ColdFusion で ChatGPT の API 入門
はじめまして。
Zennで記事を書いてみることにしました。
初投稿の記事なので、ウォーミングアップ的な感じで
タイトル通りのことを実践していきます。
Zennで検索したら1件もなかった件について
とりあえずChatGPTに書き方聞いてみた
とりあえず実行してみた
このままコピペして実行してみたら怒られました。
<cfscript>
apiEndpoint = "https://api.openai.com/v1/engines/davinci-codex/completions";
apiKey = "YOUR_API_KEY_HERE";
requestData = {"prompt": "Hello, ChatGPT!", "max_tokens": 50};
headers = [{"name": "Content-Type", "value": "application/json"}, {"name": "Authorization", "value": "Bearer #apiKey#"}];
httpService = new http();
response = httpService.post(
url = apiEndpoint,
headers = headers,
body = serializeJSON(requestData)
);
writeDump(response.fileContent);
</cfscript>
post関数がねぇ とな?
CFDocs を参考にしながら修正しました。
<cfscript>
apiEndpoint = "https://api.openai.com/v1/chat/completions";
apiKey = "YOUR_API_KEY_HERE";
requestData = {"messages": [{"role": "user", "content": "Hello, ChatGPT!"}], "max_tokens": 50, "model": "gpt-3.5-turbo"};
httpService = new http();
httpService.setUrl(apiEndpoint);
httpService.setMethod("POST");
httpService.setCharset("utf-8");
httpService.addParam(type="header", name="Authorization", value="Bearer #apiKey#");
httpService.addParam(type="header", name="Content-Type", value="application/json");
httpService.addParam(type="body", value=serializeJSON(requestData));
response = httpService.send().getPrefix();
writeDump(response.fileContent);
</cfscript>
そしたら応答は返ってきましたが、APIキーを指定していませんでした☆
{ "エラー": { "メッセージ": "不正な API キーが提供されました: YOUR_API*****HERE。API キーは https://platform.openai.com/account/api-keys にあります。"," type": "invalid_request_error", "param": null, "code": "invalid_api_key" } }
どこで取得すれば良いかも書いてくれるの親切ですね!
APIキーの発行
Open AI へアクセスし、API Keyを発行します。
「+ Create new secret key」をクリック
キー名を入力し、「Create secret key」をクリック
キーが発行できました!
リベンジ
レスポンスが返ってきました!
{"model":"gpt-3.5-turbo-0301","usage":{"prompt_tokens": 14,"completion_tokens":10,"total_tokens":24},"choices":[{"message":{"role":"assistant","content":"こんにちは! 今日はどうすればいいですか?" },"finish_reason":"停止","インデックス":0}]}
"model":"gpt-3.5-turbo-0301"
ってなんだ?
AIにも色々あるらしい
公式サイトに分かりやすい一覧が掲載されていました。
わたしが今回使ったgpt-3.5-turbo-0301
は言語モデルですが、
音声をテキストに変換したり、テキストを数値に変換したりと
様々なモデルがあるようです。
AIって人の言葉を理解してほにゃららするイメージが強かったな、
言語以外にも使い道があるのか!すごいなぁ
他のAPIも叩いてみて、AIのことを知りたいですねo(^-^ o )
Discussion