自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2025-07-13 14:38:31 83

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

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

2025-07-13 14:27:38 65

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

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

2025-07-13 14:14:09 621

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

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

2025-07-13 13:39:45 140

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

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

2025-07-13 13:17:09 422

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

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

2025-07-13 12:59:44 285

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

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

2025-07-12 15:27:18 504

原创 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 876

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

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

2025-07-12 13:58:10 125

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

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

2025-07-12 13:51:01 135

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

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

2025-07-12 13:40:59 164

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

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

2025-07-12 13:27:23 126

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

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

2025-07-10 19:00:00 214

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

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

2025-07-10 19:00:00 330

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

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

2025-07-09 19:00:00 793

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

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

2025-07-09 19:00:00 432

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

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

2025-07-09 19:00:00 722

原创 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 300

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

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

2025-07-08 19:00:00 1463

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

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

2025-07-08 10:20:16 419

原创 AI Agent开发学习系列 - 使用序列化模版生成prompt

摘要:本文介绍了序列化模版在提示词管理中的应用。通过YAML/JSON文件存储模版结构,实现代码与内容的解耦,提高可维护性。示例展示了如何加载文件模版并格式化输出,以及结合正则表达式解析模型响应。在评分场景中,完整流程包括:1)加载序列化prompt 2)生成模型输入 3)调用大模型 4)正则解析输出。该方法支持动态切换模版,规范输出格式,适用于自动批改等结构化处理任务。关键优势在于模版的集中管理和输出的标准化处理。

2025-07-07 21:36:35 345

原创 AI Agent开发学习系列 - 使用PipelinePromptTemplate组合多个子模板生成复杂提示词(prompt)

PipelinePromptTemplate是LangChain中的模块化提示词组合工具,可将多个小模板拼接为完整提示词。通过定义角色描述、行为规范和禁止事项三个子模板,使用PipelinePromptTemplate将它们组合成一个结构化模板。使用时只需传入变量(如人物、行为列表等),即可自动生成层次分明的完整提示词,适用于需要模块化管理复杂提示词的场景。这种方法提高了提示词的可维护性和复用性,使多部分内容的组织更加清晰高效。

2025-07-07 20:52:18 180

原创 AI Agent开发学习系列 - 使用f-string或jinji2来实现prompts模版格式化

摘要:本文介绍了两种格式化prompts模板的方法,f-string和Jinja2。f-string是Python原生方法,使用{变量}占位符;Jinja2更强大,支持条件判断等高级功能,需安装后使用。示例展示了两种方法的基本和进阶用法,如根据分数输出不同提示。两种方式都能方便地生成动态提示词,Jinja2更适合复杂场景。

2025-07-07 19:00:00 180

原创 AI Agent开发学习系列 - 使用prompts模版来调教LLM的输入输出

本文介绍了大语言模型的交互接口及其核心组件。首先概述了现代大语言模型应用的标准流程,包括提示词构建(Prompts)、语言模型处理(Language models)和输出解析(Output parsers)三大模块。重点讲解了PromptTemplate工具,它通过模板化方式动态生成提示内容,并展示了使用Python代码示例。文章还详细介绍了ChatPromptTemplate、ChatMessagePromptTemplate和StringPromptTemplate等不同类型的提示词模板工具。

2025-07-06 15:55:58 563

原创 AI Agent开发学习系列 - langchain: LLM和AI应用的粘合剂|使用langchain调用LLM,自定义提示词模版,输出解释器

摘要:本文介绍了LangChain框架及其在AI开发中的应用,重点展示了如何调用腾讯混元大语言模型。文章包含三个示例:基础调用、自定义提示词模板和输出解析器,演示了如何使用PromptTemplate规范输入、通过BaseOutputParser解析输出。LangChain作为连接LLM与应用的桥梁,简化了智能问答、RAG等场景的开发流程,文中代码示例可直接用于实践。

2025-07-06 14:12:21 258

原创 AI Agent开发学习系列 - 以OpenAI兼容接口的方式调用腾讯混元模型

