ext {
set('springAiVersion', "1.1.0")
}
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-model-openai'
}
dependencyManagement {
imports {
mavenBom "org.springframework.ai:spring-ai-bom:${springAiVersion}"
}
}
dependencies {
implementation 'io.github.cdimascio:dotenv-java:3.0.0'
}
Spring AI는 LLM을 스프링 생태계 안에서 표준화된 방식으로 사용하도록 만든 추상화 계층임
기존 LLM API 사용의 문제
Spring AI는 이런 문제를 해결하고, LLM + Embedding + VectorStore + Prompt + Tool 문법을 하나의 추상화 인터페이스로 제공한다. 즉, 내 코드는 그대로 유지하면서, provider만 바뀌도록 한다.
여기서 provider는 OpenAI, Azure, Anthropic 등을 말한다.
Spring AI는 추상화를 통해 다양한 기능을 제공한다.
https://docs.spring.io/spring-ai/reference/api/chatmodel.html
https://docs.spring.io/spring-ai/reference/api/embeddings.html