gpt4 book ai didi

python - 如何根据用户输入循环回到以前的意图?

转载 作者:行者123 更新时间:2023-11-28 18:10:41 25 4
gpt4 key购买 nike

我的意图是问是/否问题。如果用户说“不”,他们会被问一系列问题,最后一个问题也是是/否问题。在回答“否”时,我希望循环重新开始。我已经尝试了提供的解决方案 here , 它没有用。

最佳答案

该链接上给出的上下文技巧应该有效,您只需正确处理上下文和响应,考虑下面的示例系列意图

- intent that asks yes/no question (say 'question X')    <--[set the output context (say 'loop-back')]
|
|--- intent that accepts 'no' as user input <--[set 'loop-back' context as input context for this]
|
|--- chain of questions...
|
|--- last yes/no question
|
|--- intent that accepts 'no' as user input <--[set the output context 'loop-back']
[response from agent should be the same yes/no question 'questionX']
|
|--- [if user replies 'no' the loop continues...]

确保正确设置上下文“环回”的生命周期(可能是 1/2),这样它就不会被存储太久。

在这里,我们从“questionX”开始,最后以“questionX”给出响应。实际上,开始的(是/否问题 X)意图再也不会被触发,但是接受“否”之后的意图由于上下文而被触发,这会创建适当的循环:)


看看这个例子是否有帮助,

- [start intent fires]
{intent A}
Agent("are you afraid to talk to me ?") <--[set the output context (say 'loop-back')]
|
|{intent B}
|--- User("no")
Agent("What are you afraid of then ?") <--[set 'loop-back' context as input context for this]
|
|{intent C}
|--- User("nothing")
Agent("more questions")
|
|{intent D}
|--- User("more answers")
Agent("are you afraid to talk to daemons ?")
|
|{intent E}
|--- User("no")
Agent("and are you afraid to talk to me ?") <--[set the output context 'loop-back']
|
|{intent B}
|--- User("no")
Agent("What are you afraid of then ?")
[and the loop continues...]

查看两个 [set output context](意图 A 和 E)行,它们都有相同的 Agent 响应,这会创建一个循环...

关于python - 如何根据用户输入循环回到以前的意图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50903189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com