개인 로컬 GPT 채팅 도구, 문서 질의응답, 이미지 비디오 처리 등 다양한 기능 지원, 100% 개인화 배포
h2oGPT 프로젝트 상세 소개
프로젝트 개요
h2oGPT는 H2O.ai에서 개발한 오픈소스 프로젝트로, 문서 질의응답, 이미지/비디오 처리 등 다양한 기능을 지원하는 완전한 프라이빗 로컬 GPT 채팅 경험을 제공하는 것을 목표로 합니다. 이 프로젝트는 Apache V2 라이선스를 기반으로 하여 사용자가 100% 프라이빗하게 배포하고 사용할 수 있도록 보장합니다.
프로젝트 주소: https://github.com/h2oai/h2ogpt
데모 주소: https://gpt.h2o.ai/
핵심 기능
1. 문서 처리 능력
h2oGPT는 PDF, Excel, Word, 이미지, 비디오 프레임, YouTube, 오디오, 코드, 텍스트, MarkDown 등 다양한 문서 유형에 대한 프라이빗 오프라인 데이터베이스를 지원합니다. 주요 특징은 다음과 같습니다:
- 영구 데이터베이스: Chroma, Weaviate 또는 메모리 내 FAISS를 사용하여 문서 저장
- 정확한 임베딩: instructor-large, all-MiniLM-L6-v2 등 임베딩 모델 지원
- 효율적인 컨텍스트 활용: LangChain의 few-shot 방식 없이 명령어 튜닝된 LLM 사용
- 병렬 처리: 병렬 요약 및 추출, 13B LLaMa2 모델은 초당 80개 토큰의 출력 속도 달성 가능
- HYDE 기술: LLM 응답 기반의 가설 문서 임베딩 기술로 검색 능력 강화
- 의미론적 청킹: 더 나은 문서 분할 (GPU 지원 필요)
2. 모델 지원
h2oGPT는 LLaMa2, Mistral, Falcon, Vicuna, WizardLM 등 다양한 모델을 지원하며, AutoGPTQ, 4비트/8비트 양자화, LORA 등의 기술을 지원합니다:
- GPU 지원: HuggingFace 및 LLaMa.cpp GGML 모델
- CPU 지원: HF, LLaMa.cpp 및 GPT4ALL 모델 사용
- 어텐션 메커니즘: 임의 길이 생성 지원 (LLaMa-2, Mistral, MPT, Pythia, Falcon 등)
3. 사용자 인터페이스
- Gradio UI: 스트리밍 출력을 지원하는 직관적인 웹 인터페이스 제공
- CLI: 모든 모델의 스트리밍 처리를 지원하는 명령줄 인터페이스
- 문서 업로드 및 보기: UI를 통해 문서 업로드 및 보기 (여러 협업 또는 개인 컬렉션 지원)
4. 다중 모달리티 능력
시각 모델
LLaVa, Claude-3, Gemini-Pro-Vision, GPT-4-Vision 등 시각 모델 지원
이미지 생성
Stable Diffusion (sdxl-turbo, sdxl, SD3), PlaygroundAI (playv2) 및 Flux 등 이미지 생성 모델 지원
음성 처리
- STT (음성-텍스트 변환): Whisper를 사용한 스트리밍 오디오 변환
- TTS (텍스트-음성 변환):
- MIT 라이선스의 Microsoft Speech T5, 다양한 음성 및 스트리밍 오디오 변환 지원
- MPL2 라이선스의 TTS, 음성 복제 및 스트리밍 오디오 변환 포함
- AI 어시스턴트 음성 제어: 핸즈프리 h2oGPT 채팅 모드 제어 지원
5. 엔터프라이즈급 기능
인증 및 상태 관리
- UI 인증: 사용자 이름/비밀번호 또는 Google OAuth를 통한 신원 확인
- 상태 유지: 사용자 이름/비밀번호를 통해 UI에서 상태 유지
- Open Web UI 통합: OpenAI 프록시를 통해 h2oGPT를 백엔드로 사용
API 및 통합
- OpenAI 호환 API: h2oGPT는 OpenAI 서버의 대체품으로 사용 가능
- 추론 서버 지원: oLLaMa, HF TGI 서버, vLLM, Gradio, ExLLaMa, Replicate, Together.ai, OpenAI, Azure OpenAI, Anthropic, MistralAI, Google 및 Groq 등 지원
서버 프록시 API 기능
- 채팅 및 텍스트 완성 (스트리밍 및 비스트리밍)
- 오디오 전사 (STT)
- 오디오 생성 (TTS)
- 이미지 생성
- 임베딩
- 함수 도구 호출 및 자동 도구 선택
- AutoGen 코드 실행 에이전트
6. 고급 기능
JSON 모드 및 구조화된 출력
- 엄격한 스키마 제어: vLLM을 통해 outlines를 사용한 엄격한 스키마 제어
- 다중 플랫폼 지원: OpenAI, Anthropic, Google Gemini, MistralAI 모델의 엄격한 스키마 제어 지원
- JSON 모드: 일부 구형 OpenAI 또는 Gemini 모델에 JSON 모드 제공
웹 검색 및 에이전트
- 웹 검색 통합: 채팅 및 문서 질의응답과 통합된 웹 검색
- 스마트 에이전트: 검색, 문서 질의응답, Python 코드, CSV 프레임워크 등 에이전트 지원
- 고품질 에이전트: 독립 포트의 OpenAI 프록시 서버를 통해 고품질 에이전트 제공
- 코드 우선 에이전트: 시각 모델을 통한 차트 생성, 연구, 이미지 평가 등
성능 평가
- 보상 모델: 보상 모델을 사용하여 성능 평가
- 품질 보증: 1000개 이상의 단위 테스트 및 통합 테스트 (24 GPU 시간 이상)를 통해 품질 유지
설치 및 배포
권장 배포 방식
Linux, Windows 및 MAC의 전체 기능 배포를 위해 Docker 사용을 권장합니다. 각 플랫폼 지원 현황:
- Docker: Linux, Windows, MAC 전체 기능
- Linux 스크립트: 전체 기능
- Windows 및 MAC 스크립트: 기능 상대적으로 제한적
지원되는 설치 방식
- Docker 빌드 및 실행: Linux, Windows, MAC용
- Linux 설치 및 실행: 네이티브 Linux 지원
- Windows 10/11 설치 스크립트: Windows 플랫폼 지원
- MAC 설치 및 실행: macOS 플랫폼 지원
- 빠른 시작: 모든 플랫폼용
기술 사양
하드웨어 요구 사항
- GPU 지원: CUDA, AutoGPTQ, exllama
- CPU 지원: 순수 CPU 실행 지원
- 메모리 최적화: 저메모리 모드 제공
오프라인 설치
- 완전 오프라인 설치 지원
- 오프라인 문서 처리 능력
- 로컬 모델 배포
개발 및 확장
개발 환경
- 설치 지침에 따라 훈련 및 생성 개발 환경 구축
- 사용자 정의 데이터에 대한 모든 LLM 모델 미세 조정 지원
- 전체 테스트 스위트 제공
테스트
pip install requirements-parser pytest-instafail pytest-random-order playsound==1.3.0
conda install -c conda-forge gst-python -y
sudo apt-get install gstreamer-1.0
pip install pygame
GPT_H2O_AI=0 CONCURRENCY_COUNT=1 pytest --instafail -s -v tests
# 실행 중인 로컬 서버의 openai 서버 테스트용
pytest -s -v -n 4 openai_server/test_openai_server.py::test_openai_client
클라이언트 API
- Gradio 클라이언트 API
- OpenAI 호환 클라이언트 API
- Python 클라이언트 라이브러리
기술 아키텍처
핵심 기술 스택
- 기반 모델: LLaMa2, Mistral, Falcon 등
- 임베딩 기술: instructor-large, all-MiniLM-L6-v2
- 벡터 데이터베이스: Chroma, Weaviate, FAISS
- UI 프레임워크: Gradio
- 백엔드 기술: Python, PyTorch, Transformers
데이터 처리 흐름
- 문서 수집: 고급 OCR 기술 (DocTR) 사용
- 문서 분할: 의미론적 청킹 기술
- 벡터화: 정확한 임베딩 모델 사용
- 검색 강화: HYDE 기술을 통한 검색 강화
- 답변 생성: 컨텍스트 기반의 지능형 답변
상업적 활용
엔터프라이즈급 솔루션
h2oGPT는 엔터프라이즈급 생성형 AI 솔루션을 제공하며, 주요 특징은 다음과 같습니다:
- 완전 프라이빗화: 100% 프라이빗 배포, 기업 외부로 데이터 유출 없음
- 확장성: 대규모 배포 지원
- 보안성: 엔터프라이즈급 보안 보장
- 맞춤화: 모델 미세 조정 및 맞춤화 지원
적용 시나리오
- 문서 질의응답 시스템: 기업 내부 지식 기반 질의응답
- 코드 지원: 코드 생성 및 검토
- 데이터 분석: CSV 데이터 처리 및 분석
- 멀티미디어 처리: 이미지, 비디오, 오디오 처리
- 고객 서비스: 지능형 고객 서비스 시스템
H2O.ai 생태계
h2oGPT는 H2O.ai의 전체 AI 플랫폼의 일부이며, H2O.ai는 다음을 제공합니다:
- H2O-3: 오픈소스 머신러닝 플랫폼
- H2O Driverless AI: 세계 최고의 AutoML 플랫폼
- H2O Hydrogen Torch: 코드 없는 딥러닝 플랫폼
- Document AI: 문서 처리 딥러닝 플랫폼
- H2O MLOps: 모델 배포 및 모니터링 플랫폼
- H2O Feature Store: 특징 저장소 플랫폼
요약
h2oGPT는 강력한 오픈소스 프라이빗 GPT 솔루션으로, 특히 데이터 프라이버시를 완전히 제어해야 하는 기업 및 개인 사용자에게 적합합니다. 이 프로젝트는 상업용 GPT 서비스와 유사한 기능을 제공할 뿐만 아니라 문서 처리, 다중 모달리티 지원, 엔터프라이즈급 보안 등의 기능을 추가하여 프라이빗 AI 애플리케이션 구축을 위한 이상적인 선택입니다.