RAG (Recreval-Augmented Generation)는 정보 검색과 생성 AI를 결합한 프레임 워크입니다. 모델은 외부 소스 또는 데이터베이스에서 관련 정보를 검색하고 해당 데이터를 사용하여보다 정확하고 상황에 맞는 응답을 생성 할 수 있습니다. RAG는 검색 및 생성을 모두 활용하여 AI 모델의 정확성과 신뢰성, 특히 최신 정보를 제공하거나 복잡한 질문을 처리 할 때 향상됩니다.
이 프로젝트는 PDF 문서에서 지식을 추출하기 위해 검색-예술 생성 (RAG)을 활용하는 AI 기반 대화 보조원을 제공합니다. 이 시스템은 텍스트 임베딩, 벡터 검색 및 LLM을 결합하여 사용자 질문에 대한 답변을 제공합니다. 아래는 응용 프로그램 작동 방식에 대한 자세한 단계별 워크 플로입니다.
pdfplumber 사용하여 텍스트를 추출하도록 처리됩니다.pdfplumber 라이브러리를 사용하여 업로드 된 PDF에서 원시 텍스트를 추출합니다. 문서의 각 페이지는 구문 분석되며 결과 텍스트는 추가 처리를 위해 준비됩니다.RecursiveCharacterTextSplitter 사용하여 작은 청크로 분할됩니다. 이를 통해 컨텐츠는 임베딩 및 검색에 대해 일반적으로 500 자의 청크 크기와 50 자의 겹침을 위해 관리 할 수 있습니다.SpacyEmbeddings 사용하여 수치 임베딩으로 변환됩니다. 이러한 내장은 청크의 의미 론적 의미를 나타내므로 효율적인 검색을 가능하게합니다. 
Chroma 라이브러리를 사용하여 작성됩니다. 벡터 데이터베이스를 사용하면 사용자 쿼리를 기반으로 관련 정보를 빠르고 효율적으로 검색 할 수 있습니다.ConversationalRetrievalChain LangChain 사용하여 확립되어 Chroma에 저장된 임베딩을 대화 메모리 버퍼와 결합하여 채팅 기록 및 컨텍스트를 추적합니다.ChatGoogleGenerativeAI (Google의 Gemini LLM)를 통합하여 벡터 스토어에서 검색된 텍스트 덩어리를 기반으로 사용자의 질문에 대한 관련성 있고 지능적인 응답을 생성합니다.
효율적인 지식 검색 : RAG의 힘을 활용하여 시스템은 검색 및 생성을 결합하여 업로드 된 PDF 문서의 내용을 기반으로 특정 질문에 정확하게 답변합니다.
확장 성 및 유연성 : 텍스트 청크 및 임베딩을 사용하면 앱은 큰 문서를 처리하면서 빠르고 정확한 정보 검색을 보장 할 수 있습니다.
대화 AI : 대화 기록 메모리는 시스템이보다 대화식으로 만들어집니다. 이전 질문과 답변을 추적하여 긴 대화에 대한 맥락을 유지합니다.
최신 AI 도구의 통합 :이 프로젝트는 벡터 스토리지를위한 Chroma , 대화 관리를위한 LangChain 및 Google의 Gemini LLM 과 같은 고급 도구를 사용하여 인간과 같은 답변을 생성하는 것을 보여줍니다.