Axelered AI

Configurations

Define your OCR Parsers, LLM Models, and Embedders once, then reuse them across your entire document pipeline.

To keep document pipelines lightweight and easily manageable, our platform uses a decoupled configuration architecture.

Instead of forcing you to transmit complex model parameters, parser rules, or sensitive API keys inline on every single request, you register reusable templates—called Workspace Configurations (or Blueprints) —and simply reference their IDs during operations.


🏗️ Decoupled Pipeline Architecture

Decoupled configurations optimize developer ergonomics by separating environment setup from execution logic. You configure your preferred models and engines once within a Workspace, allowing your processing requests to stay clean and focused only on the data.

┌──────────────────────────────────────────────┐
│             Reusable Config Registry         │
│                                              │
│  ┌────────────────┐ ┌────────────────┐       │
│  │   LLM Config   │ │ Parser Config  │       │
│  │ (IDs & Params) │ │ (OCR Engines)  │       │
│  └───────┬────────┘ └───────┬────────┘       │
└──────────┼──────────────────┼────────────────┘
           │                  │ (Reference by ID)
           ▼                  ▼
┌───────────────────────────────────────────┐
│        Lean Pipeline Request              │
│                                           │
│  "config": {                              │
│    "parserId": "018f8e02-4b2a...",        │
│    "extractionConfig": {                  │
│       "llmId": "018f8e02-4b2b..."         │
│    }                                      │
│  }                                        │
└───────────────────────────────────────────┘

The system manages three primary blueprint registries, accessible under the /w/{workspace_id}/config prefix:

  • LLM configurations (/models): Houses credentials (OpenAI, Mistral, Ollama), models, and parameter defaults.
  • Parser configurations (/parsers): Configures specialized engine parameters for OCR and layout extraction.
  • Embedder configurations (/embedders): Declares dense and sparse algorithms for vector mappings.

🛠️ Configuration Management

Configurations support standard lifecycle operations across three registries: Models, Parsers, and Embedders. For a detailed technical reference of every field and parameter, see the API Configuration Reference.

Create a Configuration

Register a new blueprint to reuse credentials and parameters across your workspace.

# Example: Creating an LLM Configuration (OpenAI)
curl -X POST "https://api.axelered.com/v1/w/{workspace_id}/config/models" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production GPT-4o",
    "config": {
      "provider": "openai",
      "model": "gpt-4o",
      "apiKey": "sk-...",
      "temperature": 0.0
    }
  }'

Read, List & Update

To manage your existing blueprints, use the following specialized endpoints (replacing {type} with models, parsers, or embedders):

Delete a Configuration

Configurations use soft-deletion. They cannot be deleted if they are currently being used by an active Collection.

curl -X DELETE "https://api.axelered.com/v1/w/{workspace_id}/config/models/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

🔄 Dynamic Deep Merging (On-The-Fly Overrides)

A common developer requirement is: "I want to use my secure, pre-saved template, but I need to modify a single parameter for this specific batch execution without creating a brand new configuration."

The execution platform fully supports Dynamic Deep Merging at execution runtime:

┌────────────────────────────┐    ┌──────────────────────┐
│     Database Template     │    │   Inline Override    │
│                            │    │                      │
│  ┌──────────────────────┐ │    │  speedMode: "fast"   │
│  │ provider:  "ocr"     │ │    │  densityThr: 0.8      │
│  │ lang:      "en"      │ │    └──────────┬───────────┘
│  │ speedMode: "accurate" │ │               │
│  │ apiKey:    "sk-***"   │ │               │
│  └───────────┬──────────┘ │               │
└──────────────┼────────────┘               │
               │                            │
               └──────────┬─────────────────┘
                          │ Deep Merge

           ┌──────────────────────────────────┐
           │        Resolved Runtime         │
           │                                  │
           │  provider:    "ocr"              │
           │  lang:        "en"               │
           │  speedMode:   "fast"   ◄── ovr   │
           │  densityThr:  0.8       ◄── ovr   │
           │  apiKey:      "sk-***"           │
           └──────────────────────────────────┘

When you supply both a reference ID and an inline config during an operation (like /process or /chat), the platform performs a Deep Merge:

  1. Loads the saved configuration from the database using your ID.
  2. Merges your inline request—deeply overriding only the parameters you declared.
  3. Preserves remaining database properties (like sensitive API keys or base system URLs).

Example: Overriding Parser Metrics

Below, we reference a saved parser blueprint (parserId), but dynamically tune its speedMode for a specific request:

{
  "config": {
    "parserId": "018f8e02-4b2a-7c9d-8d4e-123456789abc",
    "parserConfig": {
      "speedMode": "fast"
    }
  }
}

The engine loads your private template, overrides speedMode to "fast", and executes the batch immediately using the resolved runtime blueprint.

On this page