Spring AI 提供了对模型上下文协议https://docs.spring.io/spring-ai/reference/1.0/api/mcp/mcp-overview.html(简称 MCP)的支持,该协议允许人工智能模型以结构化的方式与外部工具和资源进行交互并访问它们。 借助 Spring AI,开发人员只需几行代码就可以创建自己的 MCP 服务器,并向人工智能模型公开功能。 MCP...
阅读全文本文中的示例和模式基于全面的提示工程指南,该指南涵盖了有效的提示工程的理论、原则和模式。本文展示了如何使用Spring AI流畅的ChatClient API将这些概念转化为可运行的Java代码。 为方便起见,示例的结构遵循原始指南中概述的相同模式和技术。本文中使用的演示源代码可在以下地址获取: - https://github.com/spring-projects/spring-ai-exam...
阅读全文现代 Web 应用正加速与大语言模型(LLMs)深度融合,构建超越传统问答场景的智能解决方案。为突破模型知识边界,增强上下文理解能力,开发者普遍采用多源数据集成策略,将 LLM 与搜索引擎、数据库、文件系统等外部资源互联。然而,异构数据源的协议差异与格式壁垒,往往导致集成复杂度激增,成为制约 AI 应用规模化落地的关键瓶颈。因此,Anthropic公司推出了模型上下文协议(Model...
阅读全文最近DeepSeek开源了对openai-o1的第一代开源推理大模型:deepseek-r1,因其极低的成本和与openai-o1相当的性能引发了国内外的激烈讨论。DD在做独立产品的时候也一直都有用DeepSeek的API来实现一些功能,比如:TransDuckhttps://transduck.com/中的字幕翻译、视频翻译,效果也是非常不错的。但是,最近因为收到一些私有化的需求,所以对于API...
阅读全文为了构建生成式AI应用,需要完成两个部分: - AI大模型服务:有两种方式实现,可以使用大厂的API,也可以自己部署,本文将采用ollama来构建 - 应用构建:调用AI大模型的能力实现业务逻辑,本文将采用Spring Boot + Spring AI来实现 Ollama安装与使用 !https://static.didispace.com/images3/d888726bdabc2f682d2c...
阅读全文就在昨晚,Spring AI发了个比较重要的更新。由于最近OpenAI推出了结构化输出的功能,可确保 AI 生成的响应严格遵守预定义的 JSON 模式。此功能显着提高了人工智能生成内容在现实应用中的可靠性和可用性。Spring AI 紧随其后,现在也可以对OpenAI的结构化输出完美支持了。 下图展示了本次扩展的实现结构,如果对于当前实现还不够满意,需要扩展的可以根据此图来着手理解分析进行下一步扩...
阅读全文我有一个需求,需要从外部系统获取用户数据。我通过 WebClient 实现的,作为声明性 HTTP 客户端的一部分。 有趣的是,在新的浏览器标签页中打开应用程序后,第一次请求返回了“Connection reset by peer”错误。 这个问题通过禁用对外请求的 keep-alive 解决了。 改造前的代码: java @Configuration public class...
阅读全文使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,Spring Boot中也提供了多种机制来满足不同的API设计要求。 接下来,就通过本文,为大家总结6种常用的请求参数读取方式。如果你发现自己知道的不到6种,那么赶紧来查漏补缺一下。如果你知道的不止6种,那么告诉大家,一起互相学习一下吧~ @RequestParam...
阅读全文@Value注解相信很多Spring Boot的开发者都已经有接触了,通过使用该注解,我们可以快速的把配置信息加载到Spring的Bean中。 比如下面这样,就可以轻松的把配置文件中key为com.didispace.title配置信息加载到TestService中来使用 java @Service public class TestService {...
阅读全文当在 Spring Boot 应用程序中使用Spring Data JPA/spring-boot-2/4-4-spring-data-jpa.html 进行数据库操作时,配置Schema名称是一种常见的做法。然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生变化。比如:需要做数据隔离的SaaS应用。 所以,这篇博文将帮助您解决了在 Spring Boot...
阅读全文