前言
在本中,我们将使用 LangChain 和 OpenAI API 创建一个简单的鲜花描述生成器。这个生成器可以根据鲜花的价格和名称生成一段吸引人的描述,帮助大家对学习如何使用这些工具进行自然语言处理任务有一定的了解。
正文
准备工作
首先,初始化项目,确保你已经安装了必要的依赖项。你可以通过以下命令安装:
npm init -y //初始化项目
npm install @langchain/openai @langchain/core
有这些文件
如果你没有OpenAI API
密钥可以来到(github.com/chatanywher…) 这个网站免费申请一个key,不过好像得翻墙才能访问,点击申请内测免费Key
就可以领取了
点击快速开始
来到下面这个页面
可以看到使用方法
如果都准备好了,接下来,开始正式操作。
代码解析
// 导入必要的模块
import { ChatOpenAI } from "@langchain/openai"; // 聊天大模型
import { PromptTemplate } from "@langchain/core/prompts"; // 提示词模块
// 创建一个提示模板
const personalizedGreetingPrompt = new PromptTemplate({
inputVariables: ["price", "flower_name"], // 输入变量
template: "`您是一位专业的鲜花店文案撰写员,\n对于售价${price}元的${flower_name},提供一个吸引人的简短描述?`" // 提示模板
});
// console.log(personalizedGreetingPrompt); // 打印提示模板
// 实例化 LLM(大语言模型)
const model = new ChatOpenAI({
configuration: {
apiKey: '输入你自己的OpenAI API 密钥', // OpenAI API 密钥
baseURL: 'https://api.chatanywhere.tech/v1' // API 基础 URL
},
model: 'gpt-3.5-turbo' // 使用的模型版本
});
// 创建一个链式调用
const chain = personalizedGreetingPrompt.pipe(model);
// 调用链式方法生成描述
const result = await chain.invoke({
price: '99', // 鲜花价格
flower_name: '玫瑰' // 鲜花名称
});
console.log(result); // 打印生成的描述
使用指令node main.mjs
让项目运行起来
效果:
也可以console.log(result.content)
只打印内容,效果为:
逐行解释
-
导入必要的模块:
import { ChatOpenAI } from "@langchain/openai"; // 聊天大模型 import { PromptTemplate } from "@langchain/core/prompts"; // 提示词模块
- 导入
ChatOpenAI
类,用于实例化聊天模型。 - 导入
PromptTemplate
类,用于创建提示模板。
- 导入
-
创建一个提示模板:
const personalizedGreetingPrompt = new PromptTemplate({ inputVariables: ["price", "flower_name"], // 输入变量 template: "`您是一位专业的鲜花店文案撰写员,\n对于售价${price}元的${flower_name},提供一个吸引人的简短描述?`" // 提示模板 });
- 创建一个
PromptTemplate
对象,指定输入变量price
和flower_name
。 - 设置提示模板,其中
${price}
和${flower_name}
是占位符,将被实际输入值替换。
- 创建一个
-
实例化 LLM(大语言模型) :
const model = new ChatOpenAI({ configuration: { apiKey: 'OpenAI API 密钥', // OpenAI API 密钥 baseURL: 'https://api.chatanywhere.tech/v1' // API 基础 URL }, model: 'gpt-3.5-turbo' // 使用的模型版本 });
- 实例化
ChatOpenAI
对象,设置 API 密钥和基础 URL。 - 指定使用的模型版本
gpt-3.5-turbo
。
- 实例化
-
创建一个链式调用:
const chain = personalizedGreetingPrompt.pipe(model);
- 使用
.pipe()
方法连接提示模板和模型,创建一个链式调用。
- 使用
-
调用链式方法生成描述:
const result = await chain.invoke({ price: '99', // 鲜花价格 flower_name: '玫瑰' // 鲜花名称 });
- 调用
invoke
方法传入实际输入值price
和flower_name
。 - 使用
await
关键字等待异步调用完成。
- 调用
完整代码
// langchain 所有的主流LLM 接口一致
import { ChatOpenAI } from "@langchain/openai"; // 聊天大模型
// prompt 接受参数
import {PromptTemplate} from "@langchain/core/prompts" //提示词模块
const personalizedGreetingPrompt = new PromptTemplate({
inputVariables:["price","flower_name"],
template:"`您是一位专业的鲜花店文案撰写员,\n对于售价${price}元的${flower_name},提供一个吸引人的简短描述?`"
})
// console.log(personalizedGreetingPrompt);
// LLM实例化
const model = new ChatOpenAI({
configuration:{
apiKey:'输入你自己的OpenAI API 密钥',
baseURL:'https://api.chatanywhere.tech/v1'
},
model:'gpt-3.5-turbo'
})
// chain
const chain= personalizedGreetingPrompt.pipe(model)
const result =await chain.invoke({
price:'99',
flower_name:'玫瑰'
})
console.log(result);
总结
通过以上步骤,我们创建了一个简单的鲜花描述生成器。这个生成器可以根据输入的鲜花价格和名称生成一段吸引人的描述。希望这篇教程对你有所帮助,让你对使用 LangChain 和 OpenAI API 进行自然语言处理任务有一定的了解,感谢你的阅读!
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。
![](https://img-blog.csdnimg.cn/img_convert/b36b813eae6d635ea80d190083c0be4c.png)
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI大模型视频教程
三、AI大模型各大学习书籍
四、AI大模型各大场景实战案例
五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。