Initial commit
This commit is contained in:
commit
570d74d4dd
67 changed files with 4609 additions and 0 deletions
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
tags:
|
||||
- iso27DIY
|
||||
- architecture
|
||||
- LLMgenerated
|
||||
---
|
||||
# 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:
|
||||
|
||||
1. **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
|
||||
2. **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
|
||||
3. **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.
|
||||
|
||||
``` typescript
|
||||
// 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:**
|
||||
|
||||
1. Deploy Ollama/vLLM on a server (or even locally for development)
|
||||
2. From your Supabase Edge Functions, make HTTP requests to your LLM API
|
||||
3. No need to change your WeWeb → Supabase → LLM flow
|
||||
|
||||
**Quick start with Ollama:**
|
||||
|
||||
```bash
|
||||
# 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`
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue