PrivateGPT에서 Milvus 사용
PrivateGPT는 사용자가 인터넷 연결 없이도 대규모 언어 모델을 사용하여 문서에 대해 질문할 수 있는 동시에 100% 프라이버시를 보장하는 프로덕션 준비 완료된 AI 프로젝트입니다. PrivateGPT는 하이레벨과 로우레벨 블록으로 나뉜 API를 제공합니다. 또한 Gradio UI 클라이언트와 대량 모델 다운로드 스크립트 및 수집 스크립트와 같은 유용한 도구도 제공합니다. 개념적으로 PrivateGPT는 RAG 파이프라인을 래핑하고 그 기본 요소를 노출하며, 바로 사용할 수 있고 API와 RAG 파이프라인의 전체 구현을 제공합니다.
이 튜토리얼에서는 Milvus를 PrivateGPT의 백엔드 벡터 데이터베이스로 사용하는 방법을 보여드리겠습니다.
이 튜토리얼은 주로 PrivateGPT 공식 설치 가이드를 참조합니다. 이 튜토리얼에 오래된 부분이 있는 경우 공식 가이드를 우선적으로 따르고 문제를 생성할 수 있습니다.
PrivateGPT 실행을 위한 기본 요구 사항
1. PrivateGPT 리포지토리 복제하기
리포지토리를 복제하고 리포지토리로 이동합니다:
$ git clone https://github.com/zylon-ai/private-gpt
$ cd private-gpt
2. Poetry 설치
종속성 관리를 위해 Poetry를 설치합니다: Poetry 공식 웹사이트의 지침에 따라 설치합니다.
3. (선택 사항) 메이크 설치
다양한 스크립트를 실행하려면 make를 설치해야 합니다.
macOS(홈브루 사용):
$ brew install make
Windows (Chocolatey 사용):
$ choco install make
사용 가능한 모듈 설치
PrivateGPT를 사용하면 LLM, 임베딩, 벡터 스토어, UI 등 일부 모듈의 설정을 사용자 정의할 수 있습니다.
이 튜토리얼에서는 다음 모듈을 사용합니다:
- LLM: 올라마
- 임베딩 Ollama
- 벡터 스토어: Milvus
- UI: Gradio
다음 명령을 실행하여 poetry를 사용하여 필요한 모듈 종속성을 설치합니다:
$ poetry install --extras "llms-ollama embeddings-ollama vector-stores-milvus ui"
올라마 서비스 시작
ollama.ai로 이동하여 안내에 따라 컴퓨터에 Ollama를 설치합니다.
설치가 완료되면 Ollama 데스크톱 앱이 닫혀 있는지 확인하세요.
이제 Ollama 서비스를 시작합니다(로컬 추론 서버를 시작하여 LLM과 임베딩을 모두 서비스합니다):
$ ollama serve
사용할 모델을 설치합니다. 기본값 settings-ollama.yaml
은 llama3.1
8b LLM(~4GB) 및 nomic-embed-text
임베딩(~275MB) 사용자로 구성됩니다.
기본적으로 PrivateGPT는 필요에 따라 모델을 자동으로 가져옵니다. 이 동작은 ollama.autopull_models
속성을 수정하여 변경할 수 있습니다.
어떤 경우든 수동으로 모델을 가져오려면 다음 명령을 실행하세요:
$ ollama pull llama3.1
$ ollama pull nomic-embed-text
settings-ollama.yaml
파일에서 원하는 모델을 선택적으로 변경하여 수동으로 가져올 수 있습니다.
밀버스 설정 변경
settings-ollama.yaml
파일에서 벡터스토어를 milvus로 설정합니다:
vectorstore:
database: milvus
다음과 같이 cumstom Milvus 구성을 추가하여 설정을 지정할 수도 있습니다:
milvus:
uri: http://localhost:19530
collection_name: my_collection
사용 가능한 구성 옵션은 다음과 같습니다:
필드 옵션 | 설명 |
---|---|
uri | 기본값은 로컬 파일로 "local_data/private_gpt/milvus/milvus_local.db"로 설정되어 있으며, 도커 또는 k8s에서 더 성능이 좋은 Milvus 서버를 설정할 수도 있습니다(예: http://localhost:19530); Zilliz Cloud를 사용하려면 Zilliz Cloud의 공용 엔드포인트 및 API 키로 uri와 토큰을 조정하세요. |
토큰 | 도커 또는 k8s 또는 질리즈 클라우드 API 키로 밀버스 서버와 페어링합니다. |
collection_name | 컬렉션의 이름으로, 기본값은 "milvus_db"로 설정됩니다. |
overwrite | 컬렉션에 데이터가 있는 경우 덮어쓰기, 기본값은 True로 설정합니다. |
PrivateGPT 시작
모든 설정이 완료되면 Gradio UI로 PrivateGPT를 실행할 수 있습니다.
PGPT_PROFILES=ollama make run
UI는 http://0.0.0.0:8001
에서 사용할 수 있습니다.
UI를 사용해보고 문서에 대해 질문할 수 있습니다.
자세한 내용은 PrivateGPT 공식 문서를 참조하세요.