LLM 应用开发框架

前言

最近在美团实习,主要做的是 LLM 开发框架相关的一些工作。想要对这两个月以来的一些工作做一些总结和记录。这个方向还是一个比较新而且最近也比较热的话题,感兴趣的同学或者有想要做这方面的一些实践的同学可以联系我。

自从 GPT-4 和 ChatGPT 问世以来,大语言模型的热潮仿佛到来,各种大模型和 AIGC 的产品层出不穷。LLM 开发框架可以说也是大语言模型热潮下的一个产物和趋势。什么是 LLM 开发框架呢?简单来说就是提供大语言模型应用业务的开发基础和快速使用的能力。因为单纯的大语言模型是比较难去实现一些复杂的场景和业务需求的。比方说 ChatBot 的使用场景(即聊天对话机器人,可以类比于 ChatGPT),实际上大语言模型只会根据你的「输入」来预测你接下来的「输出」,它并没有存储你之前对话的能力,这个时候可能就需要一个 ”Memory“ 组件来提供这样一个存储上下文的能力。再比方说一个文档问答机器人,它是如何根据你的问题去搜索对应的文档或者结果的呢?比较简单的方法其实是去结合向量数据库来做,通过将文档切片、向量化、也可能做一些对于文档的 summary 来存储到向量数据库中(比较知名的向量数据库比如 Milvus,Elasticsearch 也可以作为向量数据库使用)。大语言模型通过将用户的问题转化为向量,到向量数据库中进行相似度搜索和召回,这样就可以得到一系列和你问题相关的文档。但是 LLM 本身其实是没有这个能力的,这也是 LLM 开发框架需要去做和集成的一些组件和功能。

目前最有名的 LLM 开发框架非 LangChain 莫属,Java 版的有 Langchain-java、Langchain4j 等一系列开源库。

LLM 开发框架具体做的事

组件类别

Reference

文章作者: ZY
文章链接: https://zyinnju.com/2023/09/04/LLM-应用开发框架/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZY in NJU