一文详解十款主流LLM应用框架:LangChain、Dify、LlamaIndex....

类似于langchain的开发框架有哪些? 阅读详情
AI摘要

本文对比了LangChain、Dify等十款主流开源LLM应用框架,从易用性、定制化等七个维度展开,给出不同场景下的框架选择建议。此外,还分享了大模型AI学习的四个阶段,包括初阶应用、高阶应用、模型训练和商业闭环,并提供了免费学习资料获取方式。

img

随着大型语言模型(LLM)的普及,开发者们需要强大的框架来快速构建智能应用。从聊天机器人到知识库搜索,市场上有许多工具可以简化开发流程。本文将比较十款主流开源框架:LangChain、Dify、LlamaIndex、Haystack、Flowise、Langflow、CrewAI、AutoGPT、n8n 和 MaxKB,帮助你选择最适合项目的工具。

框架简介

以下是这十款框架的简要概览,展示它们的定位和核心功能:

框架类型核心功能许可证主要语言
LangChain开发者工具包模块化LLM编排、RAG、代理MITPython, JS/TS
Dify低代码平台快速应用开发、RAG、代理Apache 2.0Python, JS
LlamaIndex数据框架数据索引、检索、RAGMITPython
HaystackNLP管道框架语义搜索、问答、RAGApache 2.0Python
Flowise低代码平台基于LangChain的视觉化应用构建Apache 2.0JS/TS
Langflow低代码平台视觉化工作流、RAG、代理MITPython
CrewAI代理框架多代理协作MITPython
AutoGPT自主代理目标导向的任务自动化MITPython
n8n工作流自动化通用自动化,支持LLM集成Fair-codeJS/TS
MaxKB知识库平台知识管理、RAGAGPL-3.0Python

详细对比

我们从七个关键维度对比这些框架:易用性、定制化、开发速度、可扩展性、社区支持、集成能力和适用场景。

1. 易用性

  • LangChain:需要Python或JS编程经验,学习曲线较陡,适合有技术的开发者。
  • Dify:低代码拖拽界面,适合非技术用户,快速上手。
  • LlamaIndex:中等难度,专注于数据任务,需Python基础。
  • Haystack:开发者友好,管道设计直观,适合NLP任务。
  • Flowise:低代码,基于LangChain,拖拽式设计对新手友好。
  • Langflow:视觉化界面支持代码导出,兼顾新手和开发者。
  • CrewAI:中等难度,需Python,代理设置简单但需理解角色分工。
  • AutoGPT:命令行操作复杂,不适合初学者。
  • n8n:低代码自动化,界面直观,适合工作流设计。
  • MaxKB:知识库创建简单,但文档不足增加学习成本。

推荐:新手选 Dify,兼顾易用和灵活选 Langflow。

2. 定制化

  • LangChain:高度模块化,支持链、代理、记忆,600+集成。
  • Dify:通过视觉组件定制,中等灵活,复杂逻辑受限。
  • LlamaIndex:数据索引和检索定制强,支持多种向量库。
  • Haystack:管道灵活,适合搜索和问答定制。
  • Flowise:受LangChain限制,非标准流程定制弱。
  • Langflow:支持代码级调整,灵活性高。
  • CrewAI:专注多代理,角色和任务可深度定制。
  • AutoGPT:任务自动化灵活,但缺乏结构化工具。
  • n8n:自动化定制强,LLM任务稍弱。
  • MaxKB:知识库定制适中,其他场景局限。

推荐:复杂项目选 LangChain,数据任务选 LlamaIndex。

3. 开发速度

  • LangChain:需编码,初期慢,但组件复用加速迭代。
  • Dify:模板和视觉流让原型开发最快。
  • LlamaIndex:RAG和搜索应用开发高效。
  • Haystack:管道设置快,复杂任务需调优。
  • Flowise:拖拽式开发,简单应用快速上线。
  • Langflow:视觉流加速原型,代码导出支持生产。
  • CrewAI:代理应用开发适中,需定义任务。
  • AutoGPT:配置和调试慢,实验性强。
  • n8n:自动化流程快,LLM应用稍慢。
  • MaxKB:知识库快速,通用应用较慢。

推荐:快速原型选 Dify,视觉开发选 Flowise 或 Langflow。

