自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Agent Harness:别再只盯着模型了,真正让 AI 能干活的是这套外骨骼

AI智能体的生产级挑战与解决方案 当前AI应用开发中,单纯依赖模型能力的提升已不足以解决实际问题。智能体在演示中表现优异,但在真实生产环境中常因系统性问题(如记忆混乱、工具调用错误、上下文污染等)而失效。关键在于构建一个完善的智能体外骨骼系统(Agent Harness),它需解决12个核心问题: 编排循环:智能体的心跳,管理推理、工具调用与状态流转。 工具系统:严格定义工具权限与接口,避免模型误用。 记忆管理:分层存储短期、会话级和长期记忆,防止信息过载。 上下文优化:动态压缩与清理,保持关键信息的高信噪

2026-05-06 12:53:05 217

原创 CRAG纠正性索引增强生成

摘要:纠正性检索增强生成(CRAG)是一种通过评估检索质量动态优化生成结果的技术,包含检索、评估、知识精炼和网络搜索等步骤。其非线性的运行流程涉及条件判断和循环迭代,传统LCEL表达式难以实现这种复杂逻辑。为解决这一问题,可引入LangGraph框架,它基于循环图结构支持代理间的循环调用和工具回调,更适合构建包含多代理、分层等复杂场景的应用。完整实现将在后续学习LangGraph后展开。

2026-03-01 21:36:44 723

原创 LangChain RAG自查询检索器实现动态元数据过滤

摘要:本文介绍了自查询检索器在RAG应用开发中的应用,重点探讨了如何根据用户提问自动构建元数据过滤器以提升检索准确性。文章以LangChain中的SelfQueryRetriever为例,展示了如何通过自然语言自动生成查询条件并转换为向量数据库的过滤器。该方法不仅适用于向量数据库,也可类比应用于关系型数据库和图数据库。文章还分析了自查询检索器的运行逻辑,包括提示模板设计、查询语句生成和参数转换过程,并指出该技术在特定领域(如财报、新闻等规范化数据)表现优异。最后,作者阐述了将LLM与企业自有系统对接的通用思

2026-03-01 21:35:09 812

原创 对接自定义向量数据库的配置与使用

本文介绍了如何在LangChain中对接自定义向量数据库。由于向量数据库发展迅速且各具特点,LangChain无法全部集成,因此需要自定义实现。实现方式有两种:继承现有数据库类进行扩展,或继承VectorStore基类对接新数据库。后者需实现三个核心方法:add_texts(添加数据)、similarity_search(相似性搜索)和from_texts(构建数据库)。文章提供了一个基于内存的欧几里得距离向量数据库示例代码,展示了如何存储向量数据并执行相似性搜索。通过自定义实现,可以灵活适配特定需求或新型

2026-02-19 22:51:26 944

原创 大模型(LLMs)langchain

LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。texts = """天道酬勤”并不是鼓励人们不劳而获,而是提醒人们要遵循自然规律,通过不断的努力和付出来追求自己的目标。texts = """天道酬勤”并不是鼓励人们不劳而获,而是提醒人们要遵循自然规律,通过不断的努力和付出来追求自己的目标。也包括精神上的努力和思考,以及学习和适应变化的能力。开发人员可以为他们的用例选择合适的 LangChain 模型,并利用提供的组件来构建他们的应用程序。

2026-02-10 18:31:50 427

原创 LangChain使用函数调用的技巧与流程

本文介绍了在LangChain中如何将自定义工具与GPT模型集成。主要内容包括:1) 使用bind()和bind_tools()函数将工具参数绑定到GPT模型;2) 通过convert_to_openai_tool将自定义工具转换为标准格式;3) 具体示例展示了如何将天气预报和谷歌搜索工具集成到GPT模型中,形成具备实时查询能力的Agent系统;4) 讨论了当前实现中存在的代码复杂度问题,并指出后续将介绍LangChain提供的Agent封装策略(传统Agent和LangGraph)来简化开发流程。

2026-02-10 18:30:50 330

原创 AI应用开发——向量数据库的介绍与用途

