通过喝茶实现传统经典编程和AIGC的结合
大模型开发/技术交流
- LLM
2024.09.02560看过
前言
闲来无事在喝茶,突然想到如果喝茶的步骤用传统编程一步步实现会是怎样的?那如果再结合AIGC又是怎样的呢?
使用传统经典编程来泡茶
构造函数Tea
function Tea(type) {this.type = typeconsole.log('您准备泡一杯' + this.type);}
添加方法
// 对象 prototype 添加方法Tea.prototype.boilWater = function() {console.log('把水煮沸')}Tea.prototype.steepTeaBag = function() {console.log('用沸水浸泡茶叶')}Tea.prototype.pourInCup = function() {console.log('把茶水倒进杯子')}Tea.prototype.addLemon = function() {console.log('加柠檬')}
实例化与方法调用
var lemonTea = new Tea('柠檬茶');lemonTea.boilWater();lemonTea.steepTeaBag();lemonTea.pourInCup();lemonTea.addLemon();
传统经典编程遇上模板方法模式
在前面的实例化与方法调用中,每增加一个实例,都需重新调用泡茶的四个方法,于是我们在
Tea.prototype 上定义了一个模板方法 init,它调用了上述的四个步骤方法。这个方法就是所谓的“模板”,定义了泡茶的固定流程。通过在子类中调用 init,可以保证每种茶的制作都遵循这个流程。
模板方法 init
Tea.prototype.init = function() {this.boilWater();this.steepTeaBag();this.pourInCup();this.addLemon();}
实例化与调用
var lemonTea = new Tea('柠檬茶');lemonTea.init();
传统经典编程和AIGC结合
安装dotenv包
在集成终端打开,输入
-
npm i dotenv
安装openai包
-
npm i openai
创建.env文件
利用
dotenv库(通过dotenv.config()方法)可以将Key等敏感信息存储在项目根目录下的.env文件中。这样可以避免将密钥直接写入源代码,减少泄露风险。
-
OPENAI_KEY =YOUR_API_KEY
创建main.js
此时您的目录应该如下所示
① 环境变量配置
require('dotenv').config();
② 导入OpenAI模块并创建实例
const OpenAI = require('openai')const client = new OpenAI({apiKey: process.env.OPENAI_KEY,baseURL:'https://api.chatanywhere.tech/v1'})
③ 创建异步函数getChatResponse
const getChatResponse = async function(model,prompt,n){const response = await client.chat.completions.create({model:model, // 适合聊天的模型 有很多种messages: [{role : 'user',content : prompt}]})return response.choices[0].message.content;}
④ 主函数mian()
利用AIGC的优势处理文本,生成内容
const main = async () => {const text = `泡一杯茶很容易。首先,需要把水烧开。在等待期间,拿一个杯子并把茶包放进去。一旦水开了,就把它倒在茶包上。等待一会儿,让茶叶浸泡,几分钟后,取出茶包。如果你愿意,可以加一些糖或牛奶调味。就这样,您可以享受一杯美味的茶了。`const prompt = `您将获得由三个引号括起来的文本。如果它包含一系列的指令,则需要按照以下格式重新编写这些指令。第一步 - ...第二部 - ......第N步 - ...如果文本中不含一系列的指令,则直接写“未提供步骤”"""${text}"""`const result = await getChatResponse('gpt-3.5-turbo', prompt);console.log(result);}
⑤ 运行
调用main()函数运行程序。
main()
总结
模板方法模式通过将不变的流程放在父类的模板方法中,减少了代码重复;结合AIGC,模板方法中的部分内容可以由AI模型自动填充或优化,使得算法更加灵活高效。
————————————————
版权声明:本文为稀土掘金博主「泡泡oO」的原创文章
原文链接:https://juejin.cn/post/7371786399442763802
如有侵权,请联系千帆社区进行删除
评论