fix: add VIN year code table to Gemini decode prompt (refs #229)
All checks were successful
Deploy to Staging / Build Images (push) Successful in 37s
Deploy to Staging / Deploy to Staging (push) Successful in 51s
Deploy to Staging / Verify Staging (push) Successful in 8s
Deploy to Staging / Notify Staging Ready (push) Successful in 7s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
All checks were successful
Deploy to Staging / Build Images (push) Successful in 37s
Deploy to Staging / Deploy to Staging (push) Successful in 51s
Deploy to Staging / Verify Staging (push) Successful in 8s
Deploy to Staging / Notify Staging Ready (push) Successful in 7s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
gemini-3-flash-preview was hallucinating year (e.g., returning 1993 instead of 2023 for position-10 code P). Prompt now includes the full 1980-2039 year code table and position-7 disambiguation rule. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -38,11 +38,26 @@ Return the results as a JSON object with a single "maintenanceSchedule" array.\
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
_VIN_DECODE_PROMPT = """\
|
_VIN_DECODE_PROMPT = """\
|
||||||
Given the VIN (Vehicle Identification Number) below, decode it and return the vehicle specifications.
|
Decode the following VIN (Vehicle Identification Number) using standard VIN structure rules.
|
||||||
|
|
||||||
VIN: {vin}
|
VIN: {vin}
|
||||||
|
|
||||||
Return the vehicle's year, make, model, trim level, body type, drive type, fuel type, engine description, and transmission type. If a field cannot be determined from the VIN, return null for that field. Return a confidence score (0.0-1.0) indicating overall decode reliability.\
|
VIN position reference:
|
||||||
|
- Positions 1-3 (WMI): World Manufacturer Identifier (country + manufacturer)
|
||||||
|
- Positions 4-8 (VDS): Vehicle attributes (model, body, engine, etc.)
|
||||||
|
- Position 9: Check digit
|
||||||
|
- Position 10: Model year code. Codes repeat on a 30-year cycle:
|
||||||
|
A=1980/2010 B=1981/2011 C=1982/2012 D=1983/2013 E=1984/2014
|
||||||
|
F=1985/2015 G=1986/2016 H=1987/2017 J=1988/2018 K=1989/2019
|
||||||
|
L=1990/2020 M=1991/2021 N=1992/2022 P=1993/2023 R=1994/2024
|
||||||
|
S=1995/2025 T=1996/2026 V=1997/2027 W=1998/2028 X=1999/2029
|
||||||
|
Y=2000/2030 1=2001/2031 2=2002/2032 3=2003/2033 4=2004/2034
|
||||||
|
5=2005/2035 6=2006/2036 7=2007/2037 8=2008/2038 9=2009/2039
|
||||||
|
To disambiguate: if position 7 is numeric, use the 2010+ year; if alphabetic, use the 1980-2009 year.
|
||||||
|
- Position 11: Assembly plant
|
||||||
|
- Positions 12-17: Sequential production number
|
||||||
|
|
||||||
|
Return the vehicle's year, make, model, trim level, body type, drive type, fuel type, engine description, and transmission type. The year MUST be derived from position 10 using the table above. If a field cannot be determined from the VIN, return null for that field. Return a confidence score (0.0-1.0) indicating overall decode reliability.\
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_VIN_DECODE_SCHEMA: dict[str, Any] = {
|
_VIN_DECODE_SCHEMA: dict[str, Any] = {
|
||||||
|
|||||||
Reference in New Issue
Block a user