Changed Mistral LLM to mistral-8b-2512. Changed timeout for LMM in .env
Test Suite / backend-pr-quick (push) Has been skipped
Test Suite / quick-import-pr-quick (push) Has been skipped
Test Suite / backend-full (push) Successful in 3m4s
Test Suite / flutter-quality (push) Failing after 1m24s

This commit is contained in:
Nils-Johan Gynther
2026-05-21 09:45:39 +02:00
parent 740e8e5897
commit 505339aa33
4 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ SEED_USER2_PASSWORD=Test-Anv2-FBG
AUTH_SECRET=WheqAss4F/al9yRZRqepJEBs6TzPsN3brX0iBiF4Oww= AUTH_SECRET=WheqAss4F/al9yRZRqepJEBs6TzPsN3brX0iBiF4Oww=
JWT_SECRET=uK9yRQpyyWOcHYcYbpAdsJ7NJcEsyCYZcgF82OnBz2k= JWT_SECRET=uK9yRQpyyWOcHYcYbpAdsJ7NJcEsyCYZcgF82OnBz2k=
MISTRAL_API_KEY=JGPjLuNnzaLSYMxKbexLZohUOegrSLye MISTRAL_API_KEY=JGPjLuNnzaLSYMxKbexLZohUOegrSLye
FLYER_AI_TIMEOUT_MS=45000 FLYER_AI_TIMEOUT_MS=60000
FLYER_AI_RETRIES=2 FLYER_AI_RETRIES=2
FLYER_AI_DEBUG=1 FLYER_AI_DEBUG=1
FLYER_AI_DEBUG_DIR=/app/debug FLYER_AI_DEBUG_DIR=/app/debug
+1 -1
View File
@@ -2,7 +2,7 @@ import { Injectable, Logger, ServiceUnavailableException } from '@nestjs/common'
import { FlatCategory } from '../categories/categories.service'; import { FlatCategory } from '../categories/categories.service';
const MISTRAL_API_URL = 'https://api.mistral.ai/v1/chat/completions'; const MISTRAL_API_URL = 'https://api.mistral.ai/v1/chat/completions';
export const AI_CATEGORIZATION_MODEL = 'mistral-tiny'; export const AI_CATEGORIZATION_MODEL = 'mistral-8b-2512';
const MODEL = AI_CATEGORIZATION_MODEL; const MODEL = AI_CATEGORIZATION_MODEL;
export type CategorySuggestion = { export type CategorySuggestion = {
@@ -56,7 +56,7 @@ export class AiFlyerParserService {
} }
/** /**
* Skickar flyer-text till Mistral Tiny för strukturerad extraktion. * Skickar flyer-text till mistral-8b-2512 för strukturerad extraktion.
* *
* @param text Text från flyern (från pdf-parse eller OCR) * @param text Text från flyern (från pdf-parse eller OCR)
* @returns Array av parsade produkter * @returns Array av parsade produkter
@@ -169,7 +169,7 @@ Extrahera ALL produktinformation från följande text och returnera den som en J
För varje produkt, inkludera: För varje produkt, inkludera:
- name: Produktnamn (fullständigt namn) - name: Produktnamn (fullständigt namn)
- weight: Vikt (om tillgänglig, t.ex. "150g", "Ca 1kg") eller null - weight: Vikt (om tillgänglig, t.ex. "150g", "Ca 1kg") eller null
- origin: Ursprung/land/märke (om tillgänglig, t.ex. "FALKENBERG") eller null - origin: Ursprung/land/märke (om tillgänglig, t.ex. "Grönland") eller null
- price: Pris som nummer (t.ex. 39.90) eller null - price: Pris som nummer (t.ex. 39.90) eller null
- comparisonPrice: Jämförpris som nummer (t.ex. 266.00) eller null - comparisonPrice: Jämförpris som nummer (t.ex. 266.00) eller null
- unit: Enhet (kg, st, förp, l, etc.) eller null - unit: Enhet (kg, st, förp, l, etc.) eller null
@@ -187,7 +187,7 @@ Exempel på utdata:
{ {
"name": "KALLRÖKT LAX, GRAVAD LAX", "name": "KALLRÖKT LAX, GRAVAD LAX",
"weight": "150g", "weight": "150g",
"origin": "FALKENBERG", "origin": "Grönland",
"price": 39.90, "price": 39.90,
"comparisonPrice": 266.00, "comparisonPrice": 266.00,
"unit": "kg", "unit": "kg",
@@ -315,7 +315,7 @@ Exempel på utdata:
const response = await this.withTimeout<any>( const response = await this.withTimeout<any>(
client.chat({ client.chat({
model: 'mistral-tiny', model: 'mistral-8b-2512',
messages: [{ role: 'user', content: prompt }], messages: [{ role: 'user', content: prompt }],
temperature: 0.1, temperature: 0.1,
}), }),
+1 -1
View File
@@ -666,7 +666,7 @@ Regler:
Authorization: `Bearer ${apiKey}`, Authorization: `Bearer ${apiKey}`,
}, },
body: JSON.stringify({ body: JSON.stringify({
model: 'mistral-small-latest', model: 'mistral-8b-2512',
messages: [ messages: [
{ role: 'system', content: systemPrompt }, { role: 'system', content: systemPrompt },
{ role: 'user', content: userPrompt }, { role: 'user', content: userPrompt },