스프링AI 개론
1. 스프링AI
- Spring AI는 개발자가 AI 모델 자체보다 비즈니스 로직과 데이터 활용에 집중할 수 있도록 지원하는 AI 통합 프레임워크
- 스프링 AI의 특징
-- Spring AI의 가장 큰 특징은 LLM 제공업체에 대한 추상화(Abstract Layer) 를 제공한다는 점이다.
개발자는 OpenAI GPT, Google Gemini, Anthropic Claude, Ollama와 같은 다양한 AI 모델을 사용하더라도 동일한 API와 프로그래밍 방식으로 개발할 수 있다.
즉, 애플리케이션은 특정 AI 모델에 직접 의존하지 않고 Spring AI를 통해 AI 서비스를 호출하게 된다.
따라서 모델 변경이나 멀티 LLM 전략을 적용할 때 애플리케이션 코드를 크게 수정할 필요가 없다
2. ChatModel API
- ChatModel API는 OpenAI, Anthropic, Ollama 등 다양한 대형 언어 모델(LLM)과 통신하기 위한 표준화된 추상화 인터페이스
- Spring AI 는 오픈AI, 마이크로소프트, 아마존, 구글, 아마존 베드록, 허깅페이스 등의 AI 모델을 지원
3. StreamingChatModel vs ChatModel
ChatModel (동기식 처리)
- AI 모델이 문장을 모두 완성할 때까지 애플리케이션 스레드가 대기(Blocking)합니다.
동작 방식:
-- 클라이언트가 질문을 보냄.
-- AI 모델이 10초 동안 답변 문장을 생성.
-- 10초 후 완성된 전체 문장을 클라이언트에 반환.
StreamingChatModel (비동기 리액티브 스트리밍)
- Project Reactor의 Flux를 반환하여, AI 모델이 토큰(단어 조각)을 생성하는 즉시 클라이언트로 전송.
동작 방식:
-- 클라이언트가 질문을 보냄.
-- AI 모델이 첫 단어를 생성하는 즉시(예: 0.5초 만에) 클라이언트에 보냄.
-- 이후 생성되는 단어들을 연속적으로 전송(Streaming).
댓글
댓글이 없습니다.
