先取出所出出所出之相.
拥有数据是好的。
拥有一个充满评论、承诺和鸟类活动的数据库 静静地坐在那里,无动于衷,未读过,从未被一个有咖啡和意见的人看过?
这不是"有数据。" 这是一个非常昂贵的数据墓地。
在"LiveReview"中,我们构建了我们称之为"爆破-Radius"的"企业-批评系统了解AI代码评论".
这是一种花花公子的说法:我们审查一下你的代码, 我们找出如果改变错了会有多糟糕, 在有人修正它之前,我们不会闭口不谈。
沿途我们积累一个审查数据:谁审查,多少,多快,多快,哪些复存点火.
有一阵子 那堆东西就坐在那里 工程领导人会问"收养在增加吗?" 并找回一种氛围,而不是一个答案。
于是我们建造了Livi, 一个聊天机器人,用真实的图表,而不是套期保值的段落,来回答关于数据的真实问题。
这篇文章从技术上讲是Livi如何绘制这些图表的。
具体地说:为什么我们从不让LLM去触摸像素,同样的图表定义最终会变成你的浏览器中的活式交互图和Slack线条中的平地PNG,为什么教一个语言模型来选择正确的图表形状是一个令人惊讶的深地兔子洞.
核心决定:不要要求 LLM 绘制,请它描述 诱人,错误的想法是:"让我们的LLM产生出一个图像".
请不要。
生成图像的模型完全是一个不同的野兽, 即使你有一个绘制出条形图, 你将无法验证它上的数字是真实的。
你会相信一个能产生幻觉的 可信评论的模型 也让他们忠实地变成像素 这不是图表,那是图表形状的粉丝小说.
实际上,一个很好的主意, 每一个认真的LLM-图集 最终聚集在一起的,是: LLM写作 Vega-Lite, 一个JSON语法,用于公开描述图表。
你没有说"画个蓝色的酒吧" 你说:就这样。
这是整个图表。
没有像素,没有图画,只是描述数据的含义,以及它应该如何被映射到图片中.
Vega -Lite做实际的画。
LLM的工作缩小到它真正擅长的东西:填写一个定义明确的计划.
模型的"选取"或"比"吸出600像素的正确Y轴"要好得多.
关键是:LLM在交付前从未看到过实际的数字.
它写SQL,我们运行它, 而真正的结果集 被我们自己的Go代码缝合。
模型可以像它想要的展示一样具有创造性.
它得到零创意许可证 超过数字。 "上月有多少评论"和屏幕上的图表之间 究竟发生了什么?
有些事情值得在这里解决, 因为每个问题都存在,因为首先出了问题。
为什么两个 SQL 写步骤而不是一个 ?
因为模型需要知道答案会有多少行,然后才能决定一个图表是否合理,或者它是否应该给你一个CSV.
没人想要有4000个酒吧的条形图 所以第一步基本上是“这将会有多大”, 第二步是“好吧,现在给我数据,告诉我如何绘制数据。” 为什么有SQL警卫?
因为一个LLM写生 SQL 对抗一个多租户数据库 是一个充满信心的文字提示 远离。
我们通过一个拒绝任何不只读的守护者来运行每一个生成的查询, 对照一个否定列表检查每个表格, 并特别寻找一个租户-隔离绕行的形状(恒定的-vs-恒定的比较, 赤裸的,所有经典的).
作品不光彩出众,而是"酷爱AI特性"和"为什么Org A看Org B的评论数据"在一出事频道中出现的不同. (我的占位符:"是的,但实际上不是"/"自行车倒下的家伙".
上文本:"查询有过滤".
底文本( 中倒数 ): "" ) 为什么LLM只看到一个狭小的"计划",而不是整个数据库?
因为
