The Engineering City Journal
Issue 20/2025
Setting the pages…
ECJ 20/2025

The Engineering City Journal

Issue 20/2025 · Yerevan, November, 2025

The purpose of the Journal is to disseminate knowledge, experience, and best practice in engineering & manufacturing. The articles are written by practicing professionals in the Engineering City (EC) in Yerevan. They cover issues relevant to their projects, operations, and organizations. The articles address the challenges of the time. As such, the Journal is also a chronicle of the evolution of the EC, its companies, and its individuals. It is the aim of the Journal to advance the engineering & manufacturing practice, to enrich the engineering & manufacturing community, and to contribute to the worldwide discourse in engineering & manufacturing.

Published by the Engineering Association

The Engineering City JournalIssue 20/2025Published by the Engineering AssociationYerevan, November, 2025
End of issueThe Engineering City JournalIssue 20/2025Table of ContentsFront coverOriginal PDF

Table of Contents

N8N Popularization CornerSearching for Parts in the Inventory Database using n8n and AIN8N Ultimate Cheat SheetEC Community CornerWorking for the Valley, Working for the City
N8N Popularization Corner

Searching for Parts in the Inventory Database using n8n and AI

Система Анализа Складских Запасов на Базе ИИ (Warehouse AI)

1. Введение

Этот отчет содержит детальный технический анализ системы Warehouse AI, предназначенной для интеллектуального поиска и предоставления информации о складских запасах электронных компонентов и других материалов. Система объединяет веб-интерфейс, серверную логику на Python, базу данных в Google Sheets и сложный рабочий процесс (workflow) на базе платформы n8n с использованием агентов искусственного интеллекта (AI Agents).

Основная задача системы — заменить ручной поиск и помочь инженерам быстро и понятно получать информацию о наличии и характеристиках компонентов на складе.

2. Архитектура Системы

Архитектура системы состоит из трех ключевых компонентов:

  1. Фронтенд (Клиент): Веб-интерфейс на HTML/CSS/JavaScript (index.html).

  2. Бэкенд (Сервер): Простой HTTP-сервер на Python (Server.py), который обслуживает фронтенд и статические данные.

  3. Логика работы и AI (Workflow): Автоматизированный рабочий процесс на платформе n8n (WerhouseAI.json), который обрабатывает запросы, взаимодействует с базой данных и генерирует ответы с помощью AI.

2.1. Фронтенд (index.html)

Фронтенд представляет собой одностраничное приложение (SPA) с чат-интерфейсом.

Элемент Назначение

Webhook

Поле для ввода адреса n8n-webhook, куда отправляются запросы.

URL

Фильтр первого уровня (например, Electronic (SMT), Product). Загружается из

Domain (L1)

/api/domains.

Category

Фильтр второго уровня (например, Resistor, Connector). Загружается из /api/categories.

(L2)

