feat: Optimize AI usage in import function with structured workflow and caching strategies
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user