我想使用 ChatGPT 在我的网站上创建一个聊天机器人。我有一些预先定义的问题答案,如下所示:
Question: What is the price of ...?
Answer: $100
Question: How this help ..?
Anwer: 1) Improve... 2) Better... 3) More...
Run Code Online (Sandbox Code Playgroud)
当客户提出与预定义问题相关的问题时,它应该从预定义问题中获取答案并使用自然语言来回答客户。
但我不知道实现这个的逻辑。聊天完成分为三种角色(系统、用户、助手)。
我是否在系统角色中插入所有这些预定义的问题和答案,例如:
[
'role' => 'system',
'content' => 'I write all the information here'
],
Run Code Online (Sandbox Code Playgroud)
或者我将其全部写在单个用户提示符中,例如:
[
'role' => 'system',
'content' => 'You're are a helpful assistant'
],
[
'role' => 'user',
'content' => 'I write all the information here'
]
Run Code Online (Sandbox Code Playgroud)
或者我将其分成不同的用户提示,例如:
[
'role' => 'system',
'content' => 'You're are a helpful assistant'
],
[
'role' => 'user',
'content' => 'First pre-defined question and answer...'
],
[
'role' => 'user',
'content' => 'Second pre-defined question and answer...'
],
[
'role' => 'user',
'content' => 'Third pre-defined question and answer...'
]
Run Code Online (Sandbox Code Playgroud)
这是训练聊天机器人的正确方法吗?
对于较新的 OpenAI GPT 模型来说,这不是一个特别好的用例,因为它们尚不允许微调。如果您在提示中指定信息,您可能很快就会超出 GPT 模型的令牌限制。然后不能保证 GPT 会留意您的提示,但会根据其预先训练的知识回答用户的问题。
如果您仍想使用 OpenAI 的最新 GPT 模型,您有两种选择:
user,并在消息中告诉 GPTsystem这是您要使用的上下文。这称为“提供参考文本策略”。user,答案在assistant消息中。这称为“提供示例策略”或通常的“少量学习”。第一种方法在一定程度上有效,并且比第二种方法更有效。第二种方法是 GPT 的训练方式,因此这可能会给出更好的结果。没有办法知道,必须尝试一下。
对于您的用例,可能有更好的方法。以下是三种选择:
OpenAI 有一个很好的教程,您可能想阅读“如何构建可以回答有关您网站的问题的 AI”。
| 归档时间: |
|
| 查看次数: |
2289 次 |
| 最近记录: |