UStackUStack
MulmoChat icon

MulmoChat

MulmoChat은 캔버스에서 텍스트와 시각·인터랙티브 콘텐츠를 함께 다루는 멀티모달 AI 채팅 연구 프로토타입입니다. 통합 텍스트 API와 ComfyUI 로컬 이미지 생성 포함

MulmoChat

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 사용 방법

  1. 의존성 설치: yarn install 실행.
  2. 환경 변수 구성: .env 파일 생성. 활성화된 기능에 따라 OPENAI_API_KEY, GEMINI_API_KEY 등의 키 입력. 지도 기능(GOOGLE_MAP_API_KEY), AI 검색(EXA_API_KEY), HTML 생성(ANTHROPIC_API_KEY) 등 선택적 키 추가.
  3. 개발 서버 시작: yarn dev 실행.
  4. 음성 입력 사용(브라우저 권한 필요): 프롬프트 시 마이크 액세스 허용 후 “Start Voice Chat” 클릭하고 AI에 말하기.
  5. 통합 텍스트 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 등): 이미지 워크플로를 로컬에서 실행할 수는 있지만, 여기 설명된 통합 멀티모달 채팅 흐름을 얻지 못합니다.
  • 특정 멀티모달 캔버스 아키텍처 없는 도구 호출 에이전트 프레임워크: 에이전트 도구는 모델 액션과 도구를 조율할 수 있지만, 동일한 캔버스 중심 멀티모달 상호작용 패턴을 제공하지 않을 수 있습니다.
MulmoChat | UStack