Interactive demos showcasing the capabilities of @just-every/ensemble - a unified LLM provider abstraction layer.
Demonstrates the streaming request interface with real-time conversation capabilities, tool calling, and cost tracking across multiple providers.
Features:
- Real-time streaming responses
- Multi-provider model selection by class (mini, standard, large)
- Tool calling with parallel execution
- Token usage and cost tracking
- Request history and debugging
Text embedding generation for semantic search and similarity comparisons.
Features:
- Multiple embedding models
- Batch text processing
- Semantic similarity comparison
- Vector dimension customization
- Cost tracking
Text-to-speech synthesis using multiple providers (OpenAI, ElevenLabs, Google Gemini).
Features:
- Multiple voice options per provider
- Real-time audio streaming
- Various output formats (PCM, WAV, MP3, etc.)
- Speed control and audio quality settings
- Generation history with playback
Real-time speech-to-text transcription with live audio streaming.
Features:
- Live microphone recording
- Real-time transcription streaming
- Audio visualization
- Multiple transcription models
- Low-latency processing
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env # Add your API keys for providers you want to test -
Start the demo servers:
npm run demo
This starts:
- Frontend dev server on http://localhost:3000
- WebSocket servers on ports 3004-3008
-
Open in browser: Navigate to http://localhost:3000
The demos use a WebSocket architecture for real-time streaming:
- Frontend: React + TypeScript with glassmorphism UI
- Backend: Node.js WebSocket servers using the ensemble library
- Streaming: Real-time event streaming for all operations
- State Management: Custom hooks for conversation and task state
Each demo can be configured with:
- Provider API Keys: Set in
.envfile - Model Selection: Choose models by class or specific model
- Advanced Settings: Temperature, tool calling, format options
- UI Preferences: Theme and layout customization
To modify the demos:
- Frontend code:
demo/src/ - Backend servers:
demo/servers/ - Shared UI components:
demo/src/components/ - Styles: SCSS with CSS variables for theming
The demos showcase best practices for integrating ensemble into your applications.




