환경 설정

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란?

Spring AI는 LLM을 스프링 생태계 안에서 표준화된 방식으로 사용하도록 만든 추상화 계층임

기존 LLM API 사용의 문제

Spring AI는 이런 문제를 해결하고, LLM + Embedding + VectorStore + Prompt + Tool 문법을 하나의 추상화 인터페이스로 제공한다. 즉, 내 코드는 그대로 유지하면서, provider만 바뀌도록 한다.

여기서 provider는 OpenAI, Azure, Anthropic 등을 말한다.

SpringAI 기능

Spring AI는 추상화를 통해 다양한 기능을 제공한다.

1. Model Abstraction

https://docs.spring.io/spring-ai/reference/api/chatmodel.html

https://docs.spring.io/spring-ai/reference/api/embeddings.html