{
  "storage": {
    "type": "sparql",
    "options": {
      "endpoint": "https://fuseki.hyperdata.it/semem",
      "graphName": "http://danny.ayers.name/content",
      "user": "admin",
      "password": "admin123"
    }
  },
  "servers": {
    "api": 4100,
    "ui": 4120,
    "redirect": 4110,
    "redirectTarget": 4120
  },
  "port": 4100,
  "graphName": "http://danny.ayers.name/content",
  "chatModel": "qwen2:1.5b",
  "embeddingModel": "nomic-embed-text",
  "sparqlEndpoints": [
    {
      "label": "Hyperdata Fuseki",
      "user": "admin",
      "password": "admin123",
      "urlBase": "https://fuseki.hyperdata.it",
      "dataset": "semem",
      "query": "/semem/query",
      "update": "/semem/update",
      "upload": "/semem/upload",
      "gspRead": "/semem/data",
      "gspWrite": "/semem/data"
    },
    {
      "label": "Tbox Fuseki",
      "user": "admin",
      "password": "admin123",
      "urlBase": "http://localhost:4030",
      "dataset": "semem",
      "query": "/semem/query",
      "update": "/semem/update",
      "upload": "/semem/upload",
      "gspRead": "/semem/data",
      "gspWrite": "/semem/data"
    }
  ],
  "llmProviders": [
    {
      "type": "claude",
      "implementation": "hyperdata",
      "apiKey": "${CLAUDE_API_KEY}",
      "chatModel": "claude-3-opus-20240229",
      "priority": 1,
      "capabilities": [
        "chat"
      ],
      "description": "Using hyperdata-clients implementation"
    },
    {
      "type": "ollama",
      "baseUrl": "http://localhost:11434",
      "chatModel": "qwen2:1.5b",
      "embeddingModel": "nomic-embed-text",
      "priority": 2,
      "capabilities": [
        "embedding",
        "chat"
      ],
      "description": "Used primarily for embeddings with nomic-embed-text"
    }
  ]
}