Skip to content

Instantly share code, notes, and snippets.

@fukata
Last active March 2, 2023 14:52
Show Gist options
  • Save fukata/72727d1f2f7811586d809bf351f7dec1 to your computer and use it in GitHub Desktop.
Save fukata/72727d1f2f7811586d809bf351f7dec1 to your computer and use it in GitHub Desktop.
$node src/chat.js
あなた: おすすめのパスタを教えてください。
AI:

私はAIのため選べませんが、一般的な人気のあるパスタレシピとしては、

・トマトソーススパゲッティ
・カルボナーラ
・アラビアータ
・ペスカトーレ
・ボンゴレビアンコ
・ジェノベーゼ
・アマトリチャーナ

などがあります。
あなた: トマト系がいいです。
AI: 了解です。トマト系の中でも、トマトソースとモッツァレラチーズが絶妙な相性の、トマトとモッツァレラチーズのスパゲッティがおすすめです。ただしトマトとモッツァレラチーズを使っても、大人向けにはちょっと甘く感じ
るかもしれないので、生ハムやバジル、オリーブなどのアクセントを加えても美味しいです。
あなた: 作り方を教えてください。
AI: はい、トマトとモッツァレラチーズのスパゲッティの作り方をご紹介します。

【材料】

-スパゲッティ 150g
-トマト 1個
-モッツァレラチーズ 100g
-ニンニク 1かけ
-オリーブオイル 大さじ2
-塩、黒コショウ 適量
-生ハム、バジル、オリーブなど(オプション) 適量

【手順】

1.鍋にスパゲッティをお湯と塩を入れて茹でる。
2.ニンニクはみじん切りにしておく。
3.トマトはざく切りにしておく。
4.フライパンにオリーブオイルとニンニクを入れ、火にかけ弱火で軽く香りを出す程度に火を通す。
5.トマトを加え、手早く火を通す。
6.茹で上がったスパゲッティを2のフライパンに入れ、火を入れ全体に絡める。
7.刻んだ生ハム、バジル、オリーブを加える(オプションで、お好みで加える)。
8.お皿に盛り付け、モッツァレラチーズをかけ、塩、黒コショウで味を調える。

完成です!とてもシンプルで作りやすいパスタですが、トマトとモッツァレラチーズの相性は抜群で、絶品な一品になります。お好みで、パルミジャーノレッジャーノチーズやレモン汁を加えても美味しいです。
あなた: ありがとう。
AI: どういたしまして。おいしいお食事をお楽しみください!
require('dotenv').config();
/**
* チャットメッセージ
* @type {*[]}
*/
const gMessages = [];
function addMessage(role, content) {
gMessages.push(
{
role: role,
content: content,
}
);
}
async function sendMessage(openai, message) {
const response = await openai.createChatCompletion({
model: 'gpt-3.5-turbo',
messages: gMessages,
});
return response.data;
}
function receiveMessage(data) {
// console.log(data.choices);
const message = data.choices[0].message;
addMessage(message.role, message.content);
console.log(`AI: ${message.content}`)
}
function inputMessage(question) {
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
return new Promise((resolve, reject) => {
readline.question(question, (answer) => {
resolve(answer);
readline.close();
});
});
}
async function main() {
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
while(true) {
const message = await inputMessage(`あなた: `);
// console.log(message);
if (message.length > 0) {
addMessage('user', message);
const data = await sendMessage(openai, message);
receiveMessage(data);
}
}
}
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment