Files
tfm_ainventory/config/ai_prompt.md
2026-04-23 18:23:07 +03:00

7.1 KiB

Technical Inventory Hardware Extraction Protocol

Extract ALL relevant hardware items from the image with precise, standardized formatting.

Filtering Rules

  • INCLUDE: Physical hardware, modules, cables, servers, storage, transceivers
  • EXCLUDE: Generic mounting hardware (screws, brackets, rails), paper licenses, empty packaging
  • Multi-item labels: Treat each SKU/variant as a separate item (e.g., "5m cable" and "7m cable" = 2 items)

Item Field Format (CRITICAL)

Format: <size_or_length> <type> <vendor> <connector> <part_number>

Component Rules:

  • <size_or_length>:

    • STORAGE CAPACITY - HUMAN READABLE: Convert to largest unit (TB/MB).
      • Examples: "1600GB" → "1.6TB", "256GB" → "256GB", "512MB" → "512MB"
      • Rule: If ≥1000GB, use TB. If ≥1000MB, use GB. Otherwise use MB.
    • CABLE/WIRE LENGTH: Meters only. Examples: "5m", "10m", "50m"
    • RAM DIMM: Capacity in GB. Examples: "128GB", "32GB", "8GB"
    • SFP/TRANSCEIVER SPEED: Speed in G/Mbps. Examples: "10G", "1G", "40G", "100G"
  • <type>: Asset class.

    • CABLES:
      • Use "Fiber" for all optical fiber cables.
      • Use "Patchcord" for all copper UTP/RJ45 cables.
      • Others: SATA, SAS, Power, USB, etc.
    • COMPONENTS: DDR3/DDR4/DDR5, NVMe, SSD, HDD, SFP/Transceiver, DIMM, etc.
      • PRECEDENCE: If an item is both "SSD" and "NVMe", use NVMe as the type and category.
  • <vendor>: Manufacturer (HP, HPE, Dell, Samsung, Cisco, Hynix, Intel, Broadcom)

  • <connector>: Physical interface (RJ45, LC-LC, MPO, U.3, SATA, SAS, ST, SC). Omit if N/A.

  • <part_number>: Part number ONLY if visible. Omit serial numbers.

Item Examples (WITH HUMAN-READABLE SIZES):

  • 1.6TB NVMe HPE U.3 P66093-002 (not 1600GB)
  • 256GB SSD Dell SATA SK-8765 (already human-readable)
  • 5m Fiber LC-LC (optical cable)
  • 2m Patchcord RJ45 (copper cable)
  • 128GB DDR4 Hynix
  • 10G SFP+ Cisco LC 10-2415-03

Size Conversion Examples:

  • 1600GB → 1.6TB
  • 2048GB → 2TB
  • 512GB → 512GB (under 1TB threshold)
  • 256MB → 256MB
  • 1024MB → 1GB

Restrictions:

  • No comments in parenthesis
  • No measurement units in Item field (e.g., "1.6TB" not "1.6TB Storage")
  • No secondary vendors
  • No diameter/mm in Item field
  • ONE vendor only (primary manufacturer)

Other Fields

  • Type: Repeat the asset class (DDR4, SSD, NVMe, Patchcord, etc.)
  • Description: Technical summary, max 5 words. Examples: "High-speed fiber optic", "Enterprise Gen4 storage"
  • Category:
    • For Spare Parts (see below): Use spare parts - <type> where <type> is the lowercase component name (e.g., spare parts - ram, spare parts - ssd, spare parts - nvme, spare parts - raid card, spare parts - cpu, spare parts - psu, spare parts - hba, spare parts - nic, spare parts - sfp).
    • For Others: Use Network, Cabling, Compute, Optical, Consumable.
  • Connector: Interface type from Item field. Examples: "LC-LC", "RJ45", "U.3"
  • Size: HUMAN-READABLE capacity, length, or speed. Examples: "1.6TB", "256GB", "5m", "10G" (NOT "1600GB")
  • Color: Physical color if distinguishing
  • PartNr: Part number only. CRITICAL: NEVER include Serial Numbers (S/N, SN, Serial).
  • Specs: Detailed technical specifications (e.g., "1.2V, CL22", "850W 80+ Gold", "Gen4 x4", "Single-mode").
  • OCR: Robust matching key for OCR tolerance. Format: TYPE SIZE VENDOR CONNECTOR PARTNUMBER (UPPERCASE, no special chars).

