이번 강의에서는 LangChain 라이브러리에서 프롬프트 템플릿(Prompt Template)을 저장하고 로드하는 방법에 대해 알아보겠습니다. 프롬프트 템플릿을 저장하면 다른 사람과 공유하거나 나중에 재사용할 수 있어 개발 효율성을 높일 수 있습니다.
PromptTemplate
클래스save
및 load_prompt
메서드프롬프트 템플릿은 LLM에게 특정한 작업을 지시하는 데 사용되는 텍스트 템플릿입니다. 복잡한 애플리케이션을 개발할 때, 여러 프롬프트 템플릿을 사용하게 되는데, 이를 저장하고 로드할 수 있으면 다음과 같은 이점이 있습니다:
LangChain은 프롬프트 템플릿을 JSON 파일로 저장하고 로드하는 기능을 제공하여 이러한 작업을 쉽게 할 수 있도록 도와줍니다.
import os
from dotenv import load_dotenv
from langchain import PromptTemplate
from langchain.prompts import load_prompt
.env
파일에서 환경 변수를 로드하기 위해 load_dotenv()
를 사용합니다.load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
# 템플릿 문자열 정의
template_string = "Please tell me a fact about {planet}."
# 입력 변수 정의
input_variables = ["planet"]
# 프롬프트 템플릿 생성
prompt = PromptTemplate(template=template_string, input_variables=input_variables)
{planet}
은 변수가 될 부분입니다.# 프롬프트 템플릿 저장
prompt.save("my_prompt.json")
# 프롬프트 템플릿 로드
loaded_prompt = load_prompt("my_prompt.json")
# 로드된 프롬프트 템플릿 사용
formatted_prompt = loaded_prompt.format(planet="Mars")
print("생성된 프롬프트:")
print(formatted_prompt)
아래는 위에서 설명한 모든 단계를 포함한 전체 코드입니다.
import os
from dotenv import load_dotenv
from langchain import PromptTemplate
from langchain.prompts import load_prompt
# .env 파일에서 API 키 로드
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
# 템플릿 문자열 정의
template_string = "Please tell me a fact about {planet}."
# 입력 변수 정의
input_variables = ["planet"]
# 프롬프트 템플릿 생성
prompt = PromptTemplate(template=template_string, input_variables=input_variables)
# 프롬프트 템플릿 저장
prompt.save("my_prompt.json")
# 프롬프트 템플릿 로드
loaded_prompt = load_prompt("my_prompt.json")
# 로드된 프롬프트 템플릿 사용
formatted_prompt = loaded_prompt.format(planet="Mars")
print("생성된 프롬프트:")
print(formatted_prompt)
.env
파일에서 OPENAI_API_KEY
를 로드하여 환경 변수로 설정합니다.{planet}
은 나중에 값이 채워질 변수입니다.["planet"]
save()
메서드를 사용하여 JSON 파일로 저장합니다.load_prompt("my_prompt.json")
를 사용하여 저장된 프롬프트 템플릿을 로드합니다.planet
변수에 "Mars"
를 전달하여 프롬프트를 생성합니다.생성된 프롬프트:
Please tell me a fact about Mars.
"my_prompt.json"
파일의 내용은 다음과 같습니다:{
"template": "Please tell me a fact about {planet}.",
"input_variables": ["planet"]
}
이번 강의에서는 LangChain 라이브러리를 사용하여 프롬프트 템플릿을 저장하고 로드하는 방법에 대해 알아보았습니다. 이를 통해 프롬프트 템플릿의 재사용성과 공유성을 높일 수 있으며, 팀 협업과 유지보수에도 큰 도움이 됩니다.
OPENAI_API_KEY를 .env
파일에 저장하고 불러오는 방법도 함께 살펴보았습니다. 제공된 전체 실습 코드를 직접 실행해 보시면서 이해를 더욱 깊게 하실 수 있을 것입니다.
주의: 코드를 실행하기 전에 필요한 라이브러리가 모두 설치되어 있는지 확인하세요.
pip install langchain python-dotenv