4. 可扩展性

  • LangChain:通过LangServe和LCEL支持企业级扩展。
  • Dify:适合中小规模,高流量场景稍弱。
  • LlamaIndex:数据密集应用扩展强,适合大数据集。
  • Haystack:企业级搜索任务表现优秀。
  • Flowise:受LangChain限制,扩展性有限。
  • Langflow:一键微服务部署,适合复杂工作流。
  • CrewAI:代理系统扩展适中,大规模未充分验证。
  • AutoGPT:非生产就绪,大规模不稳定。
  • n8n:自动化扩展强,LLM应用稍弱。
  • MaxKB:知识库扩展可行,通用场景未验证。

推荐:企业级选 LangChain 和 Haystack,数据任务选 LlamaIndex。

5. 社区与支持

  • LangChain:最大社区(3000+贡献者),文档详尽,Slack活跃。
  • Dify:快速增长(34.8k+ GitHub星),文档简单,更新频繁。
  • LlamaIndex:社区强大,文档清晰,GitHub/Discord活跃。
  • Haystack:社区稳定,Deepset支持,文档优质。
  • Flowise:社区中等,依赖LangChain生态。
  • Langflow:增长中,文档良好,开发活跃。
  • CrewAI:社区较小,专注代理场景。
  • AutoGPT:早期火爆,社区活跃度下降。
  • n8n:自动化社区强大,AI支持较少。
  • MaxKB:社区较小,文档有限。

推荐:社区支持选 LangChain,文档质量选 LlamaIndex 或 Haystack。

6. 集成能力

  • LangChain:600+集成(OpenAI、Hugging Face、向量库)。
  • Dify:预建集成(OpenAI、Zapier),数量较少。
  • LlamaIndex:向量库(FAISS、Pinecone)和数据连接强。
  • Haystack:支持transformer、向量库、API。
  • Flowise:继承LangChain集成,范围有限。
  • Langflow:无缝对接LangChain和Hugging Face。
  • CrewAI:基于LangChain,集成专注代理。
  • AutoGPT:集成少,需手动配置。
  • n8n:400+自动化集成,非LLM中心。
  • MaxKB:知识库工具集成,LLM支持基础。

推荐:集成广度选 LangChain,数据集成选 LlamaIndex。

7. 适用场景

  • LangChain:聊天机器人、复杂工作流、RAG、代理。
  • Dify:客服机器人、最小可行产品、简单RAG。
  • LlamaIndex:知识库、语义搜索、RAG。
  • Haystack:企业搜索、问答、文档分析。
  • Flowise:简单聊天机器人、数据分析。
  • Langflow:原型设计、复杂管道、教育工具。
  • CrewAI:多代理系统、研究自动化。
  • AutoGPT:实验性自动化、任务驱动代理。
  • n8n:业务自动化、LLM增强工作流。
  • MaxKB:知识管理、内部问答。

推荐:多功能选 LangChain,专业任务选 Haystack 或 LlamaIndex。

如何选择?

  • 新手或非技术用户:选 Dify 或 Flowise,低代码快速上手。
  • 需要高度定制的开发者:选 LangChain(复杂应用)或 Langflow(视觉+代码)。
  • 数据密集型任务:选 LlamaIndex(索引/检索)或 Haystack(搜索管道)。
  • 多代理协作:选 CrewAI(代理系统)或 Langflow(视觉代理流)。
  • 自动化需求:选 n8n(业务流程)或 AutoGPT(实验性自主任务)。
  • 知识库管理:选 MaxKB(专用知识库)或 LlamaIndex(通用RAG)。

总结

每个框架都在LLM应用生态中有独特定位:

  • LangChain 以多功能和集成见长,适合复杂项目。
  • Dify 让非技术用户也能快速开发。
  • LlamaIndex 和 Haystack 在数据和搜索任务中表现卓越。
  • Flowise 和 Langflow 简化开发流程,兼顾易用性。
  • CrewAI 和 AutoGPT 专注代理和自动化。
  • n8n 连接自动化与AI,MaxKB 专注知识管理。

很多时候,不同的框架可以结合在一起使用,选择框架时,需权衡项目复杂度、团队技术水平和扩展需求。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