OCR Field Rules (CRITICAL)

Generate a SHORT, clean matching key for database lookup:

  • Format: UPPERCASE space-separated, NO special chars, NO duplicates
  • Include ONLY: Type + Size + Primary Vendor + Connector + Part Number
  • STRICT EXCLUSIONS:
    • NO serial numbers (S/N, SN, Serial)
    • NO secondary vendor names
    • NO extraneous labels
  • CONSTRAINTS:
    • Each token appears ONE time only (no duplicates)
    • Remove hyphens/special chars for fuzzy matching (e.g., SK-8765 -> SK8765)
  • USE HUMAN-READABLE SIZE: Use TB/GB/M/G from Item field.

OCR Examples:

  • Item: 1.6TB NVMe HPE U.3 P66093-002 → OCR: NVME 1.6TB HPE U3 P66093002
  • Item: 5m Fiber LC-LC → OCR: FIBER 5M LC LC
  • Item: 2m Patchcord RJ45 → OCR: PATCHCORD 2M RJ45
  • Item: 256GB SSD Samsung SAS SK-8765 → OCR: SSD 256GB SAMSUNG SAS SK8765
  • Item: 128GB DDR4 Hynix → OCR: DDR4 128GB HYNIX
  • Item: 10G SFP+ Cisco LC 10-2415-03 → OCR: SFP+ 10G CISCO LC 10241503

Spare-Parts vs Consumables Classification

CLASSIFICATION GUIDE - SPARE PARTS vs CONSUMABLES:

Spare Parts (replaceable components that plug into or interface with devices):

  • RAM: DDR3, DDR4, DDR5, SODIMM, DIMM → Category: spare parts - ram
  • Storage: NVMe, SSD, M.2, SATA HDD, SAS HDD → Category: spare parts - nvme, spare parts - ssd, or spare parts - hdd.
    • Rule: Use nvme if the item is an NVMe SSD.
  • CPU: Processors, Intel Xeon, AMD EPYC → Category: spare parts - cpu
  • Power: PSU, Power Supply Modules → Category: spare parts - psu
  • Controllers: RAID Controllers, HBA, NIC, Network Cards → Category: spare parts - raid card or spare parts - hba or spare parts - nic
  • Cooling: Heatsinks, Fans (specific to models) → Category: spare parts - cooling
  • Mainboard: Motherboards, Riser Cards → Category: spare parts - motherboard or spare parts - riser
  • Optical: SFPs, Transceivers → Category: spare parts - sfp

NOT Spare Parts (consumables, generic items):

  • Cables: Power cables, SATA cables, USB, Ethernet, Fiber Patchcords → Category: Cabling or Consumable
  • Fasteners: Screws, brackets, rails → Category: Consumable
  • Materials: Thermal paste, pads, tapes → Category: Consumable

Decision Tree:

  1. Does the item have a manufacturer part number (P/N)?
  2. Is it a modular component of a larger system (Server, PC, Switch)?
  3. Does it have technical specs (Speed, Capacity, Voltage)? If YES to 2+ questions: Mark as spare parts - <type> If item is a cable: Mark as Cabling If item is a generic hardware: Mark as Consumable Otherwise: Mark as uncertain for review.

Examples: ✓ "Kingston Fury 16GB DDR4-3200" → Category: spare parts - ram ✓ "Samsung 970 EVO 1TB NVMe" → Category: spare parts - nvme ✓ "Intel Core i7-12700K" → Category: spare parts - cpu ✓ "LSI MegaRAID 9361-8i" → Category: spare parts - raid card ✗ "6ft SATA Cable" → Category: Cabling ✗ "M3 Mounting Screws" → Category: Consumable

Output Format

{
  "items": [
    {
      "Item": "[size] type vendor connector partnumber",
      "Type": "type",
      "Description": "technical details (max 5 words)",
      "Category": "category",
      "Connector": "connector_type",
      "Size": "human_readable_size",
      "Color": "color",
      "PartNr": "part_number",
      "Specs": "detailed technical specifications",
      "OCR": "SIZE TYPE VENDOR CONNECTOR PARTNUMBER"
    }
  ]
}

Return ONLY JSON. No markdown. No text.