Hazina Configuration: Fine-Tuning Your AI Pipeline
Hazina Framework

Hazina Configuratie: Fijnslijpen van je AI-pijplijn

Standaardinstellingen zijn geweldig om mee te beginnen, maar productieapplicaties vereisen fijnmazige controle. Hazina’s gelaagde configuratiesysteem stelt je in staat om alles af te stemmen, van tokenlimieten tot retry-beleid, zonder je code te vervuilen.

Configuratielagen

Hazina gebruikt een cascade-configuratiemodel:

  1. Hardcoded defaults – direct bruikbaar
  2. appsettings.json – standaard .NET-configuratie
  3. Omgevingsvariabelen – voor geheimen en implementatie-overschrijvingen
  4. Code-gebaseerde setup – voor dynamische of programmatische configuratie

appsettings.json Voorbeeld

{
  "Hazina": {
    "AI": {
      "DefaultProvider": "openai",
      "OpenAI": {
        "ApiKey":  - , // Gebruik in plaats daarvan een omgevingsvariabele
        "Model": "gpt-4o",
        "MaxTokens": 4096,
        "Temperature": 0.7
      },
      "Anthropic": {
        "ApiKey":  - ,
        "Model": "claude-sonnet-4-5-20250929",
        "MaxTokens": 4096
      }
    },
    "Storage": {
      "Type": "sqlite",
      "ConnectionString": "Data Source=hazina.db"
    }
  }
}

Programmatische Configuratie

builder.Services.AddHazina(config => {
    config.AI.DefaultProvider = "openai";
    config.AI.MaxTokens = 8192;
    config.AI.Temperature = 0.3f; // Meer deterministisch
    config.AI.RetryPolicy = new RetryPolicy {
        MaxRetries = 3,
        BackoffMultiplier = 2.0
    };

    config.Storage.UseSqlite("hazina.db");
    // Of voor productie:
    // config.Storage.UsePostgreSQL(connectionString);
});

Omgevingsvariabele Overschrijvingen

Elke configuratiewaarde kan worden overschreven via omgevingsvariabelen met behulp van de dubbele-underscore conventie:

HAZINA__AI__DEFAULTPROVIDER=anthropic
HAZINA__AI__MAXTOKENS=8192
HAZINA__STORAGE__TYPE=postgresql

Overschrijvingen per Verzoek

Heb je andere instellingen nodig voor een specifieke oproep? Overschrijf inline:

var response = await Hazina.AskAsync("Vat dit document samen",
    options: new RequestOptions {
        Model = "gpt-4o-mini",  // Goedkoper model voor eenvoudige taken
        MaxTokens = 500,
        Temperature = 0.0f       // Deterministisch
    });

Configuratievalidatie

Hazina valideert je configuratie bij het opstarten en geeft duidelijke foutmeldingen:

// Dit zal een foutmelding geven:
// "Geen API-sleutel geconfigureerd voor provider 'openai'.
//  Stel de OPENAI_API_KEY omgevingsvariabele in of configureer via appsettings.json"

Geen stille fouten of cryptische 401-fouten meer. Hazina vertelt je precies wat er mis is.

In de volgende post verkennen we het Generic API Framework – Hazina’s aanpak om boilerplate CRUD-code te elimineren.

Veelgestelde Vragen

Hoe kan ik de Hazina AI-configuratie fijn afstemmen?

Je kunt de Hazina AI-configuratie fijn afstemmen met behulp van het gelaagde configuratiesysteem, dat hardcoded defaults, appsettings.json, omgevingsvariabelen en programmatische setups omvat. Dit stelt je in staat om instellingen zoals tokenlimieten, retry-beleid en modelkeuzes aan te passen zonder je code te vervuilen.

Wat zijn de opties voor het overschrijven van Hazina-configuratiewaarden?

Hazina-configuratiewaarden kunnen worden overschreven met behulp van omgevingsvariabelen met een dubbele-underscore conventie, wat gemakkelijke implementatie-overschrijvingen mogelijk maakt. Daarnaast kun je per-verzoek overschrijvingen direct in de code instellen voor specifieke oproepen, waarbij je opties zoals model en tokenlimieten kunt aanpassen.

Hoe valideert Hazina configuratie-instellingen?

Hazina valideert je configuratie bij het opstarten en geeft duidelijke foutmeldingen als er iets mis is, zoals ontbrekende API-sleutels. Dit voorkomt stille fouten en helpt je snel problemen te identificeren en op te lossen, waardoor de betrouwbaarheid van je AI-applicatie verbetert.

Welke soorten opslag ondersteunt Hazina?

Hazina ondersteunt meerdere opslagtypen, waaronder SQLite voor ontwikkeling en PostgreSQL voor productieomgevingen. Je kunt je opslagtype en verbindingsreeks in de configuratie specificeren om ervoor te zorgen dat je applicatie aan zijn gegevensbeheerbehoeften voldoet.

Terug naar overzicht
ENNL