自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用 LangChain + Flask 部署你的 AI API

前面我们已经学会:PromptChainMemoryRAGAgent但现在有一个问题:👉 这些都只能在 Python 里自己调用。如果我要:做网站?做小程序?做 APP?做企业内部系统?怎么办?答案:把 AI 封装成 API 服务。

2026-03-03 18:16:30 205

原创 Agent 实战:让 AI 自动调用工具(真正的智能系统)

你安排步骤 → AI执行AI自己决定 → 选工具 → 执行 → 再思考 → 再选工具这就像:Chain = 你写死流程Agent = AI 有“自主权”在 👉 LangChain 中,Agent 的核心是:模型 + 工具 + 决策循环return f"这是对内容的简要总结:{text[:50]}..."description="用于总结一段文本"llm=model,agent.run("请帮我总结这段话:人工智能是计算机科学的一个分支...")AI 会自动选择 Summarizer。

2026-03-03 18:13:13 387

原创 RAG 实战:让 AI 读你的 PDF 并回答问题(LangChain 完整教程)

RAG 全称:检索增强生成用户问题↓从你的知识库里找相关内容↓把内容交给模型↓模型基于资料回答而不是让模型“凭空编”。

2026-02-28 09:30:00 414

原创 Memory 记忆机制:让 AI 真正记住你(LangChain 实战)

本文介绍了如何解决大模型无记忆的问题,通过LangChain实现对话记忆功能。首先解释了模型默认无记忆的原因,然后详细演示了三种记忆实现方式:基础版ConversationBufferMemory、优化版ConversationBufferWindowMemory(限制记忆轮数)和高级版ConversationSummaryMemory(自动摘要)。文章包含完整代码示例,指导读者创建能记住用户信息的AI助手,并分析了记忆机制的本质(自动拼接历史对话到Prompt)。最后列举了记忆功能的典型应用场景和常见问题

2026-02-27 21:30:00 958

原创 Chain 机制详解:用管道写 AI 工作流(LangChain 实战进阶)

本文介绍了如何使用LangChain构建AI工作流,通过Chain机制将多个AI处理步骤串联起来。主要内容包括:1)Chain的基本概念,即通过LCEL(LangChain Expression Language)将Prompt、模型和输出解析器连接成流水线;2)实战案例演示如何构建自动写作系统,实现"生成标题→选择最佳→撰写文章"的三步流程;3)进阶用法展示LCEL的自动变量传递和流程组合功能;4)通过自动摘要系统示例说明Chain的实际应用价值。文章强调Chain是构建复杂AI系统的

2026-02-27 17:06:44 329

原创 [特殊字符] Prompt 工程入门:让 AI 真正听你话(LangChain 实战)

【摘要】Prompt(指令)是决定AI模型输出质量的关键因素。本文详解Prompt工程的核心要点:1)明确指令比模糊指令能获得更精准输出;2)通过LangChain实现结构化Prompt,包括基础模板、角色设定和Few-shot示例;3)实战演示如何创建AI面试官工具;4)提出写好Prompt的5大原则:角色设定、任务明确、格式要求、示例参考和输出控制。文章指出,合理运用Prompt技术能让同一模型发挥截然不同的效能,并预告下篇将深入讲解Chain机制构建复杂AI工作流。

2026-02-26 21:30:00 337

原创 10分钟跑通第一个 LangChain 项目(手把手实战)

本文提供了10分钟快速上手LangChain的实践指南,包含两种实现方式:1)使用OpenAI API搭建AI问答程序;2)通过Ollama运行本地模型。教程详细演示了环境配置、代码实现步骤(模型创建、Prompt设计、链式调用),并完成了一个AI标题生成器项目案例。文章还解析了LCEL表达式的优势,列举了常见错误解决方案,帮助初学者快速掌握LangChain核心开发流程,为后续Prompt工程学习打下基础。

