自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用OpenAgents打造西天取经智能招聘网络:当观音菩萨遇上AI Agent协作

本文介绍如何使用OpenAgents框架构建"西天取经智能招聘网络"系统。通过五个AI智能体协作,实现简历解析、智能分流和多维度评估,帮助观音菩萨招聘取经团队成员。文章提供完整开发指南,以西游记为背景,将古典神话与现代AI技术巧妙结合,展示多智能体协作系统的开发过程。

2025-12-23 09:56:10 1634

原创 从零开始:MCP数据库助手(三)- 多数据库支持

MCP DataTools从单数据库支持升级为多数据库支持,满足企业级需求。项目新增对PostgreSQL、MySQL的支持,完善了连接池配置和配置管理功能,并采用容器化方案简化部署。升级后的项目结构更加规范完善,通过pyhi.toml添加了多数据库依赖,并设计了统一的配置管理模块settings.py。核心功能MultiDatabaseManager实现了对URL检测、连接管理等功能,使工具从"玩具"升级为实用"工具"。项目还提供了完整的测试方案和数据库初始化脚本,确保各数据库环境一致性。

2025-10-02 11:08:08 919

原创 用Dify打造西天取经简历筛选工作流

本文以《西游记》为背景,讲述了观音菩萨面对大量妖怪简历筛选的压力,使用Dify工作流搭建了一个智能简历筛选系统。该系统通过四个主要步骤(简历输入→文档提取器→信息提取层→决策分析层)对候选人进行分类和评估,并针对不同背景的候选人(如孙悟空、白骨精、浪浪山小猪妖)给出了不同的评估路径和结果。

2025-08-28 16:03:15 1454

原创 用dify手动搭建崔老道说书对话流

摘要:本文介绍了如何利用Dify的对话流功能打造"评书风格"的智能说书应用,重点展示了《四神斗三妖》知识库问答系统的实现方法。通过选择模板、配置知识库检索节点、设置评书风格的LLM提示词等步骤,构建了一个具有传统评书韵味的问答系统。文中详细解析了日志分析过程,包括知识检索节点的运行机制、相似度评分标准,以及如何通过提示词工程塑造崔老道说书人角色。最后展示了实际问答效果,证明该系统能有效输出符合评书风格的个性化回答。

2025-06-06 11:20:21 1944 1

原创 Pydantic中的default_factory详解:初学者必看指南

Pydantic中的default_factory用于解决可变对象默认值共享问题。本文介绍了其核心作用:当需要为列表、字典或自定义类设置默认值时,使用default_factory可以确保每次实例化都生成独立对象,避免多个实例共享同一引用。通过对比default和default_factory的区别,展示了正确使用方法,包括嵌套模型和自定义工厂函数场景。文章还分析了常见错误,如混淆参数传递方式,并提供了配置管理和API响应等实际应用示例。default_factory是处理动态默认值的有效工具,能防止可变对

2025-12-24 09:45:30 544

原创 第6篇:实战项目-智能知识库助手(入门版)

本文介绍如何整合LangChain、RAG等技术构建智能知识库助手。该助手能加载多格式文档,支持自然语言问答、多轮对话和独立对话状态管理。采用分层架构设计,包含API接口层、核心业务层(文档加载、向量存储、状态管理等模块)和基础设施层(OpenAI API、FAISS等)。开发采用自顶向下设计方法,从接口定义到模块实现,最后整合测试。项目初始化包括创建虚拟环境、安装依赖、配置API密钥和建立模块化目录结构。

2025-12-24 09:43:48 468

原创 谈谈langchain的Tools与Agents智能代理

本文介绍了基于LangChain框架构建智能代理系统的核心概念和方法。智能代理通过将大语言模型(LLM)作为"大脑"与各类工具作为"手脚"相结合,实现了超越传统文本生成的任务处理能力。

2025-12-23 10:06:13 581

原创 LangChain是什么?为什么它是构建AI应用的关键框架?

LangChain:大模型应用开发框架 LangChain是2022年10月推出的开源框架,旨在简化大模型应用的开发流程。其核心价值在于提供标准化组件和模块化设计,使开发者能够像搭积木一样构建复杂AI应用。框架包含六大核心组件:Model I/O(标准化输入输出)、Chains(工作流引擎)、Memory(上下文记忆)、Agents(智能决策)、Retrieval(知识增强)和Callbacks(监控调试)。通过分层架构设计(基础层、组件层、部署层)和配套工具(LangSmith、LangServe等),L

2025-12-23 09:30:00 732

原创 Python数据库编程必学技能:上下文管理器让你告别连接泄漏

摘要:Python上下文管理器的数据库连接应用 本文通过租房比喻生动解释了Python中上下文管理器(Context Manager)的概念和应用。作者从初学者常见的数据库连接管理问题入手,展示了忘记关闭连接的风险,以及手动管理的繁琐性。随后引入上下文管理器作为解决方案,详细解析了@contextmanager装饰器和yield语句的工作原理。文章用"智能租房管家"的比喻形象说明了上下文管理器如何自动处理连接的创建和关闭,确保资源安全释放。最后提供了完整的数据库管理器实现示例,并强调了异

2025-12-22 09:51:27 711

原创 第5篇:RAG技术在LangChain中的实现

本文介绍了如何在LangChain v1中实现RAG(检索增强生成)技术。RAG通过结合外部知识库和大语言模型,有效解决了模型幻觉问题。文章详细讲解了文档加载与分割的实现方法,提供了支持文本、PDF、网页和CSV等多种格式的统一加载接口,并展示了实际运行效果。通过代码示例演示了如何加载不同格式的文档数据,为后续实现RAG系统奠定了基础。

2025-12-22 09:42:41 985

原创 第4篇:状态管理与对话记忆

本文探讨了大语言模型(LLM)的状态管理与对话记忆技术。首先指出LLM本身无状态的特性导致对话连续性缺失的问题,强调状态管理和对话记忆的重要性。然后详细介绍了LangChain 1.0的状态管理机制,包括基于Checkpointer的核心状态保存方案和thread_id的多线程管理策略。文章重点区分了记忆实现方式(架构层)与记忆类型(内容层)两个关键概念,并通过代码示例演示了ChatMessageHistory手动管理和RunnableWithMessageHistory自动管理两种实现方式。这些技术使AI

2025-11-18 09:43:00 738

原创 第3篇:深入理解LCEL表达式语言

本文介绍了LangChain v1.0中LCEL(LangChain Expression Language)的演进与核心应用。LCEL从构建工作流的基础语法发展为智能体(Agent)的核心组件,成为搭建AI工具的"乐高积木"。文章通过代码示例展示了LCEL如何通过管道操作符|组合提示模板、语言模型和输出解析器,构建高效的工作流。重点解析了Runnable接口的统一性和组合能力,并演示了多步骤链和条件链的实现。LCEL在v1.0中的定位转变使其成为构建动态智能体应用的基础框架,为AI开发

2025-11-18 09:40:36 936

原创 第2篇:Model I/O基础

本文详细介绍了LangChain框架中最基础的Model I/O组件,它是与大模型交互的核心接口。Model I/O由三大核心组件构成:Models(模型)负责调用各种大语言模型,包括LLMs、Chat Models和本地模型;Prompts(提示)提供强大的提示词管理功能,包括基础提示模板、聊天提示模板和少样本提示;Parsers(解析器)将模型输出转换为结构化数据,如字符串、JSON、Pydantic对象和列表等。文章通过丰富的代码示例展示了如何使用这些组件构建AI应用,并强调了它们在LangChain

2025-11-07 14:50:18 922

原创 第1篇:LangChain简介与环境准备

摘要: LangChain是一个开源框架,用于简化基于大语言模型(LLM)的应用程序开发。其核心价值在于组件化、链式调用和工具集成,解决提示词管理、记忆功能缺失等开发痛点。最新v1版本引入LCEL(LangChain表达式语言)、Middleware机制和标准化Agent构建方式。本文演示了环境配置和首个对话程序,通过ChatOpenAI生成广告语,并介绍了Middleware在复杂场景中的应用。LangChain为开发智能体(Agent)提供了高效工具链,后续将深入探索其核心功能。

2025-11-07 14:47:20 724

原创 从零开始构建PDF文档生成器(二)- 添加页眉页脚

本文介绍了如何为PDF文档添加专业化的页眉页脚功能。首先完善了页面设置管理器,通过PageSettings类实现了页面尺寸、边距等参数的管理,并提供了内容区域、页眉页脚位置的计算方法。然后通过PageElements类实现了具体的页眉页脚绘制功能,支持自定义文本内容、字体大小等配置,页眉包含居中标题和下划线,页脚则显示页码和总页数信息。这些功能使得生成的PDF文档更加专业和规范。文章还详细解释了PDF坐标系统的特点以及内容区域的计算逻辑。

