이번 글에서는 여러 개의 템플릿을 조합해 하나의 최종 프롬프트를 만드는 PipelinePromptTemplate을 실습해보겠다.
왜 사용하는가?
PromptTemplate을 만든다from langchain.prompts import PromptTemplate
summary_prompt = PromptTemplate.from_template("다음 뉴스 내용을 한 문단으로 요약해줘: \n {article}")
이제 새로운 prompt를 만들어 보겠다.
style_prompt = PromptTemplate.from_template("이 내용을 {style} 스타일로 바꿔줘: \n {summary}")
이제 이 둘을 pipeline으로 합쳐보겠다.
final_prompt_str = """
{summary_part}
{style_part}
"""
final_prompt = PromptTemplate.from_template(final_prompt_str)
pipeline_prompt = PipelinePromptTemplate(
final_prompt=final_prompt,
pipeline_prompts=[
("summary_part", summary_prompt),
("style_part", style_prompt)
]
)
article_text = """
정부는 오늘부터 전기요금을 kWh당 평균 8원 인상한다고 밝혔다.
이번 인상은 연료비 상승과 한전 적자 해소를 위한 조치다.
"""
prompt_text = pipeline_prompt.format(
article=article_text,
style="초등학생도 이해할 수 있게"
)
print(prompt_text)
다음 뉴스 내용을 한 문단으로 요약해줘:
정부는 오늘부터 전기요금을 kWh당 평균 8원 인상한다고 밝혔다. 이번 인상은 연료비 상승과 한전 적자 해소를 위한 조치다.
이 내용을 초등학생도 이해할 수 있게 스타일로 바꿔줘: