人工智能领域因大型语言模型如ChatGPT的出现而焕然一新。这些模型能模拟人类语言,迅速被广泛采纳。ChatGPT在发布后仅两个月便吸引了1亿用户,彰显了巨大的影响力。
要将这些模型的潜力转化为实际应用,需要特定的工具,LangChain和LangFlow正是为此而生。
1 LangChain:构建智能应用的强大框架
LangChain是一个开源的Python工具,为开发者提供了强大的平台,可以将大型语言模型(LLMs)与众多工具和功能无缝对接。
LangChain不仅是一种工具,更是围绕大型语言模型(LLMs)构建的全面框架。可以用于创建聊天机器人、生成问题的回答、总结文本等等。
通过LangChain,开发者能够构建出理解和处理自然语言的复杂应用程序。其核心组件包括:
-
提示模板:提供多样化的提示模板,支持聊天机器人或问答系统等多种交互方式。
-
大型语言模型(LLMs):集成了如GPT-3或BLOOM这样的先进模型,为应用提供强大的语言处理能力。
-
智能体(Agents):这些智能体能够利用LLMs来决定执行的操作,调用网络搜索、计算器等工具,确保操作的连贯性。
-
记忆:包括短期记忆和长期记忆,使应用能够记住并利用历史信息。
2 LangFlow:LangChain的直观界面
LangFlow是LangChain的直观界面,极大地提升了用户体验。这个Web界面让开发者能够通过拖放组件的方式,直观地设计LangChain的工作流程。
-
可视化设计:开发者可以在画布上自由拖拽组件,轻松构建应用程序。
-
模块支持:LangFlow支持LangChain的多种模块,如链、智能体、提示、大型语言模型(LLMs)、记忆、工具、工具包和包装器。
-
灵活编辑:用户可以自由编辑提示、参数、链和代理,尝试不同的配置。
-
导出功能:完成的流程可以导出为JSON文件,方便与LangChain集成使用。
LangFlow的无代码解决方案不仅简化了开发过程,还使大型语言模型的应用更加普及,无论是资深开发者还是初学者都能轻松上手。
3 使用LangFlow
使用LangFlow需按照以下步骤操作:
3.1 安装
在终端并输入以下命令:
pip install langflow
3.2 启动
安装完成后,通过输入以下命令来启动LangFlow:
langflow
这个命令会在浏览器中打开一个新网页。
3.3 创建新项目
在网页上,点击“+New Project”按钮。这个操作将打开一个空白画布,你可以开始创建你的项目。
4 示例演示:构建PDF阅读器机器人
让我们使用LangFlow创建一个PDF阅读器机器人的原型。以下是逐步指南:
a. 从左侧面板将以下组件拖放到画布上:
-
从“加载器”中拖放PyPDFLoader
-
从“文本分割器”中拖放CharacterTextSplitter
-
从“嵌入”中拖放OpenAIEmbeddings
-
从“向量存储”中拖放FAISS
-
从“工具包”中拖放VectorStoreInfo
-
从“LLMs”中拖放OpenAI
-
从“代理”中拖放VectorStoreAgent
b. 点击PyPDFLoader中的“文件路径(File Path)”字段,并从本地驱动器上传一个PDF文件。在这个演示中,上传了一个名为“Introduction to AWS Security”的PDF文档。
c. 在OpenAI和OpenAIEmbedding的“OpenAI API密钥”字段中输入你的OpenAI API密钥。
d. 在VectorStoreInfo中提供一个名称(PDF)和描述(PDF阅读器)。
e. 将PyPDFLoader的输出连接到CharacterTextSplitter的输入。
f. 将CharacterTextSplitter和OpenAIEmbeddings的输出连接到FAISS的输入。
g. 将FAISS的输出连接到VectorStoreInfo的输入。
h. 将VectorStoreInfo和OpenAI的输出连接到VectorStoreAgent的输入。
现在应该看到一个图表,显示组件是如何链接在一起的。
接下来,点击界面右下角的红色闪电图标,开始编译并验证设置。当所有组件的右上角都亮起小绿灯时,表示一切准备就绪。
现在会看到一个新出现的蓝色按钮。点击它,就会打开一个类似ChatGPT的对话窗口。在这里,你可以提出问题,测试机器人是否真正理解了上传的PDF文档。
如果想要更深入地了解,可以导航到控制台。那里,可以观察到一些幕后进行的有趣过程,这些过程被形象地称为“观察”和“思考”,是整个系统运作的核心。
i. 最后,也可以将其导出为json文件并在其他应用程序中运行。
再次进入画布,点击左上角的保存按钮,然后点击导出按钮。
点击“下载流程”按钮后,创建一个名为“Cocky Almeida.json”的文件并存储在本地驱动器上。
为了验证这个PDF阅读器的操作,将执行一个本地Python应用程序。这里准备了一个名为“pdfreader.py”的Python文件,其中包含以下代码:
from langflow import load_flow_from_json flow = load_flow_from_json("Cocky Almeida.json") flow("what is title of the document ?")
接下来,执行以下命令:
python3 pdfreader.py
从同一个控制台可以看到这个输出:
一切都按预期顺利运行。
5 结语
大型语言模型正在重塑我们的应用开发。LangChain和LangFlow这样的工具简化了将这些模型融入实际应用的过程,其价值随着AI技术的进步而日益增加。
无论是想构建一个复杂的人工智能应用,还是只想要探索大型语言模型的潜力,LangFlow都是一个非常值得考虑的资源。它不仅能够助力开发旅程,还能让你更深入地理解和利用这些前沿技术。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(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 的正确特征了。