一、背景
时间飞逝,我首次撰写的“开源大语言模型-实际应用落地”专栏已经完成了一半以上的内容。由衷感谢各位朋友的支持,希望这些内容能给正在学习的朋友们带来一些帮助。
在这里,我想分享一下创作这个专栏的初心以及如何有效的,循序渐进的学习。
从事IT行业15年来,从来没有写博客的习惯,但从今年年初开始,突然发现,如今在社会生存的压力是越来越大。每天都要面对各种信息焦虑、工作竞争压力、高昂的学习成本,以及身体健康的透支。为此,我突发奇想,希望把自己工作实践中的一些经验分享出来,通过这个专栏,向朋友们介绍一些前沿技术的实际应用,比如开源大语言模型的应用场景。希望能让大家更好地了解这些技术在实际工作中的应用价值,帮助大家在学习和工作中增加一些实用的能力。
一)信息焦虑
二)工作竞争压力
三)高昂的学习成本
四)身体健康的透支
为什么要设置成付费专栏?主要是在信息无限,精力有限的时代,当大家为内容付费之后,就会更加重视这个内容,并希望从中获得相应的收获和回报。毕竟,既然花费了金钱,那么必然就希望能够从中得到一些有价值的东西。
二、学习路线
2.1.探索模型之旅
(一)开源大语言模型探索
QWen模型试炼
开源模型应用落地-qwen模型小试-入门篇(一)
重点:在windows环境下,使用transformer调用Qwen-1_8B-Chat模型
开源模型应用落地-qwen模型小试-入门篇(二)
重点:在windows环境下,使用transformer设置模型参数/System Prompt/历史对话
开源模型应用落地-qwen模型小试-入门篇(三)
重点:在linux环境下,使用transformer调用Qwen-1_8B-Chat模型
开源模型应用落地-qwen模型小试-入门篇(四)
重点:使用gradio,构建Qwen-1_8B-Chat模型的测试界面
开源模型应用落地-qwen模型小试-入门篇(五)
重点:使用modelscope api调用Qwen-1_8B-Chat模型,实现非流式/流式输出
开源模型应用落地-qwen模型小试-调用qwen1.5新模型-进阶篇(六)
重点:Qwen1.5系列模型的新特性及使用方式
开源模型应用落地-qwen模型小试-Zero/One/Few Shot-进阶篇(九)
重点:深入理解Zero/One/Few-Shot,让模型可以更好地处理新任务
开源模型应用落地-qwen模型小试-function call(十)
重点:如何使用qwen1.5-7b-chat,正确调用function call
开源模型应用落地-qwen模型小试-Qwen-Agent(十一)
重点:在qwen1.5-7b-chat模型下,利用Qwen-Agent构建智能代理,理解和响应用户查询
开源模型应用落地-模型量化-Qwen1.5-7B-Chat-GPTQ-Int8(一)
重点:理解GPTQ模型量化技术,以低成本体验大语言模型的魅力
开源模型应用落地-模型量化-Qwen1.5-7B-Chat-AWQ(二)
重点:理解AWQ模型量化技术,以低成本体验大语言模型的魅力
开源模型应用落地-模型量化-AWQ vs GPTQ(三)
重点:分析GPTQ和AWQ模型量化技术之间的差异
开源模型应用落地-Qwen1.5-MoE-1/3的激活参数量达到7B模型的性能
重点:使用Qwen1.5-MoE-A2.7B,体验更快的推理速度
BaiChuan模型试炼
开源模型应用落地-baichuan模型小试-入门篇(一)
重点:在windows环境下,使用transformer调用Baichuan2-7B-Chat模型
开源模型应用落地-baichuan2模型小试-入门篇(二)
重点:在windows环境下,使用transformer设置模型参数/System Prompt/历史对话
开源模型应用落地-baichuan2模型小试-入门篇(三)
重点:在linux环境下,使用transformer调用Baichuan2-7B-Chat模型
ChatGLM模型试炼
开源模型应用落地-chatglm3-6b模型小试-入门篇(一)
重点:在windows环境下,使用transformer调用chatglm3-6b模型
开源模型应用落地-chatglm3-6b模型小试-入门篇(二)
重点:在windows环境下,使用transformer设置模型参数/System Prompt/历史对话
开源模型应用落地-chatglm3-6b模型小试-入门篇(三)
重点:在linux环境下,使用transformer调用chatglm3-6b模型
开源模型应用落地-chatglm3-6b-批量推理-入门篇(四)
重点:在低成本下,连续批处理提升LLM推理吞吐量,减少延迟
开源模型应用落地-chatglm3-6b-zero/one/few-shot-入门篇(五)
重点:在Zero-Shot/One-Shot/Few-Shot场景下,ChatGLM3-6B的推理表现
开源模型应用落地-chatglm3-6b-function call-入门篇(六)
重点:在ChatGLM3-6B模型下,实现Function Call
开源模型应用落地-chatglm3-6b-gradio-入门篇(七)
重点:使用gradio搭建AI交互界面
开源模型应用落地-chatglm3-6b-streamlit-入门篇(八)
重点:使用streamlit搭建AI交互界面
开源模型应用落地-chatglm3-6b-模型输出违禁词检测(九)
重点:识别模型输出是否命中违禁词
开源模型应用落地-chatglm3-6b-集成langchain(十)
重点:LangChain与ChatGLM3结合,提高对话系统的性能和用户体验
KnowLM模型试炼
开源模型应用落地-KnowLM模型小试-入门篇(一)
重点:调用KnowLM模型,实现知识抽取
开源模型应用落地-KnowLM模型小试-入门篇(二)
重点:优化模型参数,提高知识提取效率和质量
CodeQwen模型试炼
开源模型应用落地-CodeQwen模型小试-小试牛刀(一)
重点:CodeWen模型初体验,测试生成/修改代码的能力
开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)
重点:探索CodeWen模型的SQL能力
开源模型应用落地-CodeQwen模型小试-探索更多使用场景(三)
重点:探索CodeWen模型更多的使用场景
开源模型应用落地-CodeQwen模型小试-集成langchain(四)
重点:CodeWen模型集成LangChain,提供更便捷的推理方式
(二)开源大语言辅助工具
开源模型应用落地-Gradio正确集成Fastapi-助力模型交互-入门篇(一)
重点:正确集成Gradio和Fastapi两大技术框架
开源模型应用落地-Gradio正确集成Fastapi-助力模型交互-实践篇(二)
重点:实践qwen1.5-7b-chat模型,同时提供界面交互和接口服务两种能力
开源模型应用落地-工具使用篇-JMeter(一)
重点:使用JMeter工具压测AI服务链路,及时发现潜在的性能瓶颈
开源模型应用落地-工具使用篇-SLB(二)
重点:引入负载均衡,以提高AI服务的性能和故障转移能力
开源模型应用落地-工具使用篇-Ollama(六)
重点:使用Ollama快速集成QWen1.5系列模型
开源模型应用落地-工具使用篇-Spring AI(七)
重点:通过Spring AI调用OpenAI及Ollama系列模型
开源模型应用落地-工具使用篇-Spring AI-Function Call(八)
重点:通过Spring AI调用OpenAI,并实现function call的高级用法
开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)
重点:通过Spring AI调用OpenAI,并实现历史上下文传递及模型参数优化
2.2.实战技能一网打尽
(一)开源大语言模型微调
开源模型应用落地-qwen-7b-chat-LoRA微调(一)
重点:使用官方正确方式微调qwen-7b-chat模型
开源模型应用落地-qwen1.5-7b-chat-LoRA微调(二)
重点:使用官方正确方式微调qwen1.5-7b-chat模型
开源模型应用落地-qwen-7b-chat-LoRA微调-Firefly(三)
重点:使用第三方开源Firefly框架微调qwen-7b-chat模型
开源模型应用落地-qwen1.5-7b-chat-LoRA微调-Firefly(四)
重点:使用第三方开源Firefly框架微调qwen1.5-7b-chat模型
开源模型应用落地-qwen1.5-7b-chat-LoRA微调代码拆解
重点:深度剖析官方qwen1.5-7b-chat模型微调代码
开源模型应用落地-qwen模型小试-调用Lora模型-进阶篇(七)
重点:调用微调后的qwen-7b-chat模型
开源模型应用落地-qwen模型小试-合并Lora模型-进阶篇(八)
重点:将qwen-7b-chat基座模型与Lora模型进行合并
(二)开源大语言模型应用框架
开源模型应用落地-LangChain试炼-Zero/One/Few Shot
重点:基于LangChain框架,体验Zero/One/Few-Shot的使用
开源模型应用落地-LangChain高阶-QWen1.5-外部实时数据
重点:通过LangChain调用外部“心知天气”服务,并将结果返回给QWen1.5模型处理
开源模型应用落地-LangChain高阶-知识图谱助力记忆增强
重点:通过知识图谱为模型提供丰富的语义信息和外部记忆支持
开源模型应用落地-LangChain高阶-事件回调-合规校验
重点:通过事件回调机制,实现用户输入和模型输出的合规检测
开源模型应用落地-LangChain试炼-CPU调用QWen1.5(一)
重点:基于LangChain框架,通过CPU调用本地qwen1.5-7b-chat模型
开源模型应用落地-LangChain高阶-GPU调用QWen1.5(二)
重点:基于LangChain框架,通过GPU调用本地qwen1.5-7b-chat模型
开源模型应用落地-LangChain高阶-集成vllm-QWen1.5(一)
重点:LangChain与vllm、QWen1.5模型结合,提高对话系统的性能和用户体验
开源模型应用落地-LangChain高阶-集成vllm-QWen1.5(二)
重点:LangChain与vllm、QWen1.5模型结合,提高对话系统的性能和用户体验
开源模型应用落地-LangChain高阶-集成vllm-QWen1.5-OpenAI-Compatible Server(三)
重点:LangChain集成vllm,构建与OpenAI-API兼容的API服务
开源模型应用落地-LangChain高阶-Tools工具-ShellTool(一)
重点:通过使用LangChain提供的ShellTool工具,让LLM与本地文件系统进行交互
开源模型应用落地-LangChain高阶-Tools工具-WolframAlpha(二)
重点:通过使用LangChain提供的WolframAlpha工具,实现在线计算知识引擎和智能搜索。
开源模型应用落地-LangChain高阶-Tools工具-GoogleSerperAPIWrapper(三)
重点:通过使用LangChain提供的GoogleSerperAPIWrapper工具,实现在线实时搜索
开源模型应用落地-LangChain高阶-Tools工具-集成agents(四)
重点:将代理串联工具,将大语言模型的能力和本地、云服务能力结合
开源模型应用落地-LangChain高阶-Tools工具-Multi-Agent(五)
重点:串联多个agents协同合作,高效完成复杂任务
开源模型应用落地-LangSmith试炼-入门初体验(一)
重点:使用LangSmith的Trace进行模型的开发和调试
开源模型应用落地-LangSmith试炼-入门初体验-数据集管理(二)
重点:使用LangSmith更好地管理数据,提高了数据的组织性和可访问性。
2.3.业务整合落地
(一)开源大语言模型业务实践
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(一)
重点:qwen-7b-chat集成vllm
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(二)
重点:gunicorn+flask构建AI服务
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(三)
重点:supervisor提升服务的稳定性
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(四)
重点:鉴权和限流提升AI服务的安全性和稳定性
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(五)
重点:定时任务处理隐藏盲点
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(六)
重点:改变模型自我认知
开源模型应用落地-qwen-7b-chat与vllm实现推理加速的正确姿势(七)
重点:AI服务性能优化
开源模型应用落地-qwen1.5-7b-chat与vllm实现推理加速的正确姿势(八)
重点:qwen1.5-7b-chat集成vllm
开源模型应用落地-qwen1.5-7b-chat与vllm实现推理加速的正确姿势(九)
重点:qwen1.5-7b-chat集成vllm,构建与OpenAI-API兼容的API服务
开源模型应用落地-业务整合篇-多种方式调用AI服务(一)
重点:使用HttpURLConnection/OkHttp/HttpClient多种方式调用AI服务
开源模型应用落地-业务整合篇-构建WebSocket服务(二)
重点:使用Netty库快速构建WebSocket服务,实现客户端与AI服务交互
开源模型应用落地-业务整合篇-Springboot集成Netty(三)
重点:spring boot集成netty服务,实现用户界面交互
开源模型应用落地-业务整合篇-构建websocket校验机制(四)
重点:构建websocket身份校验机制,避免无效连接
开源模型应用落地-业务整合篇-构建websocket心跳机制(五)
重点:构建websocket心跳机制,及时释放一些无效的连接
开源模型应用落地-业务优化篇(一)
重点:使用线程池提升处理效率
开源模型应用落地-业务优化篇(二)
重点:使用Redis队列和分布式锁实现请求排队
开源模型应用落地-业务优化篇(三)
重点:使用SLB实现AI服务水平扩容
开源模型应用落地-业务优化篇(四)
重点:多级数据缓存概述
开源模型应用落地-业务优化篇(五)
重点:使用HanLP进行词性标注,并使用Redis作为一级缓存
开源模型应用落地-业务优化篇(六)
重点:使用向量数据库作为二级缓存,来为AI服务减负,提升处理效率
开源模型应用落地-业务优化篇(七)
重点:使用RocketMQ提升处理效率
开源模型应用落地-业务优化篇(八)
重点:统计问题的请求频次,实现热门问题的实时缓存
(二)开源大语言模型应用合规
开源模型应用落地-安全合规篇-用户输入合规性检测(一)
重点:使用DFA算法检测用户输入内容的合法性
开源模型应用落地-安全合规篇-用户输入合规性检测(二)
重点:使用腾讯云文本内容安全服务检测用户输入内容的合法性
开源模型应用落地-安全合规篇-模型输出合规性检测(三)
重点:使用腾讯云文本内容安全服务检测模型输出内容的合法性
(三)开源大语言模型记忆增强
开源模型应用落地-工具使用篇-向量数据库(三)
重点:Milvus Lite向量数据库的基本使用
开源模型应用落地-工具使用篇-向量数据库进阶(四)
重点:Milvus Lite向量数据库的进阶使用
开源模型应用落地-工具使用篇-获取文本向量(五)
重点:通过GPT和开源模型等方式获取文本向量
开源模型应用落地-模型记忆增强-概念篇(一)
重点:理解增强大语言模型的记忆能力的方法
开源模型应用落地-模型记忆增强-向量数据库准备-实践篇(二)
重点:实践使用长期记忆模块增强大语言模型的记忆能力
开源模型应用落地-模型记忆增强-提升向量检索准确率-实践篇(三)
重点:使用长期记忆模块增强大语言模型的记忆能力,优化向量检索准确率
开源模型应用落地-模型记忆增强-整合AI服务-QWen1.5-7B-Chat(四)
重点:业务流程(AI服务)集成长期记忆模块,提升用户对话体验
2.4.知识拓展
开源模型应用落地-qwen1.5-7b-chat与sglang实现推理加速的正确姿势(一)
重点:qwen1.5-7b-chat集成sglang,实现5倍加速
开源模型应用落地-qwen1.5-7b-chat与sglang实现推理加速的正确姿势(二)
重点:sglang性能优化,让其跑的更快
三、学习收获
- 掌握如何使用Transformer库调用业界流行的大语言模型
- 掌握大语言模型推理加速的正确方式
- 掌握LangChain/LangSmith等应用框架的高阶使用
- 掌握如何把大语言模型能力落地于实际业务
- 掌握如何做好互联网信息服务深度合成管理规定
- 掌握如何提高大语言模型的记忆能力
- 掌握如何通过大语言模型构建知识图谱
- 掌握如何在昂贵算力面前寻求降本增效方法
- 掌握开源大语言模型下Function Call、Agent等使用方式
- 掌握Spring AI、Ollama、Netty、HanLP、Redis等综合运用
四、后续
纸上得来终觉浅,绝知此事要躬行,老铁们不要被当下困境所困扰,用坚韧不拔的精神和勇气开启自己新的辉煌。我会持续更新,把工作中的所思、所想、所得,毫无保留地分享出来,希望能给大家带来一丝帮助。