自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 AI Agent开发学习系列 - LangGraph(12): 增加Agent的记忆

本文展示了一个基于LangGraph的对话记忆代理实现。该代理通过AgentState类维护对话历史记录,支持人类和AI消息的混合存储。核心处理函数process在调用大语言模型生成回复后,将结果追加到消息列表实现记忆更新。主循环持续收集用户输入并维护对话上下文,最后将完整对话历史写入日志文件实现持久化存储。这种设计使AI能够保持连贯的对话上下文,提供更自然的交互体验,同时保留了完整的对话记录供后续分析使用。

2025-08-02 14:45:03 82

原创 AI Agent开发学习系列 - LangGraph(11): 调用大模型

摘要:该示例实现了一个基础AI对话系统,使用LangGraph构建状态图流程。核心组件包括定义消息状态类型、配置ChatOpenAI模型(腾讯混元Lite版),以及创建处理节点实现用户输入到AI响应的转换。系统通过while循环持续接收用户输入,将其转化为HumanMessage后触发处理流程,最终输出AI回复,形成简单但完整的对话交互机制。

2025-08-02 14:40:09 50

原创 AI Agent开发学习系列 - LangGraph(10): 带有循环的Looping Graph(练习&解答)

练习

2025-08-02 14:29:54 248

原创 AI Agent开发学习系列 - LangGraph(9): 带有循环的Looping Graph

本文演示了使用LangGraph实现循环结构的两种方式:常规条件边和循环条件边。循环条件边的核心是使用add_conditional_edges方法,通过条件判断函数(如should_continue)控制循环次数,并将"loop"条件指向同一节点来建立循环。与普通条件边指向不同节点不同,循环条件边通过状态管理实现重复执行,直到满足退出条件。示例中当计数器达到5时循环结束,展示了循环结构在状态跟踪和重复任务处理中的应用。

2025-08-02 14:21:08 287

原创 AI Agent开发学习系列 - LangGraph(8): 带有条件判断的Conditional Graph(练习&解答)

练习

2025-08-02 14:09:12 208

原创 AI Agent开发学习系列 - LangGraph(7): 带有条件判断的Conditional Graph

该示例展示了如何使用LangGraph的条件边机制构建动态工作流。通过定义决策函数decide_next_node,系统能根据输入状态(如操作符)自动选择执行加法或减法节点。核心方法add_conditional_edges实现了动态路由,相比固定连接的add_edge更具灵活性。这种设计使得工作流能智能响应不同输入条件,适用于需要分支处理的复杂场景,如示例中根据"+"或"-"运算符选择对应计算节点,最终输出正确结果3。

2025-08-02 14:00:02 361

原创 AI Agent开发学习系列 - LangGraph(6): 有多个节点的Sequential Graph(练习&解答)

练习

2025-08-02 13:50:09 98

原创 AI Agent开发学习系列 - LangGraph(5): 有多个节点的Sequential Graph

摘要:LangGraph示例展示了如何通过顺序节点构建线性工作流,使用两个节点函数(first_note和second_node)分别处理状态数据,并通过add_edge方法连接形成执行路径。这种设计将复杂任务分解为可独立开发的步骤,保持流程清晰性。代码演示了从输入姓名年龄到输出问候语的完整处理过程,最终输出"Hi Alex, you are 25 years old!",体现了节点间的状态传递和顺序控制机制。

2025-08-02 13:38:53 210

原创 AI Agent开发学习系列 - LangGraph(4): 有多个输入的Graph(练习&解答)

练习

2025-08-02 13:28:44 177

原创 AI Agent开发学习系列 - LangGraph(3): 有多个输入的Graph

本文介绍了使用LangGraph处理多输入工作流的示例。通过定义AgentState类型字典,可以同时接收整数列表和字符串等不同类型输入,并在处理函数中统一访问和组合这些数据。示例展示了如何创建简单的工作流图,处理输入并生成结果(如计算数字和并格式化输出)。这种方法使复杂AI应用能够灵活处理多类型输入,适合构建需要处理异构数据的场景。代码演示了完整的实现过程,包括状态定义、函数处理、图构建和结果输出。

2025-08-02 13:13:37 77

原创 AI Agent开发学习系列 - Dify(2): 如何接入大模型

本文介绍了在Dify平台接入大模型的配置方法。首先在英文界面中进入设置,选择模型供应商并安装所需的大模型,支持本地Ollama部署。安装完成后刷新页面,为已安装模型配置API密钥,最后在系统模型设置中选择适合的模型。整个过程包含五个步骤,配有详细的界面截图指引,帮助用户快速完成大模型集成。

2025-07-29 14:00:34 163

原创 AI Agent开发学习系列 - Dify(1): 如何在本地搭建Dify Studio

Dify是一个开源的LLM应用开发平台,提供可视化AI工作流、多模型支持、RAG管道和Agent能力等核心功能。本地部署主要出于数据安全和隐私保护需求,确保敏感数据不离开企业网络,符合行业合规要求并控制长期成本。

2025-07-29 10:23:15 696

原创 AI Agent开发学习系列 - LangGraph(2): 用LangGraph创建我们的第一个Agent(练习&解答)

针对《AI Agent开发学习系列 - LangGraph(1): 用LangGraph创建我们的第一个Agent》的练习和解答。

2025-07-26 15:44:16 134

原创 AI Agent开发学习系列 - LangGraph(1): 用LangGraph创建我们的第一个Agent

LangGraph是一个基于图论的AI应用框架,用于构建复杂智能系统。它将应用建模为节点(处理步骤)和边(数据流)组成的网络,支持条件分支和状态管理。框架与LangChain生态系统深度集成,适合开发多步骤推理、复杂决策的应用。 示例展示了如何创建一个简单LangGraph智能体。

2025-07-26 15:31:24 935

原创 AI Agent开发学习系列 - langchain: 本地大模型调用

本文介绍了使用Ollama框架在本地运行大语言模型的方法,重点展示了通过LangChain调用Gemma3 1B模型的实现过程。文章首先说明了本地大模型在数据安全、成本控制和自主性方面的优势,然后详细讲解了Ollama的安装配置步骤。核心内容包括:1)基础调用演示,展示了简单的问答交互;2)流式输出实现,通过CallbackManager实现实时响应效果。文章还分析了技术要点,包括模型轻量化、本地部署优势、LangChain集成等特性,为开发者提供了本地AI应用的实用入门指南。

2025-07-26 14:35:22 314

原创 AI Agent开发学习系列 - langchain之LCEL(5):如何创建一个Agent?

本文展示了三个 LangChain Agent 实现:基础 Agent 使用预定义模板;XML Agent 通过 LCEL 管道语法自定义流程;高级 Agent 集成 RAG 检索、自定义 Embeddings 和对话记忆。**技术要点**:Agent 需要 LLM、工具和提示模板;LCEL 管道操作符实现函数式组合;自定义 Embeddings 适配腾讯混元;RAG 系统提供知识增强;RunnableWithMessageHistory 管理对话历史;支持连续对话并保持上下文记忆。

2025-07-26 13:54:25 747

原创 AI Agent开发学习系列 - langchain之LCEL(4):Memory

本文介绍了如何使用LangChain框架为聊天机器人添加记忆功能。首先展示了通过ConversationBufferMemory实现基础记忆的方法,包括使用MessagesPlaceholder插入对话历史、RunnablePassthrough传递数据、以及保存上下文的技术细节。然后讲解了如何利用Redis实现长期记忆存储,确保对话历史在多次会话中保持持久性。

2025-07-26 13:27:30 605

原创 AI Agent开发学习系列 - langchain之LCEL(3):Prompt+LLM

摘要:本文介绍了LangChain Expression Language (LCEL)的基本构成和使用方法。LCEL通过PromptTemplate/ChatPromptTemplate、LLM/ChatModel和OutputParser三个核心组件,构建链式调用结构实现文本生成和处理。文章展示了如何创建提示模板、调用大语言模型(如混元模型),并使用输出解析器格式化结果。此外,还演示了自定义停止输出符、兼容OpenAI函数调用,以及通过Runnables连接多链结构的高级用法。

2025-07-21 14:38:00 367

原创 AI Agent开发学习系列 - langchain之LCEL(2):LCEL 链式表达解析

LangChain LCEL 中的 input schema 用于定义链或组件所需的输入参数结构,基于 Pydantic 自动生成类型校验。示例展示了如何创建包含提示模板和混元大模型的链,并通过 input_schema 查看各组件输入格式:提示模板需要字符串类型的 topic 参数,而语言模型则需要符合特定消息格式的输入。这种机制确保了数据类型的正确性,并提供了 IDE 智能提示支持。

2025-07-16 21:58:51 923

原创 AI Agent开发学习系列 - langchain之LCEL(1):LangChain LCEL链式编排与RAG增强实践