2026-02-26 17:30:00 1131 2

原创 LangChain 是什么?为什么现在必须学?(小白也能看懂)

LangChain 是什么

2026-02-26 13:12:35 1612 2

原创 Python 文件解压全解教程

批量解压下载的数据集;程序自动提取日志压缩包;Web项目上传压缩包后自动解包;测试中需要解析外部压缩数据文件。Python 自带的标准库 + 第三方扩展库,能让这些操作非常简单。

2025-10-29 21:45:38 441

原创 Python 测试全解 · 第二篇

测试不只是为了找错,而是为了证明自己对。—— Kent Beck(TDD 之父)

2025-10-28 20:05:03 1000

原创 Python 测试全解 · 第一篇

写测试,其实是对自己代码的尊重。测试不仅能防 bug,更能培养一种“逻辑审查力”。当你写代码时脑中就能浮现测试点,那说明你已经真正跨过了“会写代码”的门槛,进入了“写得靠谱”的层次。

2025-10-28 20:02:07 2003

原创 用 Python 自动生成带图表的 Excel 汇总报告

自动生成图表,无需人工绘制数据更新即可自动刷新图表适合日报、月报、销售趋势等自动报表场景到这一步,我们的“Python Excel 自动化系列”已经从原始表 → 清洗 → 汇总 → 可视化形成了一条完整的自动报表流程。

2025-10-25 18:32:27 462

原创 第十章:Python 面向对象编程(类与对象、继承、多态实战

编程思想特点过程式编程按步骤写代码(先干什么,再干什么)面向对象编程把数据和功能封装成“对象”,让对象自己去做事过程式写法:定义函数run_dog()eat_dog()。面向对象写法:创建一个Dog类,对象调用方法dog.run()dog.eat()。面向对象更符合我们“现实世界”的思维方式。class Dog:print("汪汪!")

2025-10-25 18:31:24 872

原创 第九章:Python 异常处理与调试技巧

这一章非常关键,它直接关系到你的与。很多初学者写代码时,最怕的就是程序报错 —— 而本章,就是要教你。

2025-10-24 16:50:06 903

原创 第八章:Python 文件与数据读写

保存运行结果;读取配置文件;导入或导出数据;与其他系统交互(如日志、CSV、JSON)。掌握文件操作,是从“写代码”走向“做项目”的关键一步。

2025-10-24 16:47:30 996

原创 第七章:Python 数据结构进阶

Python 之所以强大,很大一部分原因是它内置了四种非常灵活的数据结构👉 列表(list👉 元组(tuple👉 字典(dict👉 集合(set高效地保存、修改和搜索数据;轻松完成各种数据处理;写出结构清晰、性能优良的代码。fruits = ["苹果", "香蕉", "橘子"]['苹果', '香蕉', '橘子']有序:元素有固定顺序;可变:可以修改、增加或删除;支持重复元素。info = ("Tom", 20, "北京")有序;不可修改(元素一旦定义不能改);

2025-10-24 16:46:46 886

原创 第六章:函数与作用域详解(含参数类型与返回值)

def 函数名(参数1, 参数2, ...):函数体return 返回值print("你好,欢迎学习Python!")# 调用函数greet()你好,欢迎学习Python!

2025-10-24 16:44:16 701

原创 Python基础教程第5篇 循环语句与控制流程全解

想象一下:老师让你打印 1 到 100 的数字。太笨了,对吧?程序员更聪明 —— 只要写几行循环代码,电脑就能帮我们重复执行!

2025-10-23 15:23:42 1023

原创 Python基础入门教程(第四篇):条件判断与分支结构全攻略

根据不同条件,执行不同操作。如果成绩 ≥ 60,则输出“合格”如果天气好,就去爬山,否则就宅家登录时,如果密码正确,就进入系统,否则提示错误在 Python 中,用ifelifelse来实现分支判断。

2025-10-23 15:15:07 325

原创 Python基础入门教程(第三篇):运算符与表达式全解

运算符(Operator)是执行计算、比较、逻辑判断的符号。等。3 + 5age > 18a and b💡一句话理解表达式会“产生一个结果”,这个结果可以是数字、布尔值、字符串等。

2025-10-23 15:14:20 367

原创 Python基础入门教程(第二篇):变量、数据类型与输入输出

变量就是“用来存放数据的名字”。你可以把变量想成一个贴了标签的盒子,里面可以放任何值。name = "Alice" # 把字符串"Alice"放入名为name的盒子age = 18 # 把数字18放入名为age的盒子💡通俗解释当你写age = 18时,Python 会在内存中开辟一个空间存 18,并贴上“age”的标签,以后你提到age,它就知道是这个值。

2025-10-23 15:12:11 339

原创 Python基础入门教程(第1篇)——Python简介与环境搭建

Python 是一种解释型、通用型、面向对象的编程语言。它的特点是:语法简洁、可读性强、学习成本低,同时功能非常强大。数据分析与人工智能Web 开发自动化脚本(批量处理文件、网页爬虫)测试开发(接口测试、UI自动化)办公自动化(Excel、Word、PDF 批处理)Python能帮你把电脑的重复工作交给代码完成。

2025-10-23 15:10:55 1115

原创 第六篇:Scrapy 爬取多页内容与分页逻辑实战

爬虫最常见的需求之一就是“分页爬取”——网站数据往往被分散在多页里。本篇我们将讲解 Scrapy 中如何优雅地处理分页请求,防止重复抓取与遗漏。分页爬取是 Scrapy 中最基础、也是最常用的实战技能。理解请求调度机制与递归结构后,你就能轻松应对大部分分页网站。

2025-10-22 14:59:56 716

原创 第六篇:Requests 代理、超时与重试机制详解

当遇到 500、502、503、504 状态码时,会自动重试最多 3 次,每次等待时间依次增加。Requests 支持 HTTP、HTTPS、SOCKS 协议的代理。在实际项目中,合理设置这三项能显著提升爬虫或接口脚本的可靠性与健壮性。代理可以隐藏真实 IP、突破访问限制或进行分布式爬取。网络不稳定或接口波动时,自动重试机制可以提高成功率。,则每次重试间隔为 1s、2s、4s…Requests 原生不带重试机制,但可通过。这种简单的代理轮换方式适合中小规模爬取。要使用 SOCKS 代理,需要安装。

2025-10-22 14:59:34 1270

原创 聚宽实战系列 十大常见问题与实用代码全解

先认证;控制好日期与权限范围;熟悉核心函数与参数。掌握这些常用写法,研究与回测效率都会大幅提升。

2025-10-22 14:58:16 2917

原创 【聚宽实战】jqdatasdk库get_fundamentals 无数据?一文教你快速排查权限与时间问题

在聚宽(JoinQuant)平台做量化研究时,我们经常会用到来获取个股的财务数据,例如估值、市盈率、市净率等指标。。这时,不一定是代码写错了,可能只是——。本文就带你一步步排查,并提供验证思路。

2025-10-22 14:48:16 1246

原创 第五篇:Session 会话与登录保持实战

)session.cookies.set("sessionid", "abc123") # 手动设置 cookie通过设置的内容会在每个请求中自动添加。

2025-10-21 14:01:17 915

原创 第4篇:Headers 与 Cookies 管理全解

Win64;x64)",输出结果会显示我们发送的头信息。自定义User-Agent可以有效绕过部分网站的反爬虫机制。请求头 headers 的常见类型与自定义方法;cookies 的提取、发送与 Session 自动管理;多场景实战与常见错误。掌握这些技巧后,你就能灵活模拟浏览器访问、自动登录网站或保持身份状态。

2025-10-21 13:59:34 348

原创 第4篇:Headers 与 Cookies 管理全解

Win64;x64)",输出结果会显示我们发送的头信息。自定义User-Agent可以有效绕过部分网站的反爬虫机制。请求头 headers 的常见类型与自定义方法;cookies 的提取、发送与 Session 自动管理;多场景实战与常见错误。掌握这些技巧后,你就能灵活模拟浏览器访问、自动登录网站或保持身份状态。

2025-10-21 13:58:31 362

原创 第3篇:requests的POST 提交与数据传输全攻略

方式参数名适用场景表单提交data=网页表单、老接口JSON 提交json=REST API、现代接口有些接口要求附带特定请求头,比如认证信息或自定义标识。可以通过headers如果同时使用data与自定义,务必保持一致,否则服务器可能拒绝请求。files = {POST 请求的表单与 JSON 提交方式;headers 自定义与文件上传;请求体组合技巧;常见错误与最佳实践。理解这些内容后,你就能灵活地模拟表单提交、上传文件或调用现代 REST 接口。

2025-10-21 13:57:35 470

原创 第2篇:Requests的请求参数与 URL 构造全解

本文全面介绍了Python Requests库中URL参数构造的多种方法。详细讲解了GET请求通过params传递参数的自动编码机制、多值参数处理、手动构造查询字符串的技巧,以及POST请求中URL参数的传递方式。文章还涵盖了URL编码原理、复杂参数构造实例(如分页请求、混合路径参数)、实用小技巧和常见问题解决方案。通过具体代码示例,展示了如何避免参数乱码、重复拼接等常见问题,帮助开发者构建更精确可靠的API请求。

2025-10-21 13:56:06 559

原创 第1篇《Requests 基础入门与响应对象详解》

Requests 的基本概念与安装;Response对象常用属性;GET/POST 的基础用法;常见问题与解决方式。掌握这些内容后,你就能自由地发送网络请求并处理响应数据。

2025-10-21 13:55:00 732

原创 第五篇:Scrapy Pipeline 管道处理与数据存储全攻略

本文介绍了Scrapy框架中Pipeline管道的使用方法和技巧。Pipeline用于处理、清洗和存储爬虫抓取的数据,通过yield item输出的内容会依次进入启用的管道处理。文章详细讲解了如何创建Pipeline类、激活配置、设置优先级,并提供了保存到CSV、JSON和MySQL的代码示例。同时分享了分层处理、动态控制、异步操作等实用技巧,以及常见错误如忘记激活管道、编码问题等。掌握Pipeline机制可以灵活实现数据的后处理和存储,是Scrapy爬虫开发的重要环节。

2025-10-20 14:20:57 410

原创 第4篇: Scrapy的Item 与 ItemLoader 使用详解

Item是 Scrapy 中专门用来描述数据结构的对象。简单来说,它相当于“数据模板”或“数据模型”。进入项目目录中的items.pytext = scrapy.Field() # 名言author = scrapy.Field() # 作者tags = scrapy.Field() # 标签这样我们就定义了一个叫QuoteItem的结构,里面包含三个字段。

2025-10-20 14:13:49 690

原创 第3篇: Scrapy 的Request 与 Response 深入讲解

很多网站会根据User-Agent或Referer判断访问是否合法。Win64;x64)",💡如果项目中需要统一设置请求头,可以直接在q=0.9',

2025-10-20 14:13:04 980

原创 第2篇 Scrapy 编写第一个爬虫——从网页中提取数据

本文介绍了如何用Scrapy编写第一个网页爬虫。主要内容包括:1)创建爬虫项目并生成基础模板;2)编写核心逻辑,使用CSS选择器提取页面标题、作者和标签;3)实现自动翻页功能;4)运行爬虫并导出CSV数据;5)对比CSS和XPath选择器的使用。文章还分享了调试技巧和常见问题,并展示了如何导出不同格式的数据。通过这个简单示例,读者可以掌握Scrapy爬虫的基础开发流程,满足大部分网页数据采集需求。

