langchain
文章平均质量分 85
javastart
专注于大数据 AI
展开
-
LangGraph 入门与实战
工具的定义,可以参考这篇文章,写的比较详细了,比较方便的就是使用 tools 这个注解。雨飞:使用智普清言的Tools功能实现ToolAgentLangGraph 中最基础的类型是 StatefulGraph,这种图就会在每一个Node之间传递不同的状态信息。然后每一个节点会根据自己定义的逻辑去更新这个状态信息。具体来说,可以继承 TypeDict 这个类去定义状态,下图我们就定义了有四个变量的信息。input:这是输入字符串,代表用户的主要请求。原创 2024-03-25 17:00:14 · 767 阅读 · 1 评论 -
编程的未来 — 使用 LangGraph 的多智能体LLM框架
连接:编程的未来 — 使用 LangGraph 的多智能体LLM框架-CSDN博客原创 2024-03-25 10:37:36 · 214 阅读 · 0 评论 -
RAG 详解
在结构上,它更加自由和灵活,引入了更具体的功能模块,如查询搜索引擎和多个答案的融合。随着研究人员对大型语言模型 (LLM) 功能的深入研究,重点转向增强其可控性和推理能力,以跟上不断增长的需求。GPT-4 的出现标志着一个重要的里程碑,它以一种新颖的方法彻底改变了 RAG,该方法将其与。在评估框架方面,有RGB、RECALL等基准测试,也有RAGAS、ARES、TruLens等自动化评估工具,有助于全面衡量RAG模型的性能。一方面,这可以增强单一模态内的任务,另一方面,它可以通过RAG的思想融合多模态。原创 2024-01-11 13:34:35 · 1170 阅读 · 0 评论 -
langchain 部署组件-LangServe
【代码】langchain 部署组件-LangServe。原创 2023-11-22 21:58:42 · 588 阅读 · 0 评论 -
LangChain: 类似 Flask/FastAPI 之于 Django,LangServe 就是「LangChain 自己的 FastAPI」
说实话头一次看到 LangServe 我还以为是 LangChainServe,以至于名字看过几回都没仔细研究 ta,jina-ai 的 LangChainServe 挺好的,由 Jina 开发并开源出来,方便大家把写好的 LangChain 服务放到 Jina 云上去,毕竟 Jina 本身就是从 BERT-as-a-service 开始的,把机器学习中的服务独立放出来是它家看家本领。总结一下 LangServe 已经非常接近理想中的 llm 应用开发工具了,开发环境的各个步骤分别长这个样子,原创 2023-11-22 16:13:47 · 1364 阅读 · 0 评论 -
langchain源码分析-chains模块介绍【2】
这是对langchain源码剖析的系列文章,也有对应的本站视频和b站视频,建议读者可以结合视频和文章一起看。chains对组件的一系列调用,因为在很多场景下,一个完成的功能需要拆分成多个组件调用,将多个组件组合在一起形成完整的pipleline。组件的调用可以理解为是单个功能的实现,可以保证功能的灵活性,在很多的通用场景下都能使用,有利于功能的复用。chains的调用,以完整任务为单位,贴合实际应用。一部分是单个功能实现的chain,是对llm和prompt的封装。原创 2023-11-20 14:52:55 · 145 阅读 · 0 评论 -
LangChain 代理 Agent(学习笔记)
Agent也就是代理,它的核心思想是利用一个语言模型来选择一系列要执行的动作。LangChain的链将一系列的动作硬编码在代码中。而在Agent中,语言模型被用作推理引擎,来确定应该执行哪些动作以及以何种顺序执行。Agent代理Tool工具Toolkit工具包代理执行器接下来我们做逐一介绍。本节课程中,我们学习了什么是Agent代理,Tool工具,以及代理执行器,并学习了它们的基本用法。下一讲我们将学习Callback回调。本节课程的完整示例代码,请参考。原创 2023-11-19 11:35:38 · 424 阅读 · 0 评论 -
详解Java设计模式之职责链模式
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。在责任链模式中,请求通过一条链传递,每个对象都有机会处理请求。当一个对象无法处理请求时,它会将请求传递给链中的下一个对象,直到找到能够处理请求的对象为止。这种方式可以动态地组织和管理对象,使得请求发送者和接收者之间解耦,提高系统的灵活性和可扩展性。职责链模式的好处。原创 2023-11-19 10:02:24 · 244 阅读 · 0 评论 -
人充当LLM Agent的工具(Human-In-The-Loop ),提升复杂问题解决成功率
在Agent开发过程中,LLM充当Agent的大脑,对问题进行规划、分解、推理,在执行过程中合理选择利用工具(Tool)解决某些具体领域的子问题。一般来说,大家习惯了选择使用搜索、计算器、code interperter之类的工具,但实际上,人也可以作为LLM的工具之一,被添加到解决问题的循环中,这被称作Human-In-The-Loop。而在 "Human In loop "下,Agent专注完成为用户请求,而过程中的人工支持对用户是透明的。举例,让agent回答:科布斯-葛瑞林的生日是几月几号?原创 2023-11-18 22:43:14 · 362 阅读 · 1 评论 -
LM(大模型)应用开发利器之LangChain,带你走进AI世界
Memory。原创 2023-11-18 19:52:56 · 401 阅读 · 0 评论 -
Langchain知识点(下)
具体来说,系统将形成任务列表,从任务列表中拉出优先级最高的第一个任务,使用 OpenAI API 根据上下文将任务发送到执行代理并完成任务,一旦这些任务完成,它们就会被存储在内存(或者 Pinecone 这类向量数据库)中,然后,根据目标和上一个任务的结果创建新任务并确定优先级。在这个过程中,驱动任务的是三个不同作用的代理。执行器也负责处理多种复杂情况,包括处理代理选择了不存在的工具的情况、处理工具出错的情况、处理代理产生的无法解析成工具调用的输出的情况,以及在代理决策和工具调用进行观察和日志记录。原创 2023-11-15 18:59:23 · 332 阅读 · 0 评论 -
langchain 之 Tools 多案例使用(一)
如下面代码所示,可以通过接口使用 SQL 语句查询数据库else:params = {else:= 200:Tool,tools = [Tool(),Tool(),Tool(),或者传入构造的函数,比如下面传入的 multi-input,直接传入参数 String 然后分解参数。tools = [Tool(或者自定义类。""""""至于这里为什么 agent=AgentType.OPENAI_FUNCTIONS?文章第二部分会提到。原创 2023-11-15 18:56:13 · 1099 阅读 · 0 评论 -
langchain LLMRequestsChain
使用请求库从URL获取HTML结果,然后使用LLM解析结果。原创 2023-11-15 17:55:32 · 183 阅读 · 0 评论 -
【深度】详细解读与评测OpenAI DevDay的最新API更新与应用
周二凌晨,全球无数AI科技工作者与极客们翘首以盼的首届OpenAI开发者大会上,仅仅四十分钟的主题演讲掌声不断,带给全球AI届大量的震撼与惊喜,很多人惊呼,AI届的iPhone时刻真的已经到来。OpenAI也在当天即向全球开发者更新了带有大量新特性的API Beta版,瞬间引起了互联网极客们的狂欢,各种GPT-4V、Dall-E3、Assistants API的有趣用例也被疯狂传播。原创 2023-11-10 11:49:21 · 382 阅读 · 0 评论 -
19 款Agent产品工具合集
OpenAGI专门设计用于提供复杂的多步骤任务,并附带特定于任务的数据集、评估指标和各种可扩展模型,支持 Llama-2、Claude-2 、 GPT-4、 GPT-3.5、Vicuna 和 Flan-T5模型。想象一下,你创建了一个AI,你可以给它一个目标,甚至是像"做一个世界上最好的AI产品"这样模糊的目标,人工智能会列出一个待办事项列表,执行待办事项,根据它添加新的待办事项的进展,然后继续这个过程,直到达到目标。它将强大的提示与最少的工具集、思维链以及带有总结的短期记忆结合起来。原创 2023-11-08 07:57:02 · 412 阅读 · 0 评论 -
AI开源 - LangChain UI 之 Flowise
Flowise 是一个为 LangChain 设计的用户界面(UI),使得使用 LangChain 变得更加容易(低代码模式)。通过拖拽可视化的组件,组建工作流,就可以轻松实现一个大语言模型的应用配置,包括不限于 ChatGPT。Github 地址:https://github.com/FlowiseAI/FlowiseLangChain是一个工具箱,它帮助人们更容易地使用"大型语言模型"(LLM)。你可以把它想象成一个翻译器,它可以帮助你和大型语言模型进行交流,而不需要你了解所有的复杂细节。原创 2023-11-01 14:07:41 · 3278 阅读 · 0 评论 -
langchain agent工具介绍(一)
功能: Requests模块来与网页交互,获取网页的数据 类别: 网络搜索 重要程度: ⭐️⭐️⭐️。功能: 使用Wolfram Alpha组件进行计算和求解问题 类别: 底层加强 重要程度: ⭐️。类别: 网络搜索 重要程度: ⭐️。功能: 回答SQL数据库中的问题 类别: 数据库 重要程度: ⭐️⭐️。功能: 处理非结构化数据 类别: 网络搜索 重要程度: ⭐️⭐️⭐️。功能: 无服务器计算服务 类别: 底层加强 重要程度: ⭐️⭐️。功能: 搜索引擎的代理工具 类别: 网络搜索 重要程度: ⭐️。原创 2023-11-01 09:15:48 · 454 阅读 · 0 评论 -
langflow agent 资料
【代码】langflow agent 资料。原创 2023-10-18 12:12:13 · 456 阅读 · 0 评论 -
langchain sql agent 案例
此外,对于某些问题,不能保证代理不会对您的数据库执行 DML 语句。最终用户可能会通过询问一个简单的问题(例如“运行可能的最大查询”)来重载 SQL 数据库。对于事务性 SQL 数据库,如果上表之一包含数百万行,则查询可能会给使用同一数据库的其他应用程序带来麻烦。在此示例中,代理能够在最初尝试访问不存在的属性 () 后从错误中恢复。构建,旨在回答有关数据库的更多常见问题,以及从错误中恢复。大多数面向数据仓库的数据库都支持用户级配额,以限制资源使用。在此示例中,代理尝试搜索不存在的表,但找到下一个最佳结果。原创 2023-10-18 09:30:28 · 984 阅读 · 0 评论 -
langchain主要模块(四):Memory
首先,LangChain 提供了用于管理和操作以前的聊天消息的辅助工具。默认情况下,链式模型和代理模型都是无状态的,这意味着它们将每个传入的查询独立处理(就像底层的 LLMs 和聊天模型本身一样)。在某些应用程序中,比如聊天机器人,记住先前的交互是至关重要的。,我是张三\nAI: 你好,张三!{‘history’: ‘Human: 你知道我的姓名吗\nAI: 当然知道!2、有一些现成的可以完整特定功能的链,也可以理解为提高了工具方便使用。1、组件化了需要开发LLM所需要的功能,提供了很多工具,方便使用。原创 2023-10-17 16:26:55 · 351 阅读 · 0 评论 -
langchain主要模块(三):Chain
例如,我们可以创建一个链,接受用户输入,使用 PromptTemplate 进行格式化,然后将格式化的响应传递给 LLM。这是一个简单的链,由PromptTemplate和LLM组成,它使用提供的输入键值格式化提示模板,将格式化的字符串传递给LLM,并返回LLM的输出。不是所有的链都是有固定的输入和输出,有时候中间的链需要多个输入,最终也有多个输出,这个时候考虑用SequentialChain。上看到了一些可以抽象的部分。每个步骤都有一个单一的输入/输出,一个步骤的输出是下一个步骤的输入。原创 2023-10-17 15:13:25 · 372 阅读 · 0 评论 -
Langchain Chain - RouterChain 根据输入相关性进行路由的路由链
让我们回顾目前所学的内容,我们能够创建一个llmchain,从中放置一个prompt模板,这个chain能够接收一个用户input,并输出一个结果;如果我们想让它成为某个方向的专家机器人,我们可以为它接入一个外部数据源,使用LLMchain,接入一个txt文本,并在chain中接入一个文档检索器就已经能完成这个需求了,我们会在什么场景需要用到RouterChain呢?原创 2023-10-17 13:37:42 · 532 阅读 · 1 评论 -
langchain到底该怎么使用,大家在项目中实践有成功的案例吗?
有多种方式可以自定义 Tool,最简单的方式是通过 @tool 装饰器,将一个函数转为 Tool。注意函数必须得有 docString,其为 Tool 的描述。@tool"""返回今天的日期。"""llm=llm,print(agent_math("计算45 * 54"))print(agent_math("今天是哪天?"))1)通过 Loader 加载远程文档2)通过 Splitter 基于 Token 进行文档拆分3)加载 summarize 链,链类型为 refine,迭代进行总结。原创 2023-10-17 13:18:01 · 1556 阅读 · 0 评论 -
LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent
这里我们要定义一个openai的语言模型"text-davinci-003"的实例,然后再创建一个代理(agent)。代理就是帮我们做事情的小助手,我们只需要对其发号施令就可以了。from langchain.llms import OpenAI,OpenAIChat#你申请的openai的api_keyos.environ["OPENAI_API_KEY"] = "xxxxxxxxxx"#定义openai的语言模型llm#创建一个csv代理。原创 2023-10-16 07:28:52 · 1015 阅读 · 0 评论