2025-11-02 10:43:10 575

原创 从零开始构建PDF文档生成器(一)- 基础搭建

本文介绍了一个基于Python和ReportLab的PDF文档自动化生成工具。该项目采用模块化设计,包含配置管理、字体处理等核心功能模块。文章详细说明了开发环境搭建步骤,包括创建虚拟环境、安装ReportLab依赖库以及准备中文字体资源。项目结构规划清晰,采用渐进式开发方式,通过配置文件驱动PDF生成过程。重点展示了字体处理器的实现方案,解决了中文显示问题。该项目具有功能强大、中文友好、灵活可扩展等特点,适合需要自动生成复杂PDF文档的应用场景。

2025-11-02 10:41:53 845

原创 Python方法类型全解析:类方法、实例方法和静态方法怎么用?

用接地气的方式,带你彻底搞懂类方法、实例方法和静态方法三种方法的用法

2025-10-17 14:15:28 301

原创 第6篇:对话能力实战

本文介绍了如何实现多轮对话能力,重点聚焦上下文管理技术在电商客服场景中的应用。通过轻量化的system message设定客服角色,保存并拼接历史对话(user/assistant消息),采用低温度参数(0.3)和标准消息格式来保证回复稳定性。文章提供了完整的Python实现代码示例,展示了对话系统如何连贯处理用户从产品咨询到竞品对比再到性能询问的完整交互流程,体现了AI客服的专业性和上下文理解能力。

2025-10-12 09:14:27 309

原创 第5篇:转换能力实战

本文介绍了提示工程中的转换能力,重点解析了格式转换、语言翻译和风格转换三大要素及其在电商客服场景中的应用。通过Python代码示例展示了如何实现客户信息结构化、多语言翻译和回复风格调整等功能,帮助开发者掌握数据标准化、国际化支持和品牌调性统一等关键技术点。文章包含完整的API调用方法和JSON输出示例,为构建智能客服系统提供了实用解决方案。

2025-10-12 09:13:58 176

原创 第4篇:推理能力实战

本文介绍了如何构建AI推理能力系统,包括逻辑推理、情绪分类和主题推断三大核心功能。逻辑推理模块通过分析问题描述,输出可能原因、解决方案、紧急程度和推理过程。情绪分类模块能识别客户反馈中的情绪倾向、强度及关键指标。主题推断模块可提取文本核心主题和关键词。这三个功能共同构成了一个完整的AI推理分析系统,适用于客服场景中的问题诊断、情绪识别和需求分类。通过示例代码展示了各模块的实现方法和输出效果,为构建智能客服系统提供了实用参考。

2025-10-11 10:02:32 305

原创 第3篇:摘要能力实战

本文介绍了文本摘要能力的三个核心要素:文本摘要、信息提取和批量处理,以及它们在客服场景中的应用。通过Python代码示例展示了如何实现基础文本摘要功能,并逐步扩展为特定信息提取和批量处理能力,最后引入缓存机制提高效率。示例包括投诉内容提炼和订单信息提取,输出结果为JSON格式的结构化数据,适用于客服系统的自动化处理需求。

2025-10-11 09:32:59 222

原创 第2篇:优化客服提示词

本文介绍了优化电商客服系统提示词的两个核心原则:清晰具体的提示和给模型思考时间。通过四种策略实现清晰提示:使用分隔符区分输入、结构化JSON输出、条件检查机制和少样本提示。在思考时间方面,提出分步处理流程和教导模型先分析问题再回答的方法。这些优化策略显著提升了客服响应的专业性、准确性和可操作性,同时增强了系统的可维护性和扩展性。测试案例展示了优化后的提示词能生成更结构化和针对性的客服响应,有效处理咨询、投诉等各类问题。

2025-10-10 15:30:34 1052

原创 第1篇:创建基础电商AI客服

本文介绍了两种LLM在客服场景的区别:Base LLM知识广但表达不足,Instruction Tuned LLM更适合客服需求。解释了Token计费机制导致需要控制回复长度,以及温度参数调节回复风格(0.3-0.7为客服理想值)。实践部分展示了一个基础电商客服程序,通过50字内的专业友好回复处理商品咨询,包含API调用代码示例。最后指出该程序虽简单但已具备基本功能,为后续优化奠定基础。

