JWT-authenticated APIs for document management and vector search
AI Document Assistant · Go
AI-powered document assistant with semantic search using Go, pgvector, and fastembed for intelligent retrieval across private document libraries.
Auth
JWT
Search
pgvector similarity
Formats
TXT / PDF
Runtime
Docker Compose
Interactive lens
Drag the handle right to reveal the solution over the problem.
Problem
Teams need meaning-based search over private TXT/PDF libraries without shipping documents into a third-party black box. Keyword search misses intent; managed RAG often means data leaving your boundary.
Solution
Docentra is a secure Go API for JWT-authenticated document upload, parsing, background embedding, and semantic search/query over Postgres with pgvector. A Python FastEmbed CLI produces embeddings; Docker Compose runs the full stack locally.
Drag right to reveal the solution · 12%
JWT-authenticated APIs for document management and vector search
Upload → extract → chunk → embed → store pipeline for TXT/PDF
Similarity search via pgvector without outsourcing the corpus
Execution flow
End-to-end flow from trigger to decision output.
Step 1 of 5
Client hits Go API (Chi + GORM)
Step 2 of 5
API stores uploads and document metadata in Postgres
Step 3 of 5
Background processing extracts text, chunks it, and calls FastEmbed CLI
Step 4 of 5
Chunk embeddings land in document_chunks via pgvector
Step 5 of 5
OutputSearch/query embeds the question and runs similarity (`<=>`)
Capabilities
POST /api/documents uploads a file and triggers async processing
Python FastEmbed CLI with model BAAI/bge-small-en-v1.5
POST /api/search and POST /api/query embed the query and rank chunks
Health endpoint and Compose-first local development
Pin a layer
Click a layer to isolate it — Open Source · Go · pgvector · Docker
Live signal
1 Docentra is a private-document semantic search stack: Go for auth and orchestration, FastEmbed for vectors, and Postgres/pgvector for retrieval. Built for RAG-style workflows where the library stays under your control.
[ VERIFY ]
Claims should survive a read of the repo.