You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ragdesk is a multi-tenant, AI-powered knowledge SaaS. Teams create a
workspace, upload documents, and chat with an assistant that answers
only from their documents, with citations — a Retrieval-Augmented
Generation (RAG) product.
Services
flowchart LR
User([User]) --> Web[web · Next.js 16 + TS]
Web -->|REST / SSE| API[api · Go + chi]
API --> PG[(Postgres + pgvector)]
API --> Redis[(Redis · cache + queue)]
API -->|ingest / chat| AI[ai · Python + FastAPI]
AI --> PG
AI -->|provider-agnostic| LLM{{Ollama · Gemini · Claude}}
Relational data and vector embeddings in one store
redis
redis:7
Cache, rate limiting, background job queue
Why this split
Go core, Python AI mirrors how real AI products are built: a fast,
strongly-typed service layer for tenancy/billing, and Python where the
LLM/embedding ecosystem lives.
One Postgres for rows and vectors (via pgvector) keeps the $0
footprint small and avoids a separate vector database.
Provider-agnostic LLM — the model is an implementation detail behind an
interface. Local Ollama for $0 development, a free-tier hosted provider
for cloud demos, and Claude when there is budget. This is the production
pattern (model routing + fallback), not a single hard-coded vendor.