受到LangChain4j和LlamaIndex的启发,Spring AI项目旨在简化将AI功能开发和集成到现有或新的Spring应用程序中。通过利用其他模块中成熟的编码模式,例如JdbcTemplate或RestClient,该集成隐藏了与所有受支持的供应商(如OpenAI、Microsoft、Amazon、Google和Hugging Face)的LLM التعامل相关的各种复杂性。
Spring AI提供高级接口(例如ChatModel、ImageModel、VectorStore等),并将这些接口实现为不同的模块,而每个模块都提供与特定LLM的集成点。 我们可以根据需要导入这些模块。
例如,要使用OpenAI模型,我们可以导入依赖项
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
并使用自动配置的bean(ChatClient、ChatModel等)与LLM交互
@RestController
public class OpenAiChatController {
private final ChatClient chatClient;
@Autowired
public OpenAiChatController(ChatClient chatClient) {
this.chatClient = chatClient;
}
@GetMapping("/joke-service/simple")
public Map<String, String> tellSimpleJoke() {
return Map.of("generation", chatClient.call("Tell me a joke"));
}
}
以下教程将详细介绍每个子主题/功能,并提供示例。
1. 入门
2. 模型
- Spring AI EmbeddingModel
- Spring AI ImageModel (文本生成图像)
- Spring AI SpeechModel (文本转语音)
- Spring AI AudioTranscriptionModel (语音转文本)
评论