2025-10-10 15:29:17 408

原创 别再为Python找不到模块而头疼了!一招解决复杂项目的导入问题

Python项目中的模块导入问题困扰着许多开发者,特别是当项目具有复杂目录结构时。本文分享了一种优雅的解决方案:动态计算并添加项目根目录到Python搜索路径中。通过获取当前文件的绝对路径,使用os.path.dirname()计算项目根目录,再将其插入sys.path列表前端,可以确保模块导入的正确性。这种方法相比硬编码路径或修改环境变量更灵活可靠,适用于不同运行环境。文章还提供了实际案例和注意事项。

2025-10-02 17:56:05 1022

原创 从零开始:MCP数据库助手(二)- 核心功能实现

本文介绍了如何通过三个核心功能提升AI对数据库的智能操作能力:1)智能搜索相关表名,通过关键词模糊匹配快速定位目标表;2)深度解析表结构,获取字段、主键、索引和外键等详细信息;3)安全执行SQL查询。文中提供了Python代码实现,包括表名搜索的filter_table_names()函数和表结构解析的schema_info()函数,这些功能特别适用于大型数据库系统,能显著提高数据查询效率和分析能力。

2025-10-01 11:08:18 829

原创 从零开始:MCP数据库助手(一)- 基础搭建

MCP DataTools:AI与数据库交互的桥梁 MCP(Model Context Protocol)是为AI助手扩展外部工具能力的标准协议,赋予AI操作数据库等外部系统的"手"。本文介绍了构建MCP数据库工具的实现步骤: 项目采用现代架构设计,使用uv包管理器,分离源码、数据和测试目录 通过DatabaseManager类统一管理数据库连接,支持连接测试、表查询等功能 实现首个MCP工具函数list_tables(),使AI能查询数据库表结构 核心优势: 安全可控的数据库访问 AI

2025-10-01 10:19:50 870

原创 第3篇:原生SDK极简入门

本文介绍了如何将一个FastMCP工具改写为原生SDK版本。

2025-09-12 17:25:08 397

原创 第2篇:数据持久化实战

本文介绍了如何将食谱助手从内存存储升级到SQLite数据库,实现数据持久化。

2025-09-12 17:24:23 349

原创 第1篇:MCP核心概念与组件实战

MCP(Model Context Protocol)是一套让AI应用调用本地工具的标准协议,包含三大核心组件:工具组件(功能执行)、资源组件(数据存储)和提示词组件(交互优化)。本教程以构建智能食谱助手为例,介绍MCP的本地和远程两种部署模式,重点演示本地模式开发。通过创建虚拟环境、安装FastMCP框架和MCP Inspector工具,实现食谱数据存储、查询和用户偏好管理等基础功能,帮助开发者在30分钟内快速掌握MCP的核心概念和实战技能。

2025-09-12 17:23:24 1232

原创 踩坑实录:Django继承AbstractUser时遇到的related_name冲突及解决方案

Django自定义用户模型时,继承AbstractUser可能导致groups和user_permissions字段的反向查询名称冲突。解决方案是在自定义模型中显式声明这两个多对多字段,并设置唯一的related_name参数(如custom_user_groups)。同时需在settings.py中配置AUTH_USER_MODEL指向自定义模型,最后执行数据库迁移。此冲突源于Django权限系统的多对多关联机制,必须手动重写字段以解决命名冲突问题。

2025-09-05 10:25:52 427

原创 Python老司机带你玩转类属性查看

刚学Python面向对象时,你是不是经常对着对象属性一脸懵逼呢?想看看对象里藏了哪些数据,结果用print(obj)却只能得到一串 <main.XXX object at 0x0000023D>。今天老司机教你4种花式查看类属性的骚操作,看完让你直接原地起飞!

2025-09-05 10:09:11 218

原创 Day7-JWT 认证

本文介绍了如何用JWT替换全局变量解决多进程环境下的认证问题。主要内容包括:1)分析当前全局变量方案的问题;2)提出JWT解决方案,它具有无状态、可验证和跨服务优势;3)具体实现步骤:安装JWT库、配置工具函数、创建认证/权限依赖、更新数据模型和登录API。通过JWT和依赖注入,实现了更安全可靠的认证机制,同时减少了重复代码。

