일반 소개
오픈아바타챗은 휴먼에이아이지씨 엔지니어링 팀이 개발한 오픈 소스 프로젝트로, 깃허브에서 호스팅되고 있습니다. 사용자가 단일 PC에서 모든 기능을 실행할 수 있는 모듈식 디지털 휴먼 대화 도구입니다. 이 프로젝트는 실시간 비디오, 음성 인식, 디지털 휴먼 기술을 결합하여 유연한 모듈식 설계와 지연 시간이 짧은 상호 작용을 핵심 기능으로 합니다. 오디오 컴포넌트는 SenseVoice, qwen-plus 및 CosyVoice 동영상 부분은 라이트아바타 알고리즘에 의존합니다. 개발자가 연구하고 개선할 수 있도록 코드가 완전히 공개되어 있습니다.

기능 목록
- 모듈형 디지털 인간 대화: 음성 및 영상과의 실시간 상호작용을 지원하며, 모듈을 자유롭게 결합할 수 있습니다.
- 실시간 오디오 및 비디오 전송: 그라디오웹티씨를 통한 지연 시간이 짧은 오디오 및 비디오 통신.
- 음성 인식 및 생성: 음성 입력 및 출력을 처리하기 위해 SenseVoice와 CosyVoice를 통합했습니다.
- 디지털 휴먼 애니메이션: 라이트아바타로 부드러운 디지털 휴먼의 표정과 움직임을 생성하세요.
- 오픈 소스 지원: 완전한 코드가 제공되며 사용자는 필요에 따라 코드를 수정하거나 최적화할 수 있습니다.
도움말 사용
오픈아바타챗은 사용자가 직접 코드를 다운로드하고 환경을 구성해야 하는 오픈 소스 프로젝트입니다. 다음은 빠르게 시작하는 데 도움이 되는 자세한 설치 및 사용 단계입니다.
설치 프로세스
- 시스템 요구 사항 확인
시작하기 전에 디바이스가 다음 조건을 충족하는지 확인하세요:- Python 3.10 이상.
- 최소 10GB의 그래픽 메모리를 갖춘 CUDA 지원 GPU(정량화되지 않은 모델의 경우 20GB 이상).
- CPU 성능이 강력합니다(i9-13980HX에서 30FPS로 테스트).
다음 명령어로 Python 버전을 확인할 수 있습니다:
python --version
- Git LFS 설치
이 프로젝트는 대용량 파일을 관리하기 위해 Git LFS를 사용하므로 먼저 설치하세요:
sudo apt install git-lfs
git lfs install
- 코드 다운로드
터미널에 다음 명령을 입력하여 프로젝트를 로컬에 복제합니다:
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
- 하위 모듈 업데이트
이 프로젝트는 다음 명령을 실행하여 업데이트되는 여러 하위 모듈에 의존합니다:
git submodule update --init --recursive
- 모델 다운로드
멀티모달 언어 모델 MiniCPM-o-2.6은 수동으로 다운로드해야 합니다. 다음에서 다운로드할 수 있습니다. 허깅페이스 어쩌면 모델 범위 Get. 모델을models/
폴더로 이동하거나 스크립트를 실행하여 자동으로 다운로드하세요:
scripts/download_MiniCPM-o_2.6.sh
비디오 메모리가 충분하지 않은 경우, int4 정량화 버전을 다운로드할 수 있습니다:
scripts/download_MiniCPM-o_2.6-int4.sh
- 종속성 설치
프로젝트 루트 디렉토리에서 실행합니다:
pip install -r requirements.txt
- SSL 인증서 생성
원격 액세스가 필요한 경우 자체 서명된 인증서를 생성합니다:
scripts/create_ssl_certs.sh
인증서는 기본적으로 ssl_certs/
폴더.
- 실행 중인 프로그램
시작에는 두 가지 유형이 있습니다:
- 직접 실행::
python src/demo.py
- 컨테이너화된 운영(Nvidia Docker 필요):
build_and_run.sh
주요 기능
- 디지털 인간 대화의 시작
프로그램을 실행한 후 브라우저를 열고 다음 사이트를 방문합니다.https://localhost:8282
(포트는configs/sample.yaml
(수정)을 클릭합니다. 인터페이스에 디지털 사람이 표시되고 "시작"을 클릭하면 프로그램이 카메라와 마이크를 호출하고 대화 모드로 들어갑니다. - 음성 상호작용
마이크에 대고 말하면 시스템이 SenseVoice를 통해 음성을 인식하고, MiniCPM-o가 답변을 생성하며, CosyVoice가 이를 음성 출력으로 변환합니다. 디지타이저는 표정과 입 모양을 동기화합니다. 테스트 결과 약 2.2초의 응답 지연 시간을 보였습니다(i9-13900KF 및 RTX 4090 기준). - 구성 조정
컴파일러configs/sample.yaml
문서. 예시: - 포트 수정: 포트에
service.port
다른 값으로 변경합니다. - 프레임 속도 조정: 설정
Tts2Face.fps
30으로 설정합니다.
구성을 적용하려면 프로그램을 저장하고 다시 시작하세요.
워크플로
- 프로그램을 시작하고 인터페이스 로딩이 완료될 때까지 기다립니다.
- 카메라와 마이크가 제대로 작동하는지 확인합니다.
- 대화를 시작하면 시스템이 자동으로 음성 및 동영상을 처리합니다.
- 중지하려면 Ctrl+C를 눌러 터미널을 닫거나 인터페이스를 종료합니다.
클라우드 기반 대안
로컬 구성이 충분하지 않은 경우 MiniCPM-o를 클라우드 LLM으로 대체할 수 있습니다:
- 수정
src/demo.py
ASR, LLM 및 TTS 프로세서를 활성화하려면 MiniCPM 섹션을 참고하세요. - 존재
configs/sample.yaml
구성LLM_Bailian
를 클릭하고 API 주소와 키를 입력합니다:
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
- 사용하려면 프로그램을 다시 시작하세요.
주의
- GPU 메모리가 부족하면 애플리케이션이 충돌할 수 있으므로 int4 모델 또는 클라우드 API를 사용하는 것이 좋습니다.
- 네트워크가 불안정하면 실시간 전송에 영향을 미치므로 유선 연결을 권장합니다.
- 구성 경로는 상대 경로(프로젝트 루트 디렉터리 기준) 또는 절대 경로를 지원합니다.
애플리케이션 시나리오
- 기술 연구
개발자는 이를 사용하여 디지털 인간 대화 기술을 연구하고 모듈식 설계의 구현을 분석할 수 있습니다. - 개인 테스트
사용자는 로컬 서비스를 구축하고 음성 기반의 디지털 인간 상호 작용을 경험할 수 있습니다. - 교육 및 훈련
학생들은 코드를 통해 음성 인식, 언어 모델링, 디지털 휴먼 애니메이션의 원리를 배울 수 있습니다.
QA
- 비디오 메모리가 충분하지 않은 경우 어떻게 하나요?
int4 정량적 모델을 다운로드하거나 로컬 모델 대신 클라우드 기반 LLM API를 사용하세요. - 멀티플레이어 대화를 지원하나요?
현재 버전은 싱글 플레이어 대화에 적합하며, 멀티 플레이어 기능은 직접 개발해야 합니다. - 런타임 지연은 어떻게 되나요?
CPU/GPU 성능을 확인하고, 프레임 속도를 줄이거나 빠른 모드를 끕니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...