RAG

패스트캠퍼스 환급챌린지 10일차 : 테디노트의 RAG 비법노트 강의 후기

Sssadie 2025. 11. 21. 22:48
반응형

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

Ch1. 프롬프트

 

02. yaml 파일로부터 프롬프트 템플릿 로드(load_prompt)

 

yaml 파일

: 사람이 읽기 쉽고, 데이터 구조를 표현하기에 간결해서 복잡한 파이프라인 설정을 관리하는 데 이상적.

→ LangChain과 같은 프레임워크를 사용할 때, RAG의 파이프라인(데이터 흐름)을 yaml로 정의하여 각 단계가 어떻게 연결되는지 명확히 알 수 있음.

 

> yaml 파일 예시

_type: "prompt"
template: "{fruit}의 색깔이 뭐야?"
input_variables: ["fruit"]

- 변수 부분은 동일하게 중괄호로 묶어줌.

- type 부분에는 반드시 프롬프트가 들어가야 함

 

> 복잡한 형태의 yaml 파일 예시

_type: "prompt"
template: |                                 #파이프(|)를 넣어줌으로써 다음 줄에도 쓸 수 있음
  {country}의 수도에 대해서 알려주세요.       #두 칸 들여써서 프롬프트 작성
  수도의 특징을 다음의 양식에 맞게 정리해 주세요.
  300자 내외로 작성해 주세요.
  한글로 작성해 주세요.
  ----
  [양식]
  1. 면적
  2. 인구
  3. 역사적 장소
  4. 특산품
  
  #Answer:
input_variables: ["country"]

 

cf) 주석처리 단축키

mac OS : command + /

Window OS : Ctrl + /

 

 

03. ChatPromptTemplate

ChatPromptTemplate

: 대화 목록을 프롬프트로 주입하고자 할 때 활용. (채팅 형식의 챗봇을 사용할 때 활용하면 더 좋은 답변을 얻을 수 있음)

→ 메시지는 튜플(tuple) 형식으로 구성하며, (role, message)로 구성하여 리스트로 생성할 수 있음

 

> role (다음 셋 중에 하나 이상 넣어줘야 함)

- "system" : 시스템 설정 메시지. → 주로 *전역설정과 관련된 프롬프트   :: 적용되는 범위 : 대화 전체

- "human" : 사용자 입력 메시지

- "ai" : AI의 답변 메시지

 

 *전역설정 : AI의 role(역할) 또는 페르소나 지정

예시)

  •   재무 컨설턴트의 경우
    → 당신은 재무 컨설턴트입니다. 앞으로 재무 컨설턴트처럼 답변해 주세요.   ←  AI에게 임무를 쥐어줌

ChatPromptTemplate이 PromptTemplate과 다른 점

- PromptTemplate은 하나의 질문 안에 변수들이 위치해 있고, 이를 채워서 물어보고 답변을 받음

- ChatPromptTemplate은 대화형 형식의 템플릿을 만들어놓고, role 이 존재. 질문할 때 변수를 채워주면 template의 변수 부분이 완성되면서 전체 메시지가 LLM으로 들어가서 LLM이 마지막 질문에 대한 답변을 해줌

 


오늘 수업은 챗봇을 만들 때 기초가 되는 내용이었네요. 제가 희망하는 회사에 한 발짝 다가간 느낌이랄까요? 그래서 더 재미있게, 이해하면서 들으려 노력했어요. 영어 문법 정리하듯 코드도 따로 정리를 좀 해둬야겠어요. 내용이 더 복잡하고 어려워질 텐데... 정리해놓지 않은 상황은 생각만 해도 아찔하네요. 

공부 인증 화면에서 왼쪽 화면 모자이크 처리 한 이유는, 강의 내용은 보이면 안 되기 때문입니다.

 

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

 

 

반응형