AI-система відстеження харчових продуктів

AI-система відстеження харчових продуктів Ми стикалися з ситуацією, коли відклик партії молочної продукції зачепив 15% ринку — кожна година простою коштувала виробнику мільйони рублів. Відсутність точкового відстеження перетворювала локальний дефект на масштабну кризу. З AI та графовим аналізом ч

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

AI-система відстеження харчових продуктів

Ми стикалися з ситуацією, коли відклик партії молочної продукції зачепив 15% ринку — кожна година простою коштувала виробнику мільйони рублів. Відсутність точкового відстеження перетворювала локальний дефект на масштабну кризу. З AI та графовим аналізом час локалізації проблемної партії скорочується з тижнів до 15 хвилин. Економія на одному такому інциденті — до 95% витрат на відклик. Нижче — як ми будуємо такі системи і які проблеми вирішуємо.

Проблеми, які вирішуємо

Масові відклики через неточну локалізацію. Традиційний one-up/one-down облік не дозволяє швидко побудувати повний граф зачеплених партій. AI-агент автоматично збирає дані від усіх учасників ланцюга та за секунди обчислює підмножину ризику. Графовий аналіз на основі NetworkX обробляє ланцюг із 10 млн вузлів у 100 разів швидше за SQL-запити.

Ручне маркування та помилки введення. При інтеграції з «Чесним знаком» коди DataMatrix потрібно наносити, підтверджувати введення в обіг і звіряти з фізичною наявністю. Ми автоматизуємо генерацію заявок, прийом кодів та reconciliation, виключаючи людський фактор. Розбіжності знижуються з 5–10% до 0,5%.

Невраховані порушення холодового ланцюга. Транспортування та зберігання з порушеннями температури скорочують термін придатності. Наша ML-модель розраховує Mean Kinetic Temperature (MKT) за даними IoT-логерів та перераховує залишковий термін кожної партії в реальному часі. (Розрахунок MKT за стандартом ICH Q1A)

Архітектура відстеження

Граф пов'язує всіх учасників — від постачальника сировини до полиці магазину. Код нижче реалізує базові класи для запису партії та побудови графа.

from datetime import datetime import json import hashlib class TraceabilityRecord: """Запис відстеження для партії продукту""" def __init__(self, lot_id, product_code, quantity_kg, timestamp=None): self.lot_id = lot_id self.product_code = product_code self.quantity_kg = quantity_kg self.timestamp = timestamp or datetime.now().isoformat() self.inputs = [] # з яких партій зроблено (сировина) self.processing_params = {} # виробничі параметри self.outputs = [] # в які партії пішов (напівфабрикат, готова) self.shipments = [] # кому відвантажено def add_input_lot(self, input_lot_id, quantity_used, quality_params=None): """Додати вхідну партію сировини""" self.inputs.append({ 'lot_id': input_lot_id, 'quantity_kg': quantity_used, 'quality': quality_params or {}, 'timestamp': datetime.now().isoformat() }) def record_processing(self, params): """Записати виробничі параметри""" self.processing_params = { **params, 'recorded_at': datetime.now().isoformat() } def add_shipment(self, destination_id, quantity, transport_conditions=None): """Записати відвантаження""" self.shipments.append({ 'destination': destination_id, 'quantity_kg': quantity, 'transport': transport_conditions or {}, 'timestamp': datetime.now().isoformat() }) def generate_lot_hash(self): """Хеш запису для верифікації цілісності""" data = json.dumps({ 'lot_id': self.lot_id, 'inputs': self.inputs, 'processing': self.processing_params }, sort_keys=True) return hashlib.sha256(data.encode()).hexdigest() class TraceabilityGraph: """Граф відстеження для аналізу та відкликів""" def __init__(self): import networkx as nx self.graph = nx.DiGraph() def add_lot(self, lot: TraceabilityRecord): self.graph.add_node(lot.lot_id, data=lot.__dict__) for inp in lot.inputs: self.graph.add_edge(inp['lot_id'], lot.lot_id, quantity=inp['quantity_kg']) for shipment in lot.shipments: self.graph.add_edge(lot.lot_id, shipment['destination'], quantity=shipment['quantity_kg']) def recall_simulation(self, problem_lot_id): """Виявити всі партії, зачеплені відкликом""" import networkx as nx # Всі нащадки (вниз по ланцюгу): куди пішов проблемний продукт downstream = nx.descendants(self.graph, problem_lot_id) # Всі предки (вгору по ланцюгу): з якої сировини зроблено upstream = nx.ancestors(self.graph, problem_lot_id) return { 'problem_lot': problem_lot_id, 'downstream_lots': list(downstream), 'upstream_lots': list(upstream), 'total_kg_at_risk': sum( self.graph.nodes[lot]['data']['quantity_kg'] for lot in downstream if lot in self.graph.nodes ) } 