本文通过猫品种分类的生动示例,引出向量数据库的核心概念。作者以体型、毛长等特征构建多维坐标系,将不同猫品种表示为特征向量,说明维度越高分类越精确。由此类比到词向量概念,解释了文本、图像等数据均可向量化表示。第二部分着重介绍向量数据库的独特优势:专门为高维向量数据优化存储和相似度计算,适用于人脸识别、图像搜索等场景。文中特别指出向量数据库在RAG(检索增强生成)中的应用原理:将知识文档向量化存储,通过相似度检索匹配用户提问,为LLM提供精准的上下文信息。全文通过生活化案例,清晰阐释了向量数据库的技术原理及核心

2026-02-10 18:29:35 403

原创 LangChain RAG-父文档检索器实现拆分和存储平衡

摘要:文章介绍了RAG应用中解决文档拆分与检索冲突的方法。通过"子文档检索父文档"策略,使用小文档块提高嵌入准确性,同时保留大文档块的上下文。LangChain提供的ParentDocumentRetriever工具可实现该功能,支持两种使用场景:1)直接检索原始文档;2)检索中间大小的文档块(非原始文档)。文中给出了具体代码实现,包括文档加载、分割器设置、向量数据库连接和检索调用等步骤,展示了如何平衡检索精度与上下文完整性的技术方案。

2026-02-04 20:52:32 523

原创 LangChain Runnable组件重试与回退机制降低程序错误率

摘要:LangChain提供了Runnable组件的异常处理机制。with_retry()支持对指定异常进行重试,可配置重试次数(默认3次)和指数退避间隔。with_fallback()则实现回退方案,当主组件失败时自动切换到备用组件(如OpenAI失败转文心一言)。两种机制都支持自定义异常类型处理,前者通过循环重试解决临时故障,后者则实现服务降级,确保系统可用性。示例代码展示了如何配置重试次数和设置LLM的备用模型切换。

2026-02-04 20:50:46 933

原创 RAG 混合策略实现doc-doc对称检索

HyDE混合策略是一种改进的检索方法,通过将用户查询转换为假设性文档(doc)后再进行检索,解决query-doc语义空间不一致的问题。该方法首先生成与查询相关的假设回答,再基于该文档检索真实内容,利用doc-doc匹配提高检索相关性。文中通过代码示例展示了如何实现HyDE检索器,并分析了其优势:能有效过滤无关信息,提高匹配准确率。但也存在局限性,如缺乏上下文时可能生成错误假设,或对开放式问题产生偏见。该方法适用于需要增强检索相关性的场景,但需权衡其可能带来的错误风险。

2026-02-04 20:48:14 853

原创 基于langchain RAG问答应用实战

'answer': '根据背景知识,藜麦常见虫害有象甲虫、金针虫、蝼蛄、黄条跳甲、横纹菜蝽、萹蓄齿胫叶甲、潜叶蝇、蚜虫、夜蛾等。也可以每亩用40%的辛硫磷乳油250毫升,加水1-2千克,拌细土20-25千克配成毒土,撒施地面翻入土中,防治地下害虫', metadata={'source': './藜.txt'}), Document(page_content='中期管理\n在藜麦8叶龄时,将行中杂草、病株及残株拔掉,提高整齐度,增加通风透光,同时,进行根部培土,防止后期倒伏。

2026-01-26 18:43:35 607

原创 Blob与BlobParser代替LangChain文档加载器

摘要:LangChain引入了Blob方案来处理文档加载和解析,该方案包含Blob、BlobLoader和BaseBlobParser三个核心类。Blob类封装原始数据,BlobLoader负责加载数据,BaseBlobParser则用于将数据解析为文档。通过自定义解析器实现lazy_parse()方法,可以灵活处理不同格式的文件内容。目前该方案仅支持FileSystemBlobLoader,并提供了GenericLoader作为标准化接口。虽然当前功能有限,但随着未来发展,Blob方案有望成为文档处理的主

2026-01-26 18:41:57 627

原创 Embedding文本嵌入模型介绍与使用

Embedding是一种将高维非结构化数据(如文本、图片、视频)转换为低维向量表示的技术。主流Embedding模型包括Word2Vec、GloVe、FastText和大模型嵌入(如text-embedding-ada-002)。其核心价值在于:降维处理高维数据;捕捉语义信息使相似概念在向量空间相近;支持向量运算(如"女王=国王-男人+女人"的经典示例)。通过可视化向量分布可发现,Embedding能有效反映词语间的语义关系(如性别、年龄维度),为语义搜索提供基础。这种技术让计算机能更好

2026-01-26 18:40:47 711

原创 LangChain 非分割类型的文档转换器使用技巧

本文介绍了LangChain中的文档转换器组件及其应用场景。文档转换器可接收并返回文档列表,适用于LLM应用中的多个环节,如文档加载、切割和检索。重点介绍了两种转换器:1) 问答转换器(DoctranQATransformer),将文本转换为问答格式以提升检索相关性;2) 翻译转换器(DoctranTextTranslator),支持跨语言文档转换。两种转换器均基于OpenAI API实现,通过transform_documents方法即可完成转换,为RAG应用开发提供了便捷的优化手段。

