
论文 · 2024-11-19
A Layered Architecture for Developing and Enhancing Capabilities in Large Language Model-based Software Systems
大语言模型软件的分层设计,含 AIGNE 组件调用与缓存的应用层示例。
arXiv · arXiv:2411.12357v1
给大语言模型软件增加一项能力,应该训练模型、调整生成过程,还是修改应用本身?这篇 2024 年的论文用分层架构讨论这个选择。
论文把系统分为模型层、推理层和应用层,分别讨论模型怎样训练、输出怎样生成,以及应用怎样组织提示词、工具和工作流程。例如,要让模型输出 JSON(一种程序可读取的数据格式),论文比较了在提示词中给出格式示例、在生成过程中限制格式,以及由应用检查和修正输出等方法。所需能力可能涉及多个层,选择还取决于开发者能修改哪些部分。
论文中的 AIGNE
第 4 节的 Call Caching(调用缓存)小节以 AIGNE 说明应用层的做法:包括大语言模型在内的组件被组织为 blocklet,即可供用户或其他 blocklet 调用的软件单元。缓存这些组件之间的交互,有助于减少重复的嵌套调用。
论文给出的适用场景是一段时间内多次出现相同请求;提示词随请求变化时,这类缓存的效果可能受限。
阅读论文中的这段讨论,或从 AIGNE 介绍和框架文档了解后续的开发入口。
论文信息
| 项目 | 信息 |
|---|---|
| 作者 | Dawen Zhang、Xiwei Xu、Chen Wang、Zhenchang Xing、Robert Mao |
| 首次提交 | 2024 年 11 月 19 日 |
| 版本 | arXiv:2411.12357v1,预印本 |
| 原文语言 | 英文 |
| 篇幅 | 22 页,含参考文献 |
| DOI | 10.48550/arXiv.2411.12357 |
| 原文许可 | CC BY 4.0 |
论文通过输出格式、创造性和调用缓存等用例讨论这套架构的用途;其中的工具与服务示例属于 2024 年的研究语境。
返回出版物。