LangGraph 是一个用于低代码构建 LLM 应用的新库,具有以下特点和功能:
LangChain 0.1.0 的发布是重要里程碑和新起点,团队未来计划包括:
此外,还有关于利用 Langchain、Ollama、RSSHub 实现本地部署资讯问答机器人的内容,包括导入依赖库、从订阅源获取内容、为文档内容生成向量以及实现 RAG 等步骤。
在探索 LangGraph 构建多专家协作模型方面:
LangGraph是一个新的库,用于低代码构建LLM应用,提供了更多的自定义和循环行为的可能性。LangGraph还提供了一个可视化的工具,用于展示和控制语言代理的图,以及查看和分析语言代理的输入和输出。LangGraph的发布,为LangChain增加了一个强大的扩展,使得LangChain能够支持更多的LLM应用的场景和需求。LangGraph也是一个独立的库,可以与其他的Python库和工具结合使用,以实现更多的功能和效果。LangGraph的详细介绍和使用方法,可以参考LangGraph的官方文档和教程。[heading2]LangChain的未来计划[content]LangChain 0.1.0的发布,是LangChain项目的一个重要的里程碑,也是LangChain项目的一个新的起点。LangChain团队将继续努力,为LLM应用提供一个更加强大、灵活和易用的框架和工具集。LangChain的下一步目标,包括:重写旧的链,使其符合LangChain 0.1.0的架构和规范,以及提供更多的功能和特性。维护稳定的分支,即LangChain 0.1.x,用于修复错误和优化性能,以保证LangChain的质量和稳定性。增加更多的工具和功能,如更多的LLMs和NLP任务的支持,更多的输出解析和检索的方法,更多的代理的技术,以及更多的LangSmith和LangGraph的功能。🚀
|导入依赖库加载所需的库和模块。其中,feedparse用于解析RSS订阅源ollama用于在python程序中跑大模型,使用前请确保ollama服务已经开启并下载好模型|从订阅源获取内容下面函数用于从指定的RSS订阅url提取内容,这里只是给了一个url,如果需要接收多个url,只要稍微改动即可。然后,通过一个专门的文本拆分器将长文本拆分成较小的块,并附带相关的元数据如标题、发布日期和链接。最终,这些文档被合并成一个列表并返回,可用于进一步的数据处理或信息提取任务。|为文档内容生成向量这里,我们使用文本向量模型bge-m3。https://huggingface.co/BAAI/bge-m3bge-m3是智源研究院发布的新一代通用向量模型,它具有以下特点:支持超过100种语言的语义表示及检索任务,多语言、跨语言能力全面领先(M ulti-Lingual)最高支持8192长度的输入文本,高效实现句子、段落、篇章、文档等不同粒度的检索任务(M ulti-Granularity)同时集成了稠密检索、稀疏检索、多向量检索三大能力,一站式支撑不同语义检索场景(M ulti-Functionality)从hf下载好模型之后,假设放置在某个路径/path/to/bge-m3,通过下面函数,利用FAISS创建一个高效的向量存储。|实现RAG
现在是我们开始构建图的时候了。和以前一样,我们将从一个节点开始,用用户的当前信息预填充状态。现在,让我们开始构建我们定制的工作流程。每个小工作流程的结构都和我们在第3部分中展示的完整工作流程图非常相似,它们都包含5个节点:1.enter_*:使用你之前定义的create_entry_node工具来创建一个ToolMessage,这个ToolMessage表明新的专业助手已经接管了工作。2.助手:这个由提示和大型语言模型(LLM)组成的模块会根据当前状态来决定是使用一个工具、向用户提问还是结束整个工作流程(返回到主助手)。3.*_safe_tools:这些是助手可以在不需要用户确认的情况下使用的“只读”工具。4.*_sensitive_tools:这些具有“写入”权限的工具需要用户的确认,并且在我们编译工作流程图时,它们会被设置一个interrupt_before。5.leave_skill:通过弹出dialog_state来表示主助手重新掌握了控制权。由于这些工作流程的相似性,我们本可以定义一个工厂函数来生成它们。但因为这是一个教程,我们会逐一明确地定义它们。首先,我们来创建一个航班预订助手,它专门负责管理用户更新和取消预订航班的流程。接下来,创建一个租车助手的工作流程图,它将负责处理所有的租车需求。然后,创建一个酒店预订的工作流程。之后,定义一个旅行预订助手。最后,创建一个主助手。这里是一个图片链接[heading3]对话[content]那真是很多内容!让我们在下面的对话轮次列表上运行它。这次,我们将有更少的确认。