Ni Blog

「拨开迷雾见月明」

Spring Ai_MCP

前言 学习了Spring Ai的运用之后 引发思考,类似于Claude这类软件如何获取本地资源 接下来学习的MCP协议就可以解决上面的问题 MCP MCP 全称为:Model Context Protocol,即:模型上下文协议,它是一种社区共建的AI 开放协议,它标准化了应用向 AI 应用提供上下文的方式。 对于MCP的定义可以查看Spring AI官网中的...

Spring Ai_ToolCalling

前言 前面完成了调用AI的基本操作 当前学习使用SpringAi的ToolCalling使用 当用户提出特定问题时,可以执行方法,可以通过方法返回相关内容,也可以执行其他操作 ToolCalling 该方法的使用学习非常简单 主要为@Tool注解和@ToolParam注解 官方文档给的示例 class D...

Spring Ai_Advisors

回顾 学习完ChatClient,可以使用ChatClient跟大模型进行互动 并可以添加一些简单功能,如system() 但并没有学习核心功能,例如根据历史进行回复 就会出现以下情况 接下来要为Ai添加上下文功能 Advisor 下面在官方文档中介绍advisor简单的使用方法 var chatClient...

Spring Ai_ChatClient

续 前面使用ChatModel接口,自动注入Spring Ai的默认实现类,来与大模型交流 但后续如果要实现添加默认角色,关键词调用方法,结合上下文等方法ChatModel实现不了 需要使用ChatClient 并且ChatClient可以使用多种大模型进行回答 不在局限于在配置文件进行 开始 创建ChatClient 在官方文档中,实现ChatClie...

Spring Ai快速入门

前言 随着Ai的爆火,各类Ai衍生产品诞生,如AIot,cursor Spring作为一个集成最广泛,功能全面的框架当然要进行跟进 在Spring官网中可以查到Spring Ai相关文档 https://docs.spring.io/spring-ai/reference/api/chat/deepseek-chat.html 本文使用DeepSeek进行...

记录Mysql中的一些函数

记录一些在力扣中用到的函数 CONCAT(str1, str2, …):可以将多个字符串拼接在一起 LEFT(str, length):从左开始截取字符串str,截取length个 UPPER(str):将字符串str中所有字符转为大写 LOWER(str):将字符串str中所有字符转为小写 SUBSTRING(str, begin, end):截取字符串,end 不...

Python爬虫快速入门

学习爬虫的路线 Selenium pymysql scrapy Selenium 通过代码控制浏览器这里以Chrome # 使用 Service 对象初始化驱动 service = Service() chrome_options = Options() chrome_options.add_experimental_option("detach", True) dr...

状态机spring statemachine

1 什么是状态机 状态机,也就是 State Machine ,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。例如,根据自动门的运行规则,我们可以抽象出下面这么一个图。 自动门有两个状态,open 和 closed ,closed 状态下,如果读取开门信号,那么状态就会切换为 open 。open 状态下如果读取关门信号,状态就会切换为 closed 。 状...

关于DeepSeek和OpenAi

技术层面 1-对于DeepSeek的简介 DeepSeek不满足于传统的 “别人做技术创新,我做应用变现” 而是选择了最艰难的技术创新 并在方面应用变现也是行内领先 2-DeepSeek技术 DeepSeek 不是套壳或蒸馏模型 而是基于 Transformer 架构进行了创新和工艺提升 采用的是基于先进技术的整合与优化...

Java调用C++

前言 在对小区提供硬件时,各类硬件设备支持的协议不同,需要实现不同的方法对硬件进行控制 大部分硬件使用MQTT就可以解决 视频监控可以使用SIP+ZLM推流实现 但是海康提供了自己的SDK,需要对海康SDK进行集成 由于大多数硬件,视频推流服务器都是使用C++进行编程速度更快 所以我们需要使用Native来调用C++ 海康部分代码 private stati...