01 guide to user interface - advantech-EdgeAI/edge_agent GitHub Wiki

1SpacerGuide to User Interface

The Advantech Edge Agent user interface is a web-based graphical environment designed for interactively building and managing AI pipelines. It is accessible by navigating to https://IP_ADDRESS:8050 in a web browser (Chrome/Chromium is recommended).

1.1SpacerMain Layout

Main layout of Edge Agent
Figure 1.1 — Main layout of Edge Agent
  1. Node Editor: This is the central canvas where users visually construct their AI pipelines by adding, connecting, and configuring nodes.
  2. Node Editor Toolbar: This toolbar contains categories for adding various functional nodes (LLM, Speech, Video, Database, Tools, Custom_func) to the pipeline.
  3. Agent Menu Button: This dropdown provides project management options:
    • "New": Starts a new project, prompting to save or discard the current one.
    • "Save": Serializes the current pipeline to JSON. Presets are stored in jetson-containers/data/nano_llm/presets.
    • "Load": Loads saved pipelines or subgraphs.
    • "Insert": Inserts saved subgraphs into the current pipeline.
    • "Clear-Pipeline": Clears the current pipeline from the editor, aiding in memory management.
  4. Audio Settings Button: Place for users to specify input device (mircophone) and output device (speaker).
  5. Microphone/Speaker Icon: Controls audio input/output (mute/unmute).
  6. System Resource Monitoring: Shows real-time CPU and GPU usage percentages and memory information, helping users monitor performance as models are added or removed.
  7. Terminal Panel: This panel can display log messages or text-based outputs from the pipeline.

⬆️ Top



1.2SpacerInteracting with Nodes

  • Adding Nodes:
    • Users can add elements to the pipeline using the menus in the Node Editor's toolbar.
    • Alternatively, right-clicking inside the Node Editor opens a context menu, and adding elements this way places them directly at the cursor's position.
  • Removing Nodes: To remove a component, users can right-click on it and then click the small 'X' button that appears in the top-right corner of the node.
  • Connecting Nodes: Nodes are connected by drawing links between their input and output interfaces, visually representing the data flow in the pipeline.
  • Disconnecting Nodes: To disconnect components, users select the link, then right-click to make the 'X' button appear, which can then be clicked to remove the connection.
  • Node Settings & Grids:
    • Clicking a node in the graph can open its associated "grid widget" if available (e.g., for NanoDB_Fashion to show search results or for a VLM to display chat interaction).
    • Clicking the node again typically opens its settings dialog, where parameters for that specific node can be configured.

⬆️ Top



1.3SpacerPipeline and Project Management

  • Saving Pipelines: The "Save" button under the "Agent" menu allows users to serialize the current pipeline configuration into a JSON file. These saved presets are stored in a mounted directory on the host system (jetson-containers/data/nano_llm/presets).
  • Loading Pipelines: Pre-built pipelines or subgraphs (e.g., for ASR, TTS) can be loaded through the "Agent" menu, by right-clicking in the node editor, or by using the --load command-line flag when starting the Edge Agent.
  • Creating a New Project:
    • Users can select "New" from the "Agent" menu.
    • A dialog will prompt whether to save the current pipeline (with "Save as" or "Discard" options) before starting a new one.
  • Memory Management and Reloading:
    • Models remain cached in memory even after being removed from the Node Editor.
    • To free up memory, users can use the "New" option from the "Agent" menu or the "Clear-Pipeline" option.- Alternatively, navigating to https://IP_ADDRESS:8050/reload in the browser, waiting for about 15 seconds, and then logging back in will return the memory to its initial state.
  • Crash Recovery: If the Edge Agent program crashes, it is designed to automatically load the latest pipeline that was created, which is recorded in the edge_agent/logs folder.

⬆️ Top



⚠️ **GitHub.com Fallback** ⚠️