VectordB 및 LLM (Large Language Models)이있는 질문 응답 파이프 라인에 오신 것을 환영합니다. 이 프로젝트는 Open-Source Language Model (LLM) 인 LLAMA2와 함께 오픈 소스 벡터 데이터베이스 인 ChromADB를 사용하여 질문 답변 작업을위한 효율적이고 확장 가능한 파이프 라인을 작성하는 것을 목표로합니다.
사용자 입력 : 사용자는 .pdf와 같은 형식으로 텍스트 데이터 소스를 제공합니다. 이 문서는 응답을 생성하기위한 기초가됩니다.
문서 로딩 : Langchain의 문서 로더는 제공된 문서를 효율적으로로드하고 전제하여 다운 스트림 작업과의 호환성을 보장하기 위해 사용됩니다.
문서 청킹 : 로드 된 문서는 더 작고 관리 가능한 청크로 나뉘어 질문 응답 프로세스의 효율성을 향상시킵니다.
vectordb (ChromADB)에 저장을 포함시킨다 : 청크의 임베딩은 vectordb의 기본 기술인 ChromADB에 생성되고 저장되어 빠르고 정확한 정보 검색을 가능하게합니다.
쿼리 처리 : 사용자 쿼리는 임베딩으로 변환되어 저장된 문서 임베딩과 완벽하게 비교할 수 있습니다.
벡터 데이터베이스 검색 : vectordb는 관련 정보 덩어리를 검색하여 질문 응답 프로세스를 최적화하기 위해 생성 된 임베딩과 함께 쿼리됩니다.
LLM 프로세싱 (LLAMA2) : 검색된 임베드는 LLMA (LLAMA2)로 전달되며, 이는 컨텍스트 인식 및 사용자 쿼리에 대한 정확한 답변을 생성합니다.
질문 응답 파이프 라인을 시작하려면 사용자는 텍스트 데이터 소스를 지원되는 형식으로 제공해야합니다 (현재 지원되는 형식 : PDF, CSV, HTML, XLSX, DOCX, XML, JSON ). 다음 섹션을 따라 적절한 설치 및 종속성 구성을 확인하십시오.
다음 단계를 따라 질문 응답 파이프 라인을 성공적으로 실행하십시오.
종속성 설치 : 필요한 모든 종속성이 설치되어 있는지 확인하십시오. 노트북 셀에서 다음 명령을 실행하십시오.
!pip install langchain
!pip install PyPDF
!pip install sentence_transformers
!pip install chromadb
!pip install accelerate
!pip install bitsandbytes
!pip install jq
!pip install unstructured
매개 변수 사용자 정의 :
노트북을 열고 다음 매개 변수를 찾으십시오.
JQ_SCHEMA : 데이터 스키마에 따라이 매개 변수를 사용자 정의하십시오. 적절한 로딩 및 처리를 위해 텍스트 데이터의 구조를 정의하십시오.
input_path : .pdf 파일과 같은 텍스트 데이터 소스의 경로를 지정합니다. 경로가 문서로 올바르게 설정되어 있는지 확인하십시오.
포옹 얼굴 인증 토큰 : LLAMA2 모델을 다운로드하기 위해 포옹 얼굴로부터 승인 토큰을 얻으십시오. 이 토큰은 모델에 액세스하는 데 중요합니다. 노트북의 해당 섹션에 토큰을 설정하십시오.
노트를 실행하십시오 : 셀별로 Jupyter 노트북 셀을 실행하십시오. 각 셀이 오류없이 성공적으로 실행되도록하십시오.
우리는 지역 사회의 기여와 피드백을 환영합니다. 문제를 식별하거나 개선에 대한 제안이 있거나 기능을 확장하려는 경우 입력은 당사에게 가치가 있습니다. 프로젝트에 자유롭게 기여하십시오. 프로젝트를 탐색해 주셔서 감사합니다.