diff --git a/next_steps_MSImporter.md b/next_steps_MSImporter.md index fc84338..5d06e8d 100644 --- a/next_steps_MSImporter.md +++ b/next_steps_MSImporter.md @@ -193,6 +193,47 @@ Detta var ursprungligen planerat som ett långsiktigt mål: att flytta kvittopar --- +## Optimering av AI-användning i Importfunktionen + +För att optimera användningen av AI i importfunktionen, särskilt med tanke på att använda så små Mistral-modeller som möjligt, kan vi strukturera processen på följande sätt: + +### Nuvarande Process +1. **Bild/PDF → OCR (Tesseract)**: Bilder och PDF:er bearbetas med Tesseract för att extrahera text. +2. **Regelbaserad Parsning**: Reguljära uttryck används för att identifiera mängd, enhet och produktnamn. +3. **AI-baserad Parsning (Mistral)**: Mistral AI används för att tolka kvittot och returnera strukturerad data. + +### Förbättringsförslag + +#### 1. Använd AI efter Regelbaserad Parsning +- **Fördelar**: Regelbaserad parsning kan hantera de flesta enkla fall (t.ex. "TUC ORIGINAL 100G"). +- **Implementering**: Kör regelbaserad parsning först. Om regelbaserad parsning inte kan tolka en rad, skicka den till AI för vidare analys. + +#### 2. Använd AI efter OCR och PDF-parsning +- **Fördelar**: AI kan användas för att förbättra kvaliteten på texten som extraherats av Tesseract eller `pdf-parse`. +- **Implementering**: Kör OCR och PDF-parsning först. Skicka den extraherade texten till AI för att förbättra kvaliteten. Använd den förbättrade texten för regelbaserad parsning. + +#### 3. Använd Olika Mistral-modeller för Olika Uppgifter +- **Fördelar**: Små modeller kan användas för enkla uppgifter, medan större modeller kan användas för komplexa uppgifter. +- **Förslag på Modeller**: + - **`mistral-tiny`**: För att förbättra OCR-resultat och enkla tolkningar. + - **`mistral-small`**: För att tolka komplexa kvittorader där regelbaserad parsning misslyckas. + - **`mistral-medium`**: För att hantera mycket komplexa fall eller när hög precision krävs. + +#### 4. Implementera Caching +- **Fördelar**: Minskar antalet AI-anrop genom att cacha resultat för vanliga produkter och kvittorader. +- **Implementering**: Cacha resultat från AI för vanliga produkter och kvittorader. Använd cachade resultat när samma produkt eller kvittorad dyker upp igen. + +### Förslag på Arbetsflöde +1. **OCR och PDF-parsning**: Kör Tesseract eller `pdf-parse` för att extrahera text. +2. **Regelbaserad Parsning**: Använd reguljära uttryck för att tolka mängd, enhet och produktnamn. +3. **AI för Förbättring av Textkvalitet** (valfritt): Skicka den extraherade texten till en liten Mistral-modell (t.ex. `mistral-tiny`) för att förbättra kvaliteten. +4. **AI för Komplexa Fall**: Om regelbaserad parsning misslyckas, skicka raden till en större Mistral-modell (t.ex. `mistral-small` eller `mistral-medium`) för tolkning. +5. **Caching**: Cacha resultat från AI för att undvika upprepade anrop. + +Genom att strukturera processen på detta sätt kan vi optimera AI-användningen och använda så små modeller som möjligt, samtidigt som vi bibehåller precisionen. + +--- + ## Prioriteringsförslag 1. **OCR-implementering** (hög prioritet) 2. **Databasintegration** (medel prioritet)