반응형
안녕하세요. 위기의 코딩맨입니다.
이번에 RAG를 구성하는데 문제가 발생했습니다.
참조할 PDF파일이 2개가 있었는데
2개의 파일을 비교하면 비교가 되지않고,
1개의 파일씩 검색하면 검색이 되는 문제였습니다.

[ 문제 ]
예를 들어보겠습니다.
- 24년도 OOO 정보와 25년도 OOO 정보를 비교해서 알려줘
이렇게 질문을 하면.. 답변을..
| 죄송하지만, 2024년도 OOO 정보는 제공되지 않았습니다. 2025년도 OOO 내역만 확인할 수 있습니다. 2025년도 OOO 정보는 ~입니다. 2024년도에 대한 정보는 알 수 없습니다. |
그래서 24년도와 25년도 따로 검색을 진행해봤습니다.
- 24년도 OOO 정보를 알려줘
- 25년도 OOO 정보를 알려줘
| 24년도 OOO정보는 ~입니다. | 25년도 OOO정보는 ~입니다. |
해당 방식으로 검색은 잘되는 것을 확인했습니다.
왜지..! 도대체!!! 왜 검색을 잘 못하는것이야~!
이런 저런 많은 방식을 시도해봤습니다.
- Chunk 조절
- Retriever 조절
- Memory 조절
해당 방식들도 조절해보고 해봤지만 답이 아니었습니다...으악
뭐가 문제지.. PDF 파일도 바꿔보고 했지만 답이 안나왔습니다.
문제를 찾다보니 해당 답변에 대한 참조한 문서를 확인할 수 있다는 것을 확인했습니다.
qa_chain = ConversationalRetrievalChain.from_llm(
llm=ChatOpenAI(openai_api_key=API_KEY, model_name="gpt-4o-mini", temperature=0),
retriever=retriever,
memory=None, # 메모리 비활성화
return_source_documents=True # 참조 문서 반환
)
chain을 구성할 때,
문서만 참조하도록 Memory는 비활성화 설정,
return_source_documents 항목을 True로 설정하여
참조문서를 확인 가능하도록 했습니다.
그리고 질문을 하게되면 아래 형태로 검색이 진행되는 것을 확인할 수 있습니다.
| Document(id='file_id', metadata={'creationdate': '시간', 'source': '25년도_결과보고.pdf', 'creator': 'PyPDF', 'total_pages': 1, 'page': 0, 'page_label': '1', 'producer': 'cairo 1.15'}, page_content='내용') |
확인해보니 24년도 PDF파일을 참조하지 않고 있는 것을 확인했습니다.
근데 왜 참조를 안하지..? 나는 다 저장했는데??
찾아보니 이전 색인 결과가 save_sotre에 남아있어 참조를 하지않다는 것입니다..
save_sotre를 삭제하고 다시 구성하고 검색해보니..

드디어 문제가 해결되었습니다..!!
공부도하면서 문제도 해결하고.. 아주좋군...

반응형
'기타' 카테고리의 다른 글
| [We-Co] Kafka에 대해서 간단하게 알아보자. (1) | 2025.12.23 |
|---|---|
| [We-Co] ChatGPT-5 - 달라진 GPT-5를 알아보자! (6) | 2025.08.08 |
| [We-Co] RAG 검색과 응답 최적화 - Chunking (0) | 2025.07.08 |
| [We-Co] langchain - FewShotPromptTemplate란 무엇일까! (0) | 2025.07.02 |
| [We-Co] RAG(Retrieval-Augmented Generation) - 검색, 문서 (1) | 2025.06.25 |