2025-10-20 14:12:05 1997

原创 第一篇 Scrapy入门与环境搭建

到这一步,你已经完成了:✅ Python 环境配置✅ Scrapy 安装✅ 创建并运行第一个爬虫✅ 了解了项目结构与工作原理第2篇《编写第一个爬虫——从网页中提取数据》我们将真正开始写爬虫逻辑:用 XPath 和 CSS 选择器提取网页内容,并把结果导出为文件。

2025-10-20 14:10:49 831

原创 第四篇: Selenium等待机制详解:让自动化脚本更稳定的三种方法

类型是否智能应用范围优点缺点❌ 否固定时间等待简单易用效率低✅ 是全局作用简洁、通用不灵活✅ 是针对特定条件精确、高效写法稍复杂全局设一个隐式等待;局部用显式等待保证关键步骤稳定;少量调试时才使用sleep()。

2025-10-19 10:25:02 1082

原创 第五篇:Selenium 交互操作篇 —— 输入、点击与表单处理全攻略

本文详细介绍了Selenium自动化测试中的三种等待机制:强制等待(time.sleep)、隐式等待(implicitly_wait)和显式等待(WebDriverWait)。强制等待简单但效率低;隐式等待全局生效,智能等待元素出现;显式等待最灵活,可针对特定条件进行精确等待。文章对比了三者的优缺点,建议实际项目中结合使用,并提供了常见等待条件和实战示例,帮助开发者编写更稳定的自动化脚本。掌握这些等待机制能显著提升脚本的可靠性和执行效率。

