Spring 4

Function Calling으로 LLM에게 메서드 제공하기 (feat. AI Agent)

들어가며Spring AI를 공부하면서 가장 인상 깊었던 기능이 바로 Tool Calling(Function Calling)입니다.그동안은 프롬프트와 RAG를 통해서만 LLM에 외부 정보를 전달할 수 있었지만, 이제는 LLM이 직접 외부에 접근할 수 있는 시대가 열렸습니다.물론 모든 모델이 이 기능을 지원하는 것은 아닙니다. 예를 들어 Ollama에서는 해당 기능이 가능한 모델에 Tools 라벨이 표시됩니다.Spring AI 공식 문서에서는 Tool Calling의 활용 범위를 크게 두 가지로 설명하고 있습니다.정보 검색: 데이터베이스, 웹 서비스, 파일 시스템 또는 웹 검색 엔진과 같은 외부 소스에서 정보를 검색 (예: RAG 구현)조치 수행: 이메일 전송, 데이터베이스에 새 레코드 생성, 양식 제출, ..

Spring 2025.08.10

Advisor로 LLM에 추가 정보 제공 및 응답 가공하기 (feat. RAG)

들어가면서Spring AI는 최근 1.0.0 정식 버전으로 출시되며, 내부 구조와 주요 기능이 대폭 정리되었습니다.그중에서도 LLM을 실무에서 안전하고 유연하게 다루기 위해 반드시 이해해야 할 핵심 기능이 바로 Advisor입니다.Advisor는 LLM 호출 전/후의 데이터를 가공하거나 보강할 수 있는 인터셉터(Interceptor) 역할을 수행합니다.이를 통해 외부 정보를 주입하거나, 민감한 응답을 걸러내는 등의 고급 흐름 제어가 가능합니다.Spring AI의 Advisor는 다음과 같은 작업에 활용됩니다:프롬프트 전처리: 고정 지시문 추가, 외부 문서 삽입(RAG), 로깅 등응답 후처리: 민감한 내용 필터링, 마스킹, 응답 포맷 보정, 로깅 등이번 글에서는 Advisor의 구조와 동작 방식을 예제와 ..

Spring 2025.08.03

Spring AI로 LLM 연결하기(Feat: ollama)

들어가면서올해 초 LLM에 관심이 생겨 이것저것 찾아보다가 Spring AI를 알게 되었고, 최근 정식 버전인 1.0.0이 출시되면서 본격적으로 공부하게 되었습니다.제가 느끼기에 Spring AI는 LLM 연결을 매우 쉽게 도와주며, 다음과 같은 다양한 기능을 제공합니다:프롬프트 전처리/후처리를 위한 AdvisorJSON → DTO 구조화 출력 지원LLM이 메서드를 직접 호출하는 Function CallingRAG, MCP, 멀티모달 등 다양한 고급 기능 지원덕분에 이제는 Python 기반 도구가 아니더라도, Java 환경에서도 LLM을 효과적으로 활용할 수 있게 되었습니다.이 블로그 시리즈는 총 3편으로 구성될 예정이며, 각 주제는 다음과 같습니다:Spring AI로 LLM 연결하고 구조화된 출력하기A..

Spring 2025.07.27

[Spring] Factory Method Pattern 사용하기 (Feat: injecting Collections)

Factory Method Pattern이란?팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 구현체의 인스턴스를 만들지는 구현체 클래스에서 결정하게 만드는 패턴입니다.결합도를 낮추고 캡슐화와 추상화를 통해 유지보수성을 높이기 위해서 사용됩니다.Factory Method Pattern의 역할생성 과정을 캡슐화하여 생성 과정의 변경 사항은 호출자에게 투명성을 가집니다.생성 과정을 재사용할 수 있습니다.복잡한 생성 과정을 캡슐화하므로, 호출자는 객체 생성 방벙을 알 필요가 없습니다.생성 과정과 사용 과정을 분리하여 복잡한 코드를 간결하게 바꿀 수 있습니다.injecting Collections이란?Spring에서 선언됨 Interface에 여러개의 구현체가 있을 경유 List, S..

Spring 2025.03.23