- 博客(359)
- 资源 (20)
- 收藏
- 关注
原创 Spring AI MCP
摘要: MCP(模型上下文协议)是一个标准化协议,用于连接AI模型与数据源/工具,类似USB-C的统一接口作用。其Java实现包含三层架构(客户端/服务器层、会话层、传输层),支持同步/异步通信。Spring AI通过Boot Starter集成MCP,提供客户端(STDIO/HTTP SSE)和服务器(STDIO/WebMVC/WebFlux)启动器,支持多实例管理、自动初始化及与Spring AI工具框架的集成。配置灵活,可定制超时、根访问权限和事件处理,适用于构建智能体与复杂工作流,同时确保数据安全与
2025-06-10 18:06:27
713
1
原创 Spring AI Tool Calling
摘要 Spring AI的Tool Calling功能允许AI模型调用外部工具增强能力,主要应用于信息检索(如查询天气API)和行动执行(如设置闹钟)。开发人员可通过定义工具接口、实现逻辑并注册为Spring组件来集成工具,支持声明式(@Tool注解)和编程式两种方式。模型会根据用户问题判断是否调用工具,将结果整合到最终响应中。该机制通过工具名称、描述和参数配置实现精确调用,有效扩展了AI应用的功能边界。
2025-06-04 18:22:29
566
原创 Nginx 安全设置配置
本文介绍了如何在Nginx中配置安全头部信息以增强网站安全性。通过在/etc/nginx/conf.d/security_headers.conf文件中添加多种安全头部,包括XSS防护、内容类型限制、帧嵌入控制、下载选项限制等,并建议将这些配置包含在server块的location中。关键配置包括X-XSS-Protection、X-Frame-Options和HSTS(Strict-Transport-Security)等,可以有效防范跨站脚本攻击、点击劫持等安全威胁。参考文章链接提供了更详细的安全设置说
2025-06-04 17:26:32
263
原创 Nginx 安全设置问题
本文介绍了四种关键安全响应头的Nginx配置方案: X-XSS-Protection:建议设置为"1; mode=block"以启用XSS保护并阻止攻击页面渲染 X-Frame-Options:推荐"SAMEORIGIN"防止点击劫持攻击 X-Download-Options:配置"noopen"阻止IE自动打开下载文件 Strict-Transport-Security:强制HTTPS访问,建议包含subdomains和preload X-Per
2025-06-04 14:47:20
827
原创 Spring AI Advisor机制
Spring AI Advisors 是 Spring AI 框架中用于增强 AI 交互的核心组件,采用责任链模式实现请求/响应拦截。主要功能包括:动态修改聊天请求/响应、通过 AdvisorContext 共享上下文数据、兼容多模型架构。典型应用场景涵盖对话记忆管理(MessageChatMemoryAdvisor)、日志记录(SimpleLoggerAdvisor)和提示词动态调整。该组件提供同步(CallAroundAdvisor)和流式(StreamAroundAdvisor)两种处理方案,开发者可
2025-06-03 14:48:36
1236
原创 vue发版html 生成打包到docker镜像进行发版
本文介绍了将Vue项目打包为Docker镜像的完整流程:1)通过npm run build生成dist静态文件;2)编写Dockerfile配置nginx容器;3)构建镜像并运行容器。还提供了高级配置选项,包括自定义nginx.conf解决路由问题、多环境管理等。文中包含具体示例文件结构、配置代码和运行命令,帮助开发者快速实现Vue应用的容器化部署。(149字)
2025-05-29 18:23:23
650
原创 kubernate解决 “cni0“ already has an IP address different from 10.244.0.1/24问题
本文解决Kubernetes中Flannel网络插件导致的IP冲突问题。当出现CNI网络设置失败时,建议:1) 清理Flannel残留配置,删除cni0和flannel.1接口;2) 检查/run/flannel/subnet.env文件配置;3) 重新部署Flannel,确保使用正确的pod网络CIDR。最后需验证cni0网桥IP是否变为10.244.0.1/24,若问题未解决可能需要重启节点或检查其他网络插件兼容性。
2025-05-28 20:11:32
453
原创 Spring AI 本地Ollama
本文介绍了Ollama大模型的本地部署及与Spring AI的集成方案。主要内容包括:Ollama在Linux/WSL2等环境下的安装方法,DeepSeek-R1等模型的下载与运行;Spring AI通过引入Ollama依赖实现本地集成;性能优化方案如硬件加速、轻量化模型选择;常见问题处理如资源不足、CUDA内存错误等。该方案帮助开发者快速构建本地化AI应用,平衡灵活性与性能需求。
2025-05-27 14:48:48
741
原创 Ollama自定义模型
Ollama 提供多种自定义模型的方式:1) 支持通过GGUF文件导入模型,只需下载量化模型文件并创建Modelfile即可运行;2) 通过Modelfile定义角色模板,可调整生成参数、设置系统提示和对话格式;3) 支持模型微调与适配器集成,兼容主流架构和格式;4) 提供图形界面工具如Ollama Desktop和Open WebUI,便于可视化管理和交互。操作步骤包括创建配置文件、参数调整和命令行部署,支持从基础模型创建定制版本,满足不同场景需求。
2025-05-27 14:47:31
1045
原创 Srping AI 多模态
多模态 AI 是指能够融合并处理来自多个模态(如视觉、语言、听觉、触觉等)的信息,并进行联合推理或生成的能力。举例说明:图文问答:用户上传一张图片并提问“图中是什么?”模型需要理解图像内容并用自然语言回答。视频理解:分析一段视频中的动作、语音、背景音乐、字幕等,判断视频的情感倾向。语音+图像生成:根据一段描述性的语音生成对应的图像。自动驾驶:结合摄像头(视觉)、雷达(距离)、GPS(位置)、声音传感器等多模态数据做出驾驶决策。特性描述图像理解。
2025-05-26 16:16:08
754
原创 Spring AI 结构化输出
Spring AI 提供了结构化输出转换器,可将LLM的文本输出转换为JSON、XML等格式。该API结合FormatProvider和Converter接口,在调用前后分别处理格式说明和结果转换。主要转换器包括BeanOutputConverter(支持Java类和泛型)、MapOutputConverter(生成JSON映射)和ListOutputConverter(处理列表)。使用时通过提示模板添加格式指令,再由转换器将响应解析为目标类型。例如,BeanOutputConverter可将演员电影作品转
2025-05-26 09:46:28
1180
原创 Spring AI 组件介绍
Spring AI:简化AI集成的Spring框架扩展 Spring AI是一套专为Spring应用设计的AI集成框架,提供模块化组件简化大模型接入与功能开发。核心功能包括: 多模型支持:集成OpenAI、Claude等主流LLM,支持文本/图像生成 工程化工具: 对话管理(ChatClient/ChatMemory) 结构化输出转换(BeanOutputConverter) 函数调用(@Tool注解) 数据处理: 文档解析(PDF/Markdown) 向量数据库对接(Pinecone/Elasticsea
2025-05-26 09:30:11
1500
原创 Spring AI 介绍
Spring AI 是 Spring 生态系统推出的面向人工智能工程的应用框架,旨在将 Spring 的设计原则(如可移植性、模块化)引入 AI 领域,为 Java 开发者提供便捷的 AI 集成方案。其核心特点包括生态融合、跨模型支持、提示工程、嵌入技术、Advisor 拦截器机制和检索增强生成(RAG)。Spring AI 通过标准化接口、模块化设计和快速集成,降低了 Java 开发者使用 AI 技术的门槛。然而,它强制依赖 JDK 17+ 和 Spring Boot 3.3+,对老旧系统不友好,且部分功
2025-05-23 18:29:17
1341
原创 SpringAI学习
Spring AI Advisor机制。Spring AI 本地Ollama。Spring AI 结构化输出。Spring AI 组件介绍。Srping AI 多模态。Spring AI 介绍。Spring AI 源码。
2025-05-23 18:00:11
340
原创 Nginx 代理Https服务
本文提供了Nginx代理转发HTTPS服务的详细配置指南,包括基本HTTPS代理配置、高级配置选项以及HTTP自动跳转HTTPS的设置。基本配置涉及SSL证书、优化参数和代理头设置,而高级配置则包括证书验证、WebSocket代理支持和负载均衡。此外,文章还介绍了如何通过Nginx代理HTTPS后端服务但对外提供HTTP访问的基础配置方案和关键配置说明。配置完成后,建议使用nginx -t测试配置并重新加载。这种配置模式适用于内部服务代理和API网关等场景,既能保证后端通信安全,又能简化前端配置。
2025-05-22 11:36:28
703
原创 AI Tinyflow 详解
Tinyflow 是一个轻量级的 AI 智能体工作流编排框架,旨在通过模块化设计和跨平台兼容性,帮助开发者快速将 AI 能力集成到传统应用中。其核心特点包括:1) 嵌入式开发组件,适合为现有系统增强 AI 能力;2) 轻量化设计,支持边缘计算和物联网场景;3) 前端基于 Web Component,兼容主流框架及原生 HTML/JS;4) 后端支持 Java、Python 和 Node.js,提供多语言 SDK;5) 可视化编排界面,降低技术门槛。Tinyflow 封装了 NLP、CV 等常见 AI 功能,
2025-05-16 08:46:11
929
原创 NGINX HTTPS证书制作
本文详细介绍了Nginx HTTPS证书的生成与配置方法。首先,提供了两种证书生成方式:自签名证书适合测试或内网使用,通过OpenSSL命令生成私钥和自签名证书;CA签名证书则更规范,模拟正式CA流程,生成CA私钥、根证书及服务器证书。其次,指导如何将生成的证书文件放置在Nginx目录中,并修改Nginx配置文件以启用HTTPS,包括指定证书路径和安全增强配置。最后,提醒注意自签名证书的浏览器警告问题,建议生产环境使用免费或商业CA证书,并定期续签。验证方法可通过curl命令或浏览器访问查看证书详情。
2025-05-15 11:53:11
279
原创 MongoDB 创建索引原则
MongoDB索引是提升查询性能的重要工具,其创建应遵循以下原则:首先,理解索引本质,即通过B-Tree数据结构对字段值排序存储,降低查询复杂度。其次,根据查询需求选择合适的索引类型,如单字段索引、复合索引、多键索引及特殊索引(唯一索引、TTL索引)。创建索引时,应优先考虑高频查询和高选择性字段,并注意复合索引的字段顺序。此外,索引管理包括查看、隐藏和删除索引,以及优化数据类型。最后,需权衡索引带来的写入开销和内存占用,避免过度索引,以在查询性能和写入开销之间取得平衡。
2025-05-09 09:46:00
471
原创 AI Agent 和AI Workflow 区别
AI Agent是一个具有自主性的智能实体,能够感知环境、推理决策并执行行动。核心特点包括:动态决策、环境交互、目标导向。例如:客服Agent能根据用户输入自主选择回复内容或调用工具解决问题。是一种预定义的线性任务流程,强调标准化和自动化执行。核心特点包括:固定流程、规则驱动、可预测。例如:软件开发中的“代码提交→测试→部署”流程。场景AI Agent表现AI Workflow表现客服动态补全信息,灵活决策解决方案仅处理标准化工单,流程外问题失效内容生成。
2025-05-07 17:57:18
918
原创 AI Workflow
AI Workflow(人工智能工作流)指的是在构建、部署和管理AI模型与应用时所涉及的一系列步骤和流程。它将数据处理、模型训练、评估、部署及监控等环节有机结合起来,以实现高效、可重复的AI解决方案开发过程。
2025-05-07 15:54:20
834
原创 AI Agent
AI Agent(人工智能代理)是一种能够在特定环境中自主感知、决策并执行任务的智能实体。它结合了人工智能技术与自动化能力,能够根据预设目标或实时变化调整行为,以完成复杂任务。
2025-05-07 15:44:15
333
原创 Mongo mongodump mongorestore 导入出导出操作
以上就是关于MongoDB的mongodump和mongorestore工具的一些基本操作示例及参数解释。根据实际需要调整这些命令中的参数,可以满足大多数的数据导入导出需求。如果还有更具体的问题或需求,请随时提问!
2025-05-07 11:38:44
403
原创 java 加入本地lib jar处理方案
方法是否推荐说明使用 mvn install 安装 jar✅ 推荐最佳实践,方便共享和构建使用 system scope + path❌ 不推荐影响可移植性,维护困难将 jar 放入 lib 并手动添加 classpath❌ 不推荐非标准做法,不适合构建自动化。
2025-04-29 15:14:56
648
原创 Minio Linux 安装 systemctl启动配置
在 Linux 系统中,使用 systemctl 来管理 MinIO 服务是一种常见的方式。
2025-04-23 18:18:19
688
原创 Linux 系统新磁盘分区XFS挂载
通过上述步骤,可快速完成新硬盘的XFS文件系统部署。若涉及复杂存储管理(如LVM),建议结合卷组和逻辑卷优化存储架构48。查看挂载状态及文件系统类型67。命令,确认新硬盘设备标识(如。
2025-04-17 14:28:34
618
原创 金仓数据库基本操作
ksql 是金仓数据库提供的交互式终端工具,用于执行SQL语句和管理数据库。虽然名为pg_dump,但许多功能也适用于KingbaseES,特别是如果使用的是兼容PostgreSQL的版本。ksql 是金仓数据库的交互式终端工具,可以通过执行 SQL 语句或元命令将表结构和数据导出为 SQL 文件。ksql 是金仓数据库提供的交互式终端工具,可以用来执行SQL语句并导出查询结果。ksql 可以直接读取 SQL 文件并执行其中的 SQL 语句。pg_dump 是一个强大的工具,支持导出数据库的结构和数据。
2025-04-10 10:29:32
979
原创 mongodb 创建keyfile
在 MongoDB 中,keyFile 是用于副本集成员间内部认证的密钥文件。它是一个包含随机字符串的文件,所有副本集成员必须使用相同的 keyFile 进行通信。以下是创建和配置 keyFile 的详细步骤。
2025-04-08 13:36:29
536
原创 金仓数据库容器安装
数据库默认用户名:system 数据库默认密码:12345678ab 数据库默认data目录:/home/kingbase/userdata/data 金仓数据库镜像:kingbase:v1。-v 选项冒号左侧宿主机挂载目录(e.g /mnt/data)权限需要设置755的权限(chmod -R 755 /mnt/data),不然会报权限(Permission denied)错误。容器启动后,数据库即开始运行,用户无须手动启动数据库(数据库配置正确/或者处于初始态)5、ksql访问数据库。
2025-04-08 10:15:11
463
原创 Springboot JPA ShardingSphere 根据年分表java详细代码Demo
以上代码可实现:订单数据按年份自动存储到t_order_2023、t_order_2024等表中,且JPA操作完全透明化。通过动态建表机制,避免手动维护物理表结构。:若条件包含order_time范围,ShardingSphere自动合并多表结果。确保实体类中order_time字段类型与数据库DATETIME类型匹配。若需要支持历史数据归档,可结合Hint分片强制路由到指定表。每个年度表需单独创建索引(如order_time字段索引):根据order_time字段值自动路由到对应年度表。
2025-04-08 08:04:07
978
原创 Springboot JPA ShardingSphere 根据年分表
Spring Boot集成JPA与ShardingSphere实现按年分表,需重点关注分片算法选择、时间字段映射及动态表管理。
2025-04-07 18:22:57
713
原创 Springboot JPA 集成ShardingSphere
Spring Boot集成JPA与ShardingSphere可通过以下步骤实现分库分表功能,需重点关注依赖配置、分片规则定义及JPA适配问题:1. 引入核心依赖在pom.xml中添加ShardingSphere和JPA相关依赖:2. 禁用Hibernate自动DDL在application.yml中关闭自动建表,避免与分表结构冲突:二、分片规则配置1. 数据源定义若仅分表不分库,配置单一数据源:2. 分表策略按字段哈希分表(如mobile_hash字段):三、JPA实体类
2025-04-07 18:16:21
587
原创 Nginx “Access-Control-Allow-Origin” 安全配置
通过白名单限制允许跨域的域名,避免使用Access-Control-Allow-Origin *,以减少CSRF等安全风险。以上配置通过动态域名匹配、严格限制方法/头部、正确处理预检请求及补充安全头,实现既灵活又安全的CORS策略15。)中不重复设置跨域头,防止响应头冲突。若需携带Cookie等凭证,需显式设置。确保在错误处理块(如。
2025-04-02 10:35:31
2289
原创 Spring MVC 页面跳转方案与区别
SpringMVC 的跳转方案以转发和重定向为核心,通过 forward: 和 redirect: 关键字实现灵活控制。选择方案时需结合地址栏变化、数据传递需求和安全性等因素14。
2025-04-01 15:09:45
705
原创 纯JS页面跳转
在目标URL后附加参数,通过window.location.search在接收页面解析。通过JavaScript触发表单的submit()方法,以GET/POST方式传递参数。替换当前页面为新URL,不保留原页面的浏览历史(用户无法通过“后退”返回)。通过上述方法可根据需求灵活选择跳转方式,同时结合参数传递实现数据交互。无刷新修改URL并更新历史记录(需配合popstate事件处理)。最常用的跳转方式,直接修改当前页面URL实现跳转,保留浏览历史。功能与href类似,但通过方法调用实现跳转,保留历史记录。
2025-04-01 14:30:02
617
原创 Nginx 解决具有不安全、不正确或缺少 SameSite 属性的 Cookie方案
若后端已设置Cookie属性,Nginx的proxy_cookie_path会完全覆盖原有设置,而proxy_cookie_flags可增量修改18。proxy_cookie_flags仅支持Nginx 1.19.3及以上版本,低版本需改用proxy_cookie_path。当设置Secure属性或SameSite=None时,必须部署有效的HTTPS证书,否则浏览器会拦截Cookie。注:生产环境修改前建议在测试环境验证,避免因配置错误导致会话异常。此配置会覆盖后端返回的Cookie属性。
2025-03-26 10:41:17
1083
原创 nginx 仔细构建 HTTP 头,避免使用未验证/未清理的输入数据
在构建基于 Nginx 的 HTTP 响应时,确保输入数据的安全性是非常重要的。例如,可以使用 map 指令来定义一个安全的映射,只允许特定的值通过。通过遵循上述步骤,可以有效地在 Nginx 中构建安全的 HTTP 头,并减少因未验证或未清理的输入数据引起的安全风险。CSP 是一个重要的安全策略,可以帮助减少 XSS 攻击的风险。例如,如果在 Nginx 配置中动态设置内容类型,确保只接受安全的 MIME 类型。启用详细的日志记录,并监控异常行为,这有助于及时发现并响应潜在的安全威胁。
2025-03-26 09:29:02
383
原创 Springboot body转对象时,存在多余的属性时抛异常
在Spring Boot中,当JSON请求体包含目标Java对象中不存在的属性时,默认情况下Jackson会忽略这些未知属性。若希望此时抛出异常,需通过配置启用Jackson的严格反序列化模式。以下是两种实现方式:在 application.properties 或 application.yml 中全局启用严格检查:方法2:通过Java配置类自定义ObjectMapper创建配置类,手动配置ObjectMapper:方法3:注解特定类(局部配置)若需仅为某个类启用严格检查,使用 @JsonI
2025-03-25 09:18:00
345
原创 springboot body 转对象强验证属性多余属性抛错误
在Spring Boot中,当使用@RequestBody注解来接收HTTP请求中的JSON数据并将其转换为Java对象时,Spring默认会忽略额外的属性。这意味着如果发送的JSON包含一些目标对象中没有定义的属性,Spring不会报错,这些额外的属性会被简单地忽略。可以通过自定义一个配置或者使用一个专门的类来处理JSON反序列化时的行为。在控制器方法参数上使用。
2025-03-25 07:53:28
433
mfc 类库详细 VC good
2009-05-14
数据库编程 VC
2009-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人