이 프로젝트는 LLM (대형 언어 모델)을 Open-Source Llama V2 (Meta) 모델로 사용하여 로컬로 실행되는 ChatPDF ( "PDFS와의 대화")와 유사한 도구의 구성을 가르치는 목적으로 만들어졌습니다.
이 프로젝트의 첫 번째 버전을 기반으로, 나는 2023 년 8 월 10 일 YouTube의 RocketSeat 채널에서 라이브에 참여했으며,이 응용 프로그램의 주요 개념 인 코드를 설명하고 몇 가지 예제를 탔습니다. 이 라이브의 녹음을 확인하려면이 링크로 이동하십시오.
이 솔루션의 "빌딩 블록"에 대한 이해를 용이하게하기 위해, 프로젝트의 일련의 행동 및 구성 요소를 보여주는 아래 다이어그램을 따르십시오.

Langchain : LLM과 함께 작동하는 간단하고 유연한 API를 제공하는 오픈 소스 프레임 워크입니다. 이를 통해 개발자는 번역, 텍스트 생성, 질문 (Q & A) 등 다양한 작업에 LLM을 사용하는 응용 프로그램을 만들 수 있습니다. 커넥터 에코 시스템에는 가장 다양한 LLM, 벡터 데이터베이스, 채팅 엔진과의 통합이 포함되어있어 LLM을 구축하기위한 강력하고 다재다능한 옵션이됩니다.
ChromADB : 단어 나 문구의 의미를 나타내는 벡터 인 임베딩 저장에 사용되는 데이터베이스 벡터입니다. 이를 통해 개발자는 미래를 효율적으로 저장하고 연구 할 수 있으며 이는 LLM을 사용하는 응용 프로그램에 필수적입니다. ChromADB는 근거리 이웃 검색 알고리즘을 사용하여 특정 임베딩과 유사한 임베딩을 찾습니다. 이를 통해 개발자는 대규모 임베딩 데이터를 빠르고 정확하게 조사 할 수 있습니다.
Gradio : 기계 학습 모델의 프로토 타이핑 및 테스트를위한 그래픽 인터페이스를 신속하게 만들 수있는 파이썬 라이브러리입니다. 레코드를 사용하면 몇 줄의 코드만으로 Python 기능을 대화식 인터페이스로 변환 할 수 있습니다. 완전한 응용 프로그램을 구축 할 필요없이 기계 학습 모델을 시연하거나 테스트하는 데 특히 유용합니다.
LLAMA V2 : 70 억에서 70 억의 매개 변수 범위의 미리 훈련 된 미세 조정 된 LLM의 컬렉션입니다. Llama 2-Chat이라고하는 미세 조정 된 LLM은 채팅 및 대화 인터페이스와 같은 대화 사용 사례에 최적화되어 있습니다. LLAMA V2 모델은 테스트 된 대부분의 벤치 마크에서 오픈 소스 채팅 모델을 초과하며 인간의 유틸리티 및 안전 평가를 기반으로 폐쇄 코드 모델에 적합한 대체물이 될 수 있습니다.
pip install -r requirements.txtpipenv install구성 폴더 내에 .env라는 파일이 있으므로 프로젝트 실행을위한 일부 정보를 구성합니다.
더 쉽게하기 위해이 프로젝트 폴더 내부의 폴더를 고려하는 기본 구성으로 채워진 .env 파일을 남겼습니다.
IDE에서 Jupyter 노트북 Rag_pdf_live.ipynb를 열고 바람직하게는 셀을 순서대로 실행하십시오.
IU가 채팅 세션과 상호 작용하는이 노트북의 최종 셀에서 "로컬 URL에서 실행 : http : //127.0.0.0.1 : 1 : xxxx"가 나타납니다. 채팅과 쉽게 상호 작용할 수 있도록 주소를 클릭하면 기본 브라우저가 채팅 창과 함께 열립니다.