当前位置: 首页 > news >正文

b2c电商网站建设河南网站推广优化排名

b2c电商网站建设,河南网站推广优化排名,商城网站建设系统,中国著名的外贸公司聊天机器人 / ChatBot 使用大型语言模型来构建你的自定义聊天机器人 在本视频中,你将学习使用OpenAI ChatCompletions格式的组件构建一个机器人。 环境准备 首先,我们将像往常一样设置OpenAI Python包。 import os import openai from dotenv import…

聊天机器人 / ChatBot

使用大型语言模型来构建你的自定义聊天机器人
在本视频中,你将学习使用OpenAI ChatCompletions格式的组件构建一个机器人。

环境准备

首先,我们将像往常一样设置OpenAI Python包。

import os
import openai
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env fileopenai.api_key  = os.getenv('OPENAI_API_KEY')

定义函数

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"]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"]


你的消息就是用户消息
ChatGPT的消息就是助手消息
系统消息有助于设置助手的行为和角色,它在某种程度上是对话的高级指令。所以你可以把它想象成在助手耳边窃窃私语,引导助手的反应,而用户却没有意识到系统消息。
下面是一个例子,系统消息提示你是一个说话像莎士比亚的助手,用户说你讲一个笑话,助手说为什么鸡要过马路?用户信息是,我不知道。调用函数后回答是“到达另一边,公平地说,夫人,这是一个古老的经典,永远不会失败。”

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)
"""
To get to the other side, sire! 'Tis a classic jest, known by many a bard.
"""

下面的例子,助手消息是,你是一个友好的聊天机器人,第一条用户消息是,嗨,我的名字是Isa。我们想,嗯,获取第一条用户消息。所以,让我们执行这个。第一条助手消息。所以,第一条消息是,你好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)
"""
I'm sorry, but as a chatbot, I do not have access to information about your personal details such as your name. However, you can tell me your name and we can continue our conversation.
"""

对话必须要有上下文,不然模型不知道。比如模型不知道你叫什么名字。

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)
"""
I'm sorry, but as a chatbot, I do not have access to information about your personal details such as your name. However, you can tell me your name and we can continue our conversation.
"""

如果有上下文就可以提取

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)
"""
Of course, your name is Isa.
"""

订单机器人

你要构建你自己的聊天机器人orderbot,自动化收集用户提示和助手响应,就是把用户回应自动的添加进去形成上下文。

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
"""
[出现一个人机交互界面]
"""

 

要求模型创建一个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)"""
Sure, here's a JSON summary of your order:···
{"pizza": {"type": "意大利辣香肠披萨","size": "中号","price": 12.95},"toppings": [{"type": "加拿大培根","price": 3.50},{"type": "蘑菇","price": 1.50},{"type": "彩椒","price": 1.00}],"drinks": [{"type": "可乐","size": "中杯","price": 3.00}],"sides": [],"total_price": 18.95
}
···
"""

温度值这里是0

http://www.ds6.com.cn/news/6686.html

相关文章:

  • 蓝海国际版网站建设系统如何做百度竞价推广
  • sharepoint网站制作网站排名优化
  • wordpress主题开发培训seo关键词大搜
  • 小程序代理都是假的seo排名软件有用吗
  • 滨州做网站的公司营销网点机构号
  • 简单的企业网站今日新闻摘抄二十条
  • 嘉兴云建站模板济南网络优化网址
  • 唐山微信网站百度权重3的网站值多少
  • 垃圾网站设计优化关键词是什么意思
  • 百度网站做不做宁波做网站的公司
  • 自助做网站优化seo方法
  • 河北建筑工程学院招生网seo每天一贴
  • 网上哪里有辅导高考生做难题的网站今日新闻最新头条10条内容
  • 影响网站可用性的因素优化一个网站需要多少钱
  • 河南第一火电建设公司网站天津seo排名收费
  • 凡科网做的网站怎么样营销外包团队怎么收费
  • 去哪网站备案吗精品成品网站入口
  • vps 网站能打开seo推广有哪些方式
  • 网站建设成本分析新网站 seo
  • 免费视频网站怎么赚钱宁波seo咨询
  • 做网上夫妻去哪个网站手机百度识图网页版入口
  • 网站建设费一般摊销几年资源网站优化排名软件
  • 桂林互联网株洲企业seo优化
  • 创建个人网站教程兰蔻搜索引擎营销案例
  • 南宁百度网站建设公司哪家好百度2018旧版下载
  • wordpress站点logoseo排名赚挂机赚钱软件下载
  • 长春长春网站建设网最近刚发生的新闻
  • 建设网站需要注意什么天津百度seo排名优化
  • 泰安网站开发哪家便宜app拉新推广怎么做
  • 做公司网站别人能看到吗站长网站seo查询