프로젝트 소개
WildReality DreamEngine는 LLM 기반 롤플레이 및 세계 시뮬레이션을 위해 설계된 오픈소스 AI 시뮬레이션 엔진입니다. Electron NodeJS 애플리케이션으로 구축되었으며, 단순한 LLM 채팅 클라이언트를 넘어 영속적 세계 로직을 갖춘 전체 게임 상태 관리 시스템을 구현합니다.
주요 기능은 다음과 같습니다:
- **아이템 영속성**: 세계에 배치된 객체는 명시적으로 이동되지 않는 한 수천 개의 메시지에 걸쳐 해당 위치에 유지됩니다.
- **캐릭터 진화**: 캐릭터는 복잡한 유대 시스템을 가지며, 사용자 및 다른 캐릭터와의 상호작용에 따라 진화합니다. 관계 역학은 완전히 사용자 정의할 수 있습니다.
- **사용자도 캐릭터**: 사용자는 시뮬레이션 내에서 특별한 권한이나 전지성을 부여받지 않고 하나의 캐릭터로 취급됩니다.
- **스토리 규칙**: 세계 규칙(예: SF 설정에서 마법 금지, 물리적 제한)이 적용되며 캐릭터는 이를 준수합니다.
- **동적 캐릭터 특성**: 캐릭터는 특성, 숨겨진 정신/감정 상태, 환경 트리거로 정의되며, 모두 JavaScript 스크립팅으로 사용자 정의할 수 있습니다.
- **개별 관점**: 각 캐릭터는 자신의 지식, 기억, 인식을 바탕으로 세계를 다르게 경험합니다.
- **비전지성**: 캐릭터는 자신이 참석하지 않은 사건(사용자의 행동 포함)을 알 수 없습니다.
- **동적 컨텍스트 크기 조정**: 스토리가 진행됨에 따라 컨텍스트 창이 자동으로 조정되어 내러티브를 신선하게 유지하고 반복을 제한합니다.
- **파워 스케일링**: 내장 및 확장 가능한 파워 스케일링 시스템이 비현실적인 캐릭터 지배를 방지합니다.
- **모델 호환성**: 호환되는 모든 기본 모델(Llama, Mistral, GLM 등)과 함께 작동합니다.
- **NSFW 지원**: 유대 강도에 따른 조건부 관계 게이팅을 통해 성인 콘텐츠를 지원합니다.
- **강화된 세계 배치**: 아이템 위치, 캐릭터 자세, 물리적 속성을 포함한 세부적인 세계 정의.
- **부피와 무게**: 아이템에 무게/부피가 있고 캐릭터에 힘/운반 용량이 있는 물리 시뮬레이션.
엔진은 전통적인 캐릭터 카드 대신 JavaScript 스크립팅(샌드박스)을 사용하여 캐릭터, 세계, 아이템을 정의합니다. 이 스크립팅 시스템은 어텐션 기반이 아니며 토큰을 소비하지 않으므로 임의로 복잡한 캐릭터 동작을 허용합니다.
**기술 요구 사항**: 엔진은 캐릭터 상태와 세계 로직을 추적하기 위해 추가 LLM 추론을 사용합니다. 최상의 결과를 위해 RTX 6000 Blackwell과 같은 하드웨어에서 4비트 양자화 버전으로 실행되는 120B+ 매개변수 모델을 권장합니다. 더 작은 모델은 상태 손상이나 '유령 같은 행동'을 초래할 수 있습니다.
**배포 옵션**:
- Electron 앱: `npm run start`
- 웹 버전: `npm run web` (브라우저를 통해 접근 가능한 단일 사용자 보안 서버 생성)
- 로컬 서버: DreamServer(https://github.com/onzag/de-server)와 호환되어 사용자 지정 하드웨어에서 엔진 실행 가능
프로젝트는 현재 진행 중(WIP)으로 표시되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.