使用 Embedding 模型和向量数据库的 Spring AI RAG
本文主要介绍以下内容: * 嵌入式模型简介。 * 使用 `DocumentReader` 加载数据。 * 在 `VectorStore` 中存储 *Embedding*。 * 实现 RAG(Retrieval-Augmented Generation,检索增强生成),又名 *Prompt Stuffing*。 你可以在 [GitHub](https://github.com...
本文主要介绍以下内容: * 嵌入式模型简介。 * 使用 `DocumentReader` 加载数据。 * 在 `VectorStore` 中存储 *Embedding*。 * 实现 RAG(Retrieval-Augmented Generation,检索增强生成),又名 *Prompt Stuffing*。 你可以在 [GitHub](https://github.com...
1、概览 {#1概览} ----------- 尽管标准的 REST API 可以满足大多数常见需求,但在处理批量(Bulk)或批处理(Batch)操作时,基于 REST 的架构风格存在一些限制。 本文将带你了解如何在微服务中应用 Bulk 和 Batch 操作,以及如何实现一些自定义的面向 "写" 的 Bulk 和 Batch API。 2、 Bul...
1、简介 {#1简介} ----------- 本文将带你了解在 Spring 中处理文件上传(Multipart)请求时出现异常:"No Multipart Boundary Was Found" 的原因,以及解决办法。 2、理解 Multipart 请求 {#2理解-multipart-请求} ----------------------------...
先说结论,**使用 @Order 注解或者是实现 `Ordered` 接口并不能控制 Bean 的加载顺序**。 一、@Order 注解和 Ordered 接口 {#一order-注解和-ordered-接口} ------------------------------------------------ 在 [Spring](/spring/) 框架中,`@Order`...
Open AI 和 Spring AI 简介 {#open-ai-和-spring-ai-简介} ------------------------------------------------ 当 OpenAI 发布 *ChatGPT* 时,它在全球掀起了一场风暴。这是第一次有语言模型能够根据提示生成类似人类的回答。此后,OpenAI 又发布了其他几个模型,包括可以根据文字...
1、概览 {#1概览} ----------- 在构建处理敏感数据的 Web 应用时,确保用户密码的安全性非常重要。密码安全的一个重要方面是检查密码是否泄露,这通常是由于密码出现在 *数据泄露事件* 中。 [Spring Security 6.3](/spring-security/) 引入了一项新功能,让我们可以轻松检查密码是否被已泄露。 本文将带你了解 Spring ...
1、简介 {#1简介} ----------- Spring [WebClient](https://51tbox.com/) 是一款非阻塞、响应式的 HTTP 客户端,而 [WireMock](https://github.com/wiremock/wiremock) 是一个强大的用于模拟基于 HTTP 的 API 的工具。 2、依赖和示例 {#2依赖和示例} -----...
1、概览 {#1概览} ----------- 本文将带你了解 Spring Async 和 Spring WebFlux 之间的区别。 2、场景 {#2场景} ----------- 本文分别用 Spring Async 和 Spring WebFlux 来实现一个简单的 Web 应用。 Web 请求会通过一个延迟时间为 200 毫秒的 Filter,然后 Contr...
本文将带你了解如何在 Spring Boot 应用中配置优雅停机。 1、优雅停机 {#1优雅停机} --------------- 从 [Spring Boot 2.3](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#graceful-shutdown) 开...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 中的一个常见做法是使用外部配置来定义属性。这样,就可以在不同的环境中使用相同的应用程序代码。 外部配置可以使用 properties 文件、YAML 文件、环境变量和命令行参数。 本文将带你了解 properties 文件和 YAML 文件的主要区别。 2、Prop...