ChatGPT提示词工程(七):Chatbot聊天机器人

目录

  • 一、说明
  • 二、安装环境
    • 1. 辅助函数:get_completion
    • 2. 辅助函数:get_completion_from_messages
  • 三、聊天机器人(Chatbot)
    • 1. 一般聊天机器人
      • 1.1 简单的例子
      • 1.2 多轮对话
    • 2. 订单机器人

一、说明

这是吴恩达 《ChatGPT Prompt Engineering for Developers》 的课程笔记系列。
本文是第八讲的内容:Chatbot

二、安装环境

参考: ChatGPT提示词工程(一):Guidelines准则 的第二节

其中,辅助函数有变化:

1. 辅助函数:get_completion

def get_completion(prompt, model="gpt-3.5-turbo"):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0, # this is the degree of randomness of the model's output)return response.choices[0].message["content"]

在这里插入图片描述

2. 辅助函数:get_completion_from_messages

def get_completion_from_messages(messages, model="gpt-3.5-turbo", temperature=0):response = openai.ChatCompletion.create(model=model,messages=messages,temperature=temperature, # this is the degree of randomness of the model's output)# print(str(response.choices[0].message))return response.choices[0].message["content"]

在这里插入图片描述

这里,可以自定义消息,message里面的role,可以是systemuserassistant
system:系统辅助模型的角色,用户不可知;
user:与模型交互的角色,就是我们;
assistant:指模型

https://blog.csdn.net/Jay_Xio/article/details/130463604



三、聊天机器人(Chatbot)

1. 一般聊天机器人

system角色告诉模型它是什么角色

1.1 简单的例子

messages =  [  
{'role':'system', 'content':'You are an assistant that speaks like Shakespeare.'},    
{'role':'user', 'content':'tell me a joke'},   
{'role':'assistant', 'content':'Why did the chicken cross the road'},   
{'role':'user', 'content':'I don\'t know'}  ]response = get_completion_from_messages(messages, temperature=1)
print(response)

message
角色system:告诉模型,你是个说话像莎士比亚的助手;
角色user:告诉模型,给我讲个笑话
角色assistant:模型讲了一个笑话:小鸡为什么要过马路?
角色user:告诉模型,我不知道
然后,代码运行结果(即模型输出):
在这里插入图片描述


1.2 多轮对话

messages =  [  
{'role':'system', 'content':'You are friendly chatbot.'},    
{'role':'user', 'content':'Hi, my name is Isa'}  ]
response = get_completion_from_messages(messages, temperature=1)
print(response)

message
角色system:告诉模型,你是个友善的机器人;
角色user:告诉模型,嗨,我的名字叫Isa
然后,代码运行结果(即模型输出):
在这里插入图片描述

接下来,继续对话

messages =  [  
{'role':'system', 'content':'You are friendly chatbot.'},    
{'role':'user', 'content':'Yes,  can you remind me, What is my name?'}  ]
response = get_completion_from_messages(messages, temperature=1)
print(response)

先看运行结果:
在这里插入图片描述
上一轮对话中,我告诉模型我叫 Isa,机器人也给我友好地打招呼了,然而现在我问它“你还记得我吗,我叫什么名字?”的时候,机器人已经不知道了。
要怎么解决呢?
要继续之前的对话,再次发起对话时,要把之前的对话内容一起带上,才能让模型知道我们此次对话的上下文。

messages =  [  
{'role':'system', 'content':'You are friendly chatbot.'},
{'role':'user', 'content':'Hi, my name is Isa'},
{'role':'assistant', 'content': "Hi Isa! It's nice to meet you. \
Is there anything I can help you with today?"},
{'role':'user', 'content':'Yes, you can remind me, What is my name?'}  ]
response = get_completion_from_messages(messages, temperature=1)
print(response)

代码中,message带上了前一轮对话我们问的问题和它回答的结果,后面再加上我们此次要问的问题
运行结果:
在这里插入图片描述

2. 订单机器人

def collect_messages(_):prompt = inp.value_inputinp.value = ''context.append({'role':'user', 'content':f"{prompt}"})response = get_completion_from_messages(context) context.append({'role':'assistant', 'content':f"{response}"})panels.append(pn.Row('User:', pn.pane.Markdown(prompt, width=600)))panels.append(pn.Row('Assistant:', pn.pane.Markdown(response, width=600, style={'background-color': '#F6F6F6'})))return pn.Column(*panels)
import panel as pn  # GUI
pn.extension()panels = [] # collect display context = [ {'role':'system', 'content':"""
You are OrderBot, an automated service to collect orders for a pizza restaurant. \
You first greet the customer, then collects the order, \
and then asks if it's a pickup or delivery. \
You wait to collect the entire order, then summarize it and check for a final \
time if the customer wants to add anything else. \
If it's a delivery, you ask for an address. \
Finally you collect the payment.\
Make sure to clarify all options, extras and sizes to uniquely \
identify the item from the menu.\
You respond in a short, very conversational friendly style. \
The menu includes \
pepperoni pizza  12.95, 10.00, 7.00 \
cheese pizza   10.95, 9.25, 6.50 \
eggplant pizza   11.95, 9.75, 6.75 \
fries 4.50, 3.50 \
greek salad 7.25 \
Toppings: \
extra cheese 2.00, \
mushrooms 1.50 \
sausage 3.00 \
canadian bacon 3.50 \
AI sauce 1.50 \
peppers 1.00 \
Drinks: \
coke 3.00, 2.00, 1.00 \
sprite 3.00, 2.00, 1.00 \
bottled water 5.00 \
"""} ]  # accumulate messagesinp = pn.widgets.TextInput(value="Hi", placeholder='Enter text here…')
button_conversation = pn.widgets.Button(name="Chat!")interactive_conversation = pn.bind(collect_messages, button_conversation)dashboard = pn.Column(inp,pn.Row(button_conversation),pn.panel(interactive_conversation, loading_indicator=True, height=300),
)dashboard

代码中,导入了一个GUI,用界面来展示对话,collect_messages函数会收集我们每轮对话,再我要问机模型问题时把前面的对话都发给模型
运行结果:
在这里插入图片描述

在这里插入图片描述

下单完成后,订单机器人就可以,把我们下的订单总结成JSON,发给订单系统来结账

messages =  context.copy()
messages.append(
{'role':'system', 'content':'create a json summary of the previous food order. Itemize the price for each item\The fields should be 1) pizza, include size 2) list of toppings 3) list of drinks, include size   4) list of sides include size  5)total price '},    
)#The fields should be 1) pizza, price 2) list of toppings 3) list of drinks, include size include price  4) list of sides include size include price, 5)total price '},    response = get_completion_from_messages(messages, temperature=0)
print(response)

在这里插入图片描述

https://blog.csdn.net/Jay_Xio/article/details/130463604



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2599.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT:构建与人类聊天一样自然的机器人

ChatGPT:构建与人类聊天一样自然的机器人 —— ChatGPT 文章目录 ChatGPT:构建与人类聊天一样自然的机器人 —— ChatGPT1 官网3 使用ChatGPT3.1 普通聊天3.2 生成代码3.3 写诗3.4 解一道算法题 4 ChatGPT中文版VsCode 插件5 一些体会 Hi,这里…

ChatGPT不仅仅只是聊天机器人

从聊天机器人到大规模语言模型,再到 ChatGPT,人工智能已经不仅仅是一个研究领域,而是融入了我们的生活。ChatGPT在首次亮相的前五天内就风靡互联网,用户人数达到100万,围绕ChatGPT的很大一部分关注点是,它可…

【原创】什么是chatGPT?Unity结合OpenAI官方api实现类似chatGPT的AI聊天机器人

一、什么是ChatGPT 最近chatGPT爆火,网络铺天盖地的各种文章视频,各种牛逼之声。倒算不上第一时间使用,发布隔了一周多,才从同事那里听说了这么个神奇的技术。这周阳了,持续发烧在家,忙着养病也没时间去了解…

我开发了一个温柔的智能客服聊天机器人ChatBot,并回答为什么不是ChatGPT(附思路和代码)

前言 若问2023年科技领域什么最火,那当然是ChatGPT了,这么智能的对话机器人,给人带来无限的想象,围绕着ChatpGPT的各种热点和创意层出不穷。作为一个多年从事编程开发的程序员,我对于这么大的一个热点也很兴奋&#x…

看到chatgpt这么火,我也做了个微信聊天机器人

听说最近ChatGPT很火,我也做了个自动跟女朋友聊天的机器人 这两天ChatGPT火得很,各种报道ChatGPT可以聊天、可以写代码、甚至还写出了毁灭人类计划书! 真是看的我心痒痒啊,但是因为某些原因国内没法试用,加上这两天想讨…

你应该知道的人工智能机器人 ChatGPT 提示语

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! ​ ChatGPT 自上线以来,凭借其优异的自然语言理解和输出能力,仅花 5天就成为了活跃用户过百万的现象级产品。 而上一个现象级产品 instagram 花了 2 个半月。…

#40 AI-001-火爆全网的聊天机器人ChatGPT能做什么

#40 AI-001-火爆全网的聊天机器人ChatGPT能做什么 目录 目录0、 前言1、ChatGPT的"长项" 1.1、设计剧情游戏1.2、做一个活动策划1.3、帮忙写一段代码1.4、帮忙写作1.5、设计广告1.6、制定学习思路2、ChatGPT的"短板" 2.1、古诗出处2.2、鸡兔同笼典型问题2.…

基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境Pycharm 环境ChatterBot 环境 模块实现1. 模型构建2. 服务器端3. 客户端4. 语音录入5. 接口调用6.模型训练及保存 系统测试1. 模型效果2. 模型应用 源代码下载地址其它资料下载 前言 本项目基于机器学习和语义识…

聊天机器人ChatGPT在医疗领域的应用场景

最近,聊天机器人ChatGPT火了。作为一种新形式的人工智能工具,它不仅能够较为流畅地与人类对话,甚至还能吟诗作对、撰写论文和报告、编写代码等。随着技术的不断进步,医疗行业也在不断寻找更加高效的方法来改善患者的医疗体验。那么…

智能聊天机器人ChatGPT商业版

作为一个智能聊天机器人,我是由OpenAI开发的。目前,我的商业版需要通过OpenAI的合作伙伴计划进行许可和部署,以确保我被用于适当的商业用途。如果您对商业使用感兴趣,请联系OpenAI以获取更多信息。 智能聊天机器人是一种能够自…

聊天机器人ChatGPT刷爆网络,我们与它聊了聊量子计算

进入12月,几乎全网都在为OpenAI开发的AI聊天机器人ChatGPT疯狂。从“找不到对象怎么办?”、“如何考上清华大学?”,到“预测2022世界杯结果”、“写出俄罗斯方块代码”,甚至在谷歌工程师Zac Denham的一步步诱导下&…

火遍全网的新一代AI聊天机器人chatGPT会怎样改变人们的生活?

大家好,我是辰哥(文末送书) 周末在群里看到大家都在“调戏”chatGPT(新一代AI聊天机器人),有被震惊到。 先来看看一些“调戏”case: ChatGPT是OpenAI 最近发布的全新的聊天机器人模型 ,这也是 GPT-3.5 系列…

ai聊天机器人chatgpt收费版

AI聊天机器人的功能通常包括以下几个方面: 自然语言理解。该功能可以识别并理解用户输入的自然语言,如文本、语音等,以便进行后续的处理和回复。 对话管理。该功能可以管理对话的上下文和流程,并根据用户的输入和意图来产…

智能客服 | 浅谈人工智能聊天机器人ChatGPT

2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题…

一支不足百人的团队创造了ChatGPT :90后挑大梁,应届生11人,华人抢眼

来源:AI前线 整理:凌敏 让全网沸腾的 ChatGPT,其背后团队不足百人。 ChatGPT 发布以来,在短短 2 个月时间月活破亿,成为历史上用户增长最快的消费应用。有分析机构感叹:“在互联网领域发展 20 年来&#xf…

ChatGPT5威胁人类,我们何去何从

引言: 最近关于ChatGPT的各种事情都闹得沸沸扬扬。一方面,基于ChatGPT的各种衍生工具层出不穷。极大地提升人类的办公效率,我们普通人也能尽情享受它给我们带来的福利。但是随着最近一则由马斯克、苹果联合创始人沃兹尼亚克等1000多位科技界…

学术 | ChatGPT负责人John Schulman:如何做好研究

转载自 | 智源社区 送新书!《Python深度学习基于Torch/TF(第2版)》,有ChatGPT拓展 导读 由于ChatGPT的广受关注,OpenAI成为了万众瞩目的明星企业。在大语言模型的竞赛中,OpenAI的研究者们是如何脱颖而出的?科研idea从0…

爆火出圈的chatGPT

🏆今日学习目标: 🍀ChatGPT ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林在闪闪发光的社区…

ChatGPT频频发疯!马斯克警告:AI将毁灭人类

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 2018年图灵奖得主、AI领域最顶尖权威的科学家之一Yann LeCun(杨立昆)对自回归LLM(大型语言模型),有一个著名的观点,认为它们的回…