本文介绍了如何通过OpenAI兼容接口调用腾讯混元大模型。首先需要在腾讯混元官网创建API Key并保存到.env文件。使用Python代码示例展示了如何调用免费版hunyuan-lite模型,包括设置API端点、传递自定义参数enable_enhancement等关键步骤。文章还指出可以在模型广场选择不同模型,并提醒API Key应保存在环境变量中确保安全。调用方法简单易行,实现了与OpenAI接口的兼容性,为开发者提供了腾讯混元模型的便捷接入方案。

2025-07-06 10:43:04 248

原创 如何实现自己申请的域名指向博客地址

本文主要介绍使用自己在阿里云购买的域名来指向自己的个人社交媒体URL的方法。很多人都有自己的微博、博客等社交媒体站点,不过这些页面的访问链接的确是不太容易记忆或者输入,对我们分享造成一定的困扰,本文通过配置github page静态页面的功能,跳转到指定的博客地址来解决这个问题。(直接配置域名解析到URL地址无法访问或者根本就无法这样配置。)实现原理:用户访问—>阿里云解析—>github page跳转—>真实的博客地址1. 创建github page静态页面跳转进行访问博客地址

2020-10-08 22:26:32 743

转载 Python网络爬虫学习笔记 -第七章:Scrapy分布式爬虫实践

课程地址 https://edu.csdn.net/course/detail/24756/280664文章目录

2020-08-07 15:55:19 408

转载 Python网络爬虫学习笔记 -第五章:多线程爬虫实践

课程地址 https://edu.csdn.net/course/detail/24756/280664文章目录多线程:什么是多线程:如何创建一个基本的多线程:查看当前线程:继承自threading.Thread类:全局变量共享的问题:生产者和消费者模式:Lock版本的生产者和消费者模式:Condition版本的生产者和消费者模式:线程安全的队列Queue:GIL:什么是GIL:有了GIL,为什么还需要Lock:多线程:什么是多线程:理解:默认情况下,一个程序只有一个进程和一个线程,代码是依次线性

2020-07-30 20:46:51 415

转载 Python网络爬虫学习笔记 -第四章:爬虫数据存储

课程地址 https://edu.csdn.net/course/detail/24756/280664文章目录JSON字符串处理:什么是JSON字符串:将Python对象dump成JSON字符串:将JSON字符串load成Python对象:CSV文件处理:CSV文件读取的两种方式:CSV文件的写入的两种方式:Excel文件处理:Sheet相关的操作:Cell相关的操作:Cell中常用的数据类型:写入Excel步骤如下:编辑Excel文件:MySQL数据库操作MySQL数据库安装(Windows系统):P

2020-07-29 16:02:18 394

转载 Python网络爬虫学习笔记 -第三章:爬虫数据提取

课程地址 https://edu.csdn.net/course/detail/24756/280664文章目录XPath语法和lxml模块什么是XPath?XPath节点XPath语法XPath语法和lxml模块什么是XPath?xpath(XML Path Language)是一门在XML和HTML文档中查找信息 的语言,可用来在XML和HTML文档中对元素和属性进行遍历。XPath节点在 XPath 中,有七种类型的节点:元素、属性、文本、命名 空间、处理指令、注释以及文档(根)节点。XM

2020-07-27 23:00:50 493

转载 Python网络爬虫学习笔记 - 第二章:爬虫基本库的使用

课程地址 https://edu.csdn.net/course/detail/24756/280664文章目录网络请求urllib库 —— 内置urlopen函数urlretrive函数urlencode函数:编码parse_qs函数:解码urlparse和urlsplit:解析urlrequest.Request类:网络请求 可以增加请求头ProxyHandler处理器(代理设置):封ip问题cookiecookie加载与保存requests库 —— 第三方库安装和文档地址发送GET请求发送POST请

2020-07-27 22:58:10 413

原创 阿当学Python - Mac环境篇

@[TOC]准备 为什么突发奇想要学下Python? 同事在用Python做自动化,各种问题问东问西,之前我们一直做自动化一直用的java,我自己听了也想看看Python了。 按常规套路,还是先把环境搭建起来吧。我用的Mac OS,所以以下内容都是基于Mac OS而展开。 我最开始是从Python官方下的安装包,后来同事说你可以用[Anaconda](https://www.anaconda.com/)。我小白一个,没用过,于是上网搜了搜。Anaconda指的是一个开源的Python发行版本,其.

2020-07-20 16:46:00 214

空空如也

空空如也

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

TA关注的人

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