Changed Mistral LLM to mistral-8b-2512. Changed timeout for LMM in .env
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
Reference in New Issue
Block a user