Tea也能喝出不一样的编程思想
模块化方法是一种将复杂系统分解为较小、可管理的模块的设计方法。这些模块可以独立设计、开发和测试,然后组合在一起形成完整的系统。以下是模块化方法的一些特点和步骤:
让我们来一起泡杯茶吧
泡茶的步骤
- 把水煮沸
- 沸水浸泡茶叶
- 把茶水倒进杯子
- 加柠檬
<script>
。
Tea = function (type) {
this.type = type;
console.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("加柠檬");
};
//接口,模板方法接口
Tea.prototype.init = function () {
this.boilWater();
this.steepTeaBag();
this.pourInCup();
this.addLemon();
};
// 当以new的方式被运行
var greenTea = new Tea("绿茶");
var wlTea = new Tea("乌龙茶");
var Lemon = new Tea("柠檬茶");
</script>
-
Tea 和绿茶之间没有血缘关系,Tea是原型对象
-
Tea 是可执行对象,构建我们的对象 this指向的这些属性就是实例的属性模板
-
Tea 通过protopyte 添加一些方法,都可以以它为原型的对象共享(public)
Tea
在这里被定义为一个函数,实际上是作为一个类(构造函数)来使用。
通过protptype添加一些方法被共享
Tea.prototype.boilWater = function () {
console.log("把水煮沸");
};
Tea.prototype.steepTeaBag = function () {
console.log("用沸水浸泡茶叶");
};
Tea.prototype.pourInCup = function () {
console.log("将茶水倒进杯子");
};
Tea.prototype.addLemon = function () {
console.log("加柠檬");
};
用模块化方法,将方法进行组合和封装
//接口,模板方法接口
Tea.prototype.init = function () {
this.boilWater();
this.steepTeaBag();
this.pourInCup();
this.addLemon();
};
创建实例对象并调用接口
var Lemon = new Tea("柠檬茶");
AI泡茶
话不多说,直接上代码
const OpenAI = require("openai");
const dotenv = require("dotenv");
dotenv.config();
const client = new OpenAI({
apiKey: process.env.OPENAI_KEY,
baseURL: 'https://api.chatanywhere.tech/v1'
})
const getChatResponse = async function (model, prompt) {
const chatCompletion = await client.chat.completions.create({
model: model, //适合聊天的模型 很多种
messages: [
{
role: 'user',
content: prompt
}
]
})
return chatCompletion.choices[0].message.content;
}
const main = async () => {
//AIGC 优势就是处理文本 ,生成内容
const text = `泡一杯茶很容易。首先需要把水烧开
在等待期间,哪一个杯子并把茶包放进去
一旦水开了,就把它倒到茶包里面
等待一会把茶叶浸泡,几分钟之后取出茶包
如果你愿意,可以加一些糖或者牛奶调味
就这样,您可以享受一杯美味的茶了
`
const prompt = `
您将获得由三个引号括起来的文本。
如果它包含一系列的指令,则需要按照以下格式重新编写这些指令,
第一步 - ,,,
第二步 - ,,,
。。。
第n步 - 。。。
如果文本中不包含一指令,则直接写‘未提供步骤’
"""${text}"""
`
const result =await getChatResponse('gpt-3.5-turbo',prompt)
console.log(result)
}
main();
环境准备
首先,我们需要为项目创建一个基础的Node.js环境。在命令行中执行npm init -y
、npm i openai
、npm i dotenv
,将快速初始化一个新的Node.js项目,将OpenAI的包和dotenv库添加到项目中,随后导入模块。(其中使用dotenv
的来存储敏感信息,确保密钥不被直接暴露在源代码中或版本控制系统里)
将流程控制类问题 传统编程和 AIGC 都可以解决
对传统编程来说就是降维打击