공지사항: 버전 v2.0.0부터 이 프로젝트는 커스텀 라이선스를 채택하고 있습니다. 상업적 목적으로 사용하실 경우 이용 약관 섹션을 확인해 주시기 바랍니다.
이 저장소에는 주로 다음과 같은 2가지 기능이 있습니다.
- AI 캐릭터와 대화
- AITuber 스트리밍
아래 기사에 자세한 사용 방법을 작성했습니다.
이 프로젝트는 다음과 같은 환경에서 개발되었습니다:
- Node.js: ^20.0.0
- npm: 10.8.1
- 리포지토리를 로컬에 클론합니다.
git clone https://github.com/tegnike/aituber-kit.git
- 폴더를 엽니다.
cd aituber-kit
- 패키지를 설치합니다.
npm install
- 개발 모드에서 애플리케이션을 시작합니다.
npm run dev
- URL을 엽니다. http://localhost:3000
- AI 캐릭터와 대화할 수 있는 기능입니다.
- 이 저장소의 기반이 되는 pixiv/ChatVRM을 확장한 기능입니다.
- 각종 LLM의 API 키만 있으면 쉽게 시작할 수 있습니다.
- 최근의 대화 문장을 기억으로 보존합니다.
- 멀티모달로, 카메라에서의 영상이나 업로드한 이미지를 인식하여 답변을 생성할 수 있습니다.
- 설정 화면에서 각종 LLM의 API 키를 입력합니다.
- OpenAI
- Anthropic
- Google Gemini
- Azure OpenAI
- Groq
- Cohere
- Mistral AI
- Perplexity
- Fireworks
- 로컬 LLM
- Dify (Chatbot or Agent)
- 필요한 경우 캐릭터의 설정 프롬프트를 편집합니다.
- 필요한 경우 캐릭터의 VRM 파일 및 배경 파일을 업로드합니다.
- 음성 합성 엔진을 선택하고 필요한 경우 음성 설정을 구성합니다.
- VOICEVOX: 여러 옵션에서 스피커를 선택할 수 있습니다. 사전에 VOICEVOX 앱을 실행해야 합니다.
- Koeiromap: 세밀하게 음성을 조정할 수 있습니다. API 키가 필요합니다.
- Google TTS: 일본어 외의 언어도 선택 가능합니다. credential 정보가 필요합니다.
- Style-Bert-VITS2: 로컬 API 서버를 실행해야 합니다.
- GSVI TTS: 로컬 API 서버를 실행해야 합니다.
- ElevenLabs: 다양한 언어 선택이 가능합니다. API 키를 입력하세요.
- OpenAI: API 키가 필요합니다.
- Azure OpenAI: API 키가 필요합니다.
- 입력 양식에서 캐릭터와 대화를 시작합니다. 마이크 입력도 가능합니다.
- YouTube 스트리밍 댓글을 가져와서 캐릭터가 말하도록 할 수 있습니다.
- YouTube API 키가 필요합니다.
- '#'로 시작하는 댓글은 읽히지 않습니다.
- 설정 화면에서 YouTube 모드를 켭니다.
- YouTube API 키와 YouTube Live ID를 입력합니다.
- 다른 설정은 "AI 캐릭터와 대화"와 동일한 방식으로 구성합니다.
- YouTube에서 스트리밍을 시작하고 캐릭터가 댓글에 반응하는지 확인합니다.
- 대화 연속 모드를 켜면 댓글이 없어도 AI가 스스로 발언할 수 있습니다.
- WebSocket을 통해 서버 앱에 요청을 전송하고 응답을 받을 수 있습니다.
- 별도의 서버 앱을 준비해야 합니다.
- 서버 앱을 시작하고
ws://127.0.0.1:8000/ws
엔드포인트를 엽니다. - 설정 화면에서 WebSocket 모드를 켭니다.
- 다른 설정은 "AI 캐릭터와 대화"와 동일한 방식으로 구성합니다.
- 입력 양식에서 요청을 전송하고 서버 앱에서 응답이 반환되는지 확인합니다.
- 내가 만든 서버 앱 저장소로 시도해볼 수 있습니다. tegnike/aituber-server
- 자세한 설정은 "아름다운 소녀와 함께 개발해 보자!! 【Open Interpreter】"를 읽어보세요.
- AI 캐릭터가 자동으로 슬라이드를 발표하는 모드입니다.
- 사전에 슬라이드와 스크립트 파일을 준비해야 합니다.
- AI 캐릭터와 대화할 수 있는 단계까지 진행합니다.
- 지정된 폴더에 슬라이드 폴더와 스크립트 파일을 배치합니다.
- 설정 화면에서 슬라이드 모드를 켭니다.
- 슬라이드 시작 버튼을 눌러 발표를 시작합니다.
- OpenAI의 Realtime API를 사용하여 낮은 지연으로 캐릭터와 대화할 수 있는 모드입니다.
- 함수 실행을 정의할 수 있습니다.
- AI 서비스에서 OpenAI 또는 Azure OpenAI를 선택합니다.
- Realtime API 모드를 켭니다.
- 마이크를 사용하여 대화합니다.
- src/components/realtimeAPITools.tsx, src/components/realtimeAPITools.json에 새로운 함수를 정의합니다.
- 기존의 get_current_weather 함수를 참고하세요.
public/AvatarSample_B.vrm
에서 VRM 모델 데이터를 변경합니다. 이름은 변경하지 마십시오.public/bg-c.png
에서 배경 이미지를 변경합니다. 이름은 변경하지 마십시오.
- 일부 구성 값은
.env
파일 내용에서 참조할 수 있습니다. - 설정 화면에 입력된 경우 해당 값이 우선적으로 적용됩니다.
- Alt (또는 option) 키를 누르고 있는 동안 입력 => 떼면 전송
- 마이크 버튼 클릭 (한 번 클릭하면 입력 시작) => 다시 클릭하면 전송
- 대화 내역은 설정 화면에서 재설정할 수 있니다.
- 다양한 설정 항목은 브라우저에 저장됩니다.
- 코드 블록으로 둘러싸인 요소는 TTS에서 읽히지 않습니다.
- 오늘부터 당신도 AITuber 개발자|니케짱
- 미소녀와 함께 개발해보자!! [Open Interpreter]
- 슬라이드 발표는 AI가 하는 시대!!!!
- AITuberKit에 멀티모달 기능을 추가해서 AI 캐릭터와 집에서 한잔 해보자
- AITuberKit × Dify로 초간단 챗봇 구축
- Dify를 Xserver에서 인터넷에 공개하기
- 고급 음성 모드인 Realtime API를 시도해보자
개발을 지속하기 위해 스폰서를 모집하고 있습니다.
여러분의 지원은 AITuber 키트의 개발과 개선에 크게 기여합니다.
그 외, 다수의 비공개 스폰서
버전 v2.0.0부터 이 프로젝트는 커스텀 라이선스를 채택하고 있습니다.
-
무상 이용
- 영리 목적이 아닌 개인 사용, 교육 목적, 비영리 목적의 사용은 무상으로 이용 가능합니다.
-
상업용 라이선스
- 상업적 목적으로 사용하는 경우에는 별도의 상업용 라이선스 취득이 필요합니다.
- 자세한 내용은 라이선스 관련을 확인해 주시기 바랍니다.