本指南提供有关监控和提高数据存储区代理性能的建议。
跟踪代理的性能
您可以监控代理对话历史记录,还可以使用分析工具获取代理统计信息。
运行自助评估
您可以运行自助评估,该评估将评估数据存储区代理的质量并提出更改建议。
改善代理响应
如果您在测试期间发现某些响应不符合您的预期,请尝试以下操作。
- 您可以通过为特定问题添加常见问题解答条目来覆盖答案。
- 如果您发现结构化常见问题解答的回答质量低,请尝试使用非结构化常见问题解答。
- 使用搜索配置有助于确保提供正确的答案。
- 使用解析和分块配置来优化响应。
- 如需禁止某些短语,请参阅代理设置:禁止的短语。
处理对话问题
最终用户可能会在对话期间提出澄清性问题。 例如,在收集信用卡信息的过程中,他们可能希望明确说明什么是 CVV。在这种情况下,您的代理应回答相应问题并返回收集必要的信用卡信息。 为此,您可以创建一个数据存储区处理程序,其中包含可回答该问题的数据存储区,将该处理程序应用于处理信用卡信息收集的流程的初始页,并设置此处理程序返回到“当前页面”的转换目标。
处理不需要的 intent 匹配
如果您的代理在应使用数据存储区处理程序时匹配意图,您可以尝试以下操作来纠正此问题:
- 请删除或修改含糊不清的训练短语,以确保您的所有训练短语都准确处理所需意图,而不会与数据存储区内容发生冲突。
- 使用反例来避免意图匹配。
数据存储区过滤
在某些情况下,您可能只想将某些数据存储区用于查询,具体取决于会话参数值。例如,您的商品类别可能具有唯一的数据存储区。要针对商品类别完成数据存储区过滤,请执行以下操作:
- 将会话参数设置为商品类别。
- 创建用于检查会话参数值并转换为具有所需数据存储区处理程序的特定页面的条件路由。
- 数据存储区处理程序应转换回调用页面,以便对话可以继续。
个性化
为了让生成式回答与最终用户更相关,您可以向 Dialogflow 提供用户相关信息。
此信息以 JSON 格式提供。 不存在预期的架构,因此您可以随意定义对象属性。 此 JSON 会按原样发送到大语言模型,因此描述性属性名称和值可以获得最佳结果。
例如:
{
"subscription plan": "Business Premium Plus",
"devices owned": [
{"model": "Google Pixel 7"},
{"model": "Google Pixel Tablet"}
]
}
使用 Dialogflow API 进行个性化
您可以在发送检测意图请求时向 Dialogflow 提供此数据。此信息必须在每个检测意图请求中提供,因为它不会保留在会话中。
请在 Sessions.detectIntent
方法的 queryParams.endUserMetadata
字段中提供此信息。
选择会话引用的协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 会话资源 | 会话资源 |
RPC | 会话接口 | 会话接口 |
C++ | SessionsClient | 不可用 |
C# | SessionsClient | 不可用 |
Go | SessionsClient | 不可用 |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | 不可用 | 不可用 |
Python | SessionsClient | SessionsClient |
Ruby | 不可用 | 不可用 |
使用 Dialogflow Messenger 进行个性化设置
您可以将此数据提供给 Dialogflow Messenger 集成。 请参阅 setContext 方法。
搜索配置
为了更好地控制代理行为并提高答案的质量,可以使用增强和过滤搜索配置,以便提升、掩埋和过滤文档。
借助提升控件,您可以通过对特定文档应用提升值(大于零表示排名较高,小于零表示排名较低)来更改搜索结果排名。
借助过滤器控件,您可以根据指定的过滤条件保留或移除搜索结果。
此信息以 JSON 格式提供给 Dialogflow 请求。 JSON 的格式取决于搜索控件类型。
“增强”控件
以下搜索配置描述了一个升位控件:
"searchConfig": {
"boostSpecs": [
{
"dataStores": [ "DATASTORE_ID" ],
"spec": [
{
"conditionBoostSpecs": {
"condition": "CONDITION",
"boost": "1.0"
}
}
]
}
]
}
过滤器控件
以下搜索配置介绍了过滤器控件:
"searchConfig": {
"filterSpecs": [
{
"dataStores": [ "DATASTORE_ID" ],
"filter": "CONDITION"
}
]
}
使用 Dialogflow API 设置搜索配置
您可以在发送检测意图请求时向 Dialogflow 提供此数据。此信息必须在每个检测意图请求中提供,因为它不会保留在会话中。
请在 Sessions.detectIntent
方法的 queryParams.searchConfig
字段中提供此信息。
选择会话引用的协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 会话资源 | 会话资源 |
RPC | 会话接口 | 会话接口 |
C++ | SessionsClient | 不可用 |
C# | SessionsClient | 不可用 |
Go | SessionsClient | 不可用 |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | 不可用 | 不可用 |
Python | SessionsClient | SessionsClient |
Ruby | 不可用 | 不可用 |
使用 Dialogflow Messenger 设置搜索配置
您可以将此数据提供给 Dialogflow Messenger 集成。
要应用搜索控件,在将以下代码段嵌入网站时,需要将以下代码段添加到 DF Messenger 代码中:
<script>
document.addEventListener('df-messenger-loaded', () => {
const dfMessenger = document.querySelector('df-messenger');
const searchConfig = { ... }
dfMessenger.setQueryParameters(searchConfig);
});
</script>
请参阅 setQueryParameters 方法。