MulmoChat이란?
MulmoChat은 멀티모달 AI 채팅 경험을 탐구하는 연구 프로토타입입니다. 텍스트 메시지 스트림에 상호작용을 제한하는 대신, 캔버스에 직접 렌더링되는 풍부한 시각 및 인터랙티브 콘텐츠를 포함한 대화형 경험을 지원합니다.
핵심 목적은 시각 경험과 언어 이해가 단일 대화 흐름 내에서 함께 작동하는 멀티모달 채팅 인터페이스를 위한 아키텍처, 디자인 패턴, UX 원칙을 시연하는 것입니다.
주요 기능
- 캔버스上的 멀티모달 채팅: 대화와 시각적·인터랙티브 콘텐츠(예: 이미지 및 기타 풍부한 시각 요소)를 동일한 사용자 경험에서 결합하도록 설계되었습니다.
- 연구 지향 아키텍처 & UX 패턴: 제품 탐구와 엔지니어링 구현을 위한 문서 포함(예: LLM_OS.md 및 WHITEPAPER.md).
- 제공자 중립 텍스트 생성 API: 여러 LLM 제공자 간 텍스트 생성 응답을 정규화하는 통합 백엔드 API를 노출합니다.
- 텍스트 제공자 탐색 엔드포인트:
GET /api/text/providers는 구성된 제공자(OpenAI, Anthropic, Google Gemini, Ollama), 모델 제안 및 자격 증명 가용성을 반환합니다. - 통합 텍스트 생성 엔드포인트:
POST /api/text/generate는 제공자, 모델, 메시지를 받아 벤더에 관계없이 정규화된 텍스트 응답을 반환합니다. - ComfyUI를 통한 로컬 이미지 생성 통합: 클라우드 생성에만 의존하지 않고 로컬 호스팅 모델 및 워크플로(예: FLUX)를 사용한 ComfyUI Desktop과 통합합니다.
MulmoChat 사용 방법
- 의존성 설치:
yarn install실행. - 환경 변수 구성:
.env파일 생성. 활성화된 기능에 따라OPENAI_API_KEY,GEMINI_API_KEY등의 키 입력. 지도 기능(GOOGLE_MAP_API_KEY), AI 검색(EXA_API_KEY), HTML 생성(ANTHROPIC_API_KEY) 등 선택적 키 추가. - 개발 서버 시작:
yarn dev실행. - 음성 입력 사용(브라우저 권한 필요): 프롬프트 시 마이크 액세스 허용 후 “Start Voice Chat” 클릭하고 AI에 말하기.
- 통합 텍스트 API 테스트(선택): 개발 서버 실행 중
server/tests/의 TypeScript 스크립트 실행하여 구성된 제공자에 대한 텍스트 생성 확인.
로컬 설정의 경우, 프로젝트는 Ollama(OLLAMA_BASE_URL, 기본 http://127.0.0.1:11434)와 ComfyUI Desktop(COMFYUI_BASE_URL, 기본 http://127.0.0.1:8000)을 지원합니다.
사용 사례
- 음성 우선 멀티모달 상호작용 프로토타입: 음성 채팅 흐름을 사용해 음성 사용자 입력이 생성된 시각을 생산하는 AI 경험을 테스트.
- 제품 팀을 위한 AI 네이티브 “OS” 마인드셋 실험: 제품 전략가 및 디자이너가 텍스트オン리 채팅을 넘어선 상호작용 개념을 프레임화하기 위해 고급 패러다임 문서(LLM_OS.md) 읽기.
- 오케스트레이션 스택 엔지니어링 또는 평가: 개발자 및 연구자가 WHITEPAPER.md의 시스템 다이어그램과 워크플로 세부 정보를 통해 멀티모달 채팅의 오케스트레이션 동작 이해 및 평가.
- 플러그인으로 채팅 기능 확장: 개발자가 TOOLPLUGIN.md를 따라 TypeScript 계약 및 Vue 뷰를 포함한 엔드투엔드 확장 구현.
- 채팅 루프 내 로컬 제어 이미지 생성: 이미지 생성이 로컬에서 실행되어야 할 때(모델/워크플로 제어), ComfyUI Desktop과 통합하여 로컬 API로 이미지 생성.
자주 묻는 질문
Q: MulmoChat에서 “제공자 중립” 텍스트 생성이란?
A: 프로젝트는 provider, model, messages를 받아 지원 벤더 간 정규화된 텍스트 응답을 반환하는 통합 API(POST /api/text/generate)를 제공합니다.
Q: 통합 텍스트 API가 지원하는 LLM 제공자는?
A: 저장소 텍스트 API 문서에 OpenAI, Anthropic, Google Gemini, Ollama가 지원 제공자로 나열되며(구성된 자격 증명에 따라 가용).
Q: 모든 제공자에 API 키가 필요한가?
A: 아니요—.env에 구성한 내용에 따라 기능과 제공자 가용성 결정. 특정 기능(예: 지도, AI 검색, HTML 생성)에 선택적 키 명시.
Q: 텍스트 생성이 작동하는지 확인 방법은?
A: server/tests/ 아래 제공된 스크립트 실행(예: server/tests/test-text-openai.ts, test-text-anthropic.ts 등). 선택 모델과 정규화 출력 보고, 실패 시 진단 로그.
Q: 로컬 이미지 생성은 어떻게 처리되나?
A: MulmoChat은 COMFYUI_BASE_URL을 통해 로컬 API 서버로 ComfyUI Desktop과 통합. 클라우드オン리 생성 대신 로컬 모델/워크플로 사용 지원.
대안
- 텍스트 전용 채팅 앱: 전통적인 채팅 인터페이스는 캔버스 기반 멀티모달 렌더링 없이 메시지 스트림에 초점을 맞춰 구현이 간단하지만, 멀티모달 상호작용 패턴을 보여주지 않습니다.
- 일반 멀티모달 모델 클라이언트 (별도 UI + 모델 호출): 이미지와 채팅을 결합하는 도구들은 보통 UI 렌더링과 모델 호출을 직접 구성해야 합니다; MulmoChat은 참조 아키텍처와 상호작용 원칙에 중점을 둡니다.
- 채팅 UX 레이어 없는 로컬 이미지 생성 프론트엔드 (ComfyUI 등): 이미지 워크플로를 로컬에서 실행할 수는 있지만, 여기 설명된 통합 멀티모달 채팅 흐름을 얻지 못합니다.
- 특정 멀티모달 캔버스 아키텍처 없는 도구 호출 에이전트 프레임워크: 에이전트 도구는 모델 액션과 도구를 조율할 수 있지만, 동일한 캔버스 중심 멀티모달 상호작용 패턴을 제공하지 않을 수 있습니다.
대안
BookAI.chat
BookAI는 제목과 저자를 제공하기만 하면 AI를 사용하여 책과 대화할 수 있게 해줍니다.
Ably Chat
Ably Chat은 실시간 채팅 API와 SDK로 맞춤형 채팅 앱을 구축합니다. 반응, 존재감, 메시지 편집/삭제를 포함해 대규모 실시간에 최적화
Grok AI Assistant
Grok은 xAI가 개발한 무료 AI 어시스턴트로, 실시간 정보 접근 및 이미지 생성과 같은 고급 기능을 제공하는 동시에 진실성과 객관성을 최우선으로 하도록 설계되었습니다.
AakarDev AI
AakarDev AI는 원활한 벡터 데이터베이스 통합을 통해 AI 애플리케이션 개발을 간소화하는 강력한 플랫폼으로, 신속한 배포와 확장성을 가능하게 합니다.
skills-janitor
skills-janitor로 Claude Code 기술을 감사하고 사용량을 추적하며, 9가지 슬래시 커맨드로 자신의 능력을 비교하세요. 의존성 0.
Talkpal
Talkpal은 몰입형 대화와 실시간 피드백을 통해 사용자가 더 빠르게 언어를 배울 수 있도록 돕는 AI 언어 교사입니다.