看完吴恩达的Prompt Engineering系列课程之后,我可以做一个AI客服了

380 阅读5分钟

前言

Prompt Engineering for AI Applications是吴恩达 机器学习课程一个较新的系列课程,专注于教授如何有效地设计提示(prompt),以引导大型语言模型生成高质量的回答或执行特定任务。在人工智能,AI技术快速兴起的时代,该课程特别适合那些想要利用大模型来开发应用程序的人士,比如创建聊天机器人、自动化客服等。话不多说,今天让我们一起搞一个:传统+AI= 电商AI客服

IMG_3691.GIF

项目配置

初始化项目

<1>首先创建一个项目目录assistant 然后在终端输入 npm init -y将其初始化为后端项目。

<2>再输入一下npm i openai下载安装openai包及其依赖到项目中。

<3>因为我们这个是一个大模型项目,要用到ai模型,那就涉及到OPENAI_API_KEY的安全问题了 所以我们再导入一下dotenv模块npm i dotenv它可以将环境变量从.env文件加载到process.env中。这在开发过程中非常有用,因为它允许你将敏感信息(如API密钥)存储在.env文件中,而不是直接写在代码中。这样可以避免将敏感信息暴露在代码库中,从而提高安全性。

<4>创建.env文件,将API密钥写入里面(如果你还没有API密钥可以点击获取密钥

OPENAI_API_KEY=sk-302.ai-key
OPENAI_BASE_URL=https://api.302.ai/v1

<5>创建main.mjs目录 ,导入环境变量

import dotenv from 'dotenv';
import OpenAI from 'openai';
dotenv.config();
const{
    OPENAI_API_KEY,
    OPENAI_BASE_URL
}=process.env
//实例化openai对象
const client = new OpenAI({
    apiKey: OPENAI_API_KEY,
    baseURL: OPENAI_BASE_URL
});

到这里我们的项目准备就完成了。 image.png

正式开搞

const get_completion=async (prompt,model='gpt-3.5-turbo')=>{
     const messages=[
        {role:'user',content:prompt}
     ]
     const response=await client.chat.completions.create({
        model,
        messages,
        temperature:0
     });
     return response.choices[0].message.content;
}

代码解析

1.首先我们这里使用了一个异步函数我们传入两个参数:prompt(用户输入的提示)和 model 大模型参数我们这里选择 gpt-3.5-turbo这个免费的模型

2.构建消息数组:创建一个包含单个消息对象的数组 messages,其中 role 为 'user',表示这是来自用户的提示,content 则是传入的 prompt

3.发送请求并等待响应:使用 await 关键字调用 client.chat.completions.create 方法,向 OpenAI 发送请求以获取文本完成。这里设置了 temperature 为 0,这里意味着我们的输出将更加精确。 4.返回结果:从 API 响应中提取第一个结果并将其作为函数的返回值。

接下来我们引用一个实例来看看我们的智能客服

const main = async () => {
const lamp_review = `
  需要一盏漂亮的灯放在我的卧室,这盏灯有额外的存储空间,而且价格也不太高。 
  很快就收到了。我们灯的灯串在运输过程中断了,公司很乐意给我们寄来一根新的。
  几天之内就到了。组装起来很容易。
  我缺少一个零件,所以我联系了他们的支持人员,他们很快就给我找到了缺失的零件! 
  在我看来,Lumina 是一家关心客户和产品的好公司!!
  const prompt = `
  你是一名客服AI助理。
    你的任务是向尊贵的客户发送电子邮件回复。
    给定以'''分隔的评论的客户发送电子邮件,
    生成回复以感谢客户的评论。
    如果情绪是正面或中性的,感谢他们的评论。
    如果情绪是负面的,道歉并建议他们可以联系客服。
    确保使用评论中的具体细节。
    用简洁专业的语气写作。
    在电子邮件中签名为“AI客户代理”
    客户评论: '''${lamp_review}'''
    客户情绪:${sentiment}
  `
const response = await get_completion(prompt);
console.log(response);
}
main()

来看看我们的客服是如何回复的吧!

image.png 很不错嘛,这里使用免费的gtp3.5,我们的大模型就正确的实现了AI智能客服的服务,但其实,我们的大模型是很容易答非所问的,在这是是因为我们限制了大模型的内容,让我们来看看prompt的基本规则

prompt的基本规则

一、定义AI客服的角色与任务

  1. 首先我们是不是要给它一个身份,它到底是干什么的。
  2. 设定清晰的任务,这样我们的prompt才有目标,比如一些帮助客户解决问题,提高满意度;收集反馈信息用于改进服务;作为工作伴侣辅助人类客服代表处理复杂情况。

二,指导大模型思考——分步骤规划

  1. 情感识别: 分析输入文本的情感倾向(正面/负面),以便选择合适的回应方式。

  2. 写作风格定制:根据不同的场景调整语言风格,比如正式场合使用更专业术语,非正式场合则可以更加随意友好。

  3. 落款设置: 每次交流结束后,加入温暖的结束语或鼓励的话语,增加人情味。

这些就是prompt的基本规则了,有了这些规范你的大模型就不会满嘴跑火车了。

总结

吴恩达系列课程为我们学习提供了全面而深入的机器学习和人工智能资源,让我们感受自然语义编程的魅力,只要我们熟悉掌握prompt的基本规则,我们就能通过语句调教大模型并让它思考,如果你有兴趣探索机器学习的世界,不妨试着给自己写一个AI女友试试!