chore(infra): add AI flyer parsing configuration and retry logic
- Add FLYER_AI_TIMEOUT_MS and FLYER_AI_RETRIES environment variables - Configure timeout and retry settings in compose.yml - Update AiFlyerParserService with configurable timeout and retry logic - Add text window reduction strategy for retry attempts - Update documentation in TEKNISK_BESKRIVNING.md - Fix ESLint configuration in app.security.spec.ts
This commit is contained in:
@@ -18,6 +18,11 @@ Se även: README.md för användarflöde, och AI-FUNKTIONER.md för AI-detaljer.
|
||||
|
||||
# Nyheter och förbättringar (2026-05-18)
|
||||
|
||||
- **Flyerimport intern i recipe-api:** `/api/flyer-import/parse` använder nu en intern pipeline i backend (`TextExtractorService` + `AiFlyerParserService` + `FlyerNormalizerService`) och är inte längre beroende av `importer-api`.
|
||||
- **Textutvinning för flyer:** PDF tolkas primärt med `pdf-parse`; vid bildfiler eller skannad PDF-fallback används OCR via `tesseract.js`.
|
||||
- **AI-parse för flyer:** Mistral Tiny används för strukturerad extraktion av flyer-rader till JSON, följt av normalisering av pris/enhet/kategori.
|
||||
- **Timeout/retry-härdning för flyer-AI:** `AiFlyerParserService` har konfigurerbar timeout (`FLYER_AI_TIMEOUT_MS`, default 30000 ms) och retry med successivt kortare textfönster (`FLYER_AI_RETRIES`, default 2) för att minska 503 vid långsamma modellanrop.
|
||||
|
||||
- **Backend linting i CI:** ESLint är infört för backend (`backend/eslint.config.mjs`, `npm run lint`) och körs i `.github/workflows/test.yml`.
|
||||
- **Flutter lint-konfiguration:** `flutter/analysis_options.yaml` är tillagd och inkluderar `package:flutter_lints/flutter.yaml`.
|
||||
- **Prisma query logging (miljöstyrd):** `PrismaService` konfigurerar loggnivåer via env-variabeln `PRISMA_LOG_QUERIES`.
|
||||
|
||||
Reference in New Issue
Block a user