Bug日记–大模型短链接过期
Bug日记–大模型短链接过期

Bug日记–大模型短链接过期

用户反馈,和小紫苏(咱们开发的agent)对话时频繁报错,然后复现花了一天。为啥呢,那几天正好是coze下架了一批大模型接口,我们换了豆包的一款,之前是deepseek。然后我们就认为问题出自这。(后面发现确实有关系,但不是根本原因)但是测了一下,发现并TM不是。

问题:

后来我发现,只要我发过图片,之后就有很高概率触发错误。日志看了看,coze端返回的是参数不正确。我靠,这他妈哪里找去,明明和他们接口的代码一点没碰,居然参数错了。找呀找,最后花了两三天,发现是短链接的问题。他妈coze会保存我们发过去的消息,之后在对话,就回去读一遍历史记录。短链接一过期,他一读,立马噶。。。

短链接:

为啥要用短链接来传输非文本呢,我们的资源是存在OSS上的,正常给大模型一个链接,让他去读就好了,但是根据产品经理讲,之前是这样,不过OSS的签名URL特别长,大模型处理起来要多花20s,还耗费token。后面就改成短链接了。我们发送短链接给大模型,大模型根据短链接到我们这拿OSS的临时签名,再去OSS那获取文件。

这个bug解决了一周,现在算是解决了一半,通过延长签名和短链接过期时间,算是缓解了。

不过学到了一个新东西,域名鉴权!也就是防盗链。在OSS端能够通过添加reference来控制谁能来访问我,添加白名单域名,就只有这些域名能够访问。用在这次的bug上简直完美,将签名设永久,然后指定只有coze的域名能来访问。不过幻想很美好,现实很骨感,签名最多只能设置12hour,并且后来想到coze的大模型来访问OSS的时候不一定只通过coze的域名,可能会有很多操作,负载均衡一下。

花了一周的bug,现在来看,有点蠢的。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注