盘点当下智能体应用开发的几种形态 现在多智能体系统开发的关注度越来越高了,不光在开发者的圈子热度很高,很多职场人士,甚至是小白也参与其中,因为现在的门槛越来越低了,尤其是,最近特别火的扣子(coze)和百度的appbuilder,小白也能轻松制作一个属于自己的智能体应用。同时,做智能体的方法却越来越多。然而,这么多的多智能体框架究竟有什么不同呢?它们又各自具有什么特点和优势呢?什么时候该用哪一种框架呢?今天,我们就相对系统的盘点一下当下智能体应用开发的几种形态,让大家对智能体框架有个直观的理解,方便自己的选择。 阅读详情

相关推荐

大模型——6个最好用的LLM应用开发框架

在开发LLM应用和MAS时,我们需要验证LLM输出,监控我们的代理,并与各种工具和服务集成。本文将分享一些用于构建这类应用的有用工具和库。人工智能正在占领当今的技术世界。每个人都需要将人工智能集成到他们的业务中,开发人工智能应用等。我不是来解释什么是人工智能、它的子领域或什么是LLM——这些废话。让我们直接进入主题。我的话题是生成式人工智能和代理式人工智能,特别是LLM和多代理系统(MAS)。在开发LLM应用和MAS时,我们需要验证LLM输出,监控我们的代理,并与各种工具和服务集成。

4065

LLM编程框架

每个框架都有其特点和优势,您可以根据具体需求和技术背景选择适合的框架来开展 LLM 相关的编程工作。

alankuo的专栏 528

项目实训(四)——SAM模型的学习与部署

这里的show_mask就是我们用mask的prompt进行分割,show_points就是我们用points进行分割,show_box就是通过box进行分割,这是SAM的三种prompt的方式。总的来说,Meta AI 的 Segment Anything 模型为我们提供了一种全新的物体识别和分割方式,其强大的泛化能力和广泛的应用前景将极大地推动计算机视觉领域的发展。这里有vit_h、vit_b、vit_l三种权重模型,这里可以根据自己的需要下载相应的权重模型。我们是下载的vit_h权重模型。

yyyyyyyx_的博客 1421

一文吃透 10 款主流 LLM 应用框架:LangChain、Dify、LlamaIndex 等全解析

本文将比较十款主流开源框架:LangChain、Dify、LlamaIndex、Haystack、Flowise、Langflow、CrewAI、AutoGPT、n8n 和 MaxKB,帮助你选择最适合项目的工具。

python12345_的博客 2876

360可视门铃双摄版数据恢复实战:BIN文件解析与视频重组

本文详细解析了360可视门铃双摄版BIN文件的数据恢复过程,包括文件结构分析、双摄像头数据存储机制及视频重组技术。通过Python开发环境和FFmpeg工具链,成功实现了H.265视频流的解析与重组,为智能家居设备数据恢复提供了实用解决方案。

weixin_29196891的博客 909

能量机关 STM32HAL库开发大疆A板WS2812B彩灯(PWM+DMA)

本文主要目的是为了制作RoboMaster比赛能量机关的灯条控制,模拟比赛场中大符,搭建出类似场地道具,以供视觉测试 使用的是RoboMaster开发板A型,芯片为STM32F427IIH6,使用的灯条为WS2812B。 采用PWM+DMA控制,使用CUBEMX配置底层,keil5编辑烧录代码 实现:一共五片扇叶,每片扇叶均实现流水灯+常亮颜色 参考文章在后面会标记出来

m0_51756449的博客 4291

AI智能体工具选型实战:10款主流平台与框架深度测评

AI智能体作为大模型技术落地的核心载体,正在重塑企业业务流程自动化。其原理是通过工作流编排将大模型、知识库检索、工具调用与条件分支有机结合,从而实现从简单对话到复杂任务执行的跨越。在技术选型中,低代码平台(如Dify、扣子)与开发框架(如LangChain、CrewAI)各有优劣;知识库RAG能力与私有化部署则成为企业落地的关键考量。无论是中小团队的快速上线,还是大厂的数据安全与深度定制,都需要基于实际场景权衡。本文基于对十款主流智能体工具的真实项目测评,从上手门槛、工作流编排、知识库质量、生产可用性等维度

weixin_29046035的博客 93

Unity新手必看:5分钟搞定TextMeshPro中文乱码,告别小方块(附7000+常用字库)

