UStackUStack
MulmoChat icon

MulmoChat

MulmoChat è un prototipo di ricerca per chat AI multimodali: testo con contenuti visivi e interattivi su canvas, API di generazione unificata e immagini locali via ComfyUI.

MulmoChat

Cos'è MulmoChat?

MulmoChat è un prototipo di ricerca per esplorare esperienze di chat AI multimodali. Invece di limitare le interazioni a un flusso di messaggi di testo, supporta conversazioni che includono contenuti visivi e interattivi resi direttamente su un canvas.

Lo scopo principale è dimostrare un'architettura, pattern di design e principi UX per interfacce di chat multimodali in cui esperienze visive e comprensione del linguaggio collaborano in un unico flusso conversazionale.

Caratteristiche Principali

  • Chat multimodale su canvas: Progettata per combinare conversazione con contenuti visivi e interattivi (ad esempio, immagini e altri elementi visivi ricchi) nella stessa esperienza utente.
  • Architettura e pattern UX orientati alla ricerca: Include documentazione per esplorazione orientata al prodotto e implementazione ingegneristica (es. LLM_OS.md e WHITEPAPER.md).
  • API di generazione testo provider-agnostica: Espone un'API backend unificata che normalizza le risposte di generazione testo tra più provider LLM.
  • Endpoint di discovery provider testo: GET /api/text/providers restituisce i provider configurati (OpenAI, Anthropic, Google Gemini, Ollama), con suggerimenti di modelli e disponibilità credenziali.
  • Endpoint unificato di generazione testo: POST /api/text/generate accetta provider, modello e messaggi, restituendo una risposta testo normalizzata indipendentemente dal vendor.
  • Integrazione generazione immagini locali via ComfyUI: Si integra con ComfyUI Desktop per generazione immagini locali usando modelli e workflow ospitati localmente (es. FLUX), senza dipendere solo da generazione cloud.

Come Usare MulmoChat

  1. Installa le dipendenze: Esegui yarn install.
  2. Configura variabili d'ambiente: Crea un file .env con chiavi come OPENAI_API_KEY e GEMINI_API_KEY (richieste dal progetto in base alle feature abilitate), più chiavi opzionali per mappe (GOOGLE_MAP_API_KEY), ricerca AI (EXA_API_KEY), generazione HTML (ANTHROPIC_API_KEY) e altro.
  3. Avvia il server di sviluppo: Esegui yarn dev.
  4. Usa input vocale (richiede permesso browser): Quando richiesto, autorizza l'accesso al microfono, poi clicca “Start Voice Chat” e parla con l'AI.
  5. Testa l'API testo unificata (opzionale): Con il server dev in esecuzione, lancia gli script TypeScript in server/tests/ per verificare la generazione testo sui provider configurati.

Per setup locali, il progetto supporta Ollama (via OLLAMA_BASE_URL, di default http://127.0.0.1:11434) e ComfyUI Desktop (via COMFYUI_BASE_URL, di default http://127.0.0.1:8000).

Casi d'Uso

  • Prototipi di interazione multimodale voice-first: Usa il flusso voice chat per testare come input utente vocale possa guidare un'esperienza AI che genera anche contenuti visivi.
  • Sperimentazione con mentalità “OS” AI-native per team prodotto: Strategist e designer prodotto possono leggere la documentazione paradigmatica di alto livello (LLM_OS.md) per inquadrare concetti di interazione oltre la chat solo testo.
  • Ingegneria o valutazione stack di orchestrazione: Sviluppatori e ricercatori possono usare diagrammi di sistema e dettagli workflow in WHITEPAPER.md per comprendere e valutare il comportamento di orchestrazione per chat multimodali.
  • Estensione capacità chat con plugin: Sviluppatori possono seguire TOOLPLUGIN.md per implementare estensioni end-to-end, inclusi contratti TypeScript e viste Vue.
  • Generazione immagini locali e controllabili in loop chat: Quando la generazione immagini deve essere locale (controllo modello/workflow), integra con ComfyUI Desktop e usa l'API locale per generare immagini.

FAQ

D: Cosa significa “provider-agnostica” per la generazione testo in MulmoChat?
R: Il progetto fornisce un'API unificata (POST /api/text/generate) che prende provider, model e messages e restituisce una risposta testo normalizzata tra i vendor supportati.

D: Quali provider LLM supporta l'API testo unificata?
R: La documentazione API testo del repository elenca OpenAI, Anthropic, Google Gemini e Ollama come provider supportati (disponibilità in base alle credenziali configurate).

D: Serve API key per tutti i provider?
R: No—feature e disponibilità provider dipendono da quanto configuri nel tuo .env. Chiavi opzionali sono indicate per capacità specifiche (es. mappe, ricerca AI, generazione HTML).

D: Come verifico che la generazione testo funzioni?
R: Esegui gli script forniti in server/tests/ (es. server/tests/test-text-openai.ts, test-text-anthropic.ts, ecc.). Questi script riportano modello selezionato e output normalizzato, con diagnostica su fallimento.

D: Come gestita la generazione immagini locali?
R: MulmoChat si integra con ComfyUI Desktop via server API locale (configurato tramite COMFYUI_BASE_URL). Supporta uso locale di modelli/workflow invece di sola generazione cloud.

Alternative

  • Applicazioni di chat solo testo: Le interfacce di chat tradizionali si concentrano su flussi di messaggi senza rendering multimodale basato su canvas, il che semplifica l'implementazione ma non dimostra pattern di interazione multimodali.
  • Client di modelli multimodali generici (UI separata + chiamate al modello): Gli strumenti che combinano immagini e chat richiedono tipicamente di comporre da soli il rendering UI e le chiamate al modello; MulmoChat si concentra su un'architettura di riferimento e principi di interazione.
  • Frontend per generazione immagini locali (ComfyUI o simili) senza layer UX di chat: Eseguire workflow di immagini localmente è possibile al di fuori di un'interfaccia conversazionale, ma non si ottiene il flusso di chat multimodale unificato descritto qui.
  • Framework di agent con tool calling (senza architettura canvas multimodale specifica): Gli strumenti per agent possono orchestrare azioni del modello e tool, ma potrebbero non fornire gli stessi pattern di interazione multimodali centrati sul canvas.
MulmoChat | UStack