2025-10-19 10:17:29 885

原创 第三篇:Selenium 元素定位技巧:从基础到高级的八种定位方式

本文系统介绍了Selenium自动化测试中的八种元素定位方法,从基础的ID、NAME、CLASS_NAME定位,到更灵活的XPath和CSS选择器。重点讲解了XPath的多种写法(绝对/相对路径、属性匹配、模糊匹配等)和CSS选择器的语法规则,并通过百度搜索框示例演示具体应用。同时指出了定位失败常见原因及解决方案,建议优先使用ID定位,并合理利用浏览器开发者工具调试。文章还提及多元素操作方法,为后续学习等待机制奠定基础。这些定位技巧是编写稳定自动化脚本的关键所在。

2025-10-19 10:13:10 672

【Web应用开发】基于Spring Boot与Vue的校园二手交易平台设计:实现交易管理与用户交互功能

内容概要:本文档是一份基于Spring Boot + Vue技术栈的二手交易平台课程设计报告,系统面向校园用户,实现了用户注册登录、商品发布与浏览、收藏、购买、消息留言、订单管理以及管理员对用户和商品的审核与管控等功能。系统采用B/S架构和MVC设计模式,前端使用Vue框架配合Element UI组件库,后端基于Spring Boot构建RESTful API,数据存储采用MySQL数据库,并通过MyBatis实现持久层操作。文档详细阐述了系统的需求分析、整体架构设计、功能模块划分、数据库建模及关键代码实现,并完成了包括功能、安全、性能在内的多维度测试,验证了系统的稳定性与可用性。; 适合人群:具备Java和Vue基础知识的软件工程专业学生或初级开发者,适合进行课程设计、毕业项目参考或全栈开发入门学习。; 使用场景及目标:①学习Spring Boot与Vue前后端分离项目的开发流程与集成方式;②掌握MVC架构在实际项目中的应用;③理解校园类二手交易系统的业务逻辑与功能设计;④为类似电商平台的开发提供技术实现参考与代码模板。; 阅读建议:建议结合文档中的E-R图、数据库表结构与关键代码片段进行对照阅读,动手搭建环境并运行项目以加深理解,重点关注登录认证、商品管理、订单流程等核心模块的实现细节。

2025-10-14

空空如也

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

TA关注的人

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