2.8 KiB
2.8 KiB
| tags | |||
|---|---|---|---|
|
iso27DYI architecture with LLM
For connecting WeWeb (frontend) and Supabase (backend) with LLM functionality, you have several technology options:
- OpenAI API or Anthropic API directly from your middleware
- Supabase JavaScript client for database operations
- WeWeb API calls to your middleware endpoints
Since WeWeb works well with REST APIs and Supabase has excellent API support, you can build a middleware layer:
- Node.js/Express API - Create API endpoints that:
- Receive requests from WeWeb
- Query Supabase for data
- Call LLM APIs (OpenAI, Anthropic, etc.)
- Return processed responses to WeWeb
- Supabase Edge Functions - Use Supabase's serverless functions to:
- Handle LLM processing directly within your Supabase environment
- Access your database without additional API calls
- Deploy TypeScript/JavaScript functions that WeWeb can call
- Serverless Functions (Vercel, Netlify, or AWS Lambda):
- Deploy functions that orchestrate between WeWeb, Supabase, and LLMs
- Good for scaling and keeping costs predictable
The Supabase Edge Functions approach is often the most elegant since it keeps everything in your existing Supabase ecosystem and supports TypeScript natively.
// Edge function that:
// 1. Receives user input from WeWeb
// 2. Queries Supabase database for context
// 3. Calls OpenAI/Anthropic API directly
// 4. Returns response to WeWeb
For your slot-filling + content generation use case:
- Direct API calls to LLMs work perfectly
- Supabase handles your data needs
- WeWeb handles the UI interactions
Self-hosting the LLM
For self-hosting an LLM with an easy API, here are the simplest options:
Ollama (Easiest)
- Install Ollama on your server
- Pull models like
llama3,mistral,codellama - Built-in REST API at
http://localhost:11434 - Simple JSON requests, OpenAI-compatible endpoints
- Works great for development and moderate production use
vLLM (Best for Production)
- High-performance serving with OpenAI-compatible API
- Excellent throughput and batching
- Simple command:
vllm serve model-name --api-key your-key - API available at
http://localhost:8000/v1/
Text Generation Inference (TGI)
- Hugging Face's production-ready solution
- Docker container deployment
- OpenAI-compatible API
- Good performance optimization
For your Supabase setup:
- Deploy Ollama/vLLM on a server (or even locally for development)
- From your Supabase Edge Functions, make HTTP requests to your LLM API
- No need to change your WeWeb → Supabase → LLM flow
Quick start with Ollama:
# Install and run
curl -fsSL https://ollama.ai/install.sh | sh
ollama serve
ollama pull llama3
Then your Edge Functions can call POST http://your-server:11434/api/generate