- 博客(47)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 MCP的应用
MCP(Model Context Protocol)是Anthropic公司推出的标准化协议,旨在规范LLM与外部数据源、工具及服务的交互方式。该协议采用客户端-服务器架构,包含Host、Client和Server三个核心组件,提供知识扩展、工具调用和提示模板三大功能。应用场景包括实时数据访问、自动化任务执行、区块链交互以及构建去中心化AI生态等。通过代码示例展示了如何基于MCP实现高德地图智能助手,支持自然语言查询、路线规划等功能。MCP协议为AI开发者提供了标准化接口,简化了外部系统集成,推动了AI应
2025-12-21 16:34:12
313
原创 Function Calling
Function Calling是大模型与外部系统交互的关键技术,通过调用预设函数实现实时数据获取、复杂计算和操作系统操作。它能将自然语言转化为结构化参数,支持动态决策流程和链式调用。相比MCP,Function Calling开发更快捷、延迟更低,虽然后者可能成为主流,但前者仍将作为基础能力存在。示例代码展示了如何结合高德天气API实现天气查询功能,体现了Function Calling在实际应用中的价值。
2025-12-20 21:40:35
119
原创 lanchain高级
摘要 ReAct范式是一种结合反应(Reaction)和行动(Action)的AI推理框架,通过三步流程提升模型处理复杂问题的能力:1)初步反应,2)深入分析行动,3)迭代优化。该范式使AI能够动态学习,提高自然语言理解和生成的灵活性。工具链组合思路展示了具体实现:用户提交任务后,Agent分析需求并调用相应工具(如文本分析、数据转换、文本处理等),通过ReAct框架整合结果生成最终响应。示例代码展示了如何用Python构建这些工具并与LangChain框架集成,实现从任务分解到结果整合的完整流程。
2025-12-20 20:34:38
488
原创 LangChain基础
本文介绍了LangChain框架的核心组件与应用实例。LangChain提供了一套简化大语言模型(LLM)应用开发的工具集,包括模型调用、提示管理、记忆存储、索引构建、链式调用和代理决策等功能。文章重点展示了如何通过Python代码实现:1)使用通义千问模型构建提示模板并链式调用;2)配置代理工具(如SerpAPI)实现信息查询;3)利用ConversationChain实现对话记忆功能。这些示例演示了LangChain在简化LLM应用开发中的实际应用价值,包括知识问答、历史查询和多轮对话等场景。
2025-12-17 15:57:47
396
原创 RAG高级
本文介绍了三种提升RAG(检索增强生成)系统召回效果的方法:1)改进检索算法,利用知识图谱增强语义理解;2)引入重排序技术,使用BGE-Rerank等模型对召回结果进行相关性重排;3)优化查询扩展,通过大模型对用户查询进行语义改写和分解。文章提供了详细的Python代码示例,包括重排序模型调用和基于LangChain的多查询召回实现,以及针对不同查询类型(上下文依赖、对比型、模糊指代等)的改写策略,帮助提升检索质量。
2025-12-16 06:15:00
880
原创 RAG应用
RAG(检索增强生成)是一种结合信息检索和文本生成的技术,通过实时检索外部知识库来提升生成结果的准确性和时效性。其核心优势包括解决知识时效性问题、减少模型幻觉以及提升专业领域回答质量。RAG流程分为三个步骤:1)数据预处理(知识库构建、文档分块和向量化处理);2)检索阶段(查询处理和重排序);3)生成阶段(上下文组装和回答生成)。文中还提供了Python代码示例,展示了如何使用LangChain等工具实现PDF文本提取、分块处理、向量化存储及检索功能。该方法特别适用于需要结合外部知识库的应用场景。
2025-12-15 07:00:00
928
原创 Embedding与向量数据库
Embedding是将高维数据转化为低维向量的技术,广泛应用于机器学习和自然语言处理领域。词嵌入(如Word2Vec)可将单词映射为向量,捕捉语义关系。主流Embedding模型通过MTEB榜单评测性能,选型需结合业务场景、测试集和成本评估。向量数据库(如FAISS、Milvus)则用于高效存储和检索这些向量数据。
2025-12-14 16:29:32
941
原创 快速搭建前端playwright工程
本文介绍了如何搭建和运行Playwright测试环境。首先需要确保已安装Node.js环境,然后通过npm命令npm init playwright@latest初始化项目,生成完整的工程目录。运行测试用例时,可使用命令行参数配置工作线程数、重试次数等选项,示例命令展示了如何运行指定测试文件。文章还提供了Playwright Node.js版本的官方文档参考链接。该指南适合需要快速搭建浏览器自动化测试环境的开发者。
2025-08-11 19:19:08
277
原创 一文搞懂nvm、node、npm和yarn的关系和区别
本文介绍了Node.js及其生态工具链。Node.js是基于V8引擎的JavaScript运行时环境,用于构建高效、可扩展的网络应用。npm是Node.js默认的包管理工具,用于管理项目依赖。nvm用于管理多个Node.js版本,方便版本切换。Yarn是npm的替代方案,提供更快的安装速度和更好的版本一致性。文章详细列举了各工具的常用命令,并阐述了它们之间的关系:Node.js是基础运行环境,npm/Yarn用于包管理,nvm则专注于版本管理。这些工具共同构成了完整的Node.js开发环境。
2025-08-05 10:39:34
1126
原创 vue请求golang后端CORS跨域问题深度踩坑
摘要:开发者在VUE+Golang的本地联调中遇到CORS跨域问题,按照常规方案配置前后端后仍报错。最终发现Golang服务中CORS中间件的位置是关键:最初将router.Use(middleware.Cors())放在特定路由组内无效,改为全局路由前配置后解决。注意事项包括:1)Access-Control-Allow-Origin需指定具体origin而非*;2)必须通过c.Writer.Header().Add()而非c.Header()设置响应头。该问题耗费两天时间排查,突显中间件位置和头设置方式
2025-07-29 19:35:19
262
原创 golang踩坑之url不会decode问题
摘要 Java和Golang处理HTTP请求中的重定向URL存在差异:Java会自动对URL参数进行编码,而Golang不会。当调用带重定向URL参数的API时(如http://localhost/api/test?id=1&redirectUrl=http%3A%2F%2Fhttpbin.org%2Fredirect%2F3),Java和Postman能正确处理白名单过滤,但Golang会报错。解决方案是使用"net/url"包的QueryUnescape函数手动解码URL参数
2025-07-20 15:10:01
285
原创 非常好用的三方库github.com/samber/lo
github.com/samber/lo 是一个非常实用的 Go 语言第三方库,提供了一些方便的工具函数
2025-06-30 10:41:39
375
原创 dubbo-go的泛化调用
本文介绍了如何在Golang中通过dubbo-go调用Java实现的Dubbo服务。首先需要配置YAML文件指定服务注册中心、协议和消费端信息。然后需在Go中重新定义所有Java接口的入参和出参数据结构,并注册Hessian2序列化对象。实现层通过结构体映射Java服务方法,初始化Dubbo服务后即可调用。最后展示了调用示例和初始化启动流程。整个方案实现了Go与Java在Dubbo生态中的互操作性。
2025-06-16 20:02:51
556
原创 官网gorm写法示例之insert
1、结构体创建2、批量掺入数据-结构体切片3、根据map创建4、根据map切片创建5、用指定的字段创建记录6、用指定忽略的字段创建记录7、批量插入8、跳过钩子9、使用 SQL表达式、Context Valuer 创建记录10、关联创建11、关联创建-跳过关联关系-skip saving associations12、默认值
2023-08-30 17:46:30
776
原创 反射reflect包详解
二、反射的类型对象(reflect.Type)三、反射的类型(Type)与种类(Kind)四、从类型对象中获取类型名称和种类五、使用反射获取结构体的成员类型 reflect.TypeOf()六、从反射值对象获取被包装的值七、通过反射访问结构体成员的值 reflect.Value八、判断反射值的空和有效性九、通过反射修改变量的值十、通过类型信息创建实例十一、通过反射调用函数
2023-06-06 17:53:42
560
原创 复合数据类型
数组1、初始化数组2、数组赋值3、数组比较4、数组遍历5、数组排序二、Slice切片1、获取元素2、增加元素3、切片修改4、切片追加切片三、Map1、map基本操作2、map切片操作3、map排序四、结构体1、结构体访问与操作2、作函数参数3、结构体嵌入和匿名成员
2023-03-28 14:30:24
897
原创 go语言基础笔记
一、前提1、go命令集2、分号插入规则二、基础类型和变量1、内置类型2、变量1)声明2)常量3)枚举3、指针4、数组5、切片6、Map7、函数1)函数2)init函数8、os.Args9、标签LABEL10、结构体11、延迟defer三、条件语句1、if语句2、switch语句3、select语句四、类1、封装2、继承3、多态五、并发1、goroutine2、通道(channel)1)无缓冲通道2)有缓冲通道3)for range读取管道
2023-03-14 15:49:10
282
原创 java踩坑记录
1、springboot整合mybatis2、RestController和Controller的区别3、@Autowired和@Resource区别4、@RequestBody传参5、@JsonIgnore6、解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
2023-03-14 15:43:59
220
原创 MySQL数据库知识
基础查询、高级查询、排序、分页查询、聚合函数、分组查询、连接查询、子查询、内连接查询、左连接查询、右连接查询、自连接查询、自定义函数、函数定义、函数执行、变量、语句、If分支、case分支、while循环、loop循环、repeat循环、函数间调用、函数相关操作四、存储过程、创建存储过程、调用存储过程、查看存储过程、删除、语法结构、变量、循环和条件、传递参数、游标、声明游标、打开游标、使用游标、关闭游标、游标实例、视图、创建视图、查看视图、修改视图、通过视图更新基本表数据、删除视图、事务、定义、特性
2022-12-12 16:33:47
868
原创 Django框架之DRF框架
一、前言1、Web应用模式2、RESTful API规范二、简介二、安装与配置三、序列化器1、创建序列化器2、序列化操作1)序列化过程2)反序列化过程3、校验规则1)单表字段校验2)关联字段校验4、优化serializer.save()5、to_internal_value6、to_representation四、模型序列化器类1、定义模型序列化器类2、修改部分字段方法3、模型器类重写creat/update五、视图层views1、APIView渲染器2、解析器
2022-11-22 16:42:27
4050
1
原创 Django框架之数据库操作
一、前言二、数据库配置三、数据表创建1、单表创建2、关联表创建四、ORM增删改查1、新增数据(C)(1)创建单表数据(2)创建从表数据2、读取数据(R)(1)读取多条数据(2)读取单条数据(3)读取关联表数据3、更新数据(U)4、删除数据(D)5、聚合运算6、分组查询7、QuerySet对象特性
2022-11-21 19:41:12
5332
原创 Docker原理及常见命令
一、docker简介1、Docker namespace2、Docker CGroups3、Docker UnionFS4、AUFS5、Docker 镜像分层机制一、Docker常见命令1、帮助命令2、镜像命令3、容器命令二、数据卷1、匿名挂载2、具名挂载3、指定路径挂载三、Dockerfile1、指令2、制作镜像的过程四、Docker网络1、网络模式2、查看网络3、自定义网络
2022-11-15 18:06:23
1018
原创 Django框架之视图函数views
一、视图函数二、Request请求1、前端参数解析2、请求体参数3、请求头参数4、Cookies & Session5、其他常用方法三、Response返回1、HttpResponse2、JsonResponse3、开发模式4、重定向5、反向定位6、错误视图
2022-11-09 11:13:34
1053
原创 python高级知识之正则表达式
一、正则表达式语法二、正则表达式使用1、re.match()2、re.search()3、re.sub()4、re.compile()5、re.findall()6、re.finditer()7、re.split()
2022-11-07 19:59:06
762
原创 Django框架之环境准备&搭建项目
version:获取当前使用的Django版本(*)startproject:创建一个项目(*)startapp:创建一个app(*)runserver:运行开发服务器(*)shell:进入django shell(*)dbshell:进入django dbshellcheck:检查django项目完整性flush:清空数据库compilemessages:编译语言文件makemessages:创建语言文件makemigrations:生成数据库同步脚本(*)migrate:同步数据库
2022-11-03 10:49:49
667
原创 python高级知识之常用的魔术方法
1、__init__()魔术方法2、__new__()魔术方法3、__str__()魔术方法4、__del__()魔术方法5、__call__()魔术方法6、__len__()魔术方法7、__eq__()魔术方法8、__hash__()魔术方法9、__getitem__()魔术方法10、__setitem__()魔术方法11、__delitem__()魔术方法12、__delattr__()魔术方法13、__add__()/__sub__()魔术方法
2022-10-27 15:34:15
4815
1
压测工具apache-jmeter-5.4版本
2022-11-01
docker部署的django项目运行用例时调用httprunner超时报错
2022-07-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