2026-01-06 19:52:28 823

原创 LangChain 语义文档分割器与其他文档分割器的使用

摘要:本文介绍了LangChain中的多种文档分割器,重点解析了基于语义相似性的SemanticChunker分割器(实验性功能),它通过文本嵌入模型计算句子相似度进行分割。此外还介绍了NLTK/Spacy等NLP分割器,以及针对特定场景的HTML/Markdown标题分割器、递归JSON分割器和基于Token计数的分割器。其中递归JSON分割器采用深度优先遍历保持数据结构,而Token分割器通过tiktoken库精准计算文本长度,确保符合LLM的上下文限制。各类分割器可根据文档类型和需求灵活选用,需注意实

2026-01-06 19:50:20 795

原创 LangChain中的工具与工具包

LangChain提供了丰富的内置工具和工具包,支持从大语言模型中获取结构化数据。工具基于BaseTool类,支持invoke、batch等方法调用,涵盖搜索、图像生成等场景。工具包(如Azure AI工具包)则整合了多个相关工具,便于统一管理。开发者可通过简单的API调用工具(如DuckDuckGo搜索),或使用convert_to_openai_tool()转换为OpenAI工具格式。LangChain持续更新,最新版本推荐使用LangGraph构建智能体,并提供了版本迁移指南,帮助开发者应对框架变化。

2026-01-01 12:00:50 760

原创 自定义 LangChain 文档加载器使用技巧

本文介绍了自定义文档加载器的实现技巧。针对企业特殊数据需求,通用加载器可能无法满足格式要求,此时可通过继承BaseLoader基类实现自定义加载器。文章展示了如何实现lazy_load()和alazy_load()方法逐行读取文件并生成Document对象,包含行号和源文件等元数据。同时提出文档加载可分解为"二进制数据读取+解析逻辑"两个步骤,建议将解析与加载逻辑分离以提高复用性,并指出这是LangChain未来的改进方向。

2026-01-01 11:59:55 785

原创 LLM函数调用使用技巧与应用场景

大语言模型(Large Language Models, LLMs)的函数调用功能通过结构化参数传递,实现了模型与外部系统的可靠集成。该功能允许LLMs从输入中提取函数参数并返回结构化数据,而非自由文本,从而解决模型输出不一致和知识时效性限制的问题。目前主流模型如GPT和文心一言都支持此功能,开发者需预定义函数名称、描述及参数格式。这一机制使LLMs能够作为"智能中枢"协调多个外部系统,为开发AutoGPT等智能代理系统提供了基础架构。函数调用不仅提升了响应可靠性,还扩展了LLMs在复杂

2026-01-01 11:57:50 662

原创 LangChain RAG-递归文档树检索实施高级RAG优化理解

RAPTOR递归文档树是一种新型RAG优化策略,通过树状结构组织文本检索,解决长文本处理问题。其核心流程包括:文本分块→向量化→降维→聚类→LLM摘要→递归构建层次结构。相比传统方法,RAPTOR在保持高准确性的同时显著降低成本,支持多文档和超长上下文处理。论文提出了两种检索策略(树遍历和折叠树),后者因效率更高被推荐。实现上采用UMAP降维和GMM聚类,但存在数据更新复杂的缺陷。该技术适用于需要处理大规模文档的场景,是索引阶段的重要优化方案之一。

2025-12-13 20:53:54 1105 2

原创 LangChain RAG-MultiVector实现多向量检索文档

本文介绍了多表征/向量索引技术及其实现方法。该技术通过从多个维度记录文档块信息(如切割更小块、生成摘要或假设性问题),为每个文档块生成多条特征向量,从而提高检索命中率。文章详细阐述了多向量检索的运行流程,并提供了基于LangChain框架的代码示例。示例展示了如何使用FAISS向量数据库和本地文件存储实现"摘要检索原文"策略,以及如何通过生成假设性问题来优化检索效果。此外,还介绍了MultiVectorRetriever类的使用方法,包括构建摘要生成链、批量处理文档、创建多向量检索器等关

