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에서 내용을 확인하시고, 그대로 복사하셔서 커스텀 하고싶은 내용을 추가하시면 됩니다
소득세법 docx 파일 공유 요청건
0
65
1
EXAONE 모델 불러오기 안되는 문제
0
89
2
[5.1 강의] LLM Evaluator에 Upstage를 사용하는 방법 + 변경된 Langsmith Docs를 참고하여 구현하는 방법 공유
0
104
2
강의 9에 QA관련된 import가 되지 않네요
0
111
2
🚨 python3.14 를 쓰고 계시면 chroma 에서 ConfigError 가 발생합니다.
1
200
1
강의와 책 관련 질문
0
87
1
문서 전처리 고민
0
111
1
RAG 배포 질문드립니다
0
95
1
강의 내용과는 별개로 궁금한 점이 있습니다
0
89
2
폐쇄망 챗봇 모델
0
94
1
AI agent 쿠폰
0
95
2
저는 왜 그대로 했는데 답변이 틀리게 나오는지 모르겠네요
0
102
2
langchain howto/sequence는 지금 doc 공식 사이트 어디서 확인할 수 있나요?
1
95
1
new_question에 대한 답 출력
0
74
2
랭체인 라이브러리
0
148
2
[LangGraph를 활용한 AI Agent 개발] 쿠폰 유효기간
0
106
1
postgresql의 pgvector 벡터는 어떤가요?
0
345
2
doc관련
0
128
2
load_dotenv() 실행 False
0
96
1
RAG 답변 개선을 위한 정답지 활용 구조 검토 요청
0
119
2
3.2 from langchain.chains ~ 에서 모듈을 찾지 못할 때.
1
406
2
강의 완료 오류
0
88
1
hub.pull 이슈
0
131
2
[3.3 강의] Upstage를 사용한 RAG 구현 성공기 공유
1
149
1





