fix Analyse
This commit is contained in:
@@ -2,8 +2,8 @@ FROM node:20-alpine
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package.json package-lock.json ./
|
COPY package.json ./
|
||||||
RUN npm ci --omit=dev
|
RUN npm install --omit=dev
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"events": [],
|
|
||||||
"_counter": 0
|
|
||||||
}
|
|
||||||
@@ -13,7 +13,11 @@ function loadDB() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function saveDB(data) {
|
function saveDB(data) {
|
||||||
|
try {
|
||||||
writeFileSync(DB_FILE, JSON.stringify(data, null, 2));
|
writeFileSync(DB_FILE, JSON.stringify(data, null, 2));
|
||||||
|
} catch (e) {
|
||||||
|
console.error('DB Schreibfehler:', e.message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let db = loadDB();
|
let db = loadDB();
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^2.4.3",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"express": "^4.21.0",
|
"express": "^4.21.0",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2"
|
||||||
"node-fetch": "^3.3.2"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,18 @@
|
|||||||
export const SYSTEM_PROMPT = `Du bist ein Assistent der aus TikTok-Videobeschreibungen Rezepte extrahiert.
|
export const SYSTEM_PROMPT = `Du bist ein Experte für die Rezepteextraktion. Analysiere den gegebenen Text und extrahiere ein Rezept daraus.
|
||||||
Du antwortest NUR mit validem JSON, keinem anderen Text.
|
|
||||||
|
|
||||||
Das JSON muss dieses Schema haben:
|
Antworte NUR mit einem JSON-Objekt in diesem Format (kein Markdown, kein Text davor oder danach):
|
||||||
{
|
{
|
||||||
"name": "Name des Rezepts",
|
"name": "Name des Rezepts",
|
||||||
"description": "Kurze Beschreibung des Gerichts",
|
"description": "Kurze Beschreibung des Gerichts",
|
||||||
"category": "Frühstück|Hauptgericht|Dessert|Snack|Getränk|Sonstiges",
|
"ingredients": ["Zutat 1 (Menge)", "Zutat 2 (Menge)"],
|
||||||
"ingredients": [
|
"steps": ["Schritt 1", "Schritt 2"],
|
||||||
{ "name": "Zutat", "amount": "Menge", "unit": "Einheit" }
|
"category": "Kategorie (z.B. Hauptgericht, Dessert, Snack, Suppe, Salat, Getränk, Sonstiges)"
|
||||||
],
|
|
||||||
"steps": [
|
|
||||||
"Schritt 1 Beschreibung",
|
|
||||||
"Schritt 2 Beschreibung"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Regeln:
|
Regeln:
|
||||||
- Extrahiere alle Zutaten mit Menge und Einheit aus dem Text
|
- Alle Texte auf Deutsch
|
||||||
- Wenn keine Menge angegeben ist, setze amount auf ""
|
- Mengenangaben beibehalten wenn vorhanden
|
||||||
- Wenn keine Einheit angegeben ist, setze unit auf ""
|
- Schritte logisch sortieren
|
||||||
- Kategorie muss eines dieser sein: Frühstück, Hauptgericht, Dessert, Snack, Getränk, Sonstiges
|
- Kategorie sinnvoll zuordnen
|
||||||
- steps ist eine sortierte Liste der Zubereitungsschritte
|
- Wenn Informationen fehlen, sinnvolle Werte verwenden
|
||||||
- Wenn du die Zubereitung nicht erkennen kannst, gib einen sinnvollen Standard basierend auf dem Rezeptnamen
|
- Antworte NUR mit dem JSON-Objekt`;
|
||||||
- Gib NUR das JSON-Objekt zurück, kein Markdown, kein Code-Block`;
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ FROM node:20-alpine AS build
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package.json package-lock.json ./
|
COPY package.json ./
|
||||||
RUN npm ci
|
RUN npm install
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ server {
|
|||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
location /api/ {
|
location /api/ {
|
||||||
proxy_pass http://backend:3500;
|
proxy_pass http://backend:3001;
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
|||||||
Reference in New Issue
Block a user