宋志辉
这个作者很懒,什么都没留下…
展开
-
Spring Boot 使用详解
如前面的重启与重载 一节中所述,重启功能是通过使用两个类加载器实现的。如果这引起了问题,您可能需要自定义哪些内容由哪个类加载器加载。默认情况下,IDE 中的任何打开项目都使用“重启”类加载器加载,任何常规 .jar 文件都使用“基础”类加载器加载。如果您使用 mvn spring-boot:run 或 gradle bootRun,包含 @SpringBootApplication 的项目也是如此:使用“重启”类加载器加载,其他一切使用“基础”类加载器加载。原创 2024-03-30 07:21:07 · 285 阅读 · 0 评论 -
Spring Boot(版本:3.2.4)入门
Spring Boot帮助你创建独立的、生产级别的基于Spring的应用程序,你可以运行它们。我们对Spring平台和第三方库采取了一种固定的观点,这样你就可以以最小的麻烦开始。大多数Spring Boot应用程序需要很少的Spring配置。你可以使用Spring Boot创建可以使用java -jar启动的Java应用程序,或者进行更传统的war部署。为所有Spring开发提供一个极速且广泛易用的入门体验。一开始就持有固定观点,但当需求开始偏离默认值时,迅速让位。原创 2024-03-29 16:26:24 · 594 阅读 · 0 评论 -
1、Spring CLI 简介
用户定义的命令非常适合重复的编码任务。这些命令定义与代码同存,任何团队成员都可以贡献或改进现有命令,无需创建、更新和发布额外的工件或项目。原创 2024-03-25 14:51:19 · 1150 阅读 · 0 评论 -
2、Spring CLI安装
Spring CLI 提供了多种格式,让您选择自己喜欢的安装方法。可下载的制品可从获取。原创 2024-03-25 14:58:58 · 99 阅读 · 0 评论 -
11、Spring CLI中Action指南
此外,你可能希望将文本内容与动作文件分开编辑,以使用文本编辑器的语法高亮和验证功能。路径是相对于执行用户定义命令的地方。动作用于将 Maven 依赖管理条目注入到你的 Maven pom.xml 文件中。动作用于将 Maven 构建插件条目注入到你的 Maven pom.xml 文件中。动作用于将 Maven 依赖条目注入到你的 Maven pom.xml 文件中。动作用于将 Maven 仓库条目注入到你的 Maven pom.xml 文件中。更多预定义模板引擎变量的信息,请参阅模板引擎部分。原创 2024-03-25 16:08:35 · 39 阅读 · 0 评论 -
13、Spring CLI中的特殊命令
如果在运行命令时遇到困难,你可能想尝试用双引号将其包围。然而,这样你可能需要用单引号替换命令中的任何双引号。这可能会变得复杂,所以不要过度推动这个功能的极限,在实践中它适用于常见的日常任务。对于 Unix 或 Mac,它运行。命令在你启动 shell 的目录中运行一个操作系统命令。这个命令只在交互模式下工作。对于 Windows,它运行。原创 2024-03-25 16:18:54 · 93 阅读 · 0 评论 -
7、Spring CLI中Boot Add使用指南
您可以使用项目列表命令中提供的所有项目,将代码和配置添加到现有项目中。原创 2024-03-25 15:45:43 · 61 阅读 · 0 评论 -
8、Spring CLI中AI命令指南
OpenAI 的 ChatGPT 等大型语言模型为使用 AI 生成代码提供了强大的解决方案。ChatGPT 不仅在 Java 代码上进行了训练,还在 Spring 开源生态系统内的各种项目上进行了训练。这使得 Spring CLI 能够增强应用程序的功能,超出传统教程所能提供的范围。使用简单的命令,你可以描述所需的功能,ChatGPT 会生成一个全面的 README.md 文件,提供实现目标的逐步指导。这就像为你的项目需求创建了一个定制的教程。CLI 也能够自动将生成的指导应用到你的代码库中。原创 2024-03-25 15:50:07 · 80 阅读 · 0 评论 -
5、Spring CLI注册项目
您可以通过两种方式注册新项目:使用项目目录或提供名称和URL。原创 2024-03-25 15:33:52 · 88 阅读 · 0 评论 -
4、Spring CLI 创建新的项目
命令让创建 Spring Boot 应用程序变得简单。这个命令从现有的完整功能 Spring Boot 应用程序的源代码仓库复制内容,以创建一个新项目。要开始,请指定--name选项,它会创建一个带有测试的基本 RESTful Web 应用程序。您还可以使用--from选项创建具有不同功能的项目,例如 Spring Data JPA 或 Spring Cloud Stream。为了进一步定制,你可以指定各种选项(例如--group和--version),以及和。如果提供了。原创 2024-03-25 15:24:42 · 76 阅读 · 0 评论 -
6、Spring CLI向现有项目添加代码
您可以注册自定义命令并与shell交互。向现有项目添加代码或配置是通过包含生成哪些代码或配置以及如何将其整合到当前项目中的指令的动作文件来完成的。模板引擎采用Handlebars技术,该技术能够模拟待添加至新文件或注入现有文件中的代码或配置内容。此外,动作还可以执行shell操作、修改Maven的pom.xml文件,并根据需要执行其他任务。通过自定义命令,开发人员可以根据具体需求编写相应的脚本或操作步骤,这些步骤会被解释并应用于目标项目,实现代码和配置的无缝集成。原创 2024-03-25 15:38:23 · 7 阅读 · 0 评论 -
12、Spring CLI中的角色使用
此外,你可以使用角色来提供命令行选项的值。如果命令行选项没有指定值,并且存在一个与命令选项名称相同的角色变量,命令会自动使用该角色变量的值作为特定选项的值。运行命令时,如果没有传递 greeting 命令行选项,greeting 的值将从同名的角色变量中获取,而不是使用默认值 World。如果没有明确提供命令行选项的值,将使用角色变量的值。在这个快速开始部分,我们将展示如何向默认角色添加变量,并在生成文件时使用它们的值。{{greeting}} 的值来自角色变量,因为它没有作为命令行选项提供。原创 2024-03-25 16:12:51 · 91 阅读 · 0 评论 -
9、Spring CLI用户自定义命令
这创建了一个名为 hello 的用户定义命令,子命令名为 create。你可以通过运行 spring command new --help 查看 spring command new 的完整选项集。$ spring command new --help 名称 command new - 创建一个新的用户定义命令。原创 2024-03-25 15:54:25 · 38 阅读 · 0 评论 -
14、Spring CLI,命令行的start.spring.io
你可以使用 Spring CLI 作为 github.com/spring-io/initializr 的客户端,默认情况下使用 start.spring.io。Shell 风格的项目创建模拟了从 UI 创建项目的方式。要使用 new 命令,在命令行上定义选项。然后,如果 Initializr 需要更多信息,它会进入交互模式来询问明确的问题。原创 2024-03-25 16:28:05 · 58 阅读 · 0 评论 -
3、Spring CLI入门
如果 CLI 在克隆步骤中似乎卡住了,你可能遇到了 GitHub 的速率限制。原创 2024-03-25 15:11:05 · 93 阅读 · 0 评论 -
10、Spring CLI中的Action文件
生成的 /home/testing/rest-service/hello.txton Linux.这个过程展示了在 Spring 应用程序开发中如何使用 Spring CLI 来创建和运行用户定义的命令,并且展示了如何通过 YAML 动作文件来详细指定命令的行为。这为自动化和定制工作流程提供了一个强大的工具。用户定义的命令和动作文件不仅增强了项目的自动化程度,还提供了一种灵活的方式来集成外部工具和服务。通过这些工具,开发者可以快速生成模板代码、修改项目配置,甚至集成构建和部署流程,从而提高工作效率。原创 2024-03-25 16:00:58 · 52 阅读 · 0 评论 -
5.9、【AI技术新纪元:Spring AI解码】ETL Pipeline
ETL(提取、转换和加载)框架是数据处理中的核心,特别是在检索增强生成(Retrieval Augmented Generation, RAG)的应用场景中。使用PDF目录(例如目录表)信息将输入的PDF分割为文本段落,并输出每个段落为一个文档。ETL管道协调从原始数据源到结构化向量存储的流程,确保数据以便AI模型检索的最优格式进行存储。RAG应用场景通过从数据集中检索相关信息,增强生成模型的能力,提升生成输出的质量和相关性。要构建一个简单的ETL管道,可以将每种类型的实例串联起来。原创 2024-03-23 01:05:06 · 145 阅读 · 0 评论 -
5.8、【AI技术新纪元:Spring AI解码】输出解析器
本节提供了OutputParser接口的指南。原创 2024-03-23 01:00:35 · 122 阅读 · 1 评论 -
5.7、【AI技术新纪元:Spring AI解码】Prompts
基于此,Spring AI 可以提供类似于 JdbcTemplate、Spring Data Repositories 的辅助类,最终是像 ChatEngines 和 Agents 这样的更高级构造,这些构造考虑了与模型的过往互动。这种结构化的方法增强了与 AI 的交流的细腻性和有效性,因为提示的每个部分都在互动中扮演着明确和确定的角色。最初,Prompts 是简单的字符串。Tokens 在 AI 模型处理文本的方式中至关重要,它们充当将单词(我们理解的方式)转换为 AI 模型可以处理的格式的桥梁。原创 2024-03-23 00:58:03 · 461 阅读 · 0 评论 -
5.6、【AI技术新纪元:Spring AI解码】函数调用API
在AI模型(如ChatGPT)中集成函数支持功能,允许模型请求执行客户端函数,从而按需动态访问必要信息或执行任务。请注意,以上链接请根据实际情况填充。原创 2024-03-23 00:48:20 · 32 阅读 · 0 评论 -
5.5.10、【AI技术新纪元:Spring AI解码】GemFire 向量存储
如果一切顺利,您应该会检索到包含文本 “Spring AI rocks!!” 的文档。原创 2024-03-23 00:46:10 · 80 阅读 · 0 评论 -
5.5.9、【AI技术新纪元:Spring AI解码】Qdrant
本部分将指导您如何设置 Qdrant VectorStore 以存储文档嵌入并向其执行相似性搜索。Qdrant 是一个开源的高性能向量搜索引擎/数据库。原创 2024-03-23 00:44:13 · 404 阅读 · 0 评论 -
5.5.8、【AI技术新纪元:Spring AI解码】Pinecone
在设置嵌入时,请选择向量维度为 1536。这与我们将在此指南中使用的 OpenAI 模型 text-embedding-ada-002 的维度匹配。:注册后,在 Pinecone 创建新项目、索引,并生成 API 密钥。Pinecone 是一款流行的基于云端的向量数据库,它允许您高效地存储和搜索向量。:在 OpenAI 注册页面创建账户,并在 API Keys 页面生成令牌。参考“依赖管理”部分,在构建文件中添加 Spring AI BOM。:首先,请注册 Pinecone 账户。原创 2024-03-23 00:41:14 · 91 阅读 · 0 评论 -
5.5.7、【AI技术新纪元:Spring AI解码】Redis
Redis 是一款开源(BSD 许可)的内存数据结构存储系统,可用作数据库、缓存、消息代理以及流处理引擎。Redis 提供了诸如字符串、哈希表、列表、集合、带范围查询的有序集合、位图、HyperLogLogs、地理空间索引和流等多种数据结构。便携式过滤表达式会自动转换为 Redis 搜索查询。您可以利用 RedisVectorStore 的通用、便携式元数据过滤器。:用于计算文档嵌入。或使用 OpenAI(云服务)原创 2024-03-23 00:38:59 · 144 阅读 · 0 评论 -
5.5.6、【AI技术新纪元:Spring AI解码】Weaviate 设置指南
Weaviate 是一个开源的向量数据库。它允许您存储数据对象和来自您喜爱的 ML 模型的向量嵌入,并能无缝扩展到数十亿数据对象。它提供了工具来存储文档嵌入、内容和元数据,并通过这些嵌入(包括元数据过滤)进行搜索。EmbeddingClient 实例:用于计算文档嵌入。可选方案如下:Weaviate 集群:可以在 Docker 容器中本地设置集群,或者创建 Weaviate 云服务。对于后者,您需要创建 Weaviate 账户,设置集群,并从控制台详情获取访问 API 密钥。启动时配置:WeaviateVe原创 2024-03-23 00:36:26 · 110 阅读 · 0 评论 -
5.5.5、【AI技术新纪元:Spring AI解码】使用PGvector设置向量存储及进行相似性搜索
本节指导您如何设置PGvector VectorStore来存储文档嵌入并执行相似性搜索。PGvector是一个开源的PostgreSQL扩展,能够支持存储和搜索机器学习生成的嵌入向量,提供查找精确和近似最近邻的功能。它设计得与PostgreSQL的其他特性无缝配合,包括索引和查询。原创 2024-03-23 00:30:53 · 145 阅读 · 0 评论 -
5.5.4、【AI技术新纪元:Spring AI解码】Neo4jVectorStore 设置与使用教程
本节将引导您完成Neo4jVectorStore的配置和使用,以便存储文档嵌入并对它们执行相似性搜索。Neo4j 是一个开源的NoSQL图形数据库,具备完全事务处理能力(ACID),其数据以节点和关系构成的图形式存储。这种设计灵感来源于现实世界的结构,使得在处理复杂数据时能实现高效的查询性能,同时保持对开发者友好的直观易用性。Neo4j 的向量搜索功能允许用户从大型数据集中检索向量嵌入。向量嵌入是诸如文本、图像、音频或文档等数据对象的数值表示形式。原创 2024-03-23 00:25:49 · 1136 阅读 · 0 评论 -
5.5.3、【AI技术新纪元:Spring AI解码】Milvus 向量数据库配置与使用指南
Milvus 是一款备受数据科学和机器学习领域关注的开源向量数据库,其显著特征在于对向量索引和查询提供了强大的支持。Milvus 使用先进的算法加速搜索过程,即使处理大规模数据集也能高效检索相似向量。原创 2024-03-23 00:14:55 · 207 阅读 · 0 评论 -
5.5.2、【AI技术新纪元:Spring AI解码】Chroma 向量数据库配置
Chroma是一个开源的嵌入式数据库,为您提供存储文档嵌入、内容及元数据的工具,并能够通过这些嵌入(包括元数据过滤)进行搜索。原创 2024-03-23 00:11:35 · 124 阅读 · 0 评论 -
5.5.1、【AI技术新纪元:Spring AI解码】Azure AI 服务配置
本节将指导您如何设置AzureVectorStore以存储文档嵌入并利用Azure AI Search Service执行相似性搜索。Azure AI Search 是微软大型AI平台的一部分,是一个功能强大的云端托管信息检索系统,其中一项特性就是支持基于向量的存储和检索方式来查询信息。原创 2024-03-23 00:08:25 · 248 阅读 · 0 评论 -
5.5、【AI技术新纪元:Spring AI解码】向量数据库
向量数据库是一种特殊类型的数据存储系统,在人工智能应用中起着关键作用。相较于传统的关联型数据库,向量数据库不执行精确匹配,而是执行相似性搜索。当输入一个向量查询时,向量数据库会返回与查询向量“相似”的向量结果。有关这种相似度计算的高级层面细节可在向量相似度部分获得。向量数据库常用于将数据与AI模型相结合。其使用的第一步是将数据加载到向量数据库中。当需要将用户查询发送给AI模型时,首先检索一组相似的文档,然后将这些文档作为用户问题的上下文,连同用户的查询一起发送给AI模型。原创 2024-03-23 00:04:28 · 121 阅读 · 0 评论 -
5.4.2、【AI技术新纪元:Spring AI解码】OpenAI Text-to-Speech (TTS) Integration
Spring AI为OpenAI文本转语音客户端提供了Spring Boot自动配置功能。类提供了在进行文本转语音请求时使用的选项。启动时,默认使用spring.ai.openai.audio.speech指定的选项,但您可以在运行时覆盖这些选项。语音API支持使用分块传输编码实现实时音频流。部分,了解如何在构建文件中添加Spring AI BOM。部分,了解如何在构建文件中添加Spring AI BOM。作为属性前缀来配置OpenAI文本转语音客户端。测试提供了一些关于如何使用该库的一般示例。原创 2024-03-22 23:57:12 · 89 阅读 · 0 评论 -
5.4.1、【AI技术新纪元:Spring AI解码】Transcription API
Spring AI 支持 OpenAI 的录音转写模型。原创 2024-03-22 23:53:01 · 83 阅读 · 0 评论 -
5.3.2、【AI技术新纪元:Spring AI解码】Stability AI 图像生成
在运行时,您可以通过向 ImagePrompt 调用中添加新的、请求特定的选项来覆盖默认选项。要在项目中启用它,请在 Maven。要访问 Stability AI 的 AI 模型,您需要从 Stability AI 创建一个 API 密钥,请遵循其入门文档操作。的配置属性,您应将其设置为从 Stability AI 获取的 API 密钥值。Spring AI 支持 Stability AI 的文本到图像生成模型。用于配置连接到 Stability AI 的属性。提供了模型配置,如使用的模型、风格、尺寸等。原创 2024-03-22 23:44:32 · 98 阅读 · 0 评论 -
5.3.1、【AI技术新纪元:Spring AI解码】OpenAI 图像生成
要访问 ChatGPT 模型,您需要创建一个 OpenAI 的 API 密钥。首先在 OpenAI 注册页面创建一个账户,并在 API Keys 页面生成令牌。在运行时,您可以通过向 ImagePrompt 调用中添加新的、请求特定的选项来覆盖默认选项。的配置属性,您应将其设置为从 openai.com 获取的 API 密钥值。Spring AI 支持 OpenAI 的图像生成模型 DALL-E。另外,也可以使用前面描述的。提供了模型配置,如使用的模型、质量、尺寸等。用于配置连接到 OpenAI 的属性。原创 2024-03-22 23:39:40 · 102 阅读 · 0 评论 -
5.3、【AI技术新纪元:Spring AI解码】图像生成API
Spring图像生成API旨在提供一个简单且便携的接口,用于与各类专注于图像生成的AI模型交互,使开发者能够在不同图像相关模型之间轻松切换,只需对代码进行最少的改动。这一设计遵循了Spring框架的模块化和可互换性理念,确保开发人员能够快速调整其应用程序以适应与图像处理相关的各种AI功能。此外,通过ImagePrompt(用于封装输入)和ImageResponse(用于处理输出)等配套类的支持,图像生成API统一了与专用于图像生成的AI模型之间的通信方式。原创 2024-03-21 14:33:32 · 169 阅读 · 0 评论 -
5.2.7、【AI技术新纪元:Spring AI解码】Transformers (ONNX) Embeddings
TransformersEmbeddingClient是一个实现EmbeddingClient接口的类,它使用所选的句子变换器在本地计算句子嵌入。该类利用预先训练好的转换器模型,以Open Neural Network Exchange (ONNX)格式序列化。通过应用Deep Java Library和Microsoft ONNX Java Runtime库来运行ONNX模型并在Java中计算嵌入。原创 2024-03-21 14:28:14 · 121 阅读 · 0 评论 -
5.2.6、【AI技术新纪元:Spring AI解码】Amazon Bedrock
Amazon Bedrock 是一项托管服务,通过统一的 API 提供来自多个 AI 供应商的基础模型。Spring AI 支持所有通过 Amazon Bedrock 提供的 Chat 和 Embedding AI 模型,通过实现 Spring 接口 ChatClient、StreamingChatClient 和 EmbeddingClient 来达成这一目标。原创 2024-03-20 18:24:47 · 71 阅读 · 0 评论 -
5.2.5、【AI技术新纪元:Spring AI解码】VertexAI Embeddings
在Spring AI项目中,定义了一个名为spring.ai.vertex.ai.api-key的配置属性,应将其设置为获取到的API Key值。为了方便依赖管理,Spring AI提供了一个BOM(Bill of Materials),确保整个项目使用一致版本的Spring AI。Spring AI发布的工件存储在Spring Milestone和Snapshot仓库中,请参阅“Repositories”部分以将这些仓库添加到您的构建系统。将api-key替换为您的VertexAI凭据。原创 2024-03-20 18:18:50 · 74 阅读 · 0 评论 -
5.2.4、【AI技术新纪元:Spring AI解码】PostgresML扩展
请参考依赖管理部分,将Spring AI BOM添加到您的构建文件中。通过使用距离度量比较数值向量的相似性,嵌入可用于查找相似的文本片段,或者可以作为其他机器学习模型的输入特征,因为大多数算法不能直接使用文本。为了帮助依赖管理,Spring AI提供了一个BOM(物料清单),以确保在整个项目中使用一致的Spring AI版本。所有以spring.ai.postgresml.embedding.options为前缀的属性可以在运行时通过向EmbeddingRequest调用添加特定于请求的运行时选项来覆盖。原创 2024-03-20 18:11:04 · 47 阅读 · 0 评论