요즘 ChatGPT로 인해 LLMs 에 대한 관심이 아주 뜨겁습니다. 저도 업무중에 빠르게 검색할 정보가 있으면 ChatGPT를 자주 활용하는 편인데요. 회사 입장에서는 민감한 정보가 외부로 유출되는 것이 꺼려지는데 PrivateGPT를 사용하면 특정 domain의 text 정보를 사용해서 사설 chatGPT를 구축할 수 있습니다. 설치 방법이 아주 간단하고 git repository에 이미 설명이 자세히 되어있지만 혹시나 영어때문에 어려워 하시는 분이 있을까봐 블로그에 따로 설명을 남깁니다.
※. 아나콘다에서 가상환경 생성 후 설치하는것을 추천합니다.
우선 GitHub에서 소스코드를 내려받습니다.
https://github.com/imartinez/privateGPT
git clone https://github.com/imartinez/privateGPT
git repository 복사 후 privateGPT 폴더로 이동해서 관련 패키지를 설치해 줍니다.
pip install -r requirements.txt
패키지 설치 완료 후 해당 폴더에 있는 example.env 파일을 .env 파일로 복사합니다.
아래 링크에서 모델을 다운받은 다음 models 폴더에 복사합니다.
LLM Model: https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin(3.5GB)
source_documents 폴더 안에 아무 문서나 txt 파일을 넣습니다. 지원하는 파일 타입은 아래와 같습니다.
- .csv: CSV,
- .docx: Word Document,
- .doc: Word Document,
- .enex: EverNote,
- .eml: Email,
- .epub: EPub,
- .html: HTML File,
- .md: Markdown,
- .msg: Outlook Message,
- .odt: Open Document Text,
- .pdf: Portable Document Format (PDF),
- .pptx : PowerPoint Document,
- .ppt : PowerPoint Document,
- .txt: Text file (UTF-8),
저는 txt파일을 하나 만들어서 wikipedia에서 정우성씨 소개 정보를 넣었습니다.
아래 커맨드를 입력해서 실행하면 source_documents 파일들을 읽어서 local vector store를 db폴더 안에 생성합니다. 처음 실행시 추가 필요한 파일들이 자동으로 다운로드 됩니다.
아래 커맨드로 privateGPT.py를 실행합니다.
python privateGPT.py
이제 source_documents 폴더에 넣었던 정보에대해서 질의를 해보면 됩니다.
CPU에서 이 정도면 아주 훌륭하네요. 다음은 GPU를 활용하는 방법에 대해 알아보겠습니다.
'Development > Python' 카테고리의 다른 글
[Python] Raspberry Pi에서 selenium 설치 방법 (585) | 2023.12.03 |
---|---|
[Raspberry Pi 4B] Anaconda(MiniForge3) 설치하기 (194) | 2023.12.02 |
GPU를 사용해서 PrivateGPT를 좀 더 빠르게 만드는 방법 (4) | 2023.07.15 |
[Pandas] Dataframe의 각 셀에 대한 연산을 벡터화(Vectorization)로 빠르게 처리하기 (0) | 2023.06.16 |
[Python] 미니콘다(아나콘다) 가상환경 생성시 오류 CondaHTTPError: HTTP 000 CONNECTION FAILED for url (1) | 2023.02.19 |