2025-12-13 20:52:10 533

原创 构建一个LangChain RAG应用

本文介绍了如何构建基于LangChain的RAG(检索增强生成)应用,实现外挂知识库的聊天机器人功能。核心架构包括:通过检索器从向量数据库(如Weaviate)获取相关信息,填充到提示模板后传递给大语言模型生成响应。文章提供了具体实现方案,包括Weaviate向量数据库服务的封装(支持本地或云端部署)、检索器的创建与文档合并处理,以及将这些组件集成到聊天机器人处理链中的方法。该方案通过LCEL(LangChain Expression Language)将用户查询、历史对话和检索内容有机结合,有效提升了聊天

2025-12-13 20:47:05 534

原创 LangChain 文档转换器与字符分割器组件的使用

本文介绍了LangChain中的文档转换组件DocumentTransformer,重点讲解了字符分割器(CharacterTextSplitter)的使用方法。文档转换是为了解决原始文档过大、格式不符或信息冗余等问题,在文档加载后进行的必要处理步骤。CharacterTextSplitter通过设置分隔符、块大小、重叠区域等参数,将大文档分割成符合要求的文本块。文章详细说明了该组件的参数配置和实际应用示例,并指出即使设置了chunk_size,仍可能因原始文本过长而产生超限警告。此外,还介绍了LangCh

2025-12-13 20:45:41 1128

原创 LangGraph 需求转换图架构的技巧-CRAG实现

本文介绍了CRAG(纠正性索引增强生成)优化策略的实现方法。该策略通过评估器判断检索文档质量,动态选择精炼文档或网络检索路径。文章详细讲解了使用LangGraph构建条件分支工作流的方法,包括:1) 节点设计(检索、评分、生成等);2) 数据状态管理;3) 工作流编排(条件边、循环等)。实现中整合了Weaviate向量数据库、Google搜索API和GPT-4模型,展示了从检索到生成的完整流程。该方案适用于需要动态决策的复杂问答场景,相比线性流程能更智能地处理文档质量差异问题。

2025-12-07 22:42:01 773 1

原创 SRAG (Self-RAG)纠正低质量的检索生成

摘要:Self-RAG是一种具有自我反思能力的检索增强生成技术,其工作原理类似于开卷考试策略。通过三个关键步骤(按需检索、并行生成、评估选择),Self-RAG能智能判断何时需要检索外部知识,并实时检测生成内容的准确性和相关性。相较于传统RAG的固定检索流程,Self-RAG通过循环反思机制动态调整检索和生成策略,有效提升输出质量。该技术需借助LangGraph等工具实现复杂的循环结构,LangChain官网提供的LangSmith日志展示了其具体运行流程。

2025-12-07 22:02:28 474

原创 LangChain中使用多模态LLM执行函数调用的技巧

摘要:多模态LLM(如GPT-4o)支持文本、图像、音频等输入,并能通过函数调用实现工具集成。本文以GPT-4o为例,展示了如何通过图片地址实现多模态输入,并构建了一个结合天气查询工具的应用:首先识别图片中的城市,再调用天气API获取预报。此外还演示了通过DALL·E工具实现文生图功能,说明LLM可通过工具绑定实现多模态输出。核心是通过特定的消息格式(如列表字典)传递多模态内容,并利用LangChain框架简化开发流程。

2025-11-26 12:00:41 569 4

原创 LangGraph图结构断点实现Agent与人进行交互

本文介绍了如何通过"人在环路"(HIL)交互实现Agent系统的断点控制。主要内容包括:1.利用LangGraph的检查点机制设置断点,使程序能在特定节点暂停等待人工确认;2.通过interrupt_before/interrupt_after参数控制中断位置,用invoke(None)恢复执行;3.演示了查询马拉松成绩的案例,当AI调用工具前需人工确认;4.展示了如何通过get_state()和update_state()修改中间状态数据。这些方法可用于敏感操作控制、人工审核等场景,提

2025-11-26 11:59:14 554 2

原创 利用LangGraph优化LLMOps聊天机器人图架构

