{
  "Serilog": {
    "Using": [
      "Serilog.Sinks.Console",
      "Serilog.Sinks.File"
    ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning",
        "Microsoft.AspNetCore.Hosting": "Information",
        "Microsoft.AspNetCore.Routing": "Warning",
        "System.Net.Http.HttpClient": "Warning",
        "Api": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
        }
      },
      {
        "Name": "File",
        "Args": {
          "path": "logs/api-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 30,
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
        }
      }
    ],
    "Enrich": [
      "FromLogContext",
      "WithMachineName",
      "WithEnvironmentName"
    ]
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning",
      "Microsoft.AspNetCore.Hosting": "Information",
      "Microsoft.AspNetCore.Routing": "Warning",
      "System.Net.Http.HttpClient": "Warning",
      "Api": "Information"
    }
  },
  "LogEnvironmentOnStartup": true,
  "AllowedHosts": "*",
  "KeyVault": {
    "VaultUri": "",
    "Enabled": false
  },
  "Database": {
    "Host": "localhost",
    "Port": 1433,
    "Name": "MyAiCvMatcher",
    "User": "sa",
    "Password": "",
    "TrustServerCertificate": true
  },
  "InternalApi": {
    "ApiKey": "",
    "RequireApiKey": false
  },
  "Rag": {
    "MaxFileSizeMb": 8,
    "ChunkSize": 900,
    "ChunkOverlap": 150,
    "MaxTextChars": 60000,
    "DefaultTopK": 20,
    "MaxTopK": 50,
    "ClassifyWithAi": false
  },
  "Ai": {
    "Provider": "OpenAI",
    "OpenAI": {
      "ApiKey": "",
      "ChatModel": "gpt-4o-mini",
      "EmbeddingModel": "text-embedding-3-small",
      "TimeoutSeconds": 90
    },
    "Ollama": {
      "BaseUrl": "http://localhost:11434",
      "ChatModel": "llama3.1:8b",
      "EmbeddingModel": "nomic-embed-text",
      "TimeoutSeconds": 180
    }
  }
}
