feat: Enhance category suggestion logic with improved matching rules and disambiguation guidelines
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / test (24.15.0) (push) Has been cancelled
This commit is contained in:
@@ -160,22 +160,31 @@ Regler:
|
||||
Tillgängliga kategorier (format: [id] Sökväg):
|
||||
${categoryList}
|
||||
|
||||
KWICK-MATCHNING (gör detta först):
|
||||
PRIORITERINGSORDNING (måste följas):
|
||||
1. Regelmatch (keyword + sortlexikon)
|
||||
2. Synonym/semantisk match inom livsmedelsdomän
|
||||
3. Fallback enligt regler nedan
|
||||
|
||||
SNABBMATCHNING (gör detta först):
|
||||
- Kött/fläsk: Sök efter ord som "fläsk", "flaskytterfile", "bacon", "kotlett", "karré" → Kött, chark & fågel > Fläsk
|
||||
- Fågel: Sök efter "kyckling", "kalkon", "drumstick", "filé" → Kött, chark & fågel > Fågel
|
||||
- Äpplen/fruktsorter: Sök efter "äpple", "apple", "granny smith", "pink lady", "royal gala", "golden delicious", "jonagold", "fuji" → Frukt & Grönt > Frukt > Äpplen (eller Frukt om Äpplen saknas)
|
||||
- Äpplen/fruktsorter: Sök efter "äpple", "apple", "granny smith", "pink lady", "royal gala", "golden delicious", "jonagold", "fuji", "braeburn", "aroma", "red moon" → Frukt & Grönt > Frukt > Äpplen (eller Frukt om Äpplen saknas)
|
||||
- Choklad/spreads: Sök efter "nutella", "choklad", "kakao", "spreads" → Sötsaker & snacks > Choklad & spreads
|
||||
- Bröd: Sök efter "bröd", "toast", "brödrost", "limpa" → Bröd & bakvaror > Bröd
|
||||
|
||||
DISAMBIGUERING:
|
||||
- Om ett ord kan vara både varumärke och livsmedelssort, välj livsmedelstolkning ENDAST om ordet finns i sort/keyword-reglerna eller tydligt matchar kategoriträdet.
|
||||
- Om ingen tydlig livsmedelsmatch finns, gå till fallback istället för att gissa aggressivt.
|
||||
|
||||
Regler:
|
||||
1. Använd KEYWORD-MATCHNING först innan annat.
|
||||
1. Använd SNABBMATCHNING först innan annat.
|
||||
2. Om ingen keyword-match, välj den mest specifika underkategorin som passar.
|
||||
3. Om ingen specifik kategori passar, välj en underkategori under "Övrigt" om möjligt.
|
||||
4. Om ingen underkategori under "Övrigt" passar, välj "Övrigt" (den kategori vars sökväg är exakt "Övrigt").
|
||||
5. Du MÅSTE alltid returnera ett svar — aldrig null eller tomt.
|
||||
6. Svara ENDAST med giltig JSON i detta format: { "categoryId": <nummer>, "confidence": "high" | "medium" | "low" }
|
||||
- "high": keyword-match ELLER uppenbart matchande kategori
|
||||
- "medium": trolig matchning
|
||||
- "high": regelmatch (keyword/sort) ELLER uppenbart exakt kategoriträff
|
||||
- "medium": trolig semantisk matchning inom livsmedelsdomän
|
||||
- "low": osäker, används fallback (Övrigt eller underkategori till Övrigt)`;
|
||||
|
||||
const userPrompt = `Produkt: "${productName}"`;
|
||||
|
||||
Reference in New Issue
Block a user