本文介绍了LLMOps聊天机器人架构的优化过程。通过整合记忆、知识库检索和格式化输出等功能,并使用LangGraph构建包含条件边和循环结构的图架构。文章重点分析了数据状态与外部配置的分离设计,提出通过动态配置实现模型切换、工具绑定、知识库关联和内容审核等功能,使应用成为可根据配置灵活调整的黑盒系统。同时阐述了如何通过分析节点数据需求来构建完整的状态数据,最终实现一个可根据用户查询和配置动态生成不同功能的智能聊天机器人系统。

2025-11-26 11:56:08 267

原创 RAG 问题分解策略提升复杂问题检索正确率

文章摘要:针对RAG应用中复杂问题检索效果不佳的问题,本文提出两种问题分解策略(迭代式和并行式)来提升检索质量。重点介绍了迭代式回答的实现方法:1)通过prompt将复杂问题分解为子问题;2)构建向量数据库检索器;3)使用链式结构迭代处理子问题,将前序答案作为后续问题的上下文。文中给出了完整的LangChain实现代码,包括问题分解链、检索器构建和迭代问答流程,并以"LLMOps应用配置"为例展示了具体效果。最后还建议读者尝试将迭代式回答封装为链式组件,并实现并行式回答的优化版本。

2025-11-05 09:41:26 741

原创 RAG Step-Back回答回退策略实现前置检索

摘要:本文介绍了LangChain中的两种Prompt优化技术。首先讲解了FewShotPromptTemplate的使用方法,它通过提供少量示例指导LLM生成内容,简化了Prompt编写过程。其次详细阐述了Step-Back回答回退策略,该策略通过将复杂问题转换为更抽象的前置问题来提升模型推理能力,相比问题分解策略更高效且不易产生偏差。文章提供了两种技术的具体实现代码示例,并对比分析了它们的优势和适用场景。

2025-11-05 09:39:09 1319

原创 LangChain 使用语义路由选择不同的Prompt模板

本文探讨了在RAG应用开发中采用特定化prompt模板的优势。通过教培场景案例说明,针对数学和物理问题分别设计专用模板(如分解式数学解答和简明物理解释),能显著提升LLM的回复质量。文章提出利用文本嵌入模型计算问题与模板的向量相似度,实现动态模板路由的方法,并展示了LangChain中的实现代码。实验证明,基于语义相似度的模板选择机制能有效匹配问题类型,相比通用模板显著改善了回答的专业性和准确性。这种语义路由方法为优化prompt工程提供了新的技术思路。

2025-11-05 09:33:09 301

原创 LangChain Runnable组件配置运行时链内部使用技巧

LangChain的configurable_fields()方法允许在运行时动态调整链式应用的参数,比bind()方法更灵活。该方法支持运行时修改LLM温度参数、替换提示模板等操作,只需在invoke()调用时通过config参数传递配置信息。其实现原理是通过_prepare()函数在运行时合并默认参数和配置参数,重新创建组件实例来实现动态调整。该方法适用于需要灵活控制链式行为的场景,如动态调整生成内容的随机性或切换不同模板。

2025-11-05 09:29:51 887

原创 RAG开发6个阶段优化策略分析

RAG应用开发的核心目标是提升LLM生成内容的准确性,主要通过三个关键步骤:传递准确内容、突出重要内容、剔除无关信息。开发流程可划分为6个阶段(查询转换、路由、查询构建、索引、检索和生成),每个阶段都有针对性的优化策略,如问题转换、多路召回等。值得注意的是,优化策略需根据具体场景选择,并非越复杂越好,过多策略会提高成本、降低性能。该框架适用于任何RAG开发,与具体技术实现无关,关键在于掌握优化思路。

2025-11-05 09:28:31 346

原创 ReRank重排序提升RAG系统效果

摘要:ReRank重排序是RAG系统中的重要优化策略,通过调整检索文档顺序并剔除无关数据提升结果质量。文章介绍了重排序在LangChain中的实现方式,包括使用Cohere在线模型和开源模型bge-reranker-large的实践示例。通过ContextualCompressionRetriever将重排序器与Weaviate向量数据库结合,展示了如何优化搜索结果,过滤低相关文档。该技术能有效提升信息检索效率,是当前主流AI代理项目的常用优化手段。

2025-10-13 14:05:40 659

原创 LangChain Runnable组件动态替换运行组件

