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

Getting Help#

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 walkthrough

Ready to get started? Head over to the Installation Guide.