Spring AI 학습 2주차

조현희·2026년 3월 3일

  • jpa-hibernate 처럼 chatmodel-openai가 구성되는 것

chatmodel

  • call: 호출
  • stream: 서버에서 클라이언트에 단방향 데이터 쏘기

chatclient

  • 이거 사용!
  • jpa를 통해서 findById 이런거 쓰듯이 chatclient 통해서 개발을 할 수 있다.

  • 사용자 메시지: 사용자의 질의

  • 시스템 메시지: 역할 부여하는 문장(너는 10년차 개발자야 이런 것). 이렇게 주는 것보다 chatClient 를 만들 때 defaultMessage 를 통해 주는 게 좋음

  • flux 타입으로 반환해야 한다

  • 직렬화: 객체 -> json

  • 역직렬화: json -> 객체

  • .entity(class이름.class) 하면 역직렬화 해줌

promptTemplate

필드명 생성시 주의사항

  • 변수명에 의미없는 이름을 사용하면 성능이 떨어짐

프롬프트 엔지니어링 기법

  • 보통 제로샷, few shot 을 많이 쓰고 cot도 많이 쓰임
  • few shot의 경우 예시를 많이 주면 토큰낭비, 비슷한 예시만 주면 그쪽으로 쏠림
  • step back 의 경우 책의 내용 추론 등 도메인 지식이 필요할 때에 사용. (Let's think step by step) 잘 사용하면 출력물의 퀄리티가 높아짐

실습

  • 모듈 둘다 yml에서 우클릭해서 gradle 가져와야 함
  • active profile에 ollama 해놓으면 됨
  • 모델 여러개 사용가능하지만 설정이 복잡하고 ai 실습하는게 목적이기 때문에 한개만 사용하도록 설정함

과제

  • yml 수정 및 active profile ollama 설정하기
  • 코드 수정 후 커밋, 푸시 해놓고 튜터님 쪽에 pr 올려놓기
  • 메인 > 서비스 > 북서비스 내용 구현하기
profile
도전

0개의 댓글