Procházet zdrojové kódy

TG-86: finalize system pre-initialization, auto-pull LLM, egg scales

lanfr144 před 1 týdnem
rodič
revize
ea04a85037
3 změnil soubory, kde provedl 50 přidání a 1 odebrání
  1. 1 0
      docker-compose.yml
  2. 41 0
      init.sql
  3. 8 1
      unit_converter.py

+ 1 - 0
docker-compose.yml

@@ -24,6 +24,7 @@ services:
     volumes:
       - ollama_data:/root/.ollama
     restart: always
+    command: bash -c "ollama serve & sleep 5 && ollama pull llama3.2:1b && wait"
 
   app:
     build:

+ 41 - 0
init.sql

@@ -108,6 +108,47 @@ CREATE TABLE IF NOT EXISTS products (
     FULLTEXT INDEX ft_idx_search (product_name, ingredients_text)
 ) ENGINE=InnoDB;
 
+CREATE TABLE IF NOT EXISTS products_core (
+    code VARCHAR(50) PRIMARY KEY,
+    product_name TEXT,
+    ingredients_text TEXT,
+    FULLTEXT INDEX ft_idx_search (product_name, ingredients_text)
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS products_macros (
+    code VARCHAR(50) PRIMARY KEY,
+    energy_100g DOUBLE,
+    proteins_100g DOUBLE,
+    fat_100g DOUBLE,
+    carbohydrates_100g DOUBLE,
+    sugars_100g DOUBLE,
+    fiber_100g DOUBLE
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS products_vitamins (
+    code VARCHAR(50) PRIMARY KEY,
+    vitamin_a_100g DOUBLE,
+    vitamin_c_100g DOUBLE,
+    vitamin_d_100g DOUBLE,
+    vitamin_b12_100g DOUBLE,
+    vitamin_b6_100g DOUBLE
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS products_minerals (
+    code VARCHAR(50) PRIMARY KEY,
+    calcium_100g DOUBLE,
+    iron_100g DOUBLE,
+    magnesium_100g DOUBLE,
+    potassium_100g DOUBLE,
+    zinc_100g DOUBLE
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS products_allergens (
+    code VARCHAR(50) PRIMARY KEY,
+    allergens TEXT,
+    traces TEXT
+) ENGINE=InnoDB;
+
 -- Step B: The Owner grants explicit privileges to the Reader and Loader
 -- Grant explicit privileges to the Reader
 GRANT SELECT ON food_db.products TO 'db_reader'@'%';

+ 8 - 1
unit_converter.py

@@ -25,7 +25,14 @@ class UnitConverter:
         'liter': 1000.0,
         'pinch': 0.36, # rough estimate
         'dash': 0.72,
-        'xl': 64.0, # mostly for eggs
+        'xl': 64.0,
+        'l': 50.0,
+        'm': 44.0,
+        's': 38.0,
+        'extra': 64.0,
+        'extra large': 64.0,
+        'big': 64.0,
+        'b': 64.0,
         'large': 50.0,
         'medium': 44.0,
         'small': 38.0,