开源模型应用落地-解锁大语言模型的无限潜能
开源模型应用落地-解锁大语言模型的无限潜能
一、背景
在当今社会,实际应用比纯粹理解原理和概念更为重要。即使您对某个领域的原理和概念有深入的理解,但如果无法将其应用于实际场景并受制于各种客观条件,那么与其一开始就过于深入,不如先从基础开始,实际操作后再逐步深入探索。
在这种实践至上的理念下,或许我可以为您提供一种直接的、实际操作的方法。希望能借助我的经验,为各位朋友带来一些有帮助的建议,例如:
**1、您是否也在迫不及待地期待在AI时代中展示自己的能力?
2、您是否一直在研究如何使用开源大语言模型?
3、您是否一直在寻找将AI与业务结合的方向?
4、您是否一直在寻找模型推理加速及降本增效的方法?
5、您是否一直在努力整合来自互联网上碎片化的资料?
6、您是否花费成百上千元购买网上的课程但却收获甚少?**
无论您是在学习中还是工作时有类似的困惑,我坚信您可以从我的文章里得到很多收获。
二、项目架构
简化后的示意图如下:
三、总览
通过实际案例,我们将为大家呈现一系列文章,帮助您了解如何将开源模型与业务整合。这些文章将引导您深入掌握该过程。
3.1. 初级入门系列
3.1.1. 开源模型应用落地- QWen 模型试炼-系列
重点:在windows环境下,使用transformer调用Qwen-1_8B-Chat模型
重点:在windows环境下,使用transformer设置模型参数/System Prompt/历史对话
重点:在linux环境下,使用transformer调用Qwen-1_8B-Chat模型
重点:使用gradio,构建Qwen-1_8B-Chat模型的测试界面
重点:使用modelscope api调用Qwen-1_8B-Chat模型,实现非流式/流式输出
重点:Qwen1.5系列模型的新特性及使用方式
重点:调用微调后的qwen-7b-chat模型
重点:将qwen-7b-chat基座模型与Lora模型进行合并
重点:深入理解Zero/One/Few-Shot,让模型可以更好地处理新任务
重点:如何使用qwen1.5-7b-chat,正确调用function call
重点:在qwen1.5-7b-chat模型下,利用Qwen-Agent构建智能代理,以理解和响应用户查询
重点:掌握Qwen2系列模型的新特性及使用方式
重点:理解GPTQ模型量化技术,以低成本体验大语言模型的魅力
重点:理解AWQ模型量化技术,以低成本体验大语言模型的魅力
重点:分析GPTQ和AWQ模型量化技术之间的差异
重点:使用Qwen1.5-MoE-A2.7B,体验更快的推理速度
重点:正确集成Gradio和Fastapi两大技术框架
重点:实践qwen1.5-7b-chat模型,同时提供界面交互和接口服务两种能力
3.1.2. 开源模型应用落地- BaiChuan 模型试炼-系列
重点:在windows环境下,使用transformer调用Baichuan2-7B-Chat模型
重点:在windows环境下,使用transformer设置模型参数/System Prompt/历史对话
重点:在linux环境下,使用transformer调用Baichuan2-7B-Chat模型
3.1.3. 开源模型应用落地 - ChatGLM 模型试 炼-系列
重点:在windows环境下,使用transformer调用chatglm3-6b模型
重点:在windows环境下,使用transformer设置模型参数/System Prompt/历史对话
重点:在linux环境下,使用transformer调用chatglm3-6b模型
重点:在低成本下,连续批处理提升LLM推理吞吐量,减少延迟
重点:在Zero-Shot/One-Shot/Few-Shot场景下,ChatGLM3-6B的推理表现
重点:在ChatGLM3-6B模型下,实现Function Call
重点:使用gradio搭建AI交互界面
重点:使用streamlit搭建AI交互界面
)
重点:识别模型输出是否命中违禁词
重点:LangChain与ChatGLM3结合,提高对话系统的性能和用户体验
3.1.4. 开源模型应用落地- KnowLM 模 型试炼-系列
重点:调用KnowLM模型,实现知识抽取
重点:优化模型参数,提高知识提取效率和质量
3.2. 高级进阶系列
3.2.1. 开源模型应用落地- 向量数据库 小试 -入门篇系列
重点:Milvus Lite向量数据库的基本使用
重点:Milvus Lite向量数据库的进阶使用
3.2.2. 开源模型应用落地- qwen-7b-chat 与 vllm 实 现推理加速的正确姿势系列
重点:qwen-7b-chat集成vllm
重点:gunicorn+flask构建AI服务
重点:supervisor提升服务的稳定性
重点:鉴权和限流提升AI服务的安全性和稳定性
重点:定时任务处理隐藏盲点
重点:改变模型自我认知
重点:AI服务性能优化
重点:qwen1.5-7b-chat集成vllm
重点:qwen1.5-7b-chat集成vllm,构建与OpenAI-API兼容的API服务
重点:Qwen2-7B-Instruct集成vllm,流式输出
重点:4090单机双卡部署vllm,并集成qwen2-7b-instruct
重点:4090单机双卡部署vllm,并集成qwen2-7b-instruct-gptq-int4
重点:4090单机双卡部署vllm和qwen2-7b-instruct,执行基准测试
重点:4090单机双卡部署vllm,并集成meta-llama-3.1-8b-instruct
重点:4090单机双卡部署vllm,并集成qwen2-7b-instruct和Lora权重
3.2.3. 开源模型应用落地- 业务整合 系列
重点:使用HttpURLConnection/OkHttp/HttpClient多种方式调用AI服务
重点:使用Netty库快速构建WebSocket服务,实现客户端与AI服务交互
重点:spring boot集成netty服务,实现用户界面交互
重点:构建websocket身份校验机制,避免无效连接
重点:构建websocket心跳机制,及时释放一些无效的连接
3.2.4. 开源模型应用落地- 业务优化 系列
重点:使用线程池提升处理效率
重点:使用Redis队列和分布式锁实现请求排队
重点:使用SLB实现AI服务水平扩容
重点:多级数据缓存概述
重点:使用HanLP进行词性标注,并使用Redis作为一级缓存
重点:使用向量数据库作为二级缓存,来为AI服务减负,提升处理效率
重点:使用RocketMQ提升处理效率
重点:统计问题的请求频次,实现热门问题的实时缓存
3.2.5. 开源模型应用落地- 安全合规 系列
重点:使用DFA算法检测用户输入内容的合法性
重点:使用腾讯云文本内容安全服务检测用户输入内容的合法性
重点:使用腾讯云文本内容安全服务检测模型输出内容的合法性
3.2.6. 开源模型应用落地-大模型应用框架LangChain系列
重点:基于LangChain框架,体验Zero/One/Few-Shot的使用
重点:通过LangChain调用外部“心知天气”服务,并将结果返回给QWen1.5模型处理
重点:通过知识图谱为模型提供丰富的语义信息和外部记忆支持
重点:通过事件回调机制,实现用户输入和模型输出的合规检测
重点:基于LangChain框架,通过CPU调用本地qwen1.5-7b-chat模型
重点:基于LangChain框架,通过GPU调用本地qwen1.5-7b-chat模型
重点:LangChain与vllm、QWen1.5模型结合,提高对话系统的性能和用户体验
重点:LangChain与vllm、QWen1.5模型结合,提高对话系统的性能和用户体验
重点:LangChain集成vllm,构建与OpenAI-API兼容的API服务
重点:通过使用LangChain提供的ShellTool工具,让LLM与本地文件系统进行交互
重点:通过使用LangChain提供的WolframAlpha工具,实现在线计算知识引擎和智能搜索。
重点:通过使用LangChain提供的GoogleSerperAPIWrapper工具,实现在线实时搜索
重点:将代理串联工具,将大语言模型的能力和本地、云服务能力结合
重点:串联多个agents协同合作,高效完成复杂任务
重点:智能体入门,学习前三种agent类型,学习前三种agent类型,包括ZERO_SHOT_REACT_DESCRIPTION/CHAT_ZERO_SHOT_REACT_DESCRIPTION/CONVERSATIONAL_REACT_DESCRIPTION
重点:智能体入门,学习后三种agent类型,包括CHAT_CONVERSATIONAL_REACT_DESCRIPTION/OPENAI_FUNCTIONS/STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION
重点:ReadOnlySharedMemory(只读共享内存)用于存储历史信息,并以只读的方式提供给其他组件使用
重点:学习LangChain表达式语言,帮助您更方便地构建复杂的应用程序
重点:学习LangChain表达式语言的高级用法,包括:批量推理,异步输出,异步调用
重点:学习LangChain表达式语言的高级用法,包括:链接一切可运行的内容
重点:学习LangChain表达式语言的高级用法,包括:格式化输入和输出、多任务并行化处理
重点:学习LangChain表达式语言的高级用法,包括:绑定运行时参数,设置停止词,绑定OpenAI functions 或tools
重点:学习LangChain表达式语言的高级用法,包括: 运行自定义函数,接收可运行配置
重点:学习LangChain表达式语言的高级用法,包括:传递输入,即实现在不改变或添加额外键的情况下改变键值。
重点:学习LangChain表达式语言的高级用法,包括:向链状态添加值
重点:学习如何正确使用ConversationBufferMemory组件
重点:学习如何正确使用ConversationBufferWindowMemory组件
重点:学习如何正确使用ConversationEntityMemory组件
重点:学习如何正确使用ConversationKGMemory组件
重点:学习如何正确使用ConversationSummaryMemory组件
重点:学习如何正确使用ConversationTokenBufferMemory组件
重点:学习如何正确使用ConversationTokenBufferMemory组件
重点:学习如何正确使用RedisChatMessageHistory组件
重点:学习如何正确使用FileChatMessageHistory组件
3.2.7. 开源模型应用落地-大模型应用框架LangSmith系列
重点:使用LangSmith的Trace进行模型的开发和调试
重点:使用LangSmith更好地管理数据,提高了数据的组织性和可访问性。
重点:学习Evaluate功能,评估和衡量在多样化数据上的性能和完整性
重点:学习Human feedback功能,帮助用户从应用程序中捕获用户反馈,并将其与跟踪记录关联起来
重点:学习Monitoring and automations功能,帮助开发者更好地管理和优化LangChain应用程序,提高其性能、可靠性和用户体验。
重点:通过学习Prompts功能,用户可以上传、浏览、检索和管理提示(Prompt),使开发过程更加流畅。
3.2.8. 开源模型应用落地-大模型应用框架LlamaIndex系列
重点:LlamaIndex集成OpenAI
重点:LlamaIndex集成OpenAI
3.3. 深度优化系列
3.3.1. 开源模型应落地- QWen模型 微调 系列
重点:使用官方正确方式微调qwen-7b-chat模型
重点:使用官方正确方式微调qwen1.5-7b-chat模型
重点:使用第三方开源Firefly框架微调qwen-7b-chat模型
重点:使用第三方开源Firefly框架微调qwen1.5-7b-chat模型
重点:使用LLaMA-Factory高效微调qwen2-7b-instruct
重点:使用LLaMA-Factory合并微调后的模型权重
重点:使用Axolotl高效微调qwen2-7b-instruct
重点:使用LLaMA-Factory高效微调qwen2-7b-instruct
重点:使用Axolotl高效微调qwen2-7b-instruct
重点:使用Axolotl合并微调后的模型权重
重点:使用Axolotl对Lora模型进行推理
重点:使用ms-swift高效微调qwen2-7b-instruct
重点:使用ms-swift合并微调后的模型权重
重点:使用ms-swift高效微调qwen2-7b-instruct
重点:使用ms-swift合并微调后的模型权重
重点:使用unsloth高效微调qwen2-7b-instruct
重点:使用unsloth合并微调后的模型权重
重点:深度剖析官方qwen1.5-7b-chat模型微调代码
3.3.2. 开源模型应用落地- qwen1.5-7b-chat 与 sglang 实 现推理加速的正确姿势系列
重点:qwen1.5-7b-chat集成sglang,实现5倍加速
重点:sglang性能优化,让其跑的更快
3.3.3. 开源模型应用落地 -模型 记忆增强 系列
重点:理解增强大语言模型的记忆能力的方法
重点:实践使用长期记忆模块增强大语言模型的记忆能力
重点:使用长期记忆模块增强大语言模型的记忆能力,优化向量检索准确率
重点:业务流程(AI服务)集成长期记忆模块,提升用户对话体验
3.4. 知识巩固系列
3.4.1.开源模型应用落地-项目回顾系列
重点:将大语言模型集成至vLLM能够带来显著的性能优化和稳定性提升,为用户提供更快捷、更高效的AI服务体验
3.5. 加餐系列
3.5.1.开源模型应用落地-音频模型应用探索
重点:学习OpenAI开源的Whisper语音识别模型,帮助用户将语音转换成文字
重点:学习OpenAI开源的Whisper语音识别模型,并集成FastAPI对外提供语音识别服务
重点:通过官方推荐的方法调用OpenAI 开放的Whisper语音识别模型
重点:学习OpenAI付费的语音识别服务,实现将语音转换成文本
重点:学习音乐生成模型,让我们能够探索到音乐创作的全新边界和可能性
重点:学习suno/bark音乐生成模型,让我们能够探索到音乐创作的全新边界和可能性
重点:优化模型参数,生成更多样化的音乐,并且支持处理更长的文本输入,生成更长的音乐作品。