本文详细介绍了Unity中TextMeshPro中文乱码问题的解决方案,包括快速生成中文字体的步骤和优化技巧。通过使用支持中文的.ttf字体文件和自定义字符集,开发者可以在5分钟内解决TMP显示小方块的问题,提升游戏或应用的文本显示效果。

weixin_33095355的博客 363

Agent开发框架选型指南:16款主流框架四大流派解析

大模型技术正从对话走向复杂任务执行,智能体(Agent)成为连接模型能力与业务场景的关键桥梁。如何将工具调用、记忆管理、工作流编排等能力有效组合,是构建生产级AI应用的核心问题。不同的Agent开发框架体现了不同的架构哲学——有强调流水线编排,有侧重多角色协作,也有面向低代码可视化。理解这些原理差异,才能根据团队技术栈和应用场景做出明智的技术选型。梳理16款主流Agent开发框架的四大流派,从LangChain到Dify、AutoGen、Semantic Kernel,结合实际工程经验给出选型维度和避坑指南

weixin_33178839的博客 17

【雷达图】R语言绘制雷达图(ggradar),NBA季后赛数据为例

一起用R语言给nba球星画球技雷达图吧!

池塘春草梦的博客 6252

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1693

从本地部署到企业级服务:十种主流LLM推理框架的技术介绍与对比

部署场景:从个人开发环境到企业级生产系统,选择合适的部署方案。性能需求:根据延迟、吞吐量等指标选择最适合的技术框架。资源约束:考虑硬件资源限制,选择合适的优化策略。开发难度:评估团队技术能力,选择适合的实现方案。维护成本:考虑长期运维和升级的技术投入。通过深入理解各个框架的技术特点和适用场景,开发团队可以根据具体需求选择最适合的部署方案,实现大语言模型的高效服务。作者:Gautam Chutani。

deephub 6944

财务惊呼“不可能”!Python 自动识别 PDF 发票,数据秒级录入系统

电子发票(原生 PDF):这种最爽,文字是可以选中的。我们用 PyPDF2 直接提取文本,速度快,准确率 100%。 纸质扫描/拍照发票:这种是图片。必须上 OCR(光学字符识别)。我们要用百度开源的 PaddleOCR,这是目前中文识别效果最好的开源库之一,吊打早已过气的 Tesseract。

BUG猿的博客 1024

大模型推理部署:LLM 七种推理服务框架总结

虽然可以合并自己的模型,但如果模型没有使用与vLLM中现有模型类似的架构,则过程会变得更加复杂。例如,增加Falcon的支持,这似乎很有挑战性;

机器学习社区 1万+

Spring AI从入门到精通:构建智能Spring应用的全面指南

随着人工智能技术的快速发展,将大语言模型(LLM)与企业应用集成已成为趋势。Spring AI作为Spring官方推出的AI集成框架,为开发者提供了便捷、标准化的方式来构建智能应用。本文将从基础概念到高级应用,全面介绍Spring AI的核心功能与实践技巧。Spring AI 是 VMware 于 2023 年推出的开源框架,旨在简化大语言模型(LLM)与 Spring 应用的集成。它提供了统一的 API 抽象,支持多种 LLM 供应商,包括 OpenAI、Azure OpenAI、Hugging Face

qq_36929638的博客 1069

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

收藏备用!10大主流LLM开源框架全解析,小白&程序员选工具不踩坑

在大语言模型(LLM)技术爆发式迭代的当下,如何挑选适配的开发框架快速搭建高效、稳定的智能应用,已成为每一位开发者、创业团队及企业技术选型的核心议题。LLM应用框架作为底层支撑载体,不仅提供了标准化的工具集与架构方案,更大幅降低了开发门槛,让从原型验证到生产落地的周期显著缩短,成为驱动AI应用规模化落地的关键力量。本文专门整理并深度对比了10款当前最主流的LLM开源框架——LangChain、Dify、LlamaIndex、Haystack、Flowise、Langflow、CrewAI、AutoGPT、n

python12345_的博客 2262

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

一文读懂常见的几种 LangChain 替代品