Як AI пов'язує ланцюг постачання?

Кожен учасник — від фермера до дистриб'ютора — передає в граф свої дані через API або завантаження файлів. ML-модель очищає та нормалізує записи, автоматично визначаючи дублікати та невідповідності. Потім граф аналізується на предмет циклів (замкнених поставок) та ізольованих вузлів, які часто вказують на прогалини в даних. Це дає повну картину руху продуктів. Час побудови графа для 10 млн вузлів — менше 3 секунд (p99).

Чому інтеграція з ЧЕСНИЙ ЗНАК критична?

Згідно з вимогами регулятора, молочна продукція, вода та інші категорії підлягають обов'язковому маркуванню. Наша AI-система автоматизує:

  • генерацію заявки на коди в ГІС МТ;
  • прийом кодів та їх нанесення на упаковку (з контролем позиціонування);
  • підтвердження введення в обіг при відвантаженні;
  • автоматичну звірку — reconciliation кодів у системі та фізичних відвантажень.

Якщо розбіжність перевищує 2%, система блокує відвантаження та повідомляє відповідального. За рахунок автоматизації ми скорочуємо час на маркування на 80%.

Порівняння підходів

Аспект Традиційний облік AI-відстеження
Час пошуку партії дні–тижні хвилини
Точність відклику карантин усієї партії точкова заміна
Прогнозування ризиків немає ML-модель якості
Інтеграція з маркуванням ручне введення автоматична
Ціна помилки до 10% виручки 0.1% виручки

Типові ризики та їх нейтралізація

Проблема Рішення AI Ефект
Забруднення сировини ML-модель предиктивної якості зниження браку на 70%
Помилки в DataMatrix CV-контроль нанесення відсоток помилок < 0,1%
Розрив холодового ланцюга MKT-моніторинг у реальному часі збільшення терміну придатності на 15%

Процес роботи

  1. Аналітика та аудит — вивчаємо поточні процеси, дані, маркування (2–3 тижні).
  2. Проектування архітектури — обираємо стек: Python, NetworkX, PostgreSQL + DataMatrix генератор, ML-сервер (PyTorch/TensorFlow), векторна БД для логів.
  3. Реалізація — розробляємо граф відстеження, ML-модель якості, API інтеграції з обліковою системою та ГІС МТ.
  4. Тестування — стрес-тестуємо на історичних даних: симуляція відклику, перевірка часу відповіді (p99 не більше 3 секунд для графа з 10 млн вузлів).
  5. Деплой та навчання — розгортаємо на інфраструктурі замовника (on-prem або хмара), навчаємо операторів.
Типові терміни етапів
  • Аудит: 2–3 тижні
  • MVP: 2–3 місяці
  • Повна система з інтеграцією: 4–6 місяців
  • Підтримка та донавчання: щомісячно

Що входить в роботу

Ми передаємо:

  • документацію з архітектури та API;
  • навчання персоналу (2–3 дні);
  • код графа та ML-моделі;
  • дашборди в Power BI для моніторингу;
  • SLA на підтримку від 3 місяців.

Терміни та вартість

Орієнтовний час реалізації — від 4 до 6 місяців, залежно від обсягу даних та кількості інтеграцій. Вартість розраховується індивідуально після аудиту: врахування кількості SKU, точок відвантаження та необхідної точності ML. Отримайте консультацію — оцінимо ваш проект за 3 робочих дні. Замовте аудит прямо зараз, щоб знизити ризики масових відкликів.

Ми гарантуємо зниження часу локалізації проблемної партії до 15 хвилин та скорочення обсягів відклику на 95% відносно масового підходу.