摘要 LangChain的configurable_alternatives()方法支持在LLMOps项目中动态替换组件(如模型、提示词等),实现运行时灵活调整。其流程包括:定义组件键、设置默认值、创建备选实例并关联键值,最后通过配置信息触发替换。例如,一条链可动态切换GPT-4、GPT-3.5或文心一言模型。底层通过字典存储备选组件,根据配置的键匹配并返回目标组件执行。核心代码通过解析configurable参数选择对应组件,支持默认回退和错误处理。该方法提升了调试和部署的灵活性。

2025-10-13 14:02:54 392

原创 LangChain 基于Runnable封装记忆链实现记忆自动管理

文章摘要:介绍了Runnable链中记忆组件的封装思路,通过configurable参数传递memory实例,在invoke/stream等执行函数中获取历史记录。关键实现包括_load_memory_variables加载记忆变量和_save_context保存对话上下文,通过监听on_end生命周期实现自动存储。同时提及了LCEL表达式与Runnable的其他功能细节,展示了完整的链式调用实现方案。

2025-10-13 14:01:33 473

原创 检索增强生成RAG基础架构与手动模拟

摘要:检索增强生成(RAG)是一种优化大型语言模型(LLM)输出的技术,使其在生成响应前能够引用外部知识库。RAG通过检索相关文档与用户查询结合构建最终提示词,解决了LLM知识静态、易产生幻觉等问题,具有经济高效、信息即时、增强信任等优势。文章通过模拟"公司销售什么产品"的查询流程,展示了RAG的基本运行机制:检索相关产品文档→构建提示词→生成准确回复。RAG无需重新训练模型,即可为LLM提供特定领域知识,是提升AI应用实用性的有效方案。

2025-10-13 13:59:15 412

原创 LangChain 内置文档加载器使用技巧

本文介绍了LangChain框架中各类文档加载器的使用技巧。框架内置了上百种文档加载器,包括CSV、HTML、PDF、Office等格式,使用流程均为实例化加载器后调用load()函数。重点讲解了Markdown文档加载器UnstructuredMarkdownLoader的使用方法,包括安装依赖、基础加载和元素分割模式。同时介绍了Office文档(Excel/PPT/Word)加载器的安装配置和简单使用示例。文章还提及了URL网页加载器WebBaseLoader的功能,以及通用文件加载器Unstructu

2025-10-13 13:57:11 615

原创 流式事件与块响应接口设计流程拆解

文章摘要:流式事件响应(SSE)是一种服务器向客户端推送数据的机制,通过HTTP协议持续发送事件流,广泛应用于实时数据更新场景。随着大语言模型(LLM)的发展,SSE成为提升用户体验的关键技术,它能在内容生成过程中分批返回结果,避免用户长时间等待。文章介绍了两种SSE实现格式:自定义事件格式(如ChatGPT使用)和默认事件格式(如Dify使用),并展示了在Flask框架中的具体实现方法。针对LangGraph等复杂应用,提出了基于队列和线程的优化方案,确保多节点程序也能实现流畅的流式响应。

2025-10-05 22:41:24 558

原创 集成JWT与哈希加密完成前置工作

JWT详解与认证流程:JWT是一种基于令牌的身份验证方式,由头部、载荷和签名三部分组成,用于安全传递用户信息。服务端生成令牌后,客户端在后续请求中携带该令牌完成身份验证。文章详细解析了JWT的结构、标准字段,并提供了Python实现示例。哈希加密部分则介绍了不可逆加密算法的特点和应用场景,包括密码存储时的盐值机制和安全校验方法,并给出了Python代码实现。全文涵盖了现代Web应用中的两种核心安全技术实现方案。

2025-09-28 20:07:37 905

原创 LangChain 递归字符文本分割器的使用与运行流程

本文介绍了LangChain中的递归字符文本分割器(RecursiveCharacterTextSplitter),它通过优先级分隔符列表解决文档块过大或过小的问题。该分割器支持多种编程语言,并允许自定义分隔符(如中文标点)。其工作流程包括预分割、递归分割大块和合并小块三部分,能有效控制块大小,提高RAG系统的信息检索效率。文中还提供了Python代码示例,展示了如何针对中英文混合文本进行优化分割。

2025-09-28 10:42:36 1199

空空如也

空空如也

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

TA关注的人

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