电商网站怎么做微信支付,网站内容优化的重要性,购买一级域名做网站,一个域名可以做几个网站吗一、如何开发prompts实现个性化的对话方式
通过设置“system”和“user”等roles#xff0c;可以实现个性化的对话方式#xff0c;并且可以结合参数“temperature”的设定来差异化LLM的输出内容。在此基础上#xff0c;通过构建一个餐馆订餐对话机器人来具体演示对话过程。…
一、如何开发prompts实现个性化的对话方式
通过设置“system”和“user”等roles可以实现个性化的对话方式并且可以结合参数“temperature”的设定来差异化LLM的输出内容。在此基础上通过构建一个餐馆订餐对话机器人来具体演示对话过程。
接下来会给出具体示例通过调用模型“gpt-3.5-turbo”来演示并解析如何针对上述需求来编写相应的prompts。 二、结合案例演示解析如何开发prompt实现个性化的对话方式
首先在messages中设定各个role的内容即prompts然后通过API调用模型输出内容。
prompt示例如下
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, temperature1)
print(response) 打印输出结果如下
Verily, forsooth, the chicken didst cross the road to evade the humorless peasants who didst question its motives with incessant queries. 接下来修改prompts的内容在调用API时增加参数temperature的设定。 prompt示例如下
messages [
{role:system, content:You are friendly chatbot.},
{role:user, content:Hi, my name is Isa} ]
response get_completion_from_messages(messages, temperature1)
print(response) 打印输出结果如下
Hello Isa! How can I assist you today? 继续修改prompts的内容
prompt示例如下
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, temperature1)
print(response) 打印输出结果如下
Im sorry, but as a chatbot, I dont have access to personal information. Could you please remind me of your name? 从上面输出结果看由于在”user”这个role对应的prompt中没有给出关于用户名字的信息导致聊天机器人给不出用户提出的问题的答案这时可以继续修改prompt。
prompt示例如下
messages [
{role:system, content:You are friendly chatbot.},
{role:user, content:Hi, my name is Isa},
{role:assistant, content: Hi Isa! Its 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, temperature1)
print(response) 打印输出结果如下
Your name is Isa! 接下来构建一个餐馆订餐对话机器人首先定义一个收集用户订餐需求的方法 构建一个用户与对话机器人的交互界面GUI
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 its 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 its 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 messages inp pn.widgets.TextInput(valueHi, placeholderEnter text here…)
button_conversation pn.widgets.Button(nameChat!) interactive_conversation pn.bind(collect_messages, button_conversation) dashboard pn.Column( inp, pn.Row(button_conversation), pn.panel(interactive_conversation, loading_indicatorTrue, height300),
) dashboard
用户界面显示如下 编写prompt根据之前的订餐情况输出订餐数据列表显示给用户。
prompt示例如下
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, temperature0)
print(response) 打印输出结果如下
Sure! Heres a JSON summary of your food order: { pizza: { type: pepperoni, size: large }, toppings: [ extra cheese, mushrooms ], drinks: [ { type: coke, size: medium }, { type: sprite, size: small } ], sides: [ { type: fries, size: regular } ], total_price: 29.45
} Please let me know if theres anything else youd like to add to your order!