🫠
kintoneでChatGPTとお話する
こんな感じの相談アプリにカスタマイズするよ。
APIに付いての詳しいことはこちらのますみさんの記事を参照してね!
準備するフィールド
フィールドの種類 | フィールドコード |
---|---|
文字列(1行) | 質問 |
スペース | getOpinion |
文字列(複数行) | 回答 |
JavaScript
kintone.events.on(['app.record.create.show','app.record.edit.show'], async (event) => {
const sp = kintone.app.record.getSpaceElement('getOpinion');
const btn = document.createElement('button');
btn.textContent = 'AIの意見を聞く';
sp.appendChild(btn);
btn.addEventListener('click', async()=>{
const obj = kintone.app.record.get();
const resp = await kintone.proxy(
'https://api.openai.com/v1/chat/completions',
'POST',
{
'Content-Type': 'application/json',
'Authorization':'Bearer sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' // API KEY
},
{
"model": "gpt-3.5-turbo",
"messages":[
{
"role": "system",
"content": "日本語で返答してください。"
},
{
"role": "user",
"content": obj.record.質問.value
},
]
}
);
const res = JSON.parse(resp[0]);
obj.record.回答.value=res['choices'][0]['message']['content'];
kintone.app.record.set(obj);
});
return event;
});
Discussion
教えてください。
下記のエラーが出ますが、ブラウザ設定等が関係してますでしょうか?
Uncaught(in Promise) TypeError:Cannot read properties of undefined(reading ’0’)
at HTMLButtonElement.<anonymous>(download.do?app=1&co...ca3c8a78ea36f:30
:43)
anonymous@download.do?app=1&co...31eca3c8a78ea36f:30
以上、もしよろしければ教えてください。
あら!なんででしょうね!?
ちなみに、
Windows11、ブラウザはChromeです。
エラーを見た感じ、'0'が分からないみたいな感じなので、
このあたりが怪しいですね。
ブレークポイントを張ったりしてrespとかresの中身を確認してみてください。
(やり方は調べてください)
respの中身空っぽという場合はますみさんの記事を確認してみてください。
APIキーが間違ってただけでした!
楽しい~。ありがとうございましたー!
うまく行ったみたいで良かったです!楽しんでください~😆