2025-09-04 14:08:26 878

原创 Day6-依赖注入

本文介绍了如何利用FastAPI的依赖注入功能优化重复代码。作者针对Day4项目中的分页参数和权限检查等重复代码问题,提出了通过依赖注入进行重构的方案。具体实现包括:1)将数据库连接管理统一到dependencies.py文件;2)创建get_pagination分页依赖,将页码转换逻辑封装复用。通过依赖注入,有效减少了重复代码,统一了错误处理,使API函数更专注于业务逻辑。文章还提到后续将结合JWT认证进一步完善权限相关的依赖注入实现。

2025-09-04 14:06:42 401

原创 Day5-中间件与请求处理

本文介绍了如何通过中间件解决API开发中的常见问题。主要内容包括:1)使用CORS中间件解决跨域访问问题,配置允许访问的前端地址;2)添加日志中间件记录请求信息,便于问题排查和性能监控;3)通过异常处理器统一错误格式。文中提供了详细的代码实现和curl测试方法,验证了CORS配置的正确性。这些中间件有效提升了API的可用性和可维护性,为后续开发奠定了基础。

2025-09-04 14:01:54 1045

原创 Day4-异步优化

该文章介绍了如何将同步API改造为异步API以提升性能。主要内容包括:1)异步化的必要性,解释了同步API在高并发时的性能瓶颈;2)具体改造步骤:安装异步数据库驱动、配置异步数据库连接、测试异步连接;3)异步CRUD操作的实现,展示了如何将查询方法改为异步形式。关键技术点包括使用SQLAlchemy的异步扩展、async/await语法以及FastAPI的异步支持。通过异步改造,API可以同时处理多个请求,显著提升并发处理能力。

2025-08-28 14:19:18 744

原创 Day3-数据持久化

本文介绍了从内存存储迁移到SQLite数据库的步骤。首先分析了内存存储的三大问题:数据易丢失、并发访问问题和难以扩展。然后分三步实现数据库迁移:1)配置SQLAlchemy数据库连接,创建会话工厂和基本模型类;2)定义用户和文章的数据模型,包含表结构和关系;3)创建CRUD操作层封装数据库访问逻辑。文章详细展示了数据库配置代码、模型定义以及测试方法,帮助开发者构建更健壮的数据存储方案。

2025-08-28 14:11:40 326

原创 Day2-数据验证增强

本文介绍了如何加强博客API的数据验证规则,提升系统安全性。首先指出Day1版本存在的三个主要问题:弱密码验证(如"12345678")、无邮箱域名限制以及缺乏内容过滤。改进方案分为三步:密码强度验证、邮箱域名限制和内容过滤(本文重点介绍前两步)。

2025-08-27 10:20:39 343

原创 Day1-基础搭建

本文介绍了使用FastAPI搭建基础博客API的过程,主要分为三个部分:1)项目搭建,选择FastAPI因其自动文档生成、类型提示和异步支持等优势;2)用户管理,实现注册、登录功能,使用内存存储用户数据;3)文章管理,完成文章的增删改查功能。文章详细展示了项目结构设计、数据模型定义(使用Pydantic进行验证)以及核心业务逻辑的实现代码,为后续升级数据库存储打下基础。该API具有清晰的模块划分和类型提示,便于维护和扩展。

2025-08-26 14:30:09 712

原创 Python中的索引访问 vs 元组解包:如何选择最佳方案

本文对比了Python中元组的两种访问方式——索引访问与元组解包。索引访问适合单个元素获取、动态索引和不规则数据处理,具有灵活性优势;而元组解包在多元素获取、固定结构数据时更具可读性。文章提供了决策流程图,建议根据需求选择:单元素/动态选择用索引,多元素/固定结构用解包。

2025-07-31 16:40:13 947

原创 Python 中字典和 if-else 的选择

本文对比了Python中条件判断的两种方式:if-else语句和字典映射。if-else适合处理3-5个简单条件、逻辑复杂或条件间有依赖的场景;字典则更适用于条件数量多、对应固定处理或需要快速查找的情况。文章建议根据实际需求灵活选择或混合使用,并提供了对比表格帮助决策。关键原则是代码要易于理解和维护,同时考虑扩展性和性能。通过合理选择条件判断方式,可以使代码更加优雅高效。

2025-07-23 14:31:28 317

空空如也

空空如也

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

TA关注的人

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