DocChat : Langchain 검색 시스템
이 간소화 응용 프로그램은 PDF 문서를 처리하고 Langchain의 기능을 사용하여 대화식 검색을 수행하기위한 Langchain 기반 검색 시스템을 구현합니다.
헝겊 아키텍처

유능한 UI

개요
이 응용 프로그램을 통해 사용자는 PDF 파일을 업로드하고, 텍스트를 추출하고, 청크로 나누고, Google Palm 임베드를 사용하여 임베딩을 생성하고 대화식 검색 체인을 만듭니다. 그런 다음 사용자는 처리 된 PDF 컨텐츠와 관련된 질문을하고 대화 체인 설정에 따라 응답을받을 수 있습니다.
사용 된 주요 기술
- Langchain : 텍스트 분할 및 대화 검색을 포함한 자연어 처리 작업을위한 도서관.
- Google Palm 임베딩 : 의미 론적 유사성 및 텍스트 표현에 사용되는 임베딩.
- Faiss (Facebook AI 유사성 검색) : 밀도가 높은 벡터의 유사성 검색 및 클러스터링을위한 효율적인 라이브러리.
프로젝트 설정
전제 조건
파이썬 환경 : Python 3.x가 설치되어 있는지 확인하십시오.
환경 변수 : 다음 내용이있는 프로젝트 루트 디렉토리 your_google_api_key_here .env 파일을 만듭니다.
설치
- 저장소 복제 :이 저장소를 로컬 컴퓨터로 복제하십시오.
git clone https://github.com/Varunv003/langchain-palm2-rag_application
- 가상 환경 설정 : 가상 환경을 사용하여 종속성을 관리하는 것이 좋습니다.
python -m venv venv
# On Windows: .venvScriptsactivate
# On macOS/Linux: source venv/bin/activate
- 종속성 설치 : PIP를 사용하여 필요한 Python 패키지를 설치하십시오.
pip install -r requirements.txt
- 템플릿 구조 : 프로젝트의 초기 폴더 구조를 설정하려면 실행하십시오.
python template.py
# This command will create necessary directories and files based on your project needs.
- 간소화 응용 프로그램을 실행하기 위해 응용 프로그램 실행 :
streamlit run app.py
# The application will start, and you can access it in your web browser at http://localhost:8501.
파일 구조
- App.py : PDF를 업로드하고 처리하고 사용자 상호 작용을 관리하기위한 주요 간소화 애플리케이션 코드.
- Helper.py : PDF 텍스트 추출, 텍스트 청킹, Faiss Vector Store Creation 및 대화 체인 설정에 대한 도우미 기능이 포함되어 있습니다.
- template.py : 스크립트 폴더 구조를 초기화하고 프로젝트에 필요한 디렉토리/파일을 만듭니다. .env : API 키와 같은 민감한 데이터를 저장하기위한 환경 변수 파일.
용법
- PDF 파일 업로드 : "데이터 업로드"사이드 바를 사용하여 하나 이상의 PDF 파일을 업로드하십시오.
- PDFS 프로세스 : "제출 및 프로세스"를 클릭하여 텍스트를 추출하고 임베딩을 생성 한 다음 대화식 검색 체인을 설정합니다.
- 질문 : 텍스트 입력 필드에 업로드 된 PDF 컨텐츠와 관련된 질문을 입력하십시오.
- 응답보기 : Langchain 대화 모델에 의해 생성 된 응답은 기본 인터페이스에 표시됩니다.
- 로깅 : 로깅은 PDF 텍스트 추출, 텍스트 청킹, 벡터 스토어 생성 및 대화 체인 설정 중에 주요 단계 및 타이밍을 캡처하기 위해 구현됩니다. 로그는 응용 프로그램이 실행되는 콘솔 또는 터미널에 표시됩니다.
향후 개선
- 파일 업로드 및 처리 중에 오류 처리 및 사용자 피드백을 향상시킵니다.
- 더 큰 PDF 문서를 처리하기위한 확장 성 및 성능 최적화를 향상시킵니다.
- 더 나은 대화 반응을 위해 추가 AI 모델을 통합하거나 기존 모델을 개선하십시오.