[TIL] 2024-10-27 (ADsP/FastAPI/LangChain)TIL (2024)/2024.102024. 10. 28. 01:34
Table of Contents
728x90
Today I Learned (2024-07-12)
목차
오늘 공부한 내용
1. ADsP
- 문제 풀기
2. FastAPI
- 토이 프로젝트 개발중에 예전에 배웠지만 다시 학습함.
- 잘 써먹으면 좋겠다.
- 내가 작성한 글 - FastAPI 사용하기
3. LangChain
LangChain Hub
- 해당 사이트에 작성된 프롬프트들을 가져와서 사용할 수 있다.
- 잘 작성된 프롬프트를 가져다 쓸 수 있는 장점이 있다.
from langchain import hub
# 이미 만들어진 프롬프트 불러오기
prompt = hub.pull("rlm/rag-prompt")
prompt
FewShotPromptTemplate
- 답변의 예시를 미리 보여준다.
- 1개의 답변 예시 → One Shot
- 2개 이상의 답변 예시 → Few Shot
- 할루시네이션 현상을 줄일 수 있으며, 정확한 답변을 얻는데 도움이 된다.
from langchain_core.prompts.few_shot import FewShotPromptTemplate
from langchain_core.prompts import PromptTemplate
examples = [
{
"question": "스티브 잡스와 아인슈타인 중 누가 더 오래 살았나요?",
"answer": """이 질문에 추가 질문이 필요한가요: 예.
추가 질문: 스티브 잡스는 몇 살에 사망했나요?
중간 답변: 스티브 잡스는 56세에 사망했습니다.
추가 질문: 아인슈타인은 몇 살에 사망했나요?
중간 답변: 아인슈타인은 76세에 사망했습니다.
최종 답변은: 아인슈타인
""",
}
]
example_prompt = PromptTemplate.from_template(
"Question:\n{question}\nAnswer:\n{answer}"
)
print(example_prompt.format(**examples[0]))
from langchain_core.output_parsers import StrOutputParser
prompt = FewShotPromptTemplate(
examples=examples,
example_prompt=example_prompt,
suffix="Question:\n{question}\nAnswer:",
input_variables=["question"],
)
chain = prompt | llm | StrOutputParser()
answer =chain.stream({"question":"카카오의 창립자는 누구이며 몇살, 몇년생인가요?"})
for token in answer:
print(token, end="",flush=True)
어려웠던 내용
- LangChain의 학습내용들.. 양이 많다
궁금한 내용과 부족한 내용
- LangChain 학습량
느낀 점
- 무언가를 만들어야지..
'TIL (2024) > 2024.10' 카테고리의 다른 글
[TIL] 2024-10-30 (ADsP/LangChain/DE) (0) | 2024.10.30 |
---|---|
[TIL] 2024-10-28 (ADsP/DataEngineering/LangChain) (0) | 2024.10.29 |
[TIL] 2024-10-26 (LangChain/ADsP) (0) | 2024.10.27 |
[TIL] 2024-10-25 (Postgresql/ADsP) (0) | 2024.10.26 |
[TIL] 2024-10-24 (AWS/LangChain/ADsP) (0) | 2024.10.25 |
@mane Lab :: 마네의 연구소
배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!