ChatGPTでレスポンスを生成するようにした
This commit is contained in:
parent
6a2c4663d3
commit
1022ab1462
37
bot.js
37
bot.js
@ -174,9 +174,19 @@ async function transcribeAudio(filePath) {
|
|||||||
response_format: 'json' // レスポンス形式をJSONに指定
|
response_format: 'json' // レスポンス形式をJSONに指定
|
||||||
});
|
});
|
||||||
|
|
||||||
// 文字起こし結果を表示
|
// 文字起こし結果を取得
|
||||||
if (response && response.text) {
|
if (response && response.text) {
|
||||||
console.log('Transcription:', response.text);
|
const transcription = response.text;
|
||||||
|
console.log('Transcription:', transcription);
|
||||||
|
|
||||||
|
// ChatGPTを使用して返答を生成
|
||||||
|
const reply = await generateChatResponse(transcription);
|
||||||
|
console.log('ChatGPT response:', reply);
|
||||||
|
|
||||||
|
// 必要に応じて、返信内容をメッセージとして送信
|
||||||
|
// 例えば、メッセージを元のチャンネルに送信するなど
|
||||||
|
// message.channel.send(reply); // メッセージを送信する場合
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.error('Error: Transcription response is missing "text" field.');
|
console.error('Error: Transcription response is missing "text" field.');
|
||||||
}
|
}
|
||||||
@ -185,4 +195,27 @@ async function transcribeAudio(filePath) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ChatGPTに応答を生成させる関数
|
||||||
|
async function generateChatResponse(transcription) {
|
||||||
|
try {
|
||||||
|
const chatResponse = await openai.chat.completions.create({
|
||||||
|
model: 'gpt-3.5-turbo', // ChatGPTのモデルを指定
|
||||||
|
messages: [
|
||||||
|
{ role: 'system', content: 'You are a helpful assistant.' },
|
||||||
|
{ role: 'user', content: transcription }
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
if (chatResponse && chatResponse.choices && chatResponse.choices.length > 0) {
|
||||||
|
return chatResponse.choices[0].message.content; // 応答内容を返す
|
||||||
|
} else {
|
||||||
|
console.error('Error: ChatGPT response is missing choices.');
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error during ChatGPT response generation:', error.response ? error.response.data : error.message);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
client.login(process.env.BOT_TOKEN);
|
client.login(process.env.BOT_TOKEN);
|
||||||
|
Loading…
Reference in New Issue
Block a user