模型与应用
Yaoledge Chat
持久对话、附件与历史管理
Yaoledge Chat 将一次实时回答保存为可重读的会话。用户发送文本、图片或文档后,服务先发布输入,再请求模型,并逐段发布回答检查点。Chat 管理内容、会话与容量,Yaoledge 管理会员和费用;浏览器显示、历史保存与实际入账分别确认。
网络中断后,继续理解同一段对话 用户看到生成文字时,服务同步发布可恢复的检查点。断开后重新打开会话,展示已确定保存的前缀和真实结束状态;继续提问需要新的明确发送,不自动重放上一轮。
从第一条消息开始,把输入保存完整
用户选择模型并显式发送一轮消息。服务核对当前身份、会员和历史容量,再从服务器已有历史与新消息组装请求。支持文本、PNG/JPEG 图片及 PDF、TXT、Markdown、CSV、XLSX、DOCX、PPTX 原格式内联附件,不先提取或转换文件。
首次发送会同时绑定新会话、轮次和输入。内容写入完成并发布到当前历史之后,才向模型发出请求。这样,已接受的输入有明确保存位置;尚未发布就失败的首次发送不会留下空会话。每次明确发送都有独立轮次标识,同一会话同一时刻只生成一轮。
| 任务 | 获得的结果 |
|---|---|
| 发送与继续对话 | 保存本轮输入,使用已提交历史调用模型 |
| 重开与翻页 | 读取固定提交上界内的内容和轮次状态 |
| 导出 | 下载包含原附件的已提交 JSONL 历史 |
| 停止、选择删除或清空 | 分别结束生成、撤下选中会话或清空当前历史 |
先确认正在为哪个账户执行动作
界面先读取当前身份和历史容量,再让用户明确发送。首次发送、历史列表、选择删除和清空等动作携带界面已经观察到的账户标识;服务仍独立验证真实会话,并核对两者一致。这个标识是目标一致性检查,不能代替认证。
这样,当另一个标签页更换了登录 Cookie,旧页面不会把原本面向账户 A 的动作悄悄执行到账户 B。已经接纳的轮次也保留原账户和目的地。身份读取失败应显示暂不可用,而不是假装用户已退出或当前历史为空。
读取当前身份与权益
区分已退出、读取失败与已登录但无新生成权益;已有历史仍按真实身份提供相应操作。
明确发送当前输入
将所选模型、消息和附件作为一次新轮次;先完整保存并发布输入,再发出模型请求。
分别展示生成与保存进度
浏览器可以看到尚未发布的增量,重新打开历史时只恢复已经确定提交的内容。
屏幕上的进度,可能早于保存进度
服务可以立即把文字增量交给浏览器,同时把输出整理成每份不超过 1 MiB 的检查点。检查点的内容写到私有对象存储,再以事务发布有序引用。只有发布完成的内容才属于可重新读取的历史,屏幕最后一个字符不是保存确认。
数据库保存容量、会话顺序和发布记录,大段正文留在不可变对象中。每次发布都检查已使用与已预留容量之和,防止多个会话共同超出当轮获准容量。每轮另预留 512 字节用于结束记录,即使正文耗尽空间,也有位置记录中断原因。
中断后读取确定前缀,保留真实结束状态
显式停止会结束上游读取,并在原期限与容量内尝试保存当前尾段。浏览器断开则保留已确定提交的前缀,不额外保存未提交尾段。重开会话只恢复本地历史,不续接供应商流,也不自动重新发送原请求。
供应商终态、内容保存与费用确认分别归属不同记录。只有必需内容和结束记录均确定发布后,Chat 才呈现完成、失败或未完成。停止、删除或清空都不能撤销已发生的远端执行,费用仍以原请求的最终账本为准。
| 状态 | 说明 | 下一步 |
|---|---|---|
| 完成/失败/未完成 | 模型终态与所需内容已保存 | 阅读对应结果与历史 |
| 中断 | 连接、容量、存储或期限等结束了本轮 | 读取已保存前缀与具体原因 |
| 结果未知 | 尚不能确定原调用或结束记录的结果 | 重新观察原轮次,不自动重发 |
统一计算历史容量,明确导出的完整性
历史容量计算实际保存的规范化内容,包括文字、原附件的 Base64 数据和轮次元数据。模型请求另受完整 JSON 的 64 MiB 限制,历史还有空间并不代表下一次请求一定能装下。会员过期或降低容量后,现有历史仍可阅读、导出、删除,新的生成重新检查当前权益。
导出固定当时的提交上界,按顺序流式写出消息与各轮状态,不把整段历史装进内存,也不套用模型请求的总大小限制。文件只有写出最后的完整性记录才算结束;途中对象不可读或历史被撤下,下载会保留失败含义,不能把已有部分当作完整备份。
读取、导出和清空各自有完成条件
导出捕获一份确定的历史上界,之后新增的内容不加入这份下载。JSONL 文件末尾的 complete 记录会核对截取上界、源记录数量和实际输出记录;没有这条记录的截断文件,不能作为完整备份。导出只读取服务已保存的历史,不重新调用模型或生成费用。
删除选中的会话时,结果确认的是这些 ID 在当前账户中已不可访问。未确认的剩余 ID 不证明仍然存在,也不能把其他批次当作已完成。清空则是面向整个账户的新决定:回复丢失后先重新观察,若要再次清空,必须由用户重新明确确认当前账户的全部历史。
可以确认:导出保留完整终结记录
只有捕获范围内的全部源记录和输出均成功完成,才形成这份历史导出的完成结果。
不能推断:屏幕已显示即重新打开后一定存在
显示增量可能早于检查点发布;保存事实来自已提交历史,而不是浏览器最后看见的字符。
继续核对:清空后的晚到内容
原代次已撤下的轮次不能恢复旧内容或改变新代次计数;物理对象回收仍由原责任继续完成。
删除先改变可见性,回收继续保留责任
选择删除会在账户范围内撤下指定会话并释放其逻辑容量。清空则在一次事务中切换当前历史代次、归零已用与预留容量,无需先遍历全部消息。新会话可正常准入,旧代次迟到的写入不能把旧内容带回,也不能改变新历史的计数。
后台按已有对象记录继续回收,未确认的写入或删除保留原处理责任。逻辑删除不承诺某个固定时刻完成物理擦除。设计核对重点是首次输入未发布就失败、显示后尚未保存即断线、导出中途缺失内容,以及清空后迟到的发布;每种情况都需要独立检查可读历史、容量与上游调用次数。