admin管理员组文章数量:1027136
聊聊Spring AI 1.0.0
序
本文主要研究一下Spring AI 1.0.0-SNAPSHOT的变更
Artifact ID变更
- Model starters: spring-ai-{model}-spring-boot-starter → spring-ai-starter-model-{model}
- Vector Store starters: spring-ai-{store}-store-spring-boot-starter → spring-ai-starter-vector-store-{store}
- MCP starters: spring-ai-mcp-{type}-spring-boot-starter → spring-ai-starter-mcp-{type}
示例
代码语言:javascript代码运行次数:0运行复制<!-- BEFORE -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
<!-- AFTER -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
Spring AI Autoconfiguration从单体模块变更为每个model、vector-store等独立的autoconfiguration,拆开的目的就是避免引入没必要的依赖,减少冲突风险:
代码语言:javascript代码运行次数:0运行复制<!-- NO LONGER AVAILABLE -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-spring-boot-autoconfigure</artifactId>
<version>${project.version}</version>
</dependency>
取而代之的是:
- Model autoconfiguration: spring-ai-autoconfigure-model-{model}
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-openai</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-anthropic</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-vertex-ai</artifactId>
</dependency>
- Vector Store autoconfiguration: spring-ai-autoconfigure-vector-store-{store}
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-vector-store-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-vector-store-pgvector</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-vector-store-chroma</artifactId>
</dependency>
- MCP autoconfiguration: spring-ai-autoconfigure-mcp-{type}
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-mcp-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-mcp-server</artifactId>
</dependency>
Package Name变更
- KeywordMetadataEnricher以及SummaryMetadataEnricher从
org.springframework.ai.transformer
变更到org.springframework.ai.chat.transformer
- Content, MediaContent以及Media从
org.springframework.ai.model
变更到org.springframework.ai.content
Module变更
之前是所有的都在spring-ai-core,现在拆分到具体的领域模块来减少不必要的依赖,如下:
- spring-ai-commons包含了核心的model比如
Document
、TextSplitter
- spring-ai-model包含了AI能力的相关抽象,比如
ChatModel
、EmbeddingModel
、ImageModel
、ToolDefinition
、ToolCallback
- spring-ai-vector-store统一了向量数据库的抽象
VectorStore
,提供了SimpleVectorStore
便于内存使用 - spring-ai-client-chat提供了high-level的AI会话API,比如
ChatClient
、ChatMemory
、OutputConverter
- spring-ai-advisors-vector-store为RAG衔接了chat和向量数据库,比如
QuestionAnswerAdvisor
、VectorStoreChatMemoryAdvisor
- spring-ai-model-chat-memory-cassandra提供了
CassandraChatMemory
- spring-ai-rag提供了RAG的pipelines,比如
RetrievalAugmentationAdvisor
Dependency Structure变更如下:
- spring-ai-commons (foundation)
- spring-ai-model (depends on commons)
- spring-ai-vector-store and spring-ai-client-chat (both depend on model)
- spring-ai-advisors-vector-store and spring-ai-rag (depend on both client-chat and vector-store)
- spring-ai-model-chat-memory-* modules (depend on client-chat)
小结
Spring AI 1.0.0-SNAPSHOT主要是涉及了Artifact ID, Package, Module的变更;Spring AI Autoconfiguration从单体模块变更为每个model、vector-store等独立的autoconfiguration,拆开的目的就是避免引入没必要的依赖,减少冲突风险;KeywordMetadataEnricher、SummaryMetadataEnricher、Content、MediaContent以及Media涉及了包名的变更;模块的变更将spring-ai-core拆分到具体的领域模块来减少不必要的依赖。
doc
- Upgrading to 1.0.0-SNAPSHOT
- common-artifact-id-changes
- common-package-changes
- common-module-structure
聊聊Spring AI 1.0.0
序
本文主要研究一下Spring AI 1.0.0-SNAPSHOT的变更
Artifact ID变更
- Model starters: spring-ai-{model}-spring-boot-starter → spring-ai-starter-model-{model}
- Vector Store starters: spring-ai-{store}-store-spring-boot-starter → spring-ai-starter-vector-store-{store}
- MCP starters: spring-ai-mcp-{type}-spring-boot-starter → spring-ai-starter-mcp-{type}
示例
代码语言:javascript代码运行次数:0运行复制<!-- BEFORE -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
<!-- AFTER -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
Spring AI Autoconfiguration从单体模块变更为每个model、vector-store等独立的autoconfiguration,拆开的目的就是避免引入没必要的依赖,减少冲突风险:
代码语言:javascript代码运行次数:0运行复制<!-- NO LONGER AVAILABLE -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-spring-boot-autoconfigure</artifactId>
<version>${project.version}</version>
</dependency>
取而代之的是:
- Model autoconfiguration: spring-ai-autoconfigure-model-{model}
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-openai</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-anthropic</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-vertex-ai</artifactId>
</dependency>
- Vector Store autoconfiguration: spring-ai-autoconfigure-vector-store-{store}
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-vector-store-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-vector-store-pgvector</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-vector-store-chroma</artifactId>
</dependency>
- MCP autoconfiguration: spring-ai-autoconfigure-mcp-{type}
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-mcp-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-mcp-server</artifactId>
</dependency>
Package Name变更
- KeywordMetadataEnricher以及SummaryMetadataEnricher从
org.springframework.ai.transformer
变更到org.springframework.ai.chat.transformer
- Content, MediaContent以及Media从
org.springframework.ai.model
变更到org.springframework.ai.content
Module变更
之前是所有的都在spring-ai-core,现在拆分到具体的领域模块来减少不必要的依赖,如下:
- spring-ai-commons包含了核心的model比如
Document
、TextSplitter
- spring-ai-model包含了AI能力的相关抽象,比如
ChatModel
、EmbeddingModel
、ImageModel
、ToolDefinition
、ToolCallback
- spring-ai-vector-store统一了向量数据库的抽象
VectorStore
,提供了SimpleVectorStore
便于内存使用 - spring-ai-client-chat提供了high-level的AI会话API,比如
ChatClient
、ChatMemory
、OutputConverter
- spring-ai-advisors-vector-store为RAG衔接了chat和向量数据库,比如
QuestionAnswerAdvisor
、VectorStoreChatMemoryAdvisor
- spring-ai-model-chat-memory-cassandra提供了
CassandraChatMemory
- spring-ai-rag提供了RAG的pipelines,比如
RetrievalAugmentationAdvisor
Dependency Structure变更如下:
- spring-ai-commons (foundation)
- spring-ai-model (depends on commons)
- spring-ai-vector-store and spring-ai-client-chat (both depend on model)
- spring-ai-advisors-vector-store and spring-ai-rag (depend on both client-chat and vector-store)
- spring-ai-model-chat-memory-* modules (depend on client-chat)
小结
Spring AI 1.0.0-SNAPSHOT主要是涉及了Artifact ID, Package, Module的变更;Spring AI Autoconfiguration从单体模块变更为每个model、vector-store等独立的autoconfiguration,拆开的目的就是避免引入没必要的依赖,减少冲突风险;KeywordMetadataEnricher、SummaryMetadataEnricher、Content、MediaContent以及Media涉及了包名的变更;模块的变更将spring-ai-core拆分到具体的领域模块来减少不必要的依赖。
doc
- Upgrading to 1.0.0-SNAPSHOT
- common-artifact-id-changes
- common-package-changes
- common-module-structure
本文标签: 聊聊Spring AI 100
版权声明:本文标题:聊聊Spring AI 1.0.0 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747383175a2162775.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论