Когда инженер вводит запрос простыми словами (например, "конденсатор 100nF 25V,

Поле ввода

корпус 0805").

Собирает выбранные фильтры и запрос, отправляет их в виде JSON-payload на

Логика

настроенный Webhook URL.

Изображение 1: Интерфейс пользователя

2.2. Бэкенд (Server.py)

Сервер на Python (модуль http.server) выполняет функции статического файлового сервера и простого API для управления фильтрами.

API Endpoint Метод Назначение

/index.html GET Обслуживает главный файл интерфейса (template/index.html).

API Endpoint Метод Назначение

/api/domains GET Возвращает список доменов из data/domain.json.

/api/categories GET Возвращает список категорий из data/category.json.

/api/domains POST Добавляет новый домен в data/domain.json.

/api/categories POST Добавляет новую категорию в data/category.json.

Сервер обеспечивает работу фронтенда и позволяет динамически обновлять списки фильтров (Domain и Category) без необходимости перезапуска основного AI-workflow.

Изображение 2: Структура файлов проекта

3. Рабочий Процесс (Workflow) на n8n

Вся основная логика системы реализована в виде рабочего процесса n8n, который обрабатывает каждый запрос от начала и до конца.

Изображение 3: Общая схема рабочего процесса

3.1. Этапы Обработки Данных

Этап Узел n8n Описание

Webhook Точка входа. Принимает POST запрос с /webhook/inventory-analysis,

1. Вход

Trigger содержащий filters и query.

Extract Извлекает и стандартизирует filters (domain, category) и query из тела

2. Парсинг Query

запроса. Parameters

Load 3. Загрузка Подключается к Google Sheets API. Загружает данные из листа Inventory Inventory Данных Stock документа. Data

Ключевой этап. Здесь применяются фильтры по domain и category. Происходит нормализация названий полей. Данные сортируются:

4. Фильтрация Filter and

сначала позиции с Total > 0 (те, что есть в наличии), затем по убыванию и Обработка Process Data количества. В конце данные форматируются в текстовый контекст, который будет передан AI.

Изображение 4: Начальные этапы workflow (Триггер, Парсинг, Загрузка, Фильтрация)

3.2. Ветки AI-Агентов

Рабочий процесс включает три ветки AI-агентов. На данный момент активна только одна, что обеспечивает гибкость для тестирования и будущих изменений.

Название

Ветка Статус Назначение и Логика

(n8n Note)

Главный рабочий поток. Использует полное описание компонента (Description (Comments)). Ամբողջ Формат ответа: РЕЗЮМЕ → В НАЛИЧИИ (макс. 5) Активная Description АКТИВНА → НЕТ НА СКЛАДЕ (макс. 4) → ПРИМЕЧАНИЯ. (Comments) S. Использует технический язык, температуру 0.1 для стабильности. Обязательно указывает точный MPN.

MPN և Резервный вариант. Использует сокращенное Альтернативная ֆիքսված DISABLED описание (до 90 символов). Предназначен для Disc... M. тестирования альтернативной версии AI-агента.

Экспериментальная ветка. Тестирование без Առանց MPN Экспериментальная DISABLED обязательного указания MPN и с альтернативной K. логикой форматирования.

Изображение 5: Активная ветка AI-Агента
Изображение 6: Альтернативная ветка AI-Агента
Изображение 7: Экспериментальная ветка AI-Агента

3.3. Финальная Обработка и Отправка

Этап Узел n8n Описание

Format Единая точка выхода. Извлекается текст ответа от активного AI-агента. 5. Final Текст очищается от Markdown, кавычек и лишнего форматирования.

Форматирование

Response Готовится финальный JSON-объект: {reply: 'текст_ответа'}.

Возвращает финальный JSON-ответ через Webhook Response. Send Устанавливает необходимые CORS-заголовки (Access-Control-Allow-

6. Отправка

Response Origin: *) для взаимодействия с фронтендом. Завершает цикл запрос-ответ со статусом HTTP 200.

Изображение 8: Финальная обработка и отправка ответа

4. Технические Детали и Особенности

4.1. Контекст для AI-Агента

AI-агент получает отфильтрованные и отсортированные данные в виде структурированного текстового контекста. Процесс обработки данных гарантирует, что агент работает только с релевантными и актуальными позициями.

Ключевые поля, передаваемые AI:

Item MPN (Manufacturer Part Number) Description (Comments) Manufacturer Total (Остаток)

4.2. Строгие Правила Форматирования Ответа

Чтобы ответ был максимально полезен для инженера, промпт активного AI-агента жестко ограничивает формат ответа:

  • Формат: Плейн-текст, без Markdown, таблиц или кавычек.

  • Структура: РЕЗЮМЕ → ЛУЧШИЕ СОВПАДЕНИЯ — В НАЛИЧИИ → ЕЩЁ ВАРИАНТЫ — НЕТ НА СКЛАДЕ → ПРИМЕЧАНИЯ.

  • Краткость: Каждая позиция должна быть описана в одной строке (до ~90 символов), сфокусированной на ключевых технических характеристиках (Pitch, SMT/THT, корпус, число пинов).

  • Приоритет: Максимум 9 позиций суммарно (5 в наличии + 4 отсутствуют).

4.3. Использование Моделей ИИ

Активная ветка использует модель OpenAI GPT-4o-mini с температурой 0.1. Низкая температура (близкая к 0) выбрана для минимизации "галлюцинаций" и обеспечения максимально стабильных и фактических ответов, что является критически важным требованием для работы с инженерными данными.

5. Заключение

Система Warehouse AI — это высокоэффективное решение для интеллектуального доступа к данным WMS. Интеграция фронтенда, бэкенда и n8n-workflow с AI-агентами позволяет превратить сложный поиск по инвентарной базе в интуитивно понятный диалог.

Ключевые преимущества:

  • Точность: Строгая фильтрация и форматирование данных перед подачей в AI.

  • Надежность: Использование стабильной модели GPT-4o-mini с низкой температурой.

  • Инженерная Ориентированность: Формат ответа, сфокусированный на MPN, наличии и кратких технических характеристиках, идеально подходит для инженеров.

Система готова к масштабированию и дальнейшему развитию. В частности, можно активировать и протестировать альтернативные ветки AI-агентов для оптимизации краткости или формата ответа.

Примечание: Поскольку ответы формируются искусственным интеллектом, возможны отдельные неточности. Рекомендуется перепроверять критически важные данные перед применением в проектной или производственной деятельности.

N8N Popularization Corner

N8N Ultimate Cheat Sheet

EC Community Corner

Working for the Valley, Working for the City

By Rama, EA

When you ask someone who works in one of the Silicon Valley companies “where he works?”, the answer most often will be - “I work for the Valley”. They may or may not mention the particular company where they work in, but in the majority of the cases, they identify themselves and the company that they work in as part of the Silicon Valley community. This is quite powerful.

The same answer could be for all who work in the EC companies. The answer to where we work may be simply – “I work for the City”.

Why is this powerful?

Because, first of all, it indicates that there is a community – a community which is much bigger than the companies.

Secondly, this means that there is mobility between the companies in the community. Meaning, that people can easily move between companies in the community because they all share a similar mission, similar values, similar professions, and comraderie.

Thirdly, when people move between companies they bring with them ideas and practices from the previous company, and learn about ideas and practices from the new company - as such enriching both the companies and themselves with these new ideas and practices.

And forthly, it is a safety net for both the people and the companies in the community. All companies work in the marketplace. Market places are dynamic. So, some companies may have a good growth some times, and slower growth in other times. And vice-versa, some other companies may feel a slower growth or a negative growth now, yet may move to growth in other times. When individuals have the ability to easily move from one company to another, two things get secured – the individual always has a job, and the community and the companies do not lose the individual. In this sense, the community protects both the individual and the company.

So, next time someone asks you where you work, you can bravely say that – “you work for the City”.

I think that this would be very powerful.

© 2025 The Authors of the articles

All materials contained in The Engineering City Journal may be used with reference to the Authors.

For feedback on the Journal, its content, and its articles please send to info@engineeringcity.am.

To submit articles, please send to info@engineeringcity.am. Articles can be in any language.