AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

电商巨头 Shopify 提升 LLM 辅助工具,优化电子商务生态

  • 2023-09-26
    北京
  • 本文字数:896 字

    阅读完需:约 3 分钟

大小:459.18K时长:02:36
电商巨头 Shopify 提升 LLM 辅助工具,优化电子商务生态

在使用大型语言模型聊天机器人打开了创新解决方案之门的同时,Shopify 的工程师 Ates Goral 认为,要使用户体验尽可能自然,需要一些特定的努力,以防止产生卡顿并减少延迟

 

由大型语言模型返回的 Markdown 响应流会导致渲染卡顿,因为特殊的 Markdown 字符(如 *)在完整表达式被接收之前保持模糊不清,例如,直到接收到闭合的 *。同样的问题也适用于链接和所有其他 Markdown 运算符。这意味着 Markdown 表达式在完全完成之前无法正确渲染,这意味着在短时间内 Markdown 渲染不正确。

 

为了解决这个问题,Shopify 使用了一个缓冲解析器,它在 Markdown 特殊字符之后不会发出任何字符,并等待 Markdown 表达式完全完成或收到意外字符。

 

在进行流式传输时,需要使用一个有状态的流处理器,可以逐个字符地消耗字符。流处理器要么按照字符接收的顺序传递字符,要么在遇到类似 Markdown 的字符序列时更新缓冲区。

 

然而,Goral 表示,虽然从原理上讲,这个解决方案相对容易手动实现,但要支持完整的 Markdown 规范,则需要使用现成的解析器。另一方面,延迟主要是由于需要进行多次大型语言模型往返来消耗外部数据源,以扩展大型语言模型的初始响应所导致的。

 

大型语言模型对一般的人类语言和文化有很好的理解,但它们并不是获取最新准确信息的绝佳来源。因此,我们告诉大型语言模型通过使用工具来告诉我们当它们需要超出其理解范围的信息时。

 

换句话说,基于用户输入,大型语言模型提供的初始响应还包括要咨询以获取缺失信息的其他服务。当这些额外的数据片段被接收后,大型语言模型将构建完整的响应,最终显示给用户。

 

为了防止用户需要等待所有外部服务都响应完成,Sidekick 使用了 "卡片" 的概念,即占位符。Sidekick 渲染了从大型语言模型收到的初始响应,包括任何占位符。一旦额外的请求完成,Sidekick 将占位符替换为接收到的信息。

 


在 Sidekick 中实施的解决方案充分利用了此工作流程中固有的异步性,并将响应分流步骤与 Markdown 缓冲解析器集成在一起。如果您对他们的解决方案的完整细节感兴趣,不要错过 Goral 的原文文章。

 

原文链接:

https://www.infoq.com/news/2023/08/Shopify-sidekick-llm-improvement/

2023-09-26 08:003332

评论 1 条评论

发布
用户头像
链接看不到了

2023-10-09 14:25 · 北京
回复
没有更多了
发现更多内容

【设计模式】桥接模式

Andy阿辉

编程 后端 设计模式 8月日更

spring的循环依赖

卢卡多多

spring aop 8月日更

两个小女孩

箭上有毒

8月日更

DataFrame数据创建:10种方式任你选

Peter

Python 数据分析 pandas

☕【Java技术指南】教你如何使用【精巧好用】的DelayQueue(延时队列)

洛神灬殇

Java 延迟队列 8月日更 DelayedQueue

docker编排参数详解(docker-compose.yml配置文件编写)

xcbeyond

Docker 容器 8月日更

超全激活函数学习总结!!!

Shirakawa

神经网络 机器学习 算法 激活函数

分布式认知工业互联网平台如何赋能企业数字化转型?

CECBC

Druid 集群方式部署 —— 启动服务

HoneyMoose

Linux中buff-cache占用过高解决方案

入门小站

Linux

在线邮箱地址提取工具

入门小站

工具

Druid 使用 Kafka 数据加载教程——下载和启动 Kafka

HoneyMoose

有状态流处理简介(一)

Databri_AI

flink 批处理 状态

Druid 集群方式部署 —— 配置 Zookeeper 连接

HoneyMoose

Druid 集群方式部署 —— 端口调整

HoneyMoose

yyds,Win10真香!!!

Jackpop

前端之数据结构(三)集合和字典

Augus

数据结构 8月日更

我受够WIN10了!!!

Jackpop

字节跳动旗下大力教育大批量裁员,赔偿 n+2

hanaper

架构训练营 模块4作业

sophiahuxh

在明道云上搭建的应用维护管理的几点建议

明道云

Druid 集群方式部署 —— 配置调整

HoneyMoose

Pandas系列_DataFrame数据筛选(上)

Peter

Python 数据分析 pandas

【前端 · 面试 】HTTP 总结(六)—— HTTP 版本区别

编程三昧

面试 HTTP 8月日更 http版本

网络攻防学习笔记 Day97

穿过生命散发芬芳

态势感知 网络攻防 8月日更

linux中常见工具安装问题集锦

liuzhen007

8月日更

JavaScript代码片段学设计模式

devpoint

设计模式 工厂模式 8月日更

元数据管理服务分析报告

漫长的白日梦

数据湖 AWS 元数据

明道实施与需求的耦合

明道云

浅谈限流组件的应用和设计原则

xiaoxi666

redis sentinel 分布式限流 redisson redis-cell

深入了解NIO底层原理

陈皮的JavaLib

Java 面试 nio 8月日更

电商巨头 Shopify 提升 LLM 辅助工具,优化电子商务生态_生成式 AI_Sergio De Simone_InfoQ精选文章