query 결과 값이 일치하지 않습니다.
안녕하세요.
이번에 처음 프론트개발하다 파이썬 사용해보고 강의 잘 보고 있습니다. 꾸역꾸역 따라가고 있는데 결과값이 일치하지 않네요.
3.5 강의에서 결과가 일치하지 않습니다!
%%
%pip install --upgrade --quiet docx2txt langchain-community
# %%
from langchain_community.document_loaders import Docx2txtLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1500,
chunk_overlap=200
)
loader = Docx2txtLoader('./tax_with_markdown.docx')
document_list = loader.load_and_split(text_splitter=text_splitter)
# %%
document_list[52]
# %%
from dotenv import load_dotenv
from langchain_openai import OpenAIEmbeddings
load_dotenv()
embedding = OpenAIEmbeddings(model="text-embedding-3-large")
# %%
import os
from pinecone import Pinecone
from langchain_pinecone import PineconeVectorStore
index_name = 'tab-markdown-index'
pinecone_api_key = os.environ.get("PINECONE_API_KEY")
pc = Pinecone(api_key=pinecone_api_key)
database = PineconeVectorStore.from_documents(document_list, embedding, index_name=index_name)
# %%
query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?'
# retrieved_docs = database.similarity_search(query, k=3)
# %%
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o")
# %%
from langchain import hub
prompt = hub.pull("rlm/rag-prompt")
# %%
from langchain.chains import RetrievalQA
retriever=database.as_retriever()
qa_chain = RetrievalQA.from_chain_type(
llm,
retriever=retriever,
chain_type_kwargs={"prompt": prompt}
)
# %%
retriever.invoke(query)
# %%
ai_message = qa_chain({"query":query})
# %%
ai_message
# %% [markdown]
# {'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?',
# 'result': '연봉 5천만원인 직장인의 소득세는 기본세율이 적용됩니다. 기본세율은 과세표준 구간별로 다르므로, 정확한 소득세 금액을 계산하려면 연말정산 등 세율표를 참조해야 합니다. 따라서 구체적인 금액을 제공하려면 추가 정보가 필요합니다.'}
# %% [markdown]
#
참고1 retriever.invoke(query) 한 다음
이미지처럼 metadata 속성이 더 추가 되어 제 코드 결과가 나옵니다.

참고2 마크다운 테이블 잘 가져옵니다.
참고3 인덱스 네임은 제가 오타나서 그대로 사용중입니다.ㅜㅜ
index_name = 'tab-markdown-index'
참고4
이 코드 그대로 하면 결과는 아래 이미지와 같습니다!

참고5
답변 2
1
안녕하세요!
retriver.invoke() 의 결과에서 제55조를 가져오지 못해서 답변이 원하는대로 나오지 않는다고 보시면 됩니다! 강의에서는 4번째에 잘 걸리지만, 제가 시도했을 때에도 4번째에서 문서를 가져오지 못했다면 k값을 변경해보면서 더 많은 문서를 가져오도록 하는 식으로 보여드렸을거에요.
그리고 첨부해주신 스크린샷으로 보면 4개의 문서를 가져오는데, 첫번째와 두번째, 세번째와 네번째 값이 동일한데요, 뭔가 중복돼서 값이 들어간게 아닌가 생각합니다!
그리고 3.6강에서 보신것처럼 3.5강까지만으로는 유사도 검색이 완벽하게 이루어지지 않기 때문에 키워드를 활용해서 저희가 원하는 문서를 잘 가져오기 때문에 원하는 답변을 얻어낸다고 보시면 됩니다!
설명이 부족하다면 다시 댓글을 달아주세요~ 더 상세하게 풀어서 말씀드리겠습니다!
1
query = '연봉 5천만원인 거주자의 소득세는 얼마인가요?'
# retrieved_docs = database.similarity_search(query, k=3)
강의 3.6 보면서 질문을 변경하면 강의랑 동일하게 query의 값이 나옵니다!
소득세법 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
89
1
hub.pull 이슈
0
131
2
[3.3 강의] Upstage를 사용한 RAG 구현 성공기 공유
1
150
1





