123456

😉你好awa,欢迎看到我的这条简介帖,我是Acbox,也可以叫我小箱子or小盒子,希望我们可以成为朋友 🧭关于我 - 正在做开源/AI创业项目EchoAI,目前正在全职building bijon.ai 和 sciux.dev ,bugduck.org 的co-founder, GitHub账号是sheepbox8646, 700+stars开源项目newcar的作者(虽然目前已停止维护) - 16岁,目前已经离开学校跑到深圳生活,自考A-level和IELTS,也许会在在2027申请CUHK - 全栈开发者,🎨UI/UX学习中 - 活动地区: 深圳/广州/香港 - 其他: 🚇轨道交通/🧤MaimaiDX/🏳️‍⚧️/📻预备HAM/🥁架子鼓/阿斯博格/🦄Brony/
123456碎碎念
我想出了一种新方案,首先可以参考图一的system prompt, 图二是直接扔给gpt的结果,我们采用{start:xxx}{end:xxx}作为标记,slot是content,现在我们调api时开启streaming。 function calling一次只能调用一个 而且遇到一些参数需要推理和计算的情况下很多模型力不从心,如果需要llm先回答再让他调用工具对于一些场景两次调用就会很慢,用户观感不好,所以我干脆换个想法直接把调用工具以一定格式让ai输出在content里,然后先从edge function拦截流式输出把chunks堆到一个字符串里先堆着,然后自己返回一个stream,每次有新的chunk加入就解析其中的特定标记,如果匹配到新的完整标记则把标记的参数和名字解析一下write到stream里,这样在前端层面(比如结构化矢量图形),用户看到的也是图形一个个的变化,出现,消失,再从前端写一些出场/入场动画,就能得到很完美的观感