一、何为大模型开发
以大语言模型为功能核心、通过大语言模型的强大理解能力和生成能力、结合特殊的数据或业务逻辑来提供独特功能的应用
一般通过调用 API 或开源模型来实现核心的理解与生成,通过 Prompt Enginnering 来实现大语言模型的控制
开发要素: Prompt Engineering、数据工程、业务逻辑分解、验证迭代优化
对于以调用、发挥大模型为核心的大模型开发而言:
在整体思路上,用 Prompt Engineering 来替代子模型的训练调优,用一个通用大模型 + 若干业务 Prompt 来解决任务
在评估思路上,构造小批量验证集,与设计的Prompt结合实现验证集效果,从业务逻辑中收集当下 Prompt 的 Bad Case(不合预期的输出),并将 Bad Case 加入到验证集中,针对性优化 Prompt
二、大模型开发的一般流程
确定目标:对于个体开发者或小型开发团队而言,一般应先设定最小化目标,从构建一个 MVP(最小可行性产品)开始,逐步进行完善和优化
↓
设计功能:设计本应用所要提供的功能,以及每一个功能的大体实现逻辑(越清晰、深入的业务逻辑理解往往也能带来更好的 Prompt 效果)。先设计核心功能,然后延展设计核心功能的上下游功能
↓
构建Prompt Engineering:明确 Prompt 设计的一般原则及技巧,构建出一个来源于实际业务的小型验证集,基于小型验证集设计满足基本要求、具备基本能力的 Prompt
↓
验证迭代:进行实际业务测试,探讨边界情况,找到 Bad Case,据此迭代优化Prompt,直到达到一个较为稳定、可以基本实现目标的 Prompt 版本
↓
前后端搭建:设计产品页面(Gradio 和 Streamlit)
↓
体验优化:长期的用户体验跟踪,记录 Bad Case 与用户负反馈,再针对性进行优化即可