Spring AI 的 Getting Started

Spring AI的Getting Started使用及相关依赖说明

一、依赖的Spring Boot版本

Spring AI supports Spring Boot 3.2.x and 3.3.x

二、Getting Started使用步骤
1. 添加里程碑和快照库
  • Maven
    • 如果需要使用里程碑和快照版本,需在build文件中添加对Spring里程碑和/或快照库的引用。例如:
<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <releases>
            <enabled>false</enabled>
        </releases>
    </repository>
</repositories>
  • Gradle
    • 需添加以下库定义:
repositories {
    mavenCentral()
    maven { url 'https://repo.spring.io/milestone' }
    maven { url 'https://repo.spring.io/snapshot' }
}
2. 依赖管理
  • Maven
    • 可通过在pom.xml文件中添加以下内容使用Spring AI的物料清单(BOM):
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-bom</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  • Gradle
    • 通过在Gradle构建脚本的dependencies部分添加platform依赖处理方法来使用BOM,如下所示:
dependencies {
    implementation platform("org.springframework.ai:spring-ai-bom:1.0.0-SNAPSHOT")
    // Replace the following with the starter dependencies of specific modules you wish to use
    implementation 'org.springframework.ai:spring-ai-openai'
}
三、所有组件添加依赖
1. Chat Model API
  • 该API允许开发者将AI驱动的聊天完成功能集成到应用中,它利用预训练的语言模型(如GPT)生成类似人类的响应。
  • API概述
    • ChatModel接口
      • 定义如下:
public interface ChatModel extends Model<Prompt, ChatResponse> {
    default String call(String message) {...}
    @Override
    ChatResponse call(Prompt prompt);
}
  • StreamingChatModel接口
    • 定义如下:
public interface StreamingChatModel extends StreamingModel<Prompt, ChatResponse> {
    default Flux<String> stream(String message) {...}
    @Override
    Flux<ChatResponse> stream(Prompt prompt);
}
  • Prompt类
    • 是一个ModelRequest,封装了Message对象列表和可选的模型请求选项。
  • Message接口
    • 封装了提示文本内容、元数据属性集合和消息类型分类。
  • ChatOptions类
    • 用于定义可传递给AI模型的一些可移植选项,是ModelOptions的子类,定义如下:
public interface ChatOptions extends ModelOptions {
    String getModel();
    Float getFrequencyPenalty();
    Integer getMaxTokens();
    Float getPresencePenalty();
    List<String> getStopSequences();
    Float getTemperature();
    Integer getTopK();
    Float getTopP();
    ChatOptions copy();
}
  • 此外,每个特定模型的ChatModel/StreamingChatModel实现都可以有自己的选项可传递给AI模型。例如,OpenAI Chat Completion模型有自己的选项,如logitBiasseeduser
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值