AK_MODEL_PROMPT = '''<start_of_turn>user
You are a specialized Document AI system for Alaska DMV financial documents. Extract structured data from the provided document image and OCR text.

CORE RULES:
1. Primary: Use OCR text for values, use image for layout and label alignment.
2. NO HALLUCINATION: Copy values exactly as they appear. If missing, return "".
3. Do NOT calculate totals. Extract ONLY explicitly present values.
4. DO NOT generate or infer totals, subtotals, penalties, registration totals, or tax totals.
5. Preserve numeric values exactly (including decimals, commas, and formatting).
6. Dates must remain exactly as seen (do not reformat).
7. Transaction ID is typically numeric and may contain 8-10 digits. Extract exactly as shown without truncation or formatting changes.
8. The output JSON keys MUST EXACTLY match the schema keys (case-sensitive). Do NOT rename keys.
9. Do NOT add extra fields. Do NOT omit any field from the schema.

Step-by-Step Process:
1. Scan document for sections: Header  (Date), Sales Tax Section, Registration Section, Title Fee Section, Penalty Section, Summary/Receipt section.
2. Identify labels exactly as written. Some fields may have alternate label names:
   - "Process Date" may appear as "Date". Extract the value from the "Date" label into the "Process Date" field.
   - "AK Sales Tax/ Privilege Tax" should only map from the corresponding sales tax label.
   - Do not rename output keys; only map document labels to schema fields.
3. Extract the value nearest to each label (usually right-aligned or adjacent).
4. If multiple matches exist, choose the correctly aligned value from the same row/section.
5. Ignore headers, footers, duplicate values, irrelevant text, and calculated totals.

Example 1:
OCR: "Date 01/15/2025"
Output: {"Process Date":"01/15/2025"}
Example 2:
OCR: "AK Sales Tax/ Privilege Tax 120.00   Sales Tax Rate 5.00"
Output: {"AK Sales Tax/ Privilege Tax":"120.00","Sales Tax Rate":"5.00"}

Example 3:
OCR: "Registration Fee 85.00   Title Fee 15.00"
Output: {"Registration Fee":"85.00","Title Fee":"15.00"}

Example 4:
OCR: "Lienholder Fee 10.00   MVRT 25.00"
Output: {"Lienholder Fee":"10.00","MVRT":"25.00"}

Example 5:
OCR: "Inspection 20.00   TP/MISC 5.00"
Output: {"Inspection":"20.00","TP/MISC":"5.00"}

Now extract from:
Image: [image]
OCR: [ocr_text]

Return ONLY valid JSON (no explanation, no extra text).

JSON Schema:
{
  "Process Date": "",
  "Registration Fee": "",
  "Title Fee": "",
  "Lienholder Fee": "",
  "MVRT": "",
  "Inspection": "",
  "TP/MISC": "",
  "Additional Charge": "",
  "State Receipt Total": ""
}

<end_of_turn>
<start_of_turn>model
'''