回答中的图表 — 免费提供的功能与必须避免的操作
当回答包含可比较的数字时,您的智能体会自动绘制图表。无需手动开启。您能控制的是:这些数字是否位于知识库中,以及衍生数字是否经过工具处理。
list_toolsupdate_agentsearch_knowledge_base原则 —— 智能体可以复制数字,但绝不进行计算。 从检索到的文本中复制是可靠的;算术运算则不然。本页所有内容均源于这一项基本准则。更多详情请参阅 设计原则。
当答案中已包含一组可比较的数字时,智能体会主动将其绘制成图表 —— 即便在普通的对话中途也是如此。无需任何启用操作:任何拥有知识库或工具的智能体都会执行此操作。图表在组件、控制台、测试面板和收件箱中渲染,并在 Telegram、WhatsApp 和屏幕阅读器中降级为紧凑的表格。
因此,有用的问题不是“如何开启图表”,而是 是什么决定了图表是出现还是被丢弃。
所有数据必须存在于素材中
在图表渲染之前,会对其执行确定性检查:每个标签-值对必须出现在智能体 当次 实际检索到的段落中。如果找不到某个对,则 整个块会被丢弃 —— 访客保留文字但失去图片,且回复中不会说明原因。
正是由于这项检查,实际工作在于您的知识库,而非任何设置:
- 简短、具体的文档更优。 一篇关于某产品却从未提及价格的长页面,在回答定价问题时会被检索到,但无法提供任何信息。请为每个事物提供其各自的简短文档,并明确列出其数字。
- 以人们询问的方式书写数字。
25M、25,000,000和2500万均可匹配,$49、49 USD和49 美元同理。单位不会被检查,因此请保持数字旁边的单位文本不变。 - 在依赖之前使用
search_knowledge_base进行验证。 如果返回的段落中没有数字,也就不会有图表。
衍生数字需通过 compute_chart 处理
股份、增长率、累计总额和账单正是模型容易出错的地方,也正是让图表值得观看的原因。因此,智能体不计算它们:它将原始数字传递给 compute_chart,平台在 代码中 计算该序列,然后将数字填入图表,而无需经过模型返回。
derive | 用于 | 提供 |
|---|---|---|
share | 占总数的百分比 | labels + series |
growth | 与上一时期的百分比变化 | labels + series |
cumulative | 累计总额 | labels + series |
project | “每期增长 X%,持续 N 期” | base, rate_pct, periods |
tier | “在该使用量下,成本是多少” | included, rate_per_unit, base_fee —— 以及 base/rate_pct/periods 以在一次调用中完成预测和计费 |
该工具会自动附加到任何已有工具的智能体上,因此通常无需添加。请在您的租户上通过 list_tools() 进行确认。
两个值得了解的守卫规则,因为它们解释了那些“本应出现”的图表:
- 输入也会受到检查。 提供给
tier的价格必须作为 货币 存在于素材中 —— 即旁边带有货币符号。模型虚构每月费用会生成基于无人发布的数字的精确计算账单,因此该图表会被丢弃。 - 单位必须一致。
included、rate_per_unit和使用值必须使用相同的单位。如果提供原始 token 的使用量和百万级别的配额,调用将被拒绝,而不是按百万倍费率计费。
您无法自定义样式的原因
图表颜色源自您的 主题色 —— 整个调色板,包括亮色和暗色模式、悬停状态和工具提示。一项设置,适用于所有图表类型。
不要试图通过 custom_css 访问图表:它们在画布上绘制,CSS 无法深入其中。针对图表的规则不会被覆盖,它只是不起作用,这比被拒绝更糟糕。如果图表看起来不符合您的品牌,请更改主题色。
何时保持沉默
三个数字是底线 —— “从 12 万增加到 15 万” 是一句话,而不是条形图。是/否问题和单值查找会获得答案,而非图片。每条回复最多两个图表,且仅当两个度量单位不同时才会出现第二个。
如果当次未检索到任何内容,则无图可绘。智能体会说出它所知道和不知道的,这与其处理文字时所做的一样。