Spring Ai超简单教程系列 - 01快速入门

在网上找了一些Spring AI相关的教程,因为官方API更新较快的原因,大部分教程的内容都已过时。所以在参照官方参考文档学习的同时,沉淀每篇文章,为同样热爱学习的你,提供参考。
本系列教程参考Spring AI官方1.1.x版本文档:https://docs.spring.io/spring-ai/reference/1.1/index.html

快速入门

SpringBoot框架作为Java开发必备脚手架,已经深入日常学习、工作中,为了技术延续性以及历史工程迭代,选用Spring AI项目简化集成人工智能功能的应用程序开发。

Spring AI借鉴了LangChain和LlamaIndex等知名Python项目,但Spring AI并非这些项目的直接移植。Spring社区坚信,下一代生成式AI应用将不再仅限于Python开发者,而是会广泛应用于多种编程语言中。

依赖管理

新建maven工程,添加bom到项目中

<properties>
    <java.version>21</java.version>
    <spring-boot.version>3.5.16</spring-boot.version>
    <spring-ai.version>1.1.8</spring-ai.version>
    <spring-ai-alibaba.version>1.1.2.0</spring-ai-alibaba.version>
    <spring-ai-alibaba-extension.version>1.1.2.1</spring-ai-alibaba-extension.version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>${spring-boot.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-bom</artifactId>
            <version>${spring-ai.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud.ai</groupId>
            <artifactId>spring-ai-alibaba-bom</artifactId>
            <version>${spring-ai-alibaba.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud.ai</groupId>
            <artifactId>spring-ai-alibaba-extensions-bom</artifactId>
            <version>${spring-ai-alibaba-extension.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

添加组件依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-openai</artifactId>
    </dependency>

</dependencies>

这里为了后续实现模型路由能力以及自己封装AutoConfiguration引入的是spring-ai-openai手动配置OpenAiChatModel,如果需要自动装配可以引入spring-ai-starter-model-openai并配置模型调用参数。

简单的大模型调用示例

@RestController
public class ChatController {

    ApiKey customApiKey = () -> "sk-xxxx";

    final OpenAiApi openAiApi = OpenAiApi.builder()
            .baseUrl("https://xxxx")
            .completionsPath("/v1/chat/completions")
            .apiKey(customApiKey)
            .build();

    final OpenAiChatOptions chatOptions = OpenAiChatOptions.builder()
            .model("gpt-5.6")
            .temperature(0.8)
            .maxTokens(1024)
            .build();

    final OpenAiChatModel chatModel = new OpenAiChatModel(
            this.openAiApi,
            this.chatOptions,
            DefaultToolCallingManager.builder().build(),
            RetryTemplate.defaultInstance(),
            ObservationRegistry.create()
    );

    @GetMapping("/ai/chat/call")
    public String call(@RequestParam("message") String message) {
        return this.chatModel.call(new Prompt(message)).getResult().getOutput().getText();
    }

}

image

posted @ 2026-09-02 16:25  codest  阅读(7)  评论(0)    收藏  举报