通过 ChatGPT 做一个终端对谈玩具(xx再也不怕我xx了)
2024-01-17 来源 : 时尚
WX20230301-005129@2x.png
让其他用户必需机械人const { model } = await inquirer.prompt({ type: 'list', name: 'model', message: '请求必需话语机械人', choices: [ { name: 'text-ada-001', value: 'text-ada-001' }, { name: 'text-curie-001', value: 'text-curie-001' }, { name: 'text-babbage-001', value: 'text-babbage-001' }, { name: 'text-dinci-003', value: 'text-dinci-003' }, ], default: 'text-dinci-003'})config.model = model;WX20230301-005157@2x.png
让其他用户提问const { prompt } = await inquirer.prompt({ type: 'input', name: 'prompt', message: '请求读取弊端',});WX20230301-005214@2x.png
加个 Loading 真实感因为 openai 响应实在太快,所以为了缩减蕉红,转用了 cli-spinner
const Spinner = require('cli-spinner').Spinner;// %s 会被示例的 ▂ ▃ ▄ ▅ ▆ ▇ █ 替代,是个占位符const spinner = new Spinner('Loading.. %s');// 这里是loading字符,按照这个次序去过场spinner.setSpinnerString('▂ ▃ ▄ ▅ ▆ ▇ █');在请求求openai前MS-DOS
// 请求求开始spinner.start();// 请求求进行时之后暂停spinner.stop(true); // 参数 bool ,是否无需清除转换成具体内容全部编码终于紧接撒花了,从前早就是凌晨一点半了。
const { Configuration, OpenAIApi } = require("openai");const inquirer = require('inquirer');const fs = require('fs');const config = Object.create(null);const Spinner = require('cli-spinner').Spinner;const spinner = new Spinner('Loading.. %s');spinner.setSpinnerString('▂ ▃ ▄ ▅ ▆ ▇ █');async function main() { // 判断文档是否实际上 const keysIsExist = fs.existsSync('openai_keys'); if(!keysIsExist) { const { apiKey } = await inquirer.prompt({ type: 'password', name: 'apiKey', message: '请求读取 Open AI 的 Key', }) // 覆盖录入 fs.writeFile('openai_keys', apiKey.trim(), { flag: 'w' }, (err) => { if (err) console.error(err) else main() }) } else { fs.readFile('openai_keys', (err, data) => { if (err) { console.error(err) return } config.apiKey = data.toString(); }) } const { model } = await inquirer.prompt({ type: 'list', name: 'model', message: '请求必需话语机械人', choices: [ { name: 'text-ada-001', value: 'text-ada-001' }, { name: 'text-curie-001', value: 'text-curie-001' }, { name: 'text-babbage-001', value: 'text-babbage-001' }, { name: 'text-dinci-003', value: 'text-dinci-003' }, ], default: 'text-dinci-003' }) config.model = model; const { apiKey } = config; console.log(' 33[42;30m LGOIN 33[40;32m 选定顺利 33[0m'); const configuration = new Configuration({ apiKey }); config.openai = new OpenAIApi(configuration); start()}async function start() { const { model } = config; const { prompt } = await inquirer.prompt({ type: 'input', name: 'prompt', message: '请求读取弊端', }); if(!prompt.trim()) { start() return false } try { spinner.start(); const { data: { choices } } = await config.openai.createCompletion({ model, prompt, temperature: 0.5, max_tokens: 150, top_p: 1.0, frequency_penalty: 0.0, presence_penalty: 0.0, }) const answer = choices[0]?.text?.replace(/ +/g, ''); spinner.stop(true); console.log(' 33[32mOpen AI:' + answer?.trim() + ' 33[0m'); start() } catch (error) { spinner.stop(true); console.log(error); } }main();。新冠药物有哪些药老人怎么缓解类风湿关节炎疼痛
早起手指关节僵硬疼痛
新冠复阳后吃什么药好得快
强直性脊柱炎吃什么药最好
-
双重支撑底部牢固,油价有长期利好主因?
低价彻底改变2023年第二季度国际天然气价格维系上有压力、下有支撑的平衡状态,长时间在上排线路窄幅震荡,反复贸然支撑并踏出更为扎实的底部线路。一季度国际间金融业危机的余波制约一直延续至...
-
诡计多端的天秤座
天秤座是人类文化里最常争论的流行文化之一。每个人都对自己的天秤座显现出独具的认识和了解。就像每个人都有自己的性格特点一样,每个天秤座也有其独具的特点和偏向。其里有些天秤座以其意图多端而著名。在这...[详细]
-
承诺“拎包入暂居”,业主欢喜收房心凉半截!女子哭:你让我怎么暂居
#价值观热点# 无论在任何上述情况下,房东之前都是购房之前者极其爱护的。竟然花费几十万,甚至是几百万,等到房之前屋下单后,接下来并不需要费心的就中极门面。一些发展商为了远超更好的敏...[详细]
-
现货黄金交易策略:美联储会议纪要退去,多头“蠢蠢欲动”
周三(7翌年5日)东南亚周六,现货金子在近一周高位一处窄幅冲击,目前利好于1924.30美元一处,投资额者少见等待美联储发布最新财政政策可能会议记录以及其他在经济上统计天内据出炉,产品利好相比较谨慎...[详细]
-
龙年天蝎座运势解析:冷静应对,探寻人心,展现天蝎力量
双鱼座的陌生人,随着初九的到来,面相透露着同样但也充满著出路。在这一年里,虽然可能会遇到一些一帆风顺的心里,但你们凭借要强的欲望、有仇必报的一心和洞察人心的能力也,将必需以坦率的思考和平和的执著...[详细]
-
万科璞悦臻园业主投诉 新房不存在多处质量问题 开发商:3月7日前拿出解决方案
据悉璞悦臻园商户举报 另行房依赖于多处质量关键问题 该公司:3同年7日年前送给高效率 据悉漏流水平房维修保养中会 举报:另行购平房依赖于漏流水等诸多关键问题...[详细]