EmbAPI ⚽ Documentation#
Welcome to the documentation for EmbAPI ⚽, a vector database API layer developed for Digital Humanities applications at the Max Planck Society.
What is EmbAPI ⚽?#
EmbAPI ⚽ is a PostgreSQL-backed vector database with pgvector support and it provides a RESTful API for managing embeddings, e.g. in Retrieval Augmented Generation (RAG) workflows. It offers multi-user support, project management, and flexible embedding configurations.
Key Features#
- Multi-user Support: Role-based access control (admin, owner, reader, editor)
- Project Management: Organize embeddings into projects with sharing capabilities
- LLM Service Management: Flexible service definitions and instances with encrypted API keys
- Metadata Support: JSON Schema validation and filtering in similarity search
- PostgreSQL Backend: Reliable storage with pgvector extension
- RESTful API: OpenAPI-documented endpoints
- Docker Ready: Easy deployment with Docker Compose
Quick Links#
- Getting Started - Installation and first steps
- Concepts - Understand how EmbAPI works
- API Reference - Complete API documentation
- Guides - How-to guides for common tasks
- Deployment - Production deployment guide
- Development - Contributing and development guide
- Reference - Technical reference and specifications
Getting Help#
- 📖 Browse this documentation
- 🐛 Report issues
- 💬 GitHub Discussions
Quick Example#
# Start the service with Docker
./docker-setup.sh
docker-compose up -d
# Create a user
curl -X POST http://localhost:8880/v1/users \
-H "Authorization: Bearer YOUR_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{"user_handle": "alice", "name": "Alice Smith"}'
# Create a project and start working with embeddings
# See the Getting Started guide for a complete walkthroughReady to get started? Head over to the Installation Guide.