【Spring AI】简单使用示例说明
Spring AI 是 Pivotal 推出的一个用于构建人工智能应用的框架,它旨在简化将人工智能和机器学习功能集成到 Spring 应用程序中的过程,让开发者能够更轻松地利用 AI 技术。
特点
1、集成简便:无缝集成到现有的 Spring 生态系统中,开发者可以利用熟悉的 Spring 编程模型和工具来构建 AI 应用。
2、多模型支持:支持多种 AI 模型和服务提供商,如 OpenAI、Hugging Face 等,方便开发者根据需求选择合适的模型。
3、抽象层设计:提供了高层抽象层,隐藏了底层 AI 服务的复杂性,使开发者可以专注于业务逻辑的实现。
4、可扩展性:易于扩展和定制,开发者可以根据具体需求添加自定义的模型、处理器和服务。
作用
1、自然语言处理:可以用于构建聊天机器人、智能客服、文本生成等应用。
2、数据分析与预测:结合机器学习模型进行数据分析和预测,帮助企业做出更明智的决策。
3、图像和视频处理:利用 AI 模型进行图像识别、视频分析等任务。
使用步骤
- 环境准备
确保你已经安装了 Java(推荐 Java 17 及以上版本)和 Maven 或 Gradle 构建工具。 - 添加依赖
如果你使用 Maven,可以在 pom.xml 中添加以下依赖:
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-core</artifactId>
<version>0.8.0</version>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai</artifactId>
<version>0.8.0</version>
</dependency>
</dependencies>
- 配置 API 密钥
如果你使用 OpenAI 服务,需要在 application.properties 或 application.yml 中配置 API 密钥:
spring.ai.openai.api-key=your-openai-api-key
- 编写代码
以下是一个简单的使用 Spring AI 调用 OpenAI GPT 模型进行文本生成的示例:
import org.springframework.ai.client.AiClient;
import org.springframework.ai.client.AiResponse;
import org.springframework.ai.prompt.Prompt;
import org.springframework.ai.prompt.PromptTemplate;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.ai.openai.client.OpenAiClient;
import java.util.HashMap;
import java.util.Map;
@Configuration
class AppConfig {
@Bean
public AiClient aiClient() {
return new OpenAiClient("your-openai-api-key");
}
}
public class SpringAiExample {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
AiClient aiClient = context.getBean(AiClient.class);
// 创建提示模板
String template = "介绍一下 {topic}";
Map<String, Object> model = new HashMap<>();
model.put("topic", "Spring AI");
PromptTemplate promptTemplate = new PromptTemplate(template, model);
Prompt prompt = promptTemplate.create();
// 调用 AI 服务
AiResponse response = aiClient.generate(prompt);
// 输出结果
System.out.println(response.getGeneration().getText());
context.close();
}
}
代码解释
1、配置类 AppConfig:创建 AiClient 实例,这里使用 OpenAiClient 并传入 OpenAI API 密钥。
2、主类 SpringAiExample:
-创建 Spring 应用上下文并获取 AiClient 实例。
-创建提示模板,设置要生成的主题为 Spring AI。
-调用 aiClient.generate(prompt) 方法生成文本。
-输出生成的文本。
注意事项
1、在运行代码之前,确保你已经替换 your-openai-api-key 为你自己的 OpenAI API 密钥。
2、由于 OpenAI API 可能会产生费用,请根据实际情况合理使用。