学习参考
项目教程:中文教程
代码仓库:代码地址
仓库代码目录说明:
requirements.txt:官方环境下的安装依赖 notebook:Notebook 源代码文件 docs:Markdown 文档文件 figures:图片 data_base:所使用的知识库源文件
第一章 大模型简介
项目简介
本次课程学习主要是面向小白开发者的大模型应用开发学习,旨在基于阿里云服务器,结合个人知识库助手项目,通过一个课程完成大模型开发的重点入门,主要内容包括如下的五部分内容:
- 大模型简介,何为大模型、大模型特点是什么、LangChain 是什么,如何开发一个 LLM 应用,针对小白开发者的简单介绍;
- 如何调用大模型 API,本节介绍了国内外知名大模型产品 API 的多种调用方式,包括调用原生 API、封装为 LangChain LLM、封装为 Fastapi 等调用方式,同时将包括百度文心、讯飞星火、智谱AI等多种大模型 API 进行了统一形式封装;
- 知识库搭建,不同类型知识库文档的加载、处理,向量数据库的搭建;
- 构建 RAG 应用,包括将 LLM 接入到 LangChain 构建检索问答链,使用 Streamlit 进行应用部署
- 验证迭代,大模型开发如何实现验证迭代,一般的评估方法有什么;
本项目主要包括三部分内容:
- LLM 开发入门。V1 版本的简化版,旨在帮助初学者最快、最便捷地入门 LLM 开发,理解 LLM 开发的一般流程,可以搭建出一个简单的 Demo。
- LLM 开发技巧。LLM 开发更进阶的技巧,包括但不限于:Prompt Engineering、多类型源数据的处理、优化检索、召回精排、Agent 框架等
- LLM 应用实例。引入一些成功的开源案例,从本课程的角度出发,解析这些应用范例的 Idea、核心思路、实现框架,帮助初学者明白其可以通过 LLM 开发什么样的应用。
项目意义
-
LLM 正逐步成为信息世界的新革命力量,其通过强大的自然语言理解、自然语言生成能力,为开发者提供了新的、更强大的应用开发选择。随着国内外井喷式的 LLM API 服务开放,如何基于 LLM API 快速、便捷地开发具备更强能力、集成 LLM 的应用,开始成为开发者的一项重要技能。
-
目前,关于 LLM 的介绍以及零散的 LLM 开发技能课程已有不少,但质量参差不齐,且没有很好地整合,开发者需要搜索大量教程并阅读大量相关性不强、必要性较低的内容,才能初步掌握大模型开发的必备技能,学习效率低,学习门槛也较高。
-
本项目从实践出发,结合最常见、通用的个人知识库助手项目,深入浅出逐步拆解 LLM 开发的一般流程、步骤,旨在帮助没有算法基础的小白通过一个课程完成大模型开发的基础入门。同时,我们也会加入 RAG 开发的进阶技巧以及一些成功的 LLM 应用案例的解读,帮助完成第一部分学习的读者进一步掌握更高阶的 RAG 开发技巧,并能够通过对已有成功项目的借鉴开发自己的、好玩的应用。
1.1 LLM大语言模型
1.1.1 理论简介
**概念:大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。通常包括了数百亿(或更多)参数
**的语言模型,在海量的文本数据上进行训练,从而捕获一些深层次的语义理解。目前国内外已经有了很多的模型:
- 国外:
GPT-3.5、GPT-4、PaLM、Claude、LLaMA,等等
- 国内:
文心一言、讯飞星火、通义千问、智谱ChatGLM、百川,等等
这些语言模型不论是大语言模型还是小语言模型,都使用了一些相似的架构以及预训练的任务,但是他们所展露出来的解决问题的能力大不相同。例如,GPT-3 和 GPT-2 为例,GPT-3 可以通过学习上下文来解决少样本任务,而 GPT-2 在这方面表现较差。因此,科研界给这些庞大的语言模型起了个名字,称之为“大语言模型