147 lines
7.1 KiB
Markdown
147 lines
7.1 KiB
Markdown
# 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
|
|
```json
|
|
{
|
|
"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. |