个人做游戏网站,如何让做的网站自动适应浏览器,企业网站seo排名,网站交互技术基于LangChain的快速RAG应用原型制作方法
还记得构建智能聊天机器人需要数月编码的日子吗#xff1f;
LangChain这样的框架确实简化了开发流程#xff0c;但对非程序员来说#xff0c;数百行代码仍然是一道门槛。
有没有更简单的方法呢#xff1f; 图片由 Ravi Palwe 在…基于LangChain的快速RAG应用原型制作方法
还记得构建智能聊天机器人需要数月编码的日子吗
LangChain这样的框架确实简化了开发流程但对非程序员来说数百行代码仍然是一道门槛。
有没有更简单的方法呢 图片由 Ravi Palwe 在 Unsplash 提供
这时我发现了“Lang Flow”一个基于Python版本LangChain的开源包。它让你无需编写一行代码就能创建AI应用。它提供了一个画布你只需拖动组件并连接它们就能构建你的聊天机器人。
在这篇文章中我们将使用LangFlow在几分钟内构建一个智能AI聊天机器人的原型。在后端我们将使用Ollama进行嵌入模型和大型语言模型这意味着应用程序可以在本地免费运行最后我们将这个流程转化为一个Streamlit应用只需少量编码。
探索检索增强生成流程LangChain、LangFlow和Ollama简介
在这个项目中我们将构建一个人工智能聊天机器人并命名为“Dinnerly——您的健康食谱规划师”。它的目标是借助检索增强生成RAG技术从一个食谱PDF文件中推荐健康的菜肴配方。
在深入了解如何实现这一目标之前让我们快速浏览一下项目中将要使用的关键组件。
检索增强生成RAG
RAGRetrieval-Augmented Generation通过向大型语言模型LLMs提供外部来源的相关信息帮助它们提高生成响应的准确性和时效性。
RAG的工作流程通常包括以下步骤如A Guide to Retrieval Augmented Generation中所述
加载文档 首先加载文档或数据源。分割成片段 将文档分解成可管理的部分创建嵌入向量 使用嵌入技术将这些片段转换为向量表示。存储在向量数据库中 将这些向量保存在数据库中以便高效检索。用户交互 接收用户查询或输入并将其转换为嵌入向量。向量数据库中的语义搜索 连接到向量数据库根据用户的查询进行语义搜索。检索并处理响应 获取相关响应通过LLM处理生成答案。向用户交付答案 将LLM生成的最终输出返回给用户。 这是RAG工作流程的概述由Han HELOIR, Ph.D. ☕️提供。
Langchain
Langchain 是一个围绕大型语言模型构建的开源框架它促进了各种生成式AI应用的设计和开发包括聊天机器人、摘要等。
该库的核心思想是将不同的组件“串联”起来以简化复杂的AI任务并围绕LLMs创建更高级的用例。 LangFlow
LangFlow 是专为LangChain设计的一款网页工具它提供了一个用户界面用户可以通过拖放组件来构建和测试LangChain应用无需编写代码。
然而为了使用LangFlow设计AI应用流程你需要首先对LangChain的工作原理及其不同组件有基本的了解。 LangFlow界面
Ollama
Ollama 对我来说是开源LLM大型语言模型中最优秀且最容易上手的方式。它支持诸如Llama 2和Mistral等强大的LLM并且你可以在ollama.ai/library上查看可用模型的列表。 Ollama https://ollama.ai/
配置Ollama
安装Ollama
首先访问 Ollama下载页面选择与您操作系统匹配的版本下载并安装。
安装好Ollama后打开命令终端并输入以下命令。这些命令将下载模型并在您的本地机器上运行它们。
对于本项目我们将使用Llama2作为大型语言模型LLM并使用“nomic-embed-text”作为嵌入模型。Nomic-embed-text是一个功能强大的开源嵌入模型具有大上下文窗口。这使得我们可以在本地运行整个应用程序而无需任何云服务 配置LangFlow
前置条件
在开始使用LangFlow之前确保你的计算机上已经安装了Python。Python的版本应高于3.9但需低于3.12。
安装LangFlow
接下来我们继续安装LangFlow。建议在虚拟环境中进行此操作。这种方法有助于在自己的空间内整洁地管理依赖项。在我的Mac上我使用Conda来设置。只需在命令行终端中输入以下命令创建一个名为“langflow”的虚拟环境其中包含Python 3.11。 如果你没有Conda也可以直接使用Python设置虚拟环境如下所示。 安装完成后只需在终端中输入“langflow run”即可启动LangFlow。 Langflow后端控制台。图片由作者提供。
然后将它给出的URL如上例中的http://127.0.0.1:7860复制到你的网络浏览器中搞定你应该会看到一个类似这样的界面显示了你的所有项目。 Langflow UI项目页面。图片由作者提供。
设计聊天机器人的流程
是时候创建你的第一个流程了
点击“新建项目”这将打开一个空白画布。在左侧窗格中你会看到各种组件可以将它们拖放到工作区。 LangFlow 画布。作者提供图片。
对于我们的项目我们将构建一个能够从 PDF 文件中回答问题的聊天机器人。还记得我们之前提到的 RAG 管道吗我们需要以下元素来组合它
PDF 加载器我们将使用“PyPDFLoader”。你需要输入 PDF 文档的文件路径。文本分割器选择“RecursiveCharacterTextSplitter”默认设置即可。文本嵌入模型选择“OllamaEmbeddings”来利用免费的开源嵌入。向量数据库我们选择“FAISS”来存储嵌入并支持向量搜索。用于生成响应的 LLM选择“ChatOllama”并指定模型为“llama2”。对话内存这使聊天机器人能够保留聊天历史有助于后续问题。我们将使用“ConversationBufferMemory”。对话检索链将 LLM、内存和检索到的文本等组件连接起来生成响应。我们选择“ConversationRetrievalChain”。
将所有这些组件拖放到画布上并设置必要的字段如 PDF 文件路径和 LLM 模型名称。其他设置可以保持默认。
接下来将这些组件连接起来形成你的流程。 一旦所有组件都连接好点击右下角的“闪电”按钮编译流程。如果一切顺利按钮将变为绿色表示成功。
成功编译流程后点击“聊天机器人”图标来测试你的创作。 Langflow 聊天机器人演示。作者提供图片。
一些提示
完成流程后你可以将其保存为 JSON 文件或在“我的收藏”中找到它以便将来访问或编辑。通过使用预建示例深入 LangFlow 可以提供很好的灵感并帮助你入门。你可以 - 在“LangFlow Store”中找到示例但需要 API 密钥才能访问。 - 访问 LangFlow GitHub 页面下载示例然后使用 UI 上的“上传”按钮将它们上传到 LangFlow。如果本地设置不适合你你也可以选择使用 OpenAI 构建 RAG 管道。只需确保你有设置所需的 OpenAI API 密钥。
将流程转化为Streamlit聊天机器人
如果流程设置正确现在是将其集成到应用程序中的时候了。在构建流程后LangFlow提供了必要的代码片段只需点击侧边栏中的“代码”按钮。 让我们继续将此流程集成到Streamlit聊天机器人中。
设置依赖项首先我们需要安装依赖项。 获取Lang Flow代码片段创建一个新的Python文件“app.py”。返回LangFlow UI再次找到“代码”按钮。导航到“Python API”标签复制代码片段并粘贴到“app.py”中。 构建聊天功能在同一个Python文件中我们将定义一个专门用于聊天的函数。此函数在接收到用户的新查询时运行流程以获取响应然后在界面上流式传输该响应。 创建界面现在我们将在同一个Python文件中构建一个简单的Streamlit用户界面。
在这里插入图片描述
运行Streamlit应用后您就可以与自己的食谱规划师聊天了它将帮助您创建美味健康的餐点。 Streamlit应用演示。图片由作者提供。
提示
可以使用相同的代码和界面来测试和集成不同的流程。只需将FLOW_ID更改为要测试和集成的新流程即可。 结束语
在这篇文章中我们创建了一个基于RAG的智能聊天机器人。我们利用LangFlow无需编码就建立了RAG管道借助开源模型进行嵌入和LLM处理使应用程序能在本地运行无需推理成本。最后我们将这个设置转化为一个Streamlit应用程序。
我特别欣赏LangFlow的无代码方式相信它可能会改变我们构建和原型设计AI应用的方式。
然而值得注意的是某些组件仍在开发中有时可能无法按预期工作。当遇到这些问题时缺乏问题的可见性或故障排除指导。另一个改进之处可能是直接提供底层Python代码以提供更大的定制空间。
总的来说我认为LangFlow对于快速原型设计需求是一个有价值的工具。
如何学习大模型
现在社会上大模型越来越普及了已经有很多人都想往这里面扎但是却找不到适合的方法去学习。
作为一名资深码农初入大模型时也吃了很多亏踩了无数坑。现在我想把我的经验和知识分享给你们帮助你们学习AI大模型能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习等录播视频免费分享出来需要的小伙伴可以扫取。 一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向东学一点西学一点像只无头苍蝇乱撞我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。 二、AI大模型视频教程 三、AI大模型各大学习书籍 四、AI大模型各大场景实战案例 五、结束语
学习AI大模型是当前科技发展的趋势它不仅能够为我们提供更多的机会和挑战还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型我们可以深入了解深度学习、神经网络等核心概念并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时掌握AI大模型还能够为我们的职业发展增添竞争力成为未来技术领域的领导者。
再者学习AI大模型也能为我们自己创造更多的价值提供更多的岗位以及副业创收让自己的生活更上一层楼。
因此学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。