Langchain - PromptTemplate

Jae·2024년 9월 8일

Prompt

  • 모델에 대한 입력을 의미
  • 프롬프트 템플릿 : 여러 클래스를 함수화해서 쉽게 구성하고 작업할 수 있도록 여러 클래스와 함수를 제공한다.

프롬프트 템플릿 종류

  • Prompt Template : 일반적인 프롬프트 템플릿을 생성할 때 활용
  • Chat Prompt Template : 채팅 LLM에 프롬프트를 전달하는 데에 활용할 수 있는 특화 프롬프트 템플릿
  • 어떤 서비스를 만들 때, 사용자가 질문한 부분을 구체화해서 답변을 원활하게 할 수 있도록 도와준다.

라이브러리 이용해서 템플릿 설정이 가능하다.

from langchain.prompts import PromptTemplate, ChatPromptTemplate

string_prompt = PromptTemplate.from_template("tell me a joke about {subject}")

string_prompt_value = string_prompt.format_prompt(subject="soccer")

from_template : template 설정

format_prompt : subject에 무엇이 들어갈지 설정

to_string : String 으로 변환가능

프롬프트 템플릿

  • 템플릿을 통해 프롬프트의 형식을 정할 수 있다.
  • 고정적으로 사용할 것을 정하고 사용자는 가변적인 부분만 변경하여 프롬프트를 간편화하여 사용할 수 있다.

SystemMessagePromptTemplate

HumanMessagePromptTemplate

둘 다 동일하게 사용하면 됨.

Few-shot 예제를 통한 프롬프트 템플릿

  • 딥러닝 모델이 결과물을 출력할 때 예시 결과물을 제시함으로써 원하는 결과물로 유도하는 방법론
  • 라이브러리 호출해서 사용함

Example Selecter

Example Selecter를 활용해서 원하는 답변을 할 수 있도록 예시를 작성하고, 답변의 형태를 동적으로 형태를 바꿔서 출력할 수 있다.

옵션 설정 :
k : 예시를 몇 개 까지 출력할지

output parser를 활용한 출력값 조정

출력되는 형태를 고정할 수 있다. List, Json 형태 등.

참고

https://www.youtube.com/watch?v=y6D5Hn_k4lE&t=4s
https://colab.research.google.com/drive/1wF8zTDDUdmq59RXYLOprje3yrpP8z9Pv?usp=sharing

0개의 댓글