rag_chain)rag_chain = (
{"context": retriever, "question": RunnablePassthrough()}
| llm
| StrOutputParser()
)
이 코드는 RunnablePassthrough를 사용하여 질문과 문맥(컨텍스트)을 언어 모델(llm)에 전달하고, 그 후 StrOutputParser를 통해 최종 출력 형식을 문자열로 변환하는 흐름입니다.
create_stuff_documents_chain와 create_retrieval_chain을 사용하는 방법# 문서 결합 체인 생성
question_answer_chain = create_stuff_documents_chain(llm, qa_prompt)
# 검색 기반 체인 생성
rag_chain = create_retrieval_chain(history_aware_retriever, question_answer_chain)
| 구성 요소 | `rag_chain = {...} | llm |
|---|---|---|
| 구성 방식 | 단일 체인 방식으로, 문서 검색과 답변 생성을 직접 연결합니다. | 문서 검색과 답변 생성을 별도의 체인으로 처리합니다. |
| 복잡성 | 간단하고 직관적입니다. 작은 시스템이나 실험적 코드에 유용합니다. | 유연하고 확장성이 있어 복잡한 시스템에 적합합니다. |
| 문서 검색과 답변 생성의 분리 여부 | 문서 검색과 답변 생성을 명시적으로 분리하지 않습니다. | 문서 검색과 답변 생성을 명확하게 분리하여 처리합니다. |