LCEL(LangChain Expression Language)是LangChain框架中用于构建链式调用的表达式语言,通过管道符号"|"串联提示词模板、模型和输出解析器等组件。示例展示了如何使用LCEL构建故事生成链,包括定义ChatPromptTemplate模板、配置腾讯混元大模型ChatOpenAI,以及用StrOutputParser解析输出。代码还演示了RAG应用,通过自定义HunyuanEmbeddings和FAISS构建向量数据库,实现检索增强生成流程。

2025-07-16 21:25:02 837

原创 AI Agent开发学习系列 - langchain之Agent智能体(4):在agent与tool之间共享记忆

LangChain框架通过共享记忆实现agent与工具的协同工作。本示例创建对话记忆对象,用ReadOnlySharedMemory包装后传递给总结工具链,同时让agent使用同一记忆对象,实现上下文同步。这种设计使工具能访问对话历史,提升多轮对话的连贯性。代码展示了如何初始化记忆组件、工具链和agent,并演示了查询奥运冠军的完整流程,最终确认意大利选手雅各布斯以9.80秒获东京奥运会男子100米冠军。

2025-07-13 14:38:31 331

原创 AI Agent开发学习系列 - langchain之Agent智能体(3):给agent增加记忆

摘要:LangChain框架通过内存机制实现智能体多轮对话记忆。核心步骤包括:1)初始化腾讯混元大模型;2)加载搜索和数学工具;3)配置ConversationBufferMemory存储对话历史;4)创建agent时嵌入记忆模块。代码示例显示,agent能准确记忆用户名称并实现上下文应答。该方案采用MessagesPlaceholder处理历史消息,是构建带记忆的多工具智能体的标准实现方式,有效解决了对话场景中的状态保持问题。

2025-07-13 14:27:38 156

原创 AI Agent开发学习系列 - langchain之Agent智能体(2):几种不同的内置agent类型

LangChain 框架内置多种 Agent 类型,适用于不同推理和对话场景。这些 Agent 能自主决策、动态调用工具,支持多步推理和复杂任务,是构建智能对话系统的核心能力。

2025-07-13 14:14:09 1091

原创 AI Agent开发学习系列 - langchain之Agent智能体(1):创建一个agent

在LangChain框架中,Agent是一种能够自主决策、动态调用工具(如搜索、计算等)来完成复杂任务的智能对话体。与普通链式问答不同,Agent可根据用户输入自动选择合适工具,分步推理,最终给出答案。通过load_tools批量加载如serpapi、llm-math等工具,结合initialize_agent快速集成大模型和工具,Agent即可实现如“先查总统是谁,再算年龄平方”这类多步推理任务。整个流程极大提升了对话系统的智能性和实用性。

2025-07-13 13:39:45 259

原创 AI Agent开发学习系列 - langchain之memory(3):在链上使用记忆

本文介绍了如何在 LangChain 框架下,结合腾讯混元大模型和自定义 Embedding,实现具备多轮对话记忆的智能文档问答系统。首先,将本地文本切分为小块,并通过腾讯混元 Embedding 转为向量,存入 Chroma 向量数据库。用户提问时,系统会检索与问题最相关的文档片段,并结合 ConversationBufferMemory 记录的历史对话,将这些内容与自定义 PromptTemplate 组织成完整上下文,交由大模型生成答案。整个流程实现了“文档检索+多轮对话记忆”的智能问答,既能理解历史

2025-07-13 13:17:09 733

原创 AI Agent开发学习系列 - langchain之memory(2):长时记忆的实现方式

对话系统长时记忆的实现主要依靠向量数据库存储和检索历史对话内容。通过将对话转化为向量存入数据库(如FAISS),用户提问时检索相关历史作为上下文补充,突破大模型token限制。实现流程包括:对话内容向量化、存入向量库、检索相关历史、拼接上下文。典型代码展示了使用腾讯混元Embedding和FAISS存储检索对话的过程。该方法支持超长历史记忆,能动态补充有用内容,显著提升对话连贯性和智能水平。

2025-07-13 12:59:44 356

原创 AI Agent开发学习系列 - langchain之memory(1):内存中的短时记忆

摘要:本文介绍了LangChain中的四种对话记忆机制:对话缓冲记忆(ConversationBufferMemory)用于短期上下文存储;实体记忆(ConversationEntityMemory)自动识别并追踪对话中的实体;知识图谱记忆(ConversationKGMemory)构建结构化知识网络;对话摘要记忆(ConversationSummaryMemory)自动总结长对话内容。每种机制都配有代码示例,展示了如何与大模型(如腾讯混元)结合使用,适用于不同复杂度的对话场景。

