인프런 커뮤니티 질문&답변
memory+ Retriever +llm 질문있습니다.
작성
·
211
답변 1
0
AISchool
지식공유자
안녕하세요~. 반갑습니다.
아래와 같은 형태로 묶어서 사용하시면 됩니다.
1. retriever 설정
retriever = vectorstore.as_retriever()memory에서 채팅 history를 불러오는 함수 작성
def load_memory(input):
return memory.load_memory_variables({})["history"]retriever + memory 결합 prompt 작성
from langchain.prompts import PromptTemplate
template = """다음과 같은 맥락과 채팅히스토리를 사용하여 마지막 질문에 대답하십시오.
맥락: {context}
채팅히스토리: {history}
질문: {question}
도움이 되는 답변:"""
rag_prompt_custom = PromptTemplate.from_template(template)llm과 최종 합성 프롬프트를 사용하여 답변생성
# RAG chain 설정 from langchain.schema.runnable import RunnablePassthrough from langchain_core.prompts import MessagesPlaceholder rag_chain = {"context": retriever, "question": RunnablePassthrough(), "history": load_memory} | rag_prompt_custom | llm rag_chain.invoke('안녕?')좋은 하루되세요~.
감사합니다.





