작성
·
998
·
수정됨
1
여러개의 pdf 파일기준으로 LLM에게 답변하거나 요약하라고 할때
pdf 데이터를 vectordb에 임베딩하여 조회하는 방법만 알고있었는데
pdf를 txt로 변환후에 langchain 함수를 이용하고 vectordb를 이용하지 않아도
LLM이용하여 답변이 가능하던데요. 어떤게 좋은 방법일까요?
from langchain.chains.question_answering import load_qa_chain
from langchain.chains import AnalyzeDocumentChain
qa_chain = load_qa_chain(model, chain_type="map_reduce")
qa_document_chain = AnalyzeDocumentChain(combine_docs_chain=qa_chain)
데이터가 많으면 vectordb를 쓰고, 많지 않으면 langchain 함수를 이용하는건가요?
다른 방법은 또 어떤게 있을까요?
답변 2
0
안녕하세요. 질문 주신 내용에 대해 무료 온라인 웨비나가 있어 소개합니다.
참가 신청 => https://tykimos.github.io/2024/01/16/building_a_simple_vectorstore/
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드리자면, PDF 파일에서 정보를 추출하여 LLM(Large Language Model)을 사용한 답변 및 요약 처리 방법은 몇 가지 측면을 고려해 선택할 수 있습니다.
데이터의 양: 데이터가 매우 많다면 vectordb 같은 검색 가능한 데이터베이스로 데이터를 구조화 시키고 검색을 통해 필요한 부분만 질의하는 것이 효율적일 수 있습니다. 이 경우, 많은 양의 데이터를 LLM이 효과적으로 분석하고 요약할 수 있도록 하여 처리 시간과 자원을 절약할 수 있습니다.
데이터의 형식: PDF 데이터를 txt로 변환하는 과정에서 형식이나 구조가 중요한 경우가 있을 수 있습니다. 이 때는 변환 과정에서 데이터 손실이나 변형을 최소화하는 방법을 선택해야 합니다.
처리 속도 및 자원: langchain의 AnalyzeDocumentChain 같은 함수를 사용하면 간단하고 직관적인 코드로 문서 분석을 할 수 있지만, 매우 큰 데이터 세트에서는 탐색과 처리가 느려질 수 있습니다.
개발 및 유지보수의 용이성: 개발한 코드의 복잡도와 향후 유지보수 측면도 고려해야 합니다. 간단하고, 유지보수가 쉬우며, 확장 가능한 코드가 장기적으로 볼 때 더 효율적일 수 있습니다.
그 밖에도, NLP(Natural Language Processing) 작업에 특화된 데이터베이스 솔루션을 사용하는 것, 클라우드 기반 서비스를 활용하는 방법, 또는 멀티스레딩 기법을 적용하여 병렬 처리하는 방법 등이 있습니다. 상황에 따라 가장 적절한 방법을 선택하여 적용하는 것이 중요합니다.
결론적으로, 데이터의 크기, 처리 속도, 유지보수의 용이성 등 여러 요소를 고려하여 가장 적합한 방법을 선택할 필요가 있습니다.