2025-07-12 15:27:18 841

原创 AI Agent开发学习系列 - langchain之Chains的使用(7):用四种处理文档的预制链轻松实现文档对话

本文介绍了LangChain中四种处理长文档的预制链:stuff、refine、map reduce和map re-rank。stuff链直接拼接所有文档内容,适合短文档;refine链递进式处理文档块,逐步完善摘要;map reduce链分块处理再汇总,适合大文档;map re-rank链分块处理后选择最佳答案。这些链通过不同方式处理文档切分和结果整合,显著提升了大模型处理长文档的能力,适用于问答、摘要等任务。文章还通过代码示例展示了具体实现方法。

2025-07-12 14:39:15 1213

原创 AI Agent开发学习系列 - langchain之Chains的使用(6):自行构建自定义链来实现特定目的

摘要:自定义链(Custom Chain)允许开发者基于LangChain的Chain基类创建完全定制的推理流程,适用于标准链无法处理的复杂业务场景。通过继承Chain类并实现_call方法,开发者可以自由定义输入输出逻辑,结合LLM模型、提示模板和其他Python功能。典型应用包括创建特定内容生成器(如百度百科文章生成器),其中演示了如何构建一个输入主题、输出百科风格长文的完整流程。自定义链提供了高度灵活性,支持复杂业务流程、特殊格式输出和多步推理等高级功能,是LangChain高级开发的核心能力。

2025-07-12 13:58:10 173

原创 AI Agent开发学习系列 - langchain之Chains的使用(5):Transformation

LangChain中的TransformChain是一个灵活的数据处理工具,允许在链式流程中插入自定义Python代码进行中间处理。它常用于输入/输出的格式化、过滤或摘要等操作,可作为LLMChain的前后处理环节。示例展示了如何先用TransformChain提取文本前3段,再通过LLMChain进行总结,形成"预处理-大模型处理"的完整流程。该工具特别适合数据清洗、格式转换等场景,增强了LangChain处理复杂任务的灵活性。

2025-07-12 13:51:01 264

原创 AI Agent开发学习系列 - langchain之Chains的使用(4):RouterChain

RouterChain 是 LangChain 的智能分流链工具,可根据输入内容自动选择不同子链(如 LLMChain)处理,实现“多专家系统”效果。常见用法是:为每类问题(如历史、化学)分别设计专家链,RouterChain 自动判断输入类型并路由到对应链处理,若无匹配则走默认链。适合多任务分流、智能问答等场景,极大提升系统的灵活性和专业性。

2025-07-12 13:40:59 288

原创 AI Agent开发学习系列 - langchain之Chains的使用(3):SequentialChain

摘要 SequentialChain是LangChain中实现多步顺序推理的工具,通过串联多个LLMChain,将前一个链的输出作为后一个链的输入。示例展示了从输入水果名开始,依次生成颜色描述、特征说明、英文翻译,最终进行英文评论的四步流程。该工具适用于具有明确顺序依赖关系的复杂任务编排,每个步骤都可获取前序步骤的输出作为输入,实现连贯的多步处理。代码演示了如何构建四个子链并将它们组装为完整的顺序处理流程,最终以"苹果"为输入得到包括颜色特征、英文描述和评论的完整输出结果。

2025-07-12 13:27:23 173

原创 AI Agent开发学习系列 - langchain之Chains的使用(1):LLMChain

LLMChain是LangChain框架的核心组件,通过将大语言模型与提示词模板结合,实现标准化AI调用。它提供模板化调用、自动格式化和链式处理功能,适用于问答接口、多轮对话等场景。典型用法包括:定义提示模板、初始化模型、创建LLMChain对象并执行调用。示例展示了如何用腾讯混元模型生成西红柿的三种菜品做法,演示了输入格式化到结果输出的完整流程。该组件简化了AI应用开发,支持构建复杂的多步骤处理链。

2025-07-10 19:00:00 232

原创 AI Agent开发学习系列 - langchain之Chains的使用(2):SimpleSequentialChain

摘要:SimpleSequentialChain是LangChain框架中用于构建多步骤AI处理流水线的组件,通过顺序连接多个LLMChain实现数据流转。示例代码展示了从水果生成饮料配方到6词描述的完整流程:第一步用ChatPromptTemplate创建饮料制作提示,第二步生成饮料描述,通过SimpleSequentialChain串联执行。该组件支持verbose调试和temperature参数控制输出稳定性,适用于文本处理、数据预处理等需要分阶段处理的任务,简化了复杂AI任务的链式实现。

2025-07-10 19:00:00 350

原创 AI Agent开发学习系列 - langchain之RAG检索增强生成(2):文档的分割

这段内容系统介绍了在RAG(检索增强生成)流程中,为什么要对长文档进行分割,以及常用的分割方法和工具。文档分割能提升检索精度、减少大模型输入长度压力,并保持语义连贯。常见分割方式包括定长分割、递归分割和带重叠分割。LangChain 框架提供了如 RecursiveCharacterTextSplitter、CharacterTextSplitter 等多种分割工具,支持按语义、字符、token 或编程语言特性智能分块,便于后续向量化、检索和问答,极大提升了大模型在知识库和长文本场景下的应用效果。

2025-07-09 19:00:00 804

原创 AI Agent开发学习系列 - langchain之RAG检索增强生成(3):Lost in the middle 长上下文精度问题

大语言模型在处理长文本时存在"中间内容遗忘"现象,表现为对上下文中间关键信息的记忆和理解能力下降。这一被称为"Lost in the middle"的问题主要由注意力机制局限、训练数据分布偏短和位置编码衰减导致。解决方案包括分块检索、滑动窗口、上下文压缩、改进模型结构等。通过LangChain框架的示例演示了如何对检索结果进行重排序优化,将高相关性内容置于首尾,以提升大模型在长文本处理中的表现。

2025-07-09 19:00:00 439

原创 AI Agent开发学习系列 - langchain之RAG检索增强生成(4):文本向量化

文本向量化与向量数据库应用 文本向量化是将文本转换为数值向量(如1024维数组)的技术,使机器学习模型能处理语义信息。常用方法包括TF-IDF、Word2Vec和BERT等预训练模型,其中Sentence-BERT等直接生成句向量,适用于检索和RAG场景。通过腾讯混元API可实现高效向量化,并利用缓存机制提升批量处理效率。向量数据库(如FAISS)专为高维向量设计,支持快速语义检索,是RAG问答等AI应用的核心组件。典型流程包括文档加载、分块、向量化及存储,实现大规模知识检索。

2025-07-09 19:00:00 753

原创 AI Agent开发学习系列 - langchain之RAG检索增强生成(1):使用Loader来加载各种格式的文件

RAG(检索增强生成)技术概述及应用实践 RAG是一种结合检索系统与大语言模型的AI技术,通过从外部知识库检索相关信息辅助生成更准确的回答,适用于专业领域问答、企业知识库等场景。本文重点介绍了RAG的核心流程(检索+增强生成)及优势,并详细演示了如何使用LangChain的各类文档加载器(Document Loaders)处理不同格式文件,包括Markdown、CSV、Excel、HTML、JSON和PDF等。这些加载器能将多种数据源转换为统一格式,为后续的文本处理、向量化和RAG应用奠定基础。

2025-07-08 20:35:40 309

原创 AI Agent开发学习系列 - langchain之示例选择器2:相关性与多样性兼得-MaxMarginalRelevanceExampleSelector在LangChain中的用法

智能示例选择与Few-Shot Prompt应用 本文介绍了MaxMarginalRelevanceExampleSelector在Few-Shot Prompt中的应用方法。该选择器能够自动筛选与当前输入最相关且最具多样性的示例,提升大模型输出质量。核心优势在于: 基于向量相似度优先选择相关示例 保证示例多样性以避免重复 特别适合示例数量多、输入分布广的场景 文中展示了使用腾讯混元Embeddings的完整实现流程。

2025-07-08 19:00:00 1480

原创 AI Agent开发学习系列 - langchain之示例选择器1:使用FewShotPromptTemplate来实现LengthBasedExampleSelector动态示例的调用

本文介绍了LangChain中的FewShotPromptTemplate和LengthBasedExampleSelector工具,用于少样本学习场景的提示词优化。FewShotPromptTemplate可自动插入示例,支持动态示例选择和灵活拼接,适用于需要举例说明的任务。LengthBasedExampleSelector则根据长度限制动态选择合适数量的示例,避免提示词过长。通过代码示例展示了如何结合两者实现动态长度的反义词生成,利用大模型自动补全结果。

2025-07-08 10:20:16 435

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除