BitonicAI Service
The BitonicAI service is a FastAPI application for resume ingestion, extraction, and processing. It uses OpenAI Agents to extract structured data from resumes and stores them with PostgreSQL and S3-compatible storage.
Overview
The BitonicAI service provides: - Resume Upload: Accept PDF resumes via REST API - AI-Powered Extraction: Uses OpenAI Agents to extract structured resume data - Secure Storage: Stores files in S3-compatible storage (Garage) and metadata in PostgreSQL - OAuth2 Authentication: Secure API access via Logto
Architecture
┌─────────────┐
│ Client │
└──────┬──────┘
│
▼
┌─────────────────┐
│ FastAPI App │
│ (bitonicai) │
└──────┬──────────┘
│
├──► PDF Processing (PyMuPDF)
├──► OpenAI Agent Extraction
├──► PostgreSQL (SQLModel)
└──► S3 Storage (Garage)
Key Components
API Routes
POST /api/vb1/resume/upload- Upload and process resumeGET /api/vb1/resume/list- List user's resumesDELETE /api/vb1/resume/all- Delete all user resumes
Agents
- ExtractionAgent: Uses OpenAI Agents framework to extract structured resume data from text
Storage
- PostgreSQL: Stores resume metadata using SQLModel
- S3/Garage: Stores resume files
Authentication
- Logto OIDC: OAuth2 authentication with scope-based authorization
Quick Start
See the Quick Start Guide for setup and usage instructions.