自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寻梦友的博客

好记忆不如烂笔头

  • 博客(189)
  • 资源 (17)
  • 收藏
  • 关注

原创 【langchain1.0】--langchain1.0升级及功能示例

LangChain 1.0正式发布,带来三大核心升级:1)引入create_agent作为新一代智能体构建标准,基于ReACT模式实现工具自主调用;2)通过content_blocks统一多厂商大模型接口;3)精简表结构优化依赖管理。新版本提供智能体构建三要素(模型、工具、系统提示)、中间件机制(敏感信息处理、内容浓缩等)、记忆功能(InMemorySaver)等核心功能,并支持多模态RAG系统开发。官方建议:快速构建智能体用LangChain,需要精细控制工作流则用底层框架LangGraph。

2026-05-25 18:45:35 34

原创 Word 模板自动填充(二)

本文介绍了使用Python-docx库实现Word模板中动态表格生成的方法。通过占位符定位,自动创建并填充表格数据,包含表头校验、行列计算、样式设置等功能。代码示例展示了如何将字典结构的数据(含表头和多行数据)转换为Word表格,并插入到指定段落位置。最终实现效果是在Word文档指定位置生成一个带边框、内容居中的规范化表格,满足业务场景中动态表格生成的需求。

2026-02-22 23:20:59 173

原创 Word 模板自动填充(一)

本文介绍了使用Python的Jinja2模板引擎实现Word文档自动填充的技术方案。文章首先展示了包含{{占位符}}的Word模板示例,说明了需要保留未替换占位符和原有样式的需求。核心代码部分演示了如何通过DocxTemplate渲染模板并保存最终文档,实现了文本、表格等内容的自动填充。最后提出了两个待解决问题:自动生成特定规则表格,以及通过标注特征自动识别占位符。该方案有效解决了Word模板的批量填充需求,同时保留了文档原有格式。

2026-02-21 12:18:56 199

原创 【langchain】--langchain接入MCP实现流程

本文介绍了如何将LangChain与MCP服务器对接实现智能体开发。首先需要准备本地MCP服务端,支持SSE和streamable-http模式。核心代码展示了MultiMcpTools类的实现,通过连接多台MCP服务器获取工具信息,并构建LangChain Agent执行器来处理用户查询。文章以查询天气对比并存储结果为例,展示了LangChain的"chain链思考+调用"逻辑处理能力,包括工具调用记录、思考过程跟踪等功能。通过这种方式,开发者可以快速构建具备复杂任务处理能力的智能体系

2025-12-02 18:46:28 289

原创 【langchain】--langchain接入自定义函数方法

本文介绍了LangChain接入外部工具的方法,包括内置工具和自定义函数工具。主要内容分为三部分:首先概述了LangChain内置工具的分类(搜索、代码解释器、自动化等);然后展示了如何使用PythonAstREPLTool工具处理数据框查询;最后重点讲解了如何将自定义函数(如天气查询、字符串拼接、文件写入)封装为LangChain工具。通过AgentExecutor实现智能体自动选择工具执行任务,并验证了"思维连码"能力(如查询多城市天气并写入文件)。文中提供了完整的代码示例和执行结果

2025-12-01 18:34:04 118

原创 【langchain】--langchain的“链”

链不但可以将不同的组件组织起来。LangChain中一个基础的链一般由如下三部分构成,分别是提示词模板、大模型和结构化解析器。简单链按照上面的“提示词模板–大模型–结构化解析”。“提示词模板–大模型–结构化解析”,自定义输出结构。代码执行,从下可以看出,每个子链都执行完相应的结果。“提示词模板–大模型–结构化解析”如下。“大模型–结构化解析”简单单一链示例。每个子链如何构建如下。

2025-11-25 19:09:42 81

原创 【langchain】--初识langchain

摘要:LangChain框架开发指南 本文介绍了使用LangChain框架开发AI Agent的关键技术。首先搭建了Python 3.12环境并配置了相关LangChain库(0.3.x版本)。重点讲解了三种核心提示词模板:PromptTemplate(单字符串提示)、ChatPromptTemplate(多角色对话模板)和FewShotPromptTemplate(示例学习模板)。文章还介绍了OutputParser结构化解析方法,将模型输出转换为特定格式。最后通过五个渐进式代码示例(从基础问答到结构化翻

2025-11-25 18:44:29 116

原创 【ES】--Elasticsearch的普通数组匹配及高亮

摘要:本文针对Elasticsearch中普通数组字段的模糊查询需求,提出通过Script脚本实现精确匹配和高亮显示的解决方案。由于普通数组无法直接过滤内部对象,采用Painless脚本遍历数组并筛选匹配项;同时通过自定义脚本字段实现关键词上下文截取(前后25字符)和带字段关联的高亮显示。方案包含完整的DSL查询示例及Java调用代码,最终返回包含匹配页面名称、ID和高亮片段的精简结果,有效解决了非Nested数组字段的查询局限性问题。

2025-11-18 10:18:10 458

原创 对接MCP服务之sse/streamable-http模式

摘要 本文介绍了如何同时接入SSE和Streamable HTTP两种模式的MCP服务端。首先通过Postman验证Streamable HTTP模式功能,包括初始化获取session_id、通知初始化、获取工具列表及调用特定工具。随后展示了核心代码实现,包括全局工具连接类MultiMcpSeverTool,以及分别处理两种通信模式的McpSseServer和McpStreamableHttpServer类。其中SSE模式通过异步SSE客户端建立连接,Streamable HTTP模式则通过HTTP请求交互

2025-10-04 22:12:49 585 1

原创 Elasticsearch的自定义score评分

文章摘要 Elasticsearch默认使用BM25算法计算相关性得分_score,但自定义排序时默认不计算_score。通过track_scores:true可保留原始得分。评分依据TF/IDF算法,受词频、逆文档频率等因素影响。业务中常需自定义评分,ES提供了function_score查询,支持多种评分函数(filter&weight、衰减函数、脚本评分等)和组合方式(score_mode)。例如,可通过field_value_factor结合销量字段提升热门商品排名,或使用衰减函数实现时间敏

2025-09-19 15:26:53 1084

原创 语音识别提取文本

本文介绍了基于Whisper技术栈实现语音识别的方案。Whisper是OpenAI开源的端到端语音识别系统,支持多语言识别和翻译任务,具有离线运行和高精度的优势。文章对比了不同Whisper模型,重点展示了faster-Whisper的代码实现,包括音频提取、文本转换等核心步骤,并提供时间分段文本输出示例。同时探讨了如何将语音识别结果存储到ES知识图谱中,建议采用nested类型存储时间分段文本,并对内容进行向量化以便相似性搜索。最后指出当前方案在方言识别和语义准确性方面仍存在改进空间。

2025-06-22 14:14:35 209

原创 MCP通信方式之Streamable HTTP

Streamable HTTP 是 MCP 协议的新标准,解决了 HTTP SSE 的连接不可恢复、长连接资源消耗等问题,同时保留流式响应优势。它采用普通 HTTP 请求为基础,灵活升级为 SSE 流,去中心化且无强制长连接要求。相比 SSE,Streamable HTTP 具有更好的稳定性、性能和客户端实现简易性。其核心设计通过请求 ID 记录实现断线重连,按需保持连接,并兼容现有基础设施。演示案例展示了如何通过 Streamable HTTP 实现天气查询和 ES 搜索的智能调用。

2025-06-05 18:23:43 2367

原创 如何部署MCP Sever【SSE通信方式】及调试

python “D:***\python_3.10” 是指定对应python版本。run_both.py如下,包含不同MCP Server,它们各自占用自己的端口。在通过MCP Inspector就可以链接上这个mcp server。初始化MCP server空间 mcp-server-1。再此过程中,修改mcp sever内容在重新部署。使用MCP Inspector工具连接。到此,部署MCP sever成功。runStart.bat如下所示。切换到某个目录下创建虚拟环境。

2025-04-20 17:32:51 1205

原创 认识MCP& Function Calling & AI Agent

用户:“帮我订一张明天从北京到上海的机票。一般的大模型会回复:“好的,我会帮您订票。”,但不会去真正执行。拥有AI Agent的大模型会回复:可以调用机票预订 API,获取航班信息,并完成订票操作。【不仅仅会回复,也会执行操作】从上面的例子,单纯大模型有很强的推理、问答能力,但真正执行(do)操作是隔离的。大模型本身是无法和外部工具直接通信的,为解决这个问题,OpenAI提出了Function Calling的思路。

2025-04-20 17:16:11 358

原创 在线文档导出为word/pdf/png

这是因为HTML文档内容的<img style 标签显示的width超过A4宽度,可以对内容进行自适应调整下。破解版的pdf的jar包,缺少一些功能、一些类,导致一些功能不能使用,因此导出pdf文件丢失图片信息。标签的,只要src能正常预览下载,那么html的String字符串可以导出成docx文档。专用于 Word 文档(DOC、DOCX、RTF 等格式)的创建与操作。现有破解版,可以从maven参考获取。

2025-03-23 17:37:32 350

原创 word文件转换为Markdown格式

顺应时代技术的变更及高效协同理念的影响,非结构化信息展示、存储、应用等也由传统文档向在线协同文档的演变,类似腾讯在线文档。目前大多数在线文档支持的是Markdown格式,因此这篇文档介绍word文件如何转换为Markdown格式。

2025-03-23 17:25:48 869

原创 Sentence-BERT模型的句子级语义相似

在很多专业场景下,传统的搜索引擎不能满足客户灵活性问题的“解答”。深入理解客户问题的语义信息,是传统搜索需要解决的一大难题。在一些应用场景中,当用户不知道搜索什么内容时,或者输入相应内容希望得到结果,这时候普通ES索引是不太精准了,因为它不理解用户的语义。例如:“苹果公司发布了新款手机” 和 “苹果推出了新的移动设备”、“如何制作蛋糕”和“蛋糕的制作方法”等等,这些问题在词语上相近较少,但语义上相似度极高。如何去解决上面的问题?--------S-BERT模型实现句子级语义信息表达。

2025-02-23 17:03:25 385

原创 pptx文档提取信息

pptx文档提取解析常用的库。如果只需要解析 .pptx 的文本、表格、图片,推荐使用 python-pptx(开源,轻量级)。如果需要高性能、支持.ppt、动画、格式转换,推荐 Aspose.Slides(收费)。如果需要 PPTX 转 PDF 或者 HTML,适用于 Linux服务器,推荐 LibreOffice 方案。如果在 Windows 上运行,并且 PowerPoint 已安装,可以用 comtypes直接调用 PowerPoint 解析。

2025-02-15 17:38:21 753

原创 Html、Markdown的信息提取

【python】 mistune转换md为HTML,BeautifulSoup解析读取。【python】Html文档,使用BeautifulSoup解析读取。

2025-02-15 17:09:46 562

原创 pdf文档提取信息

本博客文章介绍pdf的文本、图片、表格等信息提取的技术方案对比。目前比较熟知的是pdfplumber 、PyPDF2 、fitz(PyMuPDF)。它们之间对比如下pdfplumber 的说明优点· 结构化文本解析(如报告、合同等)。· 表格提取(尤其是规则清晰的表格)。· 带有复杂布局的 PDF。· 提供丰富的布局信息(如每个字符的位置、字体等)。· 提取表格和多列文本时表现优异。缺点· 图片处理能力较弱。· 速度较慢,尤其是大文件。

2025-02-15 16:57:22 735

原创 LibreOffice转换word文档

对于word文档,这里介绍一种解析文本、提取图片的方式。具体技术方案:LibreOffice将docx转换为pdf + 再pdfplumber按页提取文本。该方案说明LibreOffice 是一个跨平台的开源办公套件,支持 Linux、Windows 和 macOS 操作系统。目前为止,LibreOffice 是最佳的把docx转换为pdf的方式!但是一个严重的缺点:按照默认参数去生成pdf,会有一些属性会丢失【比如pdf中的图片被设置为共享形式,导致解析pdf图片时不能判断出图片来自哪个页!

2025-02-15 16:43:21 931

原创 word文档提取信息

项目中遇到这样的一个需求问题:“一个docx文档,用户根据关键词能搜索定位到文档的哪一页”。docx文档主要有文本、表格、图片、附件这几类组合,为了达到高精度要求,表格、图片、附件等附带的内容也要能够搜索定位到具体位置,那么,对docx文档的每一页要收集上述几类的数据,以便后续功能扩展。以上就是这个需求的核心诉求,针对上面的问题,首先我们要解决的是:上述2个问题,我们逐步去分析。第一个问题:“如何精准的对docx文档按照页进行精准提取出文本、图片、表格等位置/信息”。针对这个问题,该博客文章解析提取

2025-02-15 16:05:50 536

原创 EasyExcel提取excel文档

EasyExcel 是阿里巴巴开源的一个高性能 Excel 读写库,相比于 Apache POI 和 JXL,它有明显的优势,特别是在处理大数据量时。低内存占用EasyExcel 采用了 SAX 解析,边读边处理,占用更少的内存,适合大文件写入速度快采用 分批刷盘(flush) 机制,减少内存占用并提高写入效率。支持多种 Excel 格式支持 .xls(Excel 2003 及以下,HSSF)和 .xlsx(Excel 2007 及以上,XSSF),兼容性强。

2025-02-15 14:39:05 528

原创 一次压测的记录笔记

最近系统使用QPS增加,按照要求需要对核心接口进行压测,保证一定的QPS访问。配置测试人员进行一些压测,做一些CPU、内存等监控,以便了解各个接口的性能优化点。

2025-01-06 20:21:53 247

原创 spring集成ehcache

问题背景:一些业务场景中,一些数据往往是长期不变更,但数据使用较多。为了满足系统性能需要,可以借助本地缓存去使用,保证同一个JVM实例只保存一份内存,提高系统可用性。基于这个背景,这里将介绍ehcache缓存。在springboot集成ehcache这篇文章中已经介绍过,这里介绍下springmvc去集成使用。

2024-12-18 18:18:53 671

原创 【数据结构和算法】--N叉树中,批量的目标节点到根节点的路径

在N叉树中,返回某些目标节点到根节点的所有路径这篇文章中,已经介绍一种查询目标节点到根节点的路径方法。现在思考用另一种方法去实现这个问题。= null) {

2024-11-28 15:20:55 398

原创 评估系统压测的响应指标

问题现象实际项目中,在一个功能上线前,项目经理往往会询问,这个功能能支持多少用户同时在线使用?还有一些场景下,大家点击操作某些功能后,发现系统响应慢,或系统奔溃,为什么会这样?分析针对这些问题,其实就是要对核心功能进行压测,校验各个功能接口的极限。因此,哪些指标是影响压测的结果?为了更全面的分析压测结果,将从网络性能磁盘性能应用系统三个方面说明,在实际项目应用中,哪些指标是必须关注且真实能反馈出性能问题的。固态硬盘采用闪存存储技术,读写速度远超机械硬盘。

2024-11-24 16:10:18 284

原创 【案例】---Hutool提取excel文档

引用jar包Hutool 按功能模块划分为多个子包,常用模块包括:• core:基础工具模块,包括字符串处理、日期、数组、集合、IO、反射等功能。• crypto:加密解密模块,提供对称加密、非对称加密、摘要加密等多种算法实现。• http:HTTP 请求模块,简化 HTTP 请求的发起和响应处理。• json:JSON 解析模块,支持将 Java 对象与 JSON 互相转换。

2024-11-17 17:56:15 571

原创 【案例】--Tika解析文件

1、一次性解析所有的文件内容(无论多大),但例如word、pdf、excel等文件是有页、sheet概念,是无法区分2、对于复杂大文件,会导致内存溢出、泄漏、死循环等问题。

2024-11-17 17:48:54 625

原创 知识平台的演变思考

随着GPT大模型的盛行,传统文档的关键字匹配式搜索已不满足客户多样性的需求。深入理解客户问题灵活的和用户交流善于总结搜索内容等客户的核心诉求,是传统文档需要立刻解决的。(1).首先传统文档(docx、pdf、txt、excel、md等)需要多维度、精准的“信息提取”;(2).借助GPT AI能力,达到对搜索内容进行总结或理解客户问题;实际技术方案实现:(1).传统文档的“信息提取”,需要达到按页提取信息,且能够对图片OCR识别;

2024-11-17 17:35:31 213

原创 【python】--python+SSE初识

SSE是基于HTTP的单向通信协议(即半双工),只允许服务器向客户端推送数据。使用传统的HTTP协议(http://或https://),是HTTP/1.1的扩展。它通过Content-Type: text/event-stream头标识流数据。每次传输数据时都会发送HTTP头部,数据传输量相对大些,因此效率低于WebSocket,适合需要持续更新、轻量级、频率适中的数据推送。内置了自动重连机制,支持在连接断开后自动重新连接到服务器,并提供Last-Event-ID标头以确保消息的顺序性。

2024-10-29 11:18:33 1089

原创 【python】--python进阶学习

lambda 表达式只允许包含一个表达式,不能包含复杂语句,该表达式的运算结果就是函数的返回值。Python 断言,即 Python assert 语句,简单理解就是简易版的 if 语句。语句,即上下文管理器,它在 Python 中实现了自动分配并释放资源。例如cn = “成年” if age >= 18 else “未成年”assert 表达式。类似If表达式, 如。

2024-10-24 15:49:41 288

原创 【MongoDB】--MongoDB批量操作

【代码】【MongoDB】--MongoDB批量操作。

2024-09-19 16:33:31 1363

原创 【案例】--mongodb的响应慢思考案例

分析对应的mongodb表,表的总体数据量并不是很大,但单笔数据存储的较大(早期设计表的人考虑欠缺。对于超大规模的数据集,MongoDB提供了分片(sharding)和分区(partitioning)技术,可以将数据分布在多个服务器或磁盘上,通过并行查询来提升性能。针对上面的问题想象,结合实际表的存储大小、数据库服务器硬件性能等分析,在一次性查询较大数据集或返回较大数据集时,如何提高查询速度?:在每次分页查询时,使用上一次查询结果的最后一条记录作为下一次查询的起点,而不是简单地使用skip跳过大量记录。

2024-09-19 16:28:08 761

原创 【python】--python+webSocket初识

因项目需要,结识webSocket。本博客参考网上例子,单纯集成webSocket,初步了解Flask-SocketIO如何工作。

2024-08-12 17:45:12 820 1

原创 【案例】python集成OCR识别工具调研

因项目需要OCR识别能力,且要支持私有化部署。本文将对比市场一些开源的OCR识别工具,从中选择适合项目需要的OCR,且后续进一步研究/训练对应OCR模型。主要OCR识别有:Tesseract_OCR、PaddleOCR、EasyOCR、dddd_ocr、CnOCR备注说明:后面的图片测试使用如下。

2024-07-10 18:27:13 974 1

原创 【ES】--Elasticsearch的Nested类型介绍

当字段是普通数组类型,其实在ES中,每个对象元素的属性值被扁平化存储在了数组中,已丢失了对应关系,因此无法保证搜索的准确。:在实际项目中,一些数组存储的字段,根据匹配条件去查询经常会查询到一些“其他不需要”的数据,为什么会出现这种情况?:word_one是普通数组List,多个must匹配条件会匹配整个List数组数据,而不是每个Bean去匹配。通过key,value形式去更新对应数组节点的数据,如果nested数组多个被匹配,都会被修改。通过高亮显示可以看出,只会匹配第一项数据。

2024-06-29 15:34:50 3513

原创 【ES】--Elasticsearch的高亮模式

一般情况下,用plain highlight也就足够了,不需要做其他额外的设置;如果对高亮的性能要求很高,可以尝试启用posting highlight;如果field的值特别大,超过了1M,那么可以用fast vector highlight;在ES中,针对某个字段同时配置 Fast Vector Highlighting 和 Postings Highlighting 高亮模式是不可行的,因为这两种高亮模式是互斥的。它们分别依赖于不同的内部索引结构和算法,不可能同时应用于同一个字段;

2024-06-29 15:19:38 2481

原创 【ES】--Elasticsearch的翻页详解

ES的分页常见的主要有三种方式:from+size浅分页、scroll深分页、search_after分页。

2024-06-29 15:01:54 1836

原创 【数据结构和算法】--RangeSet时间范围管理示例

ImmutableRangeSet是一个不可修改的RangeSet,而TreeRangeSet则是利用树的形式来实现,提供了高效的查询和插入操作。这种自动合并的特性使得RangeSet能够保持范围的不重叠性,从而简化了范围集合的管理。当向RangeSet中添加一个新的范围时,它会遍历范围树,找到与新范围相交或相邻的现有范围,并进行合并。例如,当查询一个元素是否包含在RangeSet中时,可以从树的根节点开始,沿着适当的分支向下遍历,直到找到一个包含该元素的范围或确定该元素不在RangeSet中。

2024-05-05 15:09:04 874 1

CentOS下 dubbo+zookeeeper伪集群和分布式集群

为了搭建Hadoop平台学习,前期搭建dubbo+Zookeeper集群,这里有详细介绍zookeeeper伪集群和分布式集群, dubbo在tomcat下安装等过程。相关jdk、war、jar等也在百度云https://pan.baidu.com/s/16Eu0afAysdKmNlMXVSfi-Q 下载 ,密码见doc中。

2018-09-21

IDEA-JProfiler插件+JProfiler软件.zip

完整的“[本地会话实时分析模式] IDEA集成JProfiler”所需要的资源。 具体可以参考博客文章的步骤安装。 亲测可以监控分析。

2020-08-05

jca分析工具.zip

利用Jca工具分析JavaCore文件/Thread dump文件。Jca工具分析JavaCore文件/Thread dump文件。很实用。

2020-08-14

CentOS-7(64位 mini版 linux).zip

Linux系统,CentOS7是mini版本,几百M大小,可以搭建Linux服务器环境。比ubuntu的Linux系统小型很多。适合程序员部署相关服务。

2020-08-05

CentOS7下安装搭建Redis-4.0.6

CentOS7下安装搭建Redis-4.0.6的详细过程,有具体的截图说明过程。其中还包含Redis客户端是在Win下搭建,可以连接Redis服务,实现程序测试查看。 tar.gz、exe等包已经包含

2018-09-29

apache-tomcat(win+Linux).zip

apache-tomcat,压缩包中有win、linux两种环境的安装包。win是直接解压即可使用。linux是本人在CentOS环境集成的。相关部署可参考本人相关博客文章。

2020-08-05

CentOS7下安装elasticsearch-5.2.2分布式集群

CentOS7下安装搭建elasticsearch-5.2.2.tar.gz分布式集群的全过程,包括创建非root用户、配置参数设置等详细过程,这是本人亲自搭建,有详细的截图说明过程。 说明的是:CentOS7下基本的JDK、防火墙等设置就不多讲

2018-09-29

redis-4.0.6(Linux版本).zip

安装在CentOS下的Redis.4.0.6版本包。本人亲测,可以正常使用。具体安装步骤见博客介绍。

2020-08-09

Jdk-1.8(win+Linux).zip

这里提供win+Linux两种环境下的Jdk1.8版本资源。具体安装部署,可以参考本人相关博客文章介绍。很实用。

2020-08-05

Xftp6版本.zip

在CentOS环境下,常用到Xftp6辅助工具。 这里是Xftp6版本。可以正常安装使用。正常安装使用。正常安装使用。

2020-08-05

Xshell-6版本.zip

在CentOS环境下,常用到Xshell辅助工具。 这里是Xshell6版本。可以正常安装使用。正常安装使用。正常安装使用。

2020-08-05

Redis软件+RedisClient工具.zip

这里提供win下,Redis软件和Redis Client客户端。两者结合,在工作中很实用。实用。实用。实用。实用

2020-08-05

HiJson 辅助工具.zip

程序员开发需要的JSon辅助工具。便捷实用。

2020-08-05

Postman软件安装包

postman用于模拟发包 http

2018-11-06

makrdown安装包

typora markdown软件安装包,开发中很多需要这种.md格式

2018-11-06

mysql绿色版3306

这里是mysql绿色版。

2019-03-10

Redis安装包

Redis 64位的 msi安装包

2018-11-06

空空如也

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

TA关注的人

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