{"record":{"id":"aea56b9119c7df84","repo":"rohitg00/ai-engineering-from-scratch","slug":"unknown-template-template-name","errorCode":null,"errorMessage":"Unknown template: {template_name}","messagePattern":"Unknown template: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"phases/11-llm-engineering/13-production-app/code/production_app.py","lineNumber":170,"sourceCode":"        ),\n    },\n}\n\n\nAB_EXPERIMENTS = {\n    \"general_chat_v2_test\": {\n        \"template\": \"general_chat\",\n        \"control\": \"v1\",\n        \"variant\": \"v2\",\n        \"traffic_pct\": 10,\n    },\n}\n\n\ndef select_prompt(template_name, user_id, variables):\n    versions = PROMPT_TEMPLATES.get(template_name)\n    if not versions:\n        raise ValueError(f\"Unknown template: {template_name}\")\n\n    version = \"v1\"\n    for exp_name, exp in AB_EXPERIMENTS.items():\n        if exp[\"template\"] == template_name:\n            bucket = int(hashlib.md5(f\"{user_id}:{exp_name}\".encode()).hexdigest(), 16) % 100\n            if bucket < exp[\"traffic_pct\"]:\n                version = exp[\"variant\"]\n            else:\n                version = exp[\"control\"]\n            break\n\n    template = versions.get(version, versions[\"v1\"])\n    rendered = template.template.format(**variables)\n    return template, rendered\n\n\ndef simple_embedding(text, dim=64):\n    h = hashlib.sha256(text.lower().strip().encode()).hexdigest()","sourceCodeStart":152,"sourceCodeEnd":188,"githubUrl":"https://github.com/rohitg00/ai-engineering-from-scratch/blob/39ea8a1c6d0b61f071226eff7ede4d4105fed820/phases/11-llm-engineering/13-production-app/code/production_app.py#L152-L188","documentation":"Error \"Unknown template: {template_name}\" thrown in rohitg00/ai-engineering-from-scratch.","triggerScenarios":"Thrown at phases/11-llm-engineering/13-production-app/code/production_app.py:170 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"39ea8a1c6d0b61f071226eff7ede4d4105fed820","analyzedAt":"2026-08-26T03:13:46.626Z","schemaVersion":2},"datasetVersion":"2026-08-26T07:17:17.940Z"}