create_retrieval_chain, Custom LCEL 을 사용해서 chain을 구성하면 코드가 어떻게 되는지 보고 싶습니다.
from langchain.chains import RetrievalQA
qa_chain = RetrievalQA.from_chain_type(
llm,
retriever=database.as_retriever(),
chain_type_kwargs={"prompt": prompt}
)
이 예제 코드에서 create_retrieval_chain, Custom LCEL 을 사용해서 chain을 구성한 코드를 보고싶습니다.
답변 1
0
print(qa_chain)이런식으로 확인하실 수 있습니다! 아마 StuffDocumentsChain 이 찍힐건데 안에 들어있는 프롬프트랑 등등 이것저것 보이실거에요. 소스코드는 랭체인 깃헙 레포 에서 확인하실 수 있습니다!
0
RetrievalQA 이 체인은 Deprecated 되었나요?
2. 그리고 제가 공식문서를 보고 작성한 코드인데, 이렇게 작성해도 되는지 코드리뷰 한 번 부탁드립니다!
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import Docx2txtLoader
from langchain_openai import OpenAIEmbeddings
from langchain_chroma import Chroma
from langchain import hub
from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_core.prompts import ChatPromptTemplate
load_dotenv()
llm = ChatOpenAI(model_name="gpt-4o-mini")
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1500,
chunk_overlap=200,
)
loader = Docx2txtLoader("./tax.docx")
docs = loader.load_and_split(text_splitter=text_splitter)
embedding = OpenAIEmbeddings(model="text-embedding-3-large")
vetorstore = Chroma.from_documents(documents=docs, embedding=embedding)
retriever = vetorstore.as_retriever()
system_prompt = """
- 당신은 최고의 한국 소득세 전문가 입니다.
- 답변은 영어로 제공해주세요.
- [Context]를 참고해서 사용자의 질문에 답변해주세요.
[Context]
{context}
"""
prompt = ChatPromptTemplate.from_messages(
[
("system", system_prompt),
("human", "{input}"),
]
)
# prompt = hub.pull("langchain-ai/retrieval-qa-chat")
question_answer_chain = create_stuff_documents_chain(llm, prompt)
rag_chain = create_retrieval_chain(retriever, question_answer_chain)
input = '연봉 5천만원인 직장인의 소득세는 얼마인가?'
result = rag_chain.invoke({"input": input})
result
prompt = hub.pull("langchain-ai/retrieval-qa-chat")를 사용하면 system_prompt는 따로 사용 할 수 없는 것인지 궁금합니다.
질문이 많은데, 처음하다보니 확실히 알고 넘어가야 할 것 같아서 질문드립니다. 번거로우시겠지만 답변 부탁드리겠습니다.
1
작성하신대로 진행하셔도 됩니다
3.retrieval-qa-chat이라는 프롬프트가 system prompt라서, 별도로 system prompt 작성을 원하시면hub.pull()을 사용하지 않으시는게 좋습니다. 만약 기존의 프롬프트에서 확장을 하고싶으시면 langsmith hub에서 내용을 확인하시고, 그대로 복사하셔서 커스텀 하고싶은 내용을 추가하시면 됩니다
4.2.2 ~ 10.3.2.1 강의 영상 안나옴
0
59
2
RetrievalQA 방식 관련 문의
0
110
2
kernel crash 문의
0
108
2
공식 문서
0
94
1
RAG 파이프라인 고도화와 파인튜닝의 우선순위 및 실무적 판단 기준이 궁금합니다.
0
118
2
책과 차이점
0
129
2
Langchain 공식문서 학습 질문
0
169
2
온톨로지 활용
0
129
2
ollama설치해서 llama로 돌려도 되나요?
0
144
2
소득세법 docx 파일 공유 요청건
0
185
1
EXAONE 모델 불러오기 안되는 문제
0
239
2
[5.1 강의] LLM Evaluator에 Upstage를 사용하는 방법 + 변경된 Langsmith Docs를 참고하여 구현하는 방법 공유
0
206
2
강의 9에 QA관련된 import가 되지 않네요
0
202
2
🚨 python3.14 를 쓰고 계시면 chroma 에서 ConfigError 가 발생합니다.
1
430
1
강의와 책 관련 질문
0
160
1
문서 전처리 고민
0
180
1
RAG 배포 질문드립니다
0
171
1
강의 내용과는 별개로 궁금한 점이 있습니다
0
164
2
폐쇄망 챗봇 모델
0
159
1
AI agent 쿠폰
0
155
2
저는 왜 그대로 했는데 답변이 틀리게 나오는지 모르겠네요
0
170
2
langchain howto/sequence는 지금 doc 공식 사이트 어디서 확인할 수 있나요?
2
136
1
new_question에 대한 답 출력
0
116
2
랭체인 라이브러리
0
231
2