在 LLM (大规模语言模型)应用开发领域,开源框架扮演着至关重要的角色,为广大开发者提供了强大的工具支持。作为这一领域的领军者,LangChain 凭借其创新设计和全面功能赢得了广泛赞誉。但与此同时,一些替代框架也应运而生,为不同场景下的需求提供了更优选择。毕竟,任何框架都难免存在特定的局限性。例如 LangChain 在某些情况下的过度抽象化可能会加大上手难度,调试体验有待加强,部分代码质量也值得完善。

m0_59164520的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

LLM的7种推理框架

我们如何在本地安全地运行私有的LLMs呢?开源模型为此提供了可能的解决方案。本文将介绍七种方法。这是一个Python库,可以简化本地运行LLM的过程。特点:Llama.cpp是一个基于C++的推理引擎,专门为Apple Silicon优化,可以运行Meta的Llama2模型。它针对GPU和CPU都做了推理优化。优点:性能高于基于Python的解决方案,支持在适度的硬件上运行大型模型,如Llama 7B,并提供绑定,可以用其他语言构建AI应用程序,同时通过Llama.cpp运行推理。

python122_的博客 2688

基于大语言模型(LLM)应用的开源框架都有什么

基于大语言模型(LLM)应用的开源框架都有什么

xie__jin__cheng的博客 668

LLM编程框架有哪些

如果你是初学者或想快速出活,建议从。

顺其自然~专栏 652

MongoDB Atlas Milvus Chroma Faiss Elasticsearch向量数据库开源性、容量及与 Langchain、LlamaIndex、Dify 兼容性分析

本文对 Pinecone、MongoDB Atlas、Milvus、Chroma、Weaviate、DeepLake、Qdrant、Elasticsearch、Pgvector、ClickHouse、Cassandra 和 Faiss 进行了详细的分析,重点关注了它们的开源性、容量大小、与 Langchain、LlamaIndex 和 Dify 的兼容性以及应用场景。Qdrant 是一个开源的向量数据库,具有良好的扩展性和性能,能够处理大规模数据。

朴拙科技的博客 1223

别焦虑,这份初学者入门大语言模型(LLM)教程学习路线给你做好了

别焦虑,这份初学者入门大语言模型(LLM)教程学习路线给你做好了

2301_81940605的博客 2625

大型语言模型(LLM)推理框架的全面分析与选型指南(2025年版)

本文全面深入地分析了截至 2025年2月27日主流 LLM 推理框架的最新技术动态、核心特性、以及在各种典型应用场景下的最佳实践。SGLang 凭借其高性能 runtime 和强大的分布式支持能力,在快速原型开发和企业级大规模部署领域独占鳌头,尤其结合 SkyPilot 和 Kubernetes 的实战案例,充分印证了其在复杂应用场景下的卓越表现。vLLM 和 LMDeploy 继续在 GPU 高性能推理领域保持绝对领先地位。

m0_63171455的博客 2479

最近,大模型岗位爆了。。。

重磅消息,国资委打响了国内AI第一枪!这意味着传统行业又迎来了一次大洗牌,现在国内头部人工智能公司已经开始用AI数字人助力各行各业,除此之外,知名大厂也都在布局AI市场。懂的程序员年薪已经翻到风口之下,与其焦虑被行业淘汰,不如先人一步掌握 AI 大模型技术。为帮助大家提升竞争力,为了帮助普通程序员享受时代红利,

qq_46094651的博客 1017

5个顶级Agent框架-之二:前3个比较常见,后两个很好用但大多数人不知道

AI Agent是自主程序,旨在感知其环境并采取行动以实现特定目标。由于强大的构建和部署这些代理的平台的普及,现在各种规模的企业都可以访问这些Agent。这些平台正在使人工智能民主化,使组织能够利用尖端技术,而无需深入了解机器学习或神经网络架构。这些平台的重要性不言而喻。它们不仅仅是工具;它们是创新的催化剂,使企业能够达成以下目的:快速原型和部署人工智能解决方案为特定行业需求定制代理在整个组织中扩展人工智能能力将先进的人工智能功能集成到现有系统中。

m0_59235245的博客 2965
上一篇: 【Dify入门系列】详解各种工作流节点,如何降低LLM开发门槛?
下一篇: 为什么大厂都在用LangChain?一文拆解大模型应用主流开发框架!
大模型教程.
博客等级 码龄5年 5275粉丝 2887原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值