Spring AI
文章平均质量分 80
小明同学的开发日常
努力成为优秀的工程师!!!!
展开
-
【Spring AI】11. 通用模型 API
通过抽象发送请求和接收响应的过程,处理与各种类型的 AI 模型的交互。该接口使用 Java 泛型来适应不同类型的请求和响应,增强了在不同 AI 模型实现中的灵活性和适应性。该接口使用 Java 泛型来适应不同类型的请求和响应,增强了在不同 AI 模型实现之间的灵活性和适应性。它作为一种标准化的方式来封装和管理来自 AI 模型的输出,确保轻松检索和处理生成的信息。该接口提供了AI模型的主要输出以及与该结果相关联的元数据的方法。它旨在提供一种标准化和全面的方式来处理和解释人工智能模型产生的输出。原创 2024-04-29 14:19:51 · 649 阅读 · 0 评论 -
【Spring AI】09. ETL 管道
ETL 管道的三个主要组件是DocumentReader :实现Supplier<List>DocumentTransformer :实现Function<List, List>Consumer<List> :实现DocumentWriterDocument类包含文本和元数据,使用DocumentReader可以基于 PDF、文本文件和其他文档类型创建 Document类。要构建一个简单的 ETL 管道,您可以将每种类型的实例链接在一起。假如我们有这三种 ETL 类型的实例对象。原创 2024-04-29 14:16:20 · 1407 阅读 · 0 评论 -
【Spring AI】08. 输出解析器
本节提供了OutputParser接口的指南。原创 2024-04-29 14:05:09 · 889 阅读 · 0 评论 -
【Spring AI】07. 提示词
常见的做法是使用 ChatClient 的 generate方法,该方法接受一个Prompt实例并返回一个ChatResponse。Prompt 类作为一个有序的 Message 对象容器,每个 Message 对象是整个提示词的一个部分。每个 Message 在提示词中扮演着独特的角色,其内容和意图各不相同。这些角色可以涵盖各种元素,从用户查询到 AI 生成的响应或相关背景信息。这种安排使得与 AI 模型进行复杂和详细的交互成为可能,因为提示词由多个消息构成,每个消息在对话中扮演着特定的角色。原创 2024-04-29 11:20:33 · 1731 阅读 · 1 评论 -
【Spring AI】06. 函数调用
详细见 章节中的 章节下的 部分。原创 2024-04-29 11:12:32 · 387 阅读 · 0 评论 -
【Spring AI】05. 向量数据库-Redis
Redis 是一个开源(BSD 许可证),用作数据库、缓存、消息代理和流引擎的内存数据结构存储。Redis支持多种数据结构,包括字符串、哈希、列表、集合、带范围查询的有序集合、位图、hyperloglogs、地理空间索引和流。原创 2024-04-29 11:03:11 · 2279 阅读 · 0 评论 -
【Spring AI】05. 向量数据库-Chroma
Chroma 是开源的嵌入向量数据库。它提供了文档嵌入向量、内容和元数据存储,并配备了通过这些嵌入向量进行搜索的工具,包括元数据过滤。原创 2024-04-29 11:02:55 · 2035 阅读 · 0 评论 -
【Spring AI】05. 向量数据库
本节作为 Spring AI 框架中VectorStore接口及其关联类的指南。Spring AI 通过VectorStore接口为向量数据库交互提供了抽象化的 API。要将数据插入向量数据库,请将其封装在Document对象中。Document类封装来自数据源(如 PDF 或 Word 文档)的内容,并包含表示为字符串的文本。它还包含键值对形式的元数据,包括文件名等详细信息。插入向量数据库时,文本内容会被转换为数值数组,或称为向量嵌入。原创 2024-04-28 21:47:05 · 1865 阅读 · 1 评论 -
【Spring AI】04. 转录 API-OpenAI
Spring AI 项目定义了一个名为 spring.ai.openai.api-key 的配置属性,您应将 openai.com 获取的API Key 对这个变量进行赋值。在启动时,将使用spring.ai.openai.audio.transcription指定的选项,但您可以在运行时覆盖这些选项。属性参数前缀spring.ai.openai.audio.transcription。或添加到您的 Gradle build.gradle 构建文件。Spring AI 支持 OpenAI 的转录模型。原创 2024-04-28 21:41:08 · 1119 阅读 · 1 评论 -
【Spring AI】04. 转录 API
Spring AI 提供对 OpenAI 的转录 API 的支持。提取一个通用的AudioTranscriptionClient接口。原创 2024-04-28 21:35:21 · 208 阅读 · 0 评论 -
【Spring AI】03. 图像生成 API-OpenAI
Spring AI 项目定义了一个名为 spring.ai.openai.api-key 的配置属性,您应该将其设置为从 openai.com 获取的 API Key 的值。或者,使用之前描述的spring.ai.openai.image.options.*属性。配置前缀是spring.ai.openai.image,可让您配置基于 OpenAI 的ImageClient 实现。参数前缀是spring.ai.openai,让您连接到 OpenAI。提供了模型配置,例如要使用的模型、质量、大小等。原创 2024-04-28 21:34:03 · 1244 阅读 · 0 评论 -
【Spring AI】03. 图像生成 API
Spring Image Generation API 的设计目的是为了提供一个简单且便携的接口,用于与专门从事图像生成的各种 AI 模型进行交互,允许开发者在不同的图像相关模型之间进行最小代码更改即可切换。此外,借助像ImagePrompt这样的伴生类对输入进行封装,ImageResponse用于输出处理,图像生成 API 统一了与专门进行图像生成的 AI 模型的通信。此外,每个特定模型的 ImageClient 实现都可以有自己的选项参数,这些选项参数可以传递给 AI 模型。是发送反馈的好地方。原创 2024-04-28 21:26:57 · 894 阅读 · 1 评论 -
【Spring AI】02. 嵌入向量API-OpenAI
请参考03. 开始章节中的添加 Milestone 和 Snapshot Repositories,将这些存储库添加到您的构建系统中。两个向量之间的距离表示它们的相关性。Spring AI 项目定义了一个名为 spring.ai.openai.api-key 的配置属性,您应该将其设置为从 openai.com 获得的 API Key 的值。OpenAI 的EmbeddingClient实现的属性前缀是spring.ai.openai.embedding。提供了 OpenAI 的配置,例如要使用的模型等。原创 2024-04-28 21:19:41 · 1200 阅读 · 0 评论 -
【Spring AI】02. 嵌入向量 API
嵌入向量 API 建立在通用的之上,这是 Spring AI 库的一部分。因此,EmbeddingClient 接口扩展了 ModelClient 接口,该接口提供了一套标准方法,用于与 AI 模型进行交互。EmbeddingRequest 和 EmbeddingResponse 类分别扩展自 ModelRequest 和 ModelResponse ,用于分别封装嵌入向量模型的输入和输出。原创 2024-04-28 21:09:59 · 1052 阅读 · 0 评论 -
【Spring AI】聊天API-OpenAI-Function Call
AI 模型调用客户端。",AI模型将调用客户端,提供位置值作为要传递给函数的参数。Spring AI 使这变得简单,只需定义一个返回java.util.Function的@Bean定义,在调用ChatClient的时候,设置这个 Bean 的名字到ChatClient的参数中。作为开发人员,您需要实现一个函数,该函数接收从 AI 模型返回的函数调用参数,并将函数的结果再返回给模型。我们可以为 AI 模型提供有关我们自己函数的元数据,它可以结合您的提示词和这些元数据来判断是否调用用户定义的函数检索该信息。原创 2024-04-28 20:38:08 · 1254 阅读 · 0 评论 -
【Spring AI】01.聊天API-OpenAI
Spring AI 项目定义了一个名为 spring.ai.openai.api-key 的配置属性,您应将 openai.com 获取的API Key 对这个变量进行赋值。在启动时,可以使用OpenAiChatClient(api, options)构造函数或spring.ai.openai.chat.options.*属性配置默认选项。属性前缀为spring.ai.openai.chat,可用于配置 OpenAI 的聊天客户端属性。或添加到您的 Gradle build.gradle 构建文件。原创 2024-04-28 20:29:32 · 1579 阅读 · 1 评论 -
【Spring AI】01. 聊天 API
此外,每个特定于模型的 ChatClient/StreamingChatClient 实现都可以有自己的配置项,这些配置项可以传递给 AI 模型。若要了解Prompt和Message之间的实际应用和关系,尤其是在这些角色或消息类别的上下文中,请参阅 Prompts 章节中的详细说明。此外,在 输入封装 和ChatResponse输出处理 等Prompt配套类 的帮助下,聊天 API 统一了与 AI 模型的通信。它管理 请求预处理 和 响应解析 的复杂性,提供直接和简化的 API 交互。原创 2024-04-28 20:12:27 · 1217 阅读 · 0 评论 -
【Spring AI】04. Spring AI API
Spring AI API 涵盖了广泛的功能。每个主要功能都在其单独的章节中进行了详细说明。跨 AI 提供商的可移植 API,用于聊天文生图和嵌入向量模型。支持同步和 stream API 选项。下拉各自章节以访问特定于模型的功能。我们支持来自OpenAI,Microsoft,Amazon,Google,Huggingface等的AI模型。跨 Vector Store 提供程序的可移植 API,包括新颖的类似 SQL 的元数据过滤器 API,该 API 也是可移植的。支持 8 个向量数据库。原创 2024-04-28 20:04:08 · 366 阅读 · 0 评论 -
【Spring AI】03. 开始
如下面的代码片段所示,可以为一个或多个spring-ai模块(例如spring-ai-openai)的Starter依赖项进行无版本声明。就像熟悉 JavaScript 生态系统的人的“create-react-app”命令一样,Spring CLI 提供了一个创建基于 Spring 的项目spring boot new的命令。Spring AI BOM 声明了 Spring AI 版本使用的所有依赖项的推荐版本。相反,您使用的 BOM 版本决定了使用的依赖项版本。原创 2024-04-28 20:02:27 · 1281 阅读 · 1 评论 -
【Spring AI】02. AI 概念
本节介绍 Spring AI 使用的核心概念。我们建议仔细阅读它,以了解 Spring AI 如何实现背后的想法。原创 2024-04-28 19:46:57 · 1265 阅读 · 0 评论 -
【Spring AI】01. 概述
项目旨在简化人工智能功能的应用程序的开发,避免不必要的复杂性。该项目从著名的 Python 项目(例如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立是因为负责人相信下一波生成式人工智能应用程序不仅适用于 Python 开发人员,也适用于其他开发人员,而且将在许多编程语言中普遍存在。Spring AI 的核心包提供了开发 AI 应用程序的基础的抽象概念。这些抽象概念有多种实现,让我们可以通过最少的代码修改对实现组件进行替换。原创 2024-04-28 19:39:27 · 424 阅读 · 0 评论 -
【Spring AI】前言
官方文档:https://docs.spring.io/spring-ai/reference/index.html。该文档是翻译 Spring Ai 英文文档。原创 2024-04-28 19:34:40 · 312 阅读 · 0 评论