AI 内容理解平台关键模块实施方案
大文件上传截断方案
方案:
- 文档按大小限制上传(150M),按字符数限制解析存储(20w);
- 视频按大小限制上传(1G),按字幕字符数限制解析存储(5w);
- 按字符数,限制模型总结字符长度,见 1.1 各模型输入长度限制。
优点:
- 响应速度更快,前端用户交互体验更好;
- 节省调用大模型成本,见 1.3 大模型费用。
缺点:
- 文件总结的内容不完整
各模型输入长度与耗时
各个模型单次的token输入长度限制有差异,并且请求频率也有限制,通过测试对比,以下是测试结果:
最终方案如下:
同类产品限制
通过调研发现,目前同类产品都存在以下限制:
模型费用
模型名称 | 输入 | 输出 | 链接 |
---|---|---|---|
智谱:GLM-4 | 0.1元/千tokens | 同输入 | ZHIPU AI OPEN PLATFORM |
百川:Baichuan2 | 0.008元/千tokens | 同输入 | 百川大模型-汇聚世界知识 创作妙笔生花-百川智能 |
Kimi:moonshot-v1-32k | 0.012元/千tokens | 同输入 | apidoc-team.smzdm.com |
千问:qwen-72b-chat | 0.02元/千tokens | 同输入 | help.aliyun.com |
文心:ernie-speed-128k | 0.004元/千tokens | 0.008元/千tokens | cloud.baidu.com |
gpt-4 | US$30.00 / 1M tokens | US$60.00 / 1M tokens | https://openai.com/api/pricing |
gpt-35-turbo | US$0.50 / 1M tokens | US$1.50 / 1M tokens | https://openai.com/api/pricing |
多模型切换场景:上下文管理方案
会话的第一个问题为默认问题,只要切换模型就会自动发起问答。
方案一
切换模型时,读取上一模型的问答列表存储在堆栈中;
与当前模型的问答列表对比,没有问过的留下,按顺序提示用户;
用户用户连续跳过3个问题,则清空堆栈。
优点:
- 轻量。
缺点:
刷新页面后丢失提示数据;
清空堆栈后所有模型都会丢失数据。
方案二
维护一个问题堆栈和一个map,key为问题的hash,value为列表;
当开始问下一个问题时就压入堆栈,并存储该模型名称到value列表中;
切换模型时,在第一个问题回答完后,从堆栈中取问题,按顺序提示用户是否问第二、三…个问题;
如果用户问了,则记录该模型名称到value列表中,如果跳过了,也记录该模型名称到value列表中;
如果用户连续跳过了3个,则把堆栈中所有该模型没问的问题都记录一下,放在对应的value列表中;
如果用户新增问题,则继续压入堆栈中,重复2、3、4、5;
问题对应的value值存满后,可删除;
持久化该堆栈和map,应对刷新场景。
优点:
- 可保留所有数据。
缺点:
- 相比方案一较重,看看是否有必要。
数据结构
1 | [ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hllinc!
评论