无需代码,使用LangFlow轻松创建LangChain大模型应用 精华
人工智能领域因大型语言模型如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科技论谈