写点什么

电商巨头 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:003368

评论 1 条评论

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

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

Python应用之反转字符串

芯动大师

10月月更 反向字符串输出 函数与表达式

【牛客刷题-算法】NC22 合并两个有序的数组

清风莫追

算法 数组 10月月更

【牛客刷题-算法】NC25 删除有序链表中重复的元素-I

清风莫追

算法 链表 10月月更

基于IDE和dlv远程调试Kubernetes组件

琦彦

Go Kubernetes 调试 10月月更 delve

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

Vue3入门指北(八)v-model

Augus

Vue3 10月月更

【愚公系列】2022年10月 Go教学课程 018-分支结构之switch

愚公搬代码

10月月更

【牛客刷题-算法】NC16 对称的二叉树

清风莫追

算法 二叉树 10月月更

什么是 Python 垃圾回收机制中的引用计数

宇宙之一粟

Python 垃圾回收机制 引用计数 10月月更

2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag

福大大架构师每日一题

golang 福大大 选择题

微服务通信

穿过生命散发芬芳

微服务 10月月更

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

React中常见的TypeScript定义实战

xiaofeng

React

ESP32-C3 学习测试 蓝牙 篇(六、添加 Service)

矜辰所致

service 蓝牙 ESP32-C3 10月月更

最长回文串

掘金安东尼

10月月更 算法、

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵社区

书单 国庆节

面向对象究竟是什么鬼?该如何理解?

乌龟哥哥

10月月更

一Go到底】第四天---数据类型

指剑

Go golang 10月月更

Qt|双缓存机制

中国好公民st

c++ qt 10月月更

网络请求模块(2)

张立梵

Python. 爬虫必备知识讲解 10月月更

C++学习---_IO_new_fdopen函数原理分析学习

桑榆

c++ 源码分析 10月月更

经常会采坑的javascript原型应试题

loveX001

JavaScript

深入了解计算机语言

邱学喆

响应式编程 C语言 汇编 对象编程 C++

恼人的网络时延

agnostic

网络时延

开发者有话说|我何以坚持编程25年?

个人成长

深度剖析React懒加载原理

xiaofeng

React

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵教育

书单 国庆节

硬核好文!网络拓扑类型:总线、环形、星形、网状、树形、点对点、混合

wljslmz

网络技术 网络拓扑 10月月更

【C语言难点突破】指针入门讲解

Geek_65222d

10月月更

InetAddress.getLocalHost() 执行很慢?

xiaoxi666

网络 网络库

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

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