JSCODE Logo
블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

Spring AI와 LangChain - Chat Model 쉽게 이해하기

JSCODE 시니
JSCODE 시니
2026. 06. 13.
author
JSCODE 시니
category
Spring AI
createdAt
Jun 13, 2026 09:49 AM
isPublic
isPublic
series
실무에 바로 적용하는 Spring AI: Spring 서비스에 챗봇·RAG·MCP 도입하기
slug
spring-ai-chat-model-vs-langchain
type
post
updatedAt

✅ 1. 대화(Chat) 방식의 차이

  • LangChain
    • 프롬프트, 모델, 출력 파싱을 | (파이프) 연산자로 엮어서 한 번에 실행하는 LCEL(LangChain Expression Language) 스타일에 최적화되어 있음.
    • 프롬프트 템플릿과 모델 객체를 선언한 뒤, 이를 체인으로 결합하여 호출함.
    • # 랭체인 스타일 (LCEL) chain = prompt_template | chat_model | output_parser response = chain.invoke({"input": "안녕?"})
    • 음식 주문시 ‘빅맥1개 + 코울슬로 + 제로 스프라이트 + 맥플러리’ 세트를 주문하는 것과 비슷함
    • 장점 : 파이프라인 흐름이 한눈에 보이고 간결함
    • 단점 : 중간에 세밀한 비즈니스 로직(특정 조건에서 로그 남기기, 헤더 조작 등)을 끼워넣으려면 코드가 복잡해짐
  • Spring AI
    • AI 모델을 스프링이 관리하는 하나의 '서비스 빈(Bean)'이자 '클라이언트 객체'로 취급함.
    • 자바 개발자에게 친숙한 Builder 패턴(Fluent API) 형식을 사용하여 코드를 직관적이고 가독성 있게 작성할 수 있도록 유도함.
    • // 스프링 AI 스타일 (Fluent API) String response = chatClient.prompt() .user("안녕?") .call() .content();
  • 음식 주문시 각각의 아이템을 장바구니에 각각 담아 한번에 결제하는 것과 비슷함
  • 장점 : 매우 직관적이며 가독성이 뛰어남
  • 단점 : 파이썬의 간결한 스크립트 방식에 비해 코드가 조금 더 길게 느껴질 수 있음
 
 
 

✅ 2. 스트리밍(Streaming) 처리의 차이

  • 스트리밍 : 사용자가 질문했을 때 Chat GPT 처럼 답변을 실시간으로 타다닥 글자별로 끊어서 보여주는 기능.
  • LangChain
    • 파이썬의 비동기 라이브러리인 astream()를 활용해 스트리밍을 지원함
    • 파이썬의 비동기 개념을 완벽하게 이해하고 있어야 함.
  • Spring AI
    • 자바 진영의 리액티브 표준인 Flux를 기반으로 동작함
    • stream() 을 통하여 스트리밍 구현이 가능함.