오픈아바타챗: 모듈식으로 설계된 디지털 인간 대화 도구

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
12.6K 00

일반 소개

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

OpenAvatarChat:模块化设计的数字人对话工具

 

기능 목록

  • 모듈형 디지털 인간 대화: 음성 및 영상과의 실시간 상호작용을 지원하며, 모듈을 자유롭게 결합할 수 있습니다.
  • 실시간 오디오 및 비디오 전송: 그라디오웹티씨를 통한 지연 시간이 짧은 오디오 및 비디오 통신.
  • 음성 인식 및 생성: 음성 입력 및 출력을 처리하기 위해 SenseVoice와 CosyVoice를 통합했습니다.
  • 디지털 휴먼 애니메이션: 라이트아바타로 부드러운 디지털 휴먼의 표정과 움직임을 생성하세요.
  • 오픈 소스 지원: 완전한 코드가 제공되며 사용자는 필요에 따라 코드를 수정하거나 최적화할 수 있습니다.

 

도움말 사용

오픈아바타챗은 사용자가 직접 코드를 다운로드하고 환경을 구성해야 하는 오픈 소스 프로젝트입니다. 다음은 빠르게 시작하는 데 도움이 되는 자세한 설치 및 사용 단계입니다.

설치 프로세스

  1. 시스템 요구 사항 확인
    시작하기 전에 디바이스가 다음 조건을 충족하는지 확인하세요:

    • Python 3.10 이상.
    • 최소 10GB의 그래픽 메모리를 갖춘 CUDA 지원 GPU(정량화되지 않은 모델의 경우 20GB 이상).
    • CPU 성능이 강력합니다(i9-13980HX에서 30FPS로 테스트).
      다음 명령어로 Python 버전을 확인할 수 있습니다:
python --version
  1. Git LFS 설치
    이 프로젝트는 대용량 파일을 관리하기 위해 Git LFS를 사용하므로 먼저 설치하세요:
sudo apt install git-lfs
git lfs install
  1. 코드 다운로드
    터미널에 다음 명령을 입력하여 프로젝트를 로컬에 복제합니다:
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
  1. 하위 모듈 업데이트
    이 프로젝트는 다음 명령을 실행하여 업데이트되는 여러 하위 모듈에 의존합니다:
git submodule update --init --recursive
  1. 모델 다운로드
    멀티모달 언어 모델 MiniCPM-o-2.6은 수동으로 다운로드해야 합니다. 다음에서 다운로드할 수 있습니다. 허깅페이스 어쩌면 모델 범위 Get. 모델을 models/ 폴더로 이동하거나 스크립트를 실행하여 자동으로 다운로드하세요:
scripts/download_MiniCPM-o_2.6.sh

비디오 메모리가 충분하지 않은 경우, int4 정량화 버전을 다운로드할 수 있습니다:

scripts/download_MiniCPM-o_2.6-int4.sh
  1. 종속성 설치
    프로젝트 루트 디렉토리에서 실행합니다:
pip install -r requirements.txt
  1. SSL 인증서 생성
    원격 액세스가 필요한 경우 자체 서명된 인증서를 생성합니다:
scripts/create_ssl_certs.sh

인증서는 기본적으로 ssl_certs/ 폴더.

  1. 실행 중인 프로그램
    시작에는 두 가지 유형이 있습니다:
  • 직접 실행::
    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으로 설정합니다.
    구성을 적용하려면 프로그램을 저장하고 다시 시작하세요.

워크플로

  1. 프로그램을 시작하고 인터페이스 로딩이 완료될 때까지 기다립니다.
  2. 카메라와 마이크가 제대로 작동하는지 확인합니다.
  3. 대화를 시작하면 시스템이 자동으로 음성 및 동영상을 처리합니다.
  4. 중지하려면 Ctrl+C를 눌러 터미널을 닫거나 인터페이스를 종료합니다.

클라우드 기반 대안

로컬 구성이 충분하지 않은 경우 MiniCPM-o를 클라우드 LLM으로 대체할 수 있습니다:

  1. 수정 src/demo.pyASR, LLM 및 TTS 프로세서를 활성화하려면 MiniCPM 섹션을 참고하세요.
  2. 존재 configs/sample.yaml 구성 LLM_Bailian를 클릭하고 API 주소와 키를 입력합니다:
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
  1. 사용하려면 프로그램을 다시 시작하세요.

주의

  • GPU 메모리가 부족하면 애플리케이션이 충돌할 수 있으므로 int4 모델 또는 클라우드 API를 사용하는 것이 좋습니다.
  • 네트워크가 불안정하면 실시간 전송에 영향을 미치므로 유선 연결을 권장합니다.
  • 구성 경로는 상대 경로(프로젝트 루트 디렉터리 기준) 또는 절대 경로를 지원합니다.

 

애플리케이션 시나리오

  1. 기술 연구
    개발자는 이를 사용하여 디지털 인간 대화 기술을 연구하고 모듈식 설계의 구현을 분석할 수 있습니다.
  2. 개인 테스트
    사용자는 로컬 서비스를 구축하고 음성 기반의 디지털 인간 상호 작용을 경험할 수 있습니다.
  3. 교육 및 훈련
    학생들은 코드를 통해 음성 인식, 언어 모델링, 디지털 휴먼 애니메이션의 원리를 배울 수 있습니다.

 

QA

  1. 비디오 메모리가 충분하지 않은 경우 어떻게 하나요?
    int4 정량적 모델을 다운로드하거나 로컬 모델 대신 클라우드 기반 LLM API를 사용하세요.
  2. 멀티플레이어 대화를 지원하나요?
    현재 버전은 싱글 플레이어 대화에 적합하며, 멀티 플레이어 기능은 직접 개발해야 합니다.
  3. 런타임 지연은 어떻게 되나요?
    CPU/GPU 성능을 확인하고, 프레임 속도를 줄이거나 빠른 모드를 끕니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...