Generative Architecture for Multi-Platform Control Applications with Generative AI Support

CN122569089APending Publication Date: 2026-08-14TYCO FIRE & SECURITY GMBH
View PDF 15 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2026-08-14

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

A method is disclosed, comprising: generating a control application by one or more processors based on an operational sequence for building equipment; running a simulation by one or more processors based on the control application; determining enhancements to the operational sequence by one or more processors based on the simulation; and controlling the building equipment via a building controller based on the enhancements to the operational sequence. A system includes: generating or modifying multiple control applications; running multiple simulations; determining multiple enhancements to the operational sequence; and outputting an improved building design.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications This application claims the benefit and priority of Indian Patent Application No. 202541011731, filed on February 12, 2025, the entire disclosure of which is incorporated herein by reference. Background Technology

[0002] This application generally relates to building systems in buildings or campuses, such as heating, ventilation, and / or air conditioning (HVAC) systems, HVAC equipment, and central utility facilities serving buildings or campuses. In some aspects, this application more specifically relates to systems for managing and processing data from buildings or building systems. In some aspects, this application relates to enhancing control applications for one or more controllers used in the operating sequence of a building system (e.g., an HVAC system). Enhancing the control applications of a building system balances the efficient operation of building equipment (e.g., energy saving, resource conservation, emission reduction), the building system, and the building itself. In some aspects, this application relates to a system for optimally controlling a building or building system (such as a central utility facility) based on operating sequences and enhanced control applications. Summary of the Invention

[0003] Another embodiment of this disclosure is a method. The method includes: generating a control application by one or more processors based on an operation sequence for building equipment; running a simulation by one or more processors based on the control application; determining enhancements to the operation sequence by one or more processors based on the simulation; and controlling the building equipment via a building controller based on the enhancements to the operation sequence.

[0004] Another embodiment of this disclosure is a system. The system includes: a computer system programmed to: generate a control application based on an operational sequence for building equipment; run a simulation based on the control application; and determine enhancements to the operational sequence based on the simulation; and a building controller configured to control the building equipment based on the enhancements to the operational sequence.

[0005] Another embodiment of this disclosure is a system. The system includes: a computer system programmed to generate a first control application based on an operation sequence for building equipment; to run a first simulation based on the first control application; to determine a first enhancement to the operation sequence based on the first simulation; to modify the first control application based on the first enhancement to generate a second control application; to run a second simulation based on the second control application; and to improve a building design based on one of a plurality of operations, wherein the plurality of operations include an operation sequence and a first enhancement to the operation sequence.

[0006] In some embodiments, the method further includes: extracting tags from an operation sequence, wherein the operation sequence is free-form text; generating a control application based on the operation sequence for building equipment, including generating the control application in response to tag-based determination; generating a model based on facility drawings and the control application, such that the model meets the characteristics and includes the building equipment; modifying the control application based on enhancements to the operation sequence; installing the modified control application on the building controller; and running a modified simulation based on the modified control application. In some embodiments, the computer system is further programmed to perform the above methods.

[0007] In some embodiments, generating a control application based on an operational sequence for building equipment includes generating the control application in response to tag-based determination, and running a simulation based on the control application, further based on the model. In some embodiments, the computer system is further programmed to perform the methods described above.

[0008] In some embodiments, the system further includes a computer system further programmed to: determine a second enhancement to an operation sequence based on a first simulation and a second simulation; modify a first control application or a second control application based on the first enhancement to the operation sequence or the second enhancement to generate a third control application; and run a third simulation based on the third control application. The plurality of operations further includes a third operation sequence. In some embodiments, the computer system is further programmed to install a control application module to a building controller, wherein the control application module includes the first control application or the second control application. Attached Figure Description

[0009] The various objects, aspects, features, and advantages of this disclosure will become more apparent and better understood through a detailed description taken in conjunction with the accompanying drawings, throughout which the same reference numerals identify corresponding elements. In the drawings, the same reference numerals generally denote identical, functionally similar, and / or structurally similar elements.

[0010] Figure 1 This is a block diagram of an example of a machine learning model-based system for equipment maintenance applications.

[0011] Figure 2 This is a block diagram of an example of a language model-based system for equipment maintenance applications.

[0012] Figure 3 It includes user application session components. Figure 2 A block diagram of an example system.

[0013] Figure 4 It includes a feedback training component. Figure 2 A block diagram of an example system.

[0014] Figure 5 It includes data filters. Figure 2 A block diagram of an example system.

[0015] Figure 6 It includes a data verification component. Figure 2 A block diagram of an example system.

[0016] Figure 7 It includes components that involve expert review and intervention. Figure 2 A block diagram of an example system.

[0017] Figure 8 This is a flowchart of the method for generating and using central utility facility models.

[0018] Figure 9 This is another flowchart of the method for generating and using central utility facility models.

[0019] Figure 10 This is another flowchart of the method for generating and using central utility facility models.

[0020] Figure 11 This is another flowchart of the method for generating and using central utility facility models.

[0021] Figure 12 It is a diagram that uses a central utility facility model to run the simulation.

[0022] Figure 13 This demonstrates a manual method for creating control applications.

[0023] Figure 14 It is a diagram of a system used to automatically generate, install, and use control applications.

[0024] Figure 15 It is a diagram of a system used to automatically generate control application modules.

[0025] Figure 16 It is a flowchart of a method for automatically generating, installing, and using control applications.

[0026] Figure 17 It is a diagram of an enhanced system used to automatically generate, install, and use operation sequences.

[0027] Figure 18 This is a flowchart of an enhanced method for generating, installing, and using operation sequences.

[0028] Figure 19 It is a flowchart of an enhanced method for automatically generating, installing, and using operation sequences. Detailed Implementation

[0029] Referring generally to the accompanying drawings, various systems can be implemented according to the systems and methods of this disclosure to accurately generate data related to operations performed for managing building systems and equipment components and / or projects, including heating, ventilation, cooling, and / or refrigeration (HVAC-R) systems and components and / or central utilities for buildings and / or campuses. For example, the various systems described herein can be implemented to more accurately generate data for a variety of applications, including, but not limited to: the generation and installation of control applications performed on building controllers; the generation and execution of simulations of central utilities; virtual assistance to support technicians in responding to service requests; the generation of technical reports corresponding to service requests; facilitating diagnostic and troubleshooting procedures; recommendations for services to be performed; and / or recommendations for products or tools used or installed as part of service operations. Various such applications can facilitate service operations that are both asynchronous and real-time, including by generating textual data for such applications based on data from different data sources, which may not have predefined database associations between the data sources but may be related to specific steps or points in time during the service operation.

[0030] This paper teaches the automatic generation of control applications for installation and execution on building controllers used in building systems such as HVAC systems, central utility facilities, etc. A building or campus to which a building system is installed may use multiple controllers to control various equipment used in the building (e.g., coolers, boilers, air handling units, variable air volume boxes, roof units, cooling towers, heat pumps, generators, energy storage devices, etc.) and process data from various sensors, instruments, and other data sources associated with the operation of the building and its equipment. Due to different equipment specifications, building design, sensor availability, occupant preferences, building objectives, etc., various controllers may execute different control applications suitable for the equipment being controlled in the building or campus environment. The desired operation for each controller can be specified by building system designers, clients, etc., in a free text document known as an operation sequence. However, the operation sequence cannot be executed directly by the controller; the controller needs to have appropriate software code installed on it that enables the controller to operate according to the corresponding operation sequence. Providing appropriate software applications for the controller based on unstructured operation sequence inputs can be challenging. The teachings of this paper address such challenges, for example, by using at least one AI model to provide automated creation and installation of control applications for building controllers based on unstructured data (e.g., free text, natural language).

[0031] This paper teaches the creation and use of models of central utility facilities. Central utility facilities can include a variety of interconnected building equipment, such as coolers, cooling towers, boilers, chilled water storage units, hot water storage units, electric generators (e.g., natural gas generators, photovoltaic systems, wind power systems, and other energy sources), and air-side equipment (e.g., air handling units), as described in, for example, U.S. Application No. 17 / 826,635 (Publication No. 2022 / 0284519), filed May 27, 2022, the entire disclosure of which is incorporated herein by reference. Setting up a virtual model of a central utility can be time-consuming and challenging, and may involve various computationally expensive processes, including manual creation by expert users and the testing and validation of manually created models. The technical solutions based on the teachings of this paper enable efficient, intelligent model creation from natural language input or other unstructured input. Furthermore, in some embodiments, the systems and methods of this paper provide for the use of such models in simulations configured using artificial intelligence methods that provide appropriate simulations executed to provide information requested by the user (e.g., in contrast to a larger default set of simulations or simulations that require manual guessing by the user), thereby causing additional gains in computational efficiency relative to the use of a central facility model in simulations and related use cases.

[0032] Some aspects of this disclosure relate to simulations used to facilitate initial facility design and / or facility redesign. Facility design decisions have a profound impact on facility resource consumption, operating costs, and so on. (For example, cloud-based) facility simulators can create virtual representations of central utility facilities and simulate facility utility costs over a period of time (e.g., running "hypothetical" scenarios for each hour of the year), evaluate facility design and upgrades, and compare predictions with actual performance. Central utility facility simulations can facilitate the identification of optimal central facility configurations, provide appropriate sizing of facility equipment to reduce upfront costs, and inform facility design decisions to reduce lifecycle costs. However, the user interface for facility simulator tools can be highly technical and difficult for users (e.g., those other than experts, frequent users, trained users, etc.) to understand. Furthermore, the execution of simulations requires significant computation time (e.g., minutes, hours), making it computationally expensive to run facility simulator tools under user instructions. Due to interface complexity, users may make errors when configuring models and simulations, resulting in incorrect simulation setups and thus providing only useless or misleading results. Accordingly, some aspects of this disclosure provide a simple text or audio interface to provide answers from facility simulators, for example, eliminating the need for users to draw facility diagrams (or simplifying the drawing of facility diagrams), input detailed technical information, manually set up multiple simulations, and simultaneously reducing computational time for providing solutions. For example, the teachings of this document provide tools that can automatically answer questions such as: What is the optimal facility configuration, equipment, or setpoint to reduce my water consumption by 20%?; reduce my operating costs by 20%?; reduce initial investment by 20%?; for a 30,000 ft facility in Tampa, Florida? 2 What office building requires the least investment? Or what facility configuration allows me to maximize water conservation while reducing my electricity costs and initial investment? This article teaches simple user input, faster processing, and simulations that provide detailed insights into central utility facilities. In some embodiments, such advantages are achieved by deploying generative artificial intelligence models for generating facility models and / or for configuring simulations based on unstructured user input.

[0033] In some systems, service operations may be supported by textual information, such as predefined text documents, including service, diagnostic, and / or troubleshooting guides. Various such textual messages may not be useful to the technicians requesting and / or performing the service. For example, the textual information may correspond to different equipment items or versions of the equipment item to be repaired. Predefined textual information may not explain specific technical problems that may exist in the equipment item to be repaired.

[0034] AI and / or machine learning (ML) systems (including, but not limited to, LLM) can be used to generate textual and other modal data in a more proactive manner to real-time conditions. This includes generating textual data strings that may not be available in the same way in existing documents but still meet criteria for useful textual information, such as relevance, style, and coherence. For example, an LLM can predict textual data at least based on input prompts and by being configured (e.g., trained, modified, updated, fine-tuned) according to training data representing the textual data to be predicted or otherwise generated.

[0035] However, various considerations can limit the ability of such systems to accurately generate appropriate data for specific conditions. For example, due to the predictive nature of the generated data, some LLMs may generate incorrect, inaccurate, or irrelevant text data. Using an LLM may require the user to manually modify the content and / or syntax of the input provided to the LLM (e.g., changing the input prompts) until the LLM's output meets various objective or subjective criteria of the user. LLMs may have tokenized limits on the size of the input text during training and / or runtime / inference operations (and relaxing or increasing such limits may require increased computational processing, API calls to LLM services, and / or memory usage), thus limiting the ability of LLMs to be effectively configured or manipulated with large amounts of raw data or additional unstructured data.

[0036] The systems and methods according to this disclosure can use machine learning models (including LLM and other generative AI systems) to capture data (including, but not limited to, unstructured knowledge from a variety of data sources) and process the data to accurately generate outputs, such as completions in response to prompts, including in structured data formats tailored to various applications and use cases. The system can implement various automated and / or expert-based thresholding and data quality management processes to improve the accuracy and quality of the generated outputs and update the training of the machine learning models accordingly. The system can enable real-time messaging and / or dialogic interfaces for users to provide the system with field data about the equipment (including presenting users with targeted queries that are expected to elicit relevant responses for effectively receiving useful response information from the user) and guide users (such as service technicians) through relevant service, diagnostic, troubleshooting, and / or repair processes.

[0037] This can include, for example, receiving data in various formats from technician service reports, including various modal and / or multimodal formats (e.g., text, voice, audio, images, and / or video). The system can facilitate automated, flexible customer report generation, such as by processing information received from service technicians and other users into standardized formats, which reduces constraints on how users submit data while improving the resulting reports. The system can link unstructured service data to other input / output data sources and analytics, such as correlating unstructured data with time-series data outputs from the equipment (e.g., sensor data; report logs) and / or outputs from equipment operation models or algorithms, which can facilitate more accurate analysis, predictive service, diagnostics, and / or fault detection. The system can perform classification or other pattern recognition or trend detection operations to facilitate more timely technician assignment, technician scheduling based on expected work hours, and the provision of trucks, tools, and / or parts. The system can perform root cause prediction by training with data that includes indications of the root cause of faults or errors, where the indications are annotations directed at (unstructured or structured) data (such as service requests, service reports, service calls, etc.) or otherwise associated with that data. The system can receive feedback from service technicians at the site assessing equipment problems regarding the accuracy of root cause prediction, as well as feedback on how the service technicians evaluate information about the equipment (e.g., what data they evaluated; what they checked; whether the root cause prediction or instructions used to find the root cause accurately matches the equipment type, etc.). This feedback can be used to update the root cause prediction model.

[0038] For example, the system can provide a platform for fault detection and repair processes, where the machine learning model is configured to connect or correlate unstructured and / or semantic data (such as human feedback and written / verbal reports) with time-series product data about equipment items. This allows the machine learning model to more accurately detect alarm causes or other events that may trigger a service response. For instance, in response to a cooler alarm, the system can more accurately detect the alarm cause and generate a prescription for responding to the alarm (e.g., for a service technician). The system can request feedback from the service technician regarding the prescription, such as whether the prescription correctly identifies the alarm cause and / or the action to be performed in response to the cause, and information the service technician uses to assess the correctness or accuracy of the prescription. The system can use this feedback to modify the machine learning model, which can increase the accuracy of the machine learning model.

[0039] In some embodiments, the system may generate a model of a central utility facility (or other building system) based on one or more natural language inputs (e.g., speech, text, etc.) from a user, where the user describes the equipment of the central utility facility and the connections between said equipment, represented in natural language or other unstructured formats, as input to the system. The system may also, or alternatively, use blueprints of the facility design as input. The system may use at least one machine learning model based on the teachings of this document to output a model of the central utility facility suitable for simulating the operation of the facility, for online control (e.g., model predictive control, predictive optimization processes, etc.), or for other use cases.

[0040] In some cases, significant computational resources (or human user resources) may be required to process equipment operation-related data (such as time-series product data and / or sensor data) to detect or predict faults and / or fault causes. Furthermore, labeling such data with identifiers of faults or fault causes can be resource-intensive, potentially making it difficult to generate machine learning training data from such data. The systems and methods according to this disclosure can leverage the efficiency of language models (e.g., GPT-based models or other pre-trained LLMs) in extracting semantic information from unstructured data (e.g., semantic information identifying faults, fault causes, and other accurate expert knowledge about equipment maintenance) to generate more accurate output about equipment maintenance using both unstructured data and equipment operation-related data. Therefore, by implementing language models using the various operations and processes described herein, building management and equipment maintenance systems can leverage causal / semantic relationships between unstructured data and equipment operation-related data, and language models can allow these systems to extract these relationships more efficiently to more accurately predict target-useful information for serving applications at inference time / runtime. While various implementations are described as being implemented using generative AI models such as transformers and / or GANs, in some embodiments, the various features described herein may be implemented using non-generative AI models, or even without the use of AI / machine learning, and all such modifications fall within the scope of this disclosure.

[0041] The system can enable a service wizard interface based on generative AI. For example, this interface may include user interfaces and / or user experience features configured to provide question-and-answer based input / output formats, such as a dialogic interface, that guides the user by providing target information to accurately generate root cause predictions, present solutions, or present instructions for repairing or inspecting equipment, identifying information that the system can use to detect root causes or other problems. The system can use this interface to present information about parts and / or tools for repairing the equipment, as well as instructions on how to use these parts and / or tools to repair the equipment.

[0042] In various implementations, the system may include multiple machine learning models that can be configured using integrated or distributed data sources. This can facilitate a more integrated user experience or more specialized (and / or lower computational usage) data processing and output generation. Output from one or more first systems (such as one or more first algorithms or machine learning models) may be provided at least as part of the input to one or more second systems (such as one or more second algorithms or machine learning models). For example, a first language model may be configured to process unstructured input (e.g., text, speech, images, etc.) into a structured output format compatible with second systems, such as root cause prediction algorithms or device configuration models.

[0043] This system can be used for automated interventions in equipment operation, maintenance, fault detection and diagnosis (FDD), and alerting actions. For example, by being configured to perform actions such as root cause prediction, the system can monitor data about the equipment to predict events associated with faults and trigger responses such as alerts, service scheduling, and initiating FDDs or modifications to equipment configurations. The system can present reports on interventions (e.g., actions taken in response to predicted faults or root cause conditions) to the equipment's technicians or administrators and request feedback on the accuracy of the interventions, which can be used to update the machine learning model to generate interventions more accurately.

[0044] I. Machine learning models for building management and equipment maintenance Figure 1 An example of System 100 is depicted. System 100 can implement various operations for configuring (e.g., training, updating, modifying, transfer learning, fine-tuning, etc.) and / or operating various AI and / or ML systems (such as neural networks of LLM or other generative AI systems). System 100 can be used to implement various building equipment maintenance operations based on generative AI.

[0045] For example, system 100 can be implemented for operation in association with any of a variety of building management systems (BMS) or their equipment or components. A BMS may include a system of devices for controlling, monitoring, and managing equipment in or around a building or building area. A BMS may include, for example, HVAC systems, central utility systems, security systems, lighting systems, fire alarm systems, any other systems capable of managing building functions or devices, or any combination thereof. A BMS may include or be connected to: equipment items, such as, but not limited to, heaters, coolers, boilers, air handling units, sensors, actuators, refrigeration systems, fans, blowers, heat exchangers, energy storage devices, condensers, valves, or various combinations thereof, such as various equipment and devices of a central utility.

[0046] The equipment project can operate according to, for example, various qualitative and quantitative parameters, variables, setpoints and / or thresholds, or other criteria. In some cases, system 100 and / or the equipment project may include or be coupled to: one or more controllers for controlling parameters of the equipment project, such as receiving control commands for controlling the operation of the equipment project via one or more wired, wireless, and / or user interfaces of the controllers.

[0047] Various components or portions thereof of system 100 may be implemented by one or more processors coupled to one or more memory devices (memory). The processor may be a general-purpose or special-purpose processor, an application-specific integrated circuit (ASIC), one or more field-programmable gate arrays (FPGAs), a group of processing units, or other suitable processing units. The processor may be configured to execute computer code and / or instructions stored in memory or received from other computer-readable media (e.g., CD-ROM, network storage device, remote server, etc.). The processor may be configured in various computer architectures, such as a graphics processing unit (GPU), a distributed computing architecture, a cloud server architecture, a client-server architecture, or various combinations thereof. One or more first processors may be implemented by a first device (such as an edge device), and one or more second processors may be implemented by a second device (such as a server or other device communicatively coupled to the first device and potentially having larger processor and / or memory resources).

[0048] The memory may include one or more means (e.g., memory cells, memory devices, storage devices, etc.) for storing data and / or computer code used to perform and / or facilitate the various processes described herein. The memory may include random access memory (RAM), read-only memory (ROM), hard disk drive storage devices, temporary storage devices, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and / or computer instructions. The memory may include database components, object code components, scripting components, or any other type of information structure and information structures described herein for supporting various activities. The memory may be communicatively connected to a processor and may contain computer code for performing (e.g., by the processor) one or more processes described herein.

[0049] Machine learning models System 100 may include or be coupled to one or more first models 104. First model 104 may include one or more neural networks, including neural networks configured as generative models. For example, first model 104 may predict or generate new data (e.g., artificial data; synthetic data; data not explicitly represented in the data used to configure first model 104). First model 104 may generate any of a variety of data modalities, such as text, speech, audio, image, and / or video data. The neural network may include multiple nodes, which may be arranged in layers to provide the output of one or more nodes in one layer as input to one or more nodes in another layer. The neural network may include one or more input layers, one or more hidden layers, and one or more output layers. Each node may include or be associated with parameters, such as weights, biases, and / or thresholds, which indicate how the node can perform computations to process the input to generate an output. The parameters of the nodes may be configured through various learning or training operations, such as unsupervised learning, weakly supervised learning, semi-supervised learning, or supervised learning.

[0050] The first model 104 may include, for example, but not limited to, one or more language models, LLMs, attention-based neural networks, transformer-based neural networks, generative pre-trained transformer (GPT) models, bidirectional encoder representation (BERT) models from transformers, encoder / decoder models, sequence-to-sequence models, autoencoder models, generative adversarial networks (GANs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), diffusion models (e.g., denoising diffusion probability models (DDPM)), or various combinations thereof.

[0051] For example, the first model 104 may include at least one GPT model. The GPT model may receive an input sequence and may parse the input sequence to determine a tokenized sequence (e.g., words or other semantic units of the input sequence, such as byte-to-byte encoding). The GPT model may include or be connected to a tokenized vocabulary, which may be represented as a one-hot encoded vector, where each token in the vocabulary has a corresponding index in the encoded vector; thus, the GPT model may transform the input sequence into a modified input sequence, such as by applying an embedding matrix to the tokens of the input sequence (e.g., using a neural network embedding function), and / or by applying positional encoding (e.g., sine / cosine positional encoding) to the tokens of the input sequence. The GPT model may process the modified input sequence to determine the next token in the sequence (e.g., appended to the end of the sequence), such as by determining a probability score indicating the likelihood that one or more candidate tokens will be the next token, and selecting the next token based on the probability score (e.g., selecting the candidate token with the highest probability score as the next token). For example, the GPT model may apply various attention and / or transformer-based operations or networks to the modified input sequence to identify relationships between tokens to detect the next token to form an output sequence.

[0052] The first model 104 may include at least one diffusion model that can be used to generate image and / or video data. For example, the diffusion model may include a denoising neural network and / or a denoising diffusion probabilistic model neural network. The denoising neural network may be configured to: apply noise to one or more training data elements (e.g., images, video frames) to generate noisy data; provide the noisy data as input to a candidate denoising neural network; cause the candidate denoising neural network to modify the noisy data according to a denoising schedule; evaluate convergence based on comparing the modified noisy data with training data instances; and modify the candidate denoising neural network according to the convergence criteria (e.g., modify the weights and / or biases of one or more layers of the neural network). In some embodiments, the first model 104 includes multiple generative models, such as GPT and diffusion models, which may be trained individually or jointly to facilitate the generation of multimodal outputs, such as technical documents (e.g., service guides) that include both text and image / video information.

[0053] In some implementations, the first model 104 can be configured using various unsupervised and / or supervised training operations. The first model 104 can be configured using training data from various domain-independent and / or domain-specific data sources, including but not limited to various forms of text, speech, audio, image, and / or video data, or various combinations thereof. Training data may include multiple training data elements (e.g., training data instances). Each training data element may be arranged in a structured or unstructured format; for example, a training data element may include example outputs mapped to example inputs, such as queries representing service requests or one or more parts of service requests, and responses representing data provided in response to queries. Training data may include data that is not separated into subsets of inputs and outputs (e.g., data used to configure the first model 104 to perform clustering, classification, or other unsupervised ML operations). Training data may include human-annotated information, including but not limited to feedback on the outputs of models 104 and 116. This can allow system 100 to generate more human-like outputs.

[0054] In some implementations, the training data includes data related to the building management system. For example, the training data may include examples of HVAC-R data, such as operation manuals, technical data sheets, configuration settings, operating setpoints, diagnostic guides, troubleshooting guides, user reports, and technician reports. In some implementations, the training data used to configure the first model 104 includes at least some publicly accessible data, such as data retrievable via the Internet.

[0055] Further reference Figure 1 System 100 can configure a first model 104 to determine one or more second models 116. For example, system 100 may include a model updater 108 that configures (e.g., trains, updates, modifies, fine-tunes, etc.) the first model 104 to determine one or more second models 116. In some implementations, the second model 116 may be used to provide application-specific outputs, such as outputs with higher precision, accuracy, or other metrics relative to the first model, for a specific application.

[0056] The second model 116 may be similar to the first model 104. For example, the second model 116 may have a similar or identical backbone or neural network architecture 104 as the first model. In some embodiments, the first model 104 and the second model 116 each include a generative AI machine learning model, such as an LLM (e.g., a GPT-based LLM) and / or a diffusion model. The second model 116 may be configured using a process similar to that described for configuring the first model 104.

[0057] In some implementations, model updater 108 can perform operations on at least one of the first model 104 or the second model 116 via one or more interfaces, such as application programming interfaces (APIs). For example, models 104 and 116 can be operated and maintained by one or more systems separate from system 100. Model updater 108 can provide training data to the first model 104 via the API to determine the second model 116 based on the first model 104 and the training data. Model updater 108 can control various training parameters or hyperparameters (e.g., learning rate, etc.) by providing instructions via the API to manage the configuration of the second model 116 using the first model 104.

[0058] Data source Model updater 108 can determine a second model 116 using data from one or more data sources 112. For example, system 100 can determine a second model 116 by modifying a first model 104 using data from one or more data sources 112. Data source 112 may include or be connected to: any of or various combinations of various integrated or distributed databases, data warehouses, digital twin data structures (e.g., digital twins of equipment items or building management systems or portions thereof), data lakes, data repositories, document records, etc. In some embodiments, data source 112 includes HVAC-R data in the form of any of the following: text, voice, audio, image, or video data, such as data associated with HVAC-R components and procedures (including, but not limited to, installation, operation, configuration, repair, maintenance, diagnosis, and / or troubleshooting of HVAC-R components and systems). The various data described below with reference to data source 112 may be provided in the same or different data elements and may be updated at various points. Data source 112 may include or be connected to: equipment items (e.g., where equipment items are output data of data source 112, such as sensor data, etc.). Data source 112 may include various online and / or social media sources, such as blog posts or data submitted to applications maintained by entities managing buildings. System 100 can determine relationships between data from different sources, such as detecting relationships between various different data related to an equipment item by using time series information and identifiers of the site or building where the equipment item is located (e.g., training models 104, 116 using both time series data (e.g., sensor data; algorithm or model output, etc.) and free-form natural language reports about a given equipment item).

[0059] Data source 112 may include unstructured or structured data (e.g., data labeled or assigned to one or more predefined fields or identifiers). For example, using first model 104 and / or second model 116 to process data can allow system 100 to extract useful information from data in multiple formats, including unstructured / free-form formats, which can allow service technicians to input information in less cumbersome formats. Data may be in any of multiple formats (e.g., text, voice, audio, images, video, etc.), including multimodal formats. For example, data in the form of text (e.g., text input from a laptop / desktop computer or mobile application), audio, and / or video (e.g., verbal findings during video capture) may be received from service technicians.

[0060] Data source 112 may include a central utility model or other equipment model. The central utility model or other equipment model may include models of: actual (real, built, etc.) central utility facilities and designed (e.g., simulated, planned, etc.) central utility facilities, or other equipment, or other equipment systems. The central utility model may include representations of equipment, connections between equipment, spatial arrangement of equipment, and other information related to the central utility facility. In some embodiments, each central utility model indicates the included equipment (e.g., by model number, equipment type, equipment capacity, etc.), inputs to each equipment unit, outputs to each equipment unit, connections between equipment (e.g., the output of one equipment unit is an indication of the input of another equipment unit), resource sources (e.g., utility providers, environmental sources such as solar or geothermal energy sources), and buildings, facilities, etc., that receive resources, heating, cooling, etc., provided by the central utility facility. The central utility model can be configured as described in U.S. Application No. 17 / 826,635 (Publication No. 2022 / 0284519), filed May 27, 2022, the entire disclosure of which is incorporated herein by reference. In various embodiments, the equipment model included in data source 112 may include models of air handling units, roof units, variable air volume boxes, fan coil units, heat pumps, etc.

[0061] Data source 112 may include descriptions of central utility facilities, such as free-form, natural language, text, audio, or other user input describing the characteristics of the central utility facility. In some embodiments, the central utility facility description corresponds to a central utility facility model also included in the data source. In some embodiments, the central utility facility description is collected by prompting humans to describe the characteristics of different central utility facilities, for example, to make the central utility facility description include multiple descriptions of the same central utility facility provided by different humans.

[0062] Data source 112 may include equipment specification data, which is related to, for example, the inputs used by different types of equipment (e.g., water, electricity, natural gas, steam, etc.), the outputs of different types of equipment (e.g., hot water, cold water, hot air, cold air, electricity, steam, etc.), the size and / or shape of the equipment (e.g., dimensions, etc.), the equipment capacity (e.g., maximum load production, maximum operating power, etc.), and other information related to the physical and functional specifications of the equipment. Equipment specification data may include product documentation, specification sheets, pricing information, etc., for various types of equipment. Equipment specification data may include data objects created for central utility modeling, such as data objects included in the central utility model included in data source 112.

[0063] In some embodiments, equipment specification data includes control applications (computer code, object code, source code, etc.) executed by controllers for various devices, paired with, for example, operating specifications provided by such code, keywords associated with such operations, or other information related to control applications executed by building controllers. Equipment specification data may include piping and instrumentation diagrams, piping diagrams, equipment schedules, H-diagrams, and other mechanical, electrical, and piping documents.

[0064] Data source 112 may include equipment performance data, such as data related to the consumption and production of various equipment. Equipment performance data may include: efficiency curves and other sub-facilities models, such as those discussed in U.S. Patent Publication No. 2021 / 0132586, U.S. Patent Publication No. 2022 / 0397882, and U.S. Application No. 17 / 686,990, filed March 4, 2022, the entire disclosure of which is incorporated herein by reference; and / or various data described therein for generating such sub-facilities curves and sub-facilities models. Equipment performance data can provide information related to resource consumption and production of various equipment under different demands, settings, control logic, environmental conditions, etc. Equipment performance data may include runtime data collected for a specific unit of equipment during actual operation, aggregated (e.g., average) performance data determined for a type of equipment (e.g., a specific model of cooler) based on data collected for multiple units of equipment, and / or design or expected data given by equipment design / engineering design documents. In some embodiments, equipment performance data includes maintenance data (e.g., warranty data, work order data, replacement parts data) for various types of equipment, which, for example, indicates the average amount of maintenance required for different types of equipment.

[0065] Data source 112 may include sustainability data, which may be related to, for example, energy consumption, water consumption or other resource consumption; carbon emissions, pollutant emissions, etc.; or green energy generation (e.g., solar generation, wind generation, geothermal generation). Sustainability data may include historical values ​​of resource consumption, emissions, generation, etc., associated with different central facilities (e.g., central facilities operating for which central utility models and measurement / metering data are available, validated simulations) and / or specific equipment (e.g., specific units, equipment categories, equipment types, etc.). Sustainability data may include data from resource providers (e.g., utility providers, grid operators), such as data indicating marginal operational emissions rates associated with grid electricity available at different locations and / or other indicators or data related to the availability of renewable energy resources.

[0066] All such data can be used by model updater 108 to update model 104 (e.g., fine-tune and / or enhance) to provide model 116.

[0067] Model Configuration Further reference Figure 1The model updater 108 can perform various machine learning model configuration / training operations to determine a second model 116 using data from data source 112. For example, the model updater 108 can perform various update, optimization, retraining, reconfiguration, fine-tuning, or transfer learning operations, or various combinations thereof, to determine the second model 116. The model updater 108 can use data source 112 to configure the second model 116 to generate outputs (e.g., completion) in response to received inputs (e.g., prompts), where the inputs and outputs can resemble the data from data source 112.

[0068] For example, model updater 108 may identify one or more parameters (e.g., weights and / or biases) of one or more layers of the first model 104 and retain (e.g., freeze, hold as identified values ​​during updates) the values ​​of one or more parameters of that layer. In some embodiments, model updater 108 may modify one or more layers, such as by adding, removing, or changing the output layer of one or more layers, or by not retaining the values ​​of one or more parameters. Model updater 108 may select at least one subset of the identified one or more parameters to retain based on various criteria, such as user input or other instructions indicating that the first model 104 will be modified to determine the extent to which the second model 116 is to be modified. In some embodiments, model updater 108 may modify the first model 104 such that the output layer of the first model 104 corresponds to the output determined for application 120.

[0069] In response to selecting one or more parameters to hold, model updater 108 can apply training data from data source 112 as input to a second model 116 (e.g., to a candidate second model 116, such as a modified first model 104, such as a first model 104 with identified parameters held as identified values). For example, model updater 108 can apply training data as input to the second model 116 to cause the second model 116 to generate one or more candidate outputs.

[0070] Model updater 108 can evaluate convergence conditions to modify the candidate second model 116 based at least on one or more candidate outputs and training data applied as input to the candidate second model 116. For example, model updater 108 can evaluate an objective function of the convergence condition, such as a loss function (e.g., L1 loss, L2 loss, root mean square error, cross-entropy, or log loss, etc.), based on one or more candidate outputs and training data; this evaluation can indicate how closely the candidate outputs generated by the candidate second model 116 correspond to the ground reality represented by the training data. Model updater 108 can use any of a variety of optimization algorithms (e.g., gradient descent, stochastic descent, Adam optimization, etc.) to modify one or more parameters of the candidate second model 116 (e.g., weights or biases of unfrozen layers of the candidate second model 116) based on the evaluation of the objective function. In some implementations, model updater 108 can use various hyperparameters to evaluate the convergence condition and / or perform configuration of the candidate second model 116 to determine the second model 116, including but not limited to hyperparameters such as learning rate, number of iterations, or number of training epochs.

[0071] As further described herein with respect to application 120, in some embodiments, model updater 108 may select training data from data source 112 as input application based at least on a specific application of multiple applications 120 (for which the second model 116 will be used). For example, model updater 108 may select data from equipment specification data for product recommendation generator application 120, or select various combinations of data from data source 112 (e.g., central utility model, central utility description, equipment specification data) for model and simulation generator application 120. Model updater 108 may apply various combinations of data from various data sources 112 to facilitate the configuration of the second model 116 for one or more applications 120.

[0072] In some implementations, system 100 may perform at least one of conditioning, classifier-based guidance, or classifier-free guidance to configure the second model 116 using data from data source 112. For example, system 100 may condition the training of the second model 116 using classifiers associated with the data, such as device identifiers, device unit types, characteristics of the central facility model, and / or characteristics identified in the central utility facility description. For example, for at least one subset of the data used to configure the second model 116, system 100 may combine (e.g., cascade) various such classifiers with the data used to input into the second model 116 during training, which may enable the second model 116 to respond to similar information for runtime / inference-time operation.

[0073] application Further reference Figure 1 System 100 can use the output of one or more second models 116 to implement one or more applications 120. For example, a second model 116 configured with data from data source 112 can accurately generate output representing useful, timely, and / or real-time information for application 120. In some implementations, each application 120 is coupled to a corresponding second model 116, which is specifically configured to generate output for use by application 120. Various applications 120 can be coupled to each other, such as by providing output from a first application 120 as input to or part of the input to a second application 120.

[0074] Application 120 may include any of a variety of desktop applications, web-based / browser-based applications, or mobile applications. For example, Application 120 may be implemented by an enterprise management software system, employee or other user applications (e.g., applications related to BMS functionality, such as temperature control, user preferences, meeting room scheduling, etc.), an equipment portal providing data on equipment items, or various combinations thereof. Application 120 may include user interfaces, wizards, checklists, dialog interfaces, chatbots, configuration tools, or various combinations thereof. Application 120 may receive input, such as prompts (e.g., from a user); provide prompts to a second model 116 to cause the second model 116 to generate output, such as completion in response to the prompt; and instructions to present the output. Application 120 may receive input and / or present output in any of a variety of presentation modalities (such as text, voice, audio, image, and / or video modalities). For example, Application 120 may receive unstructured or free-form input from users (such as service technicians, architects, building or facility engineers, project managers, others, etc.) and generate reports in a standardized format (such as a client-specific format). For example, this can allow personnel to automatically and flexibly generate reports available to clients, including information related to the central facility model and simulation results; provide input as oral statements to generate central facility model and / or simulation reports; provide input in any or multiple forms and use a second model 116 (which can be trained to cross-reference metadata in different parts of the input and associate data elements together) to generate output reports (e.g., the second model 116, which has been configured with data including time information, can use timestamps from the oral input and timestamps when the images were taken, and place the images in target locations or annotations in the report based on time relevance).

[0075] In some implementations, application 120 includes at least one virtual assistant application 120 (e.g., a virtual assistant for facility design). The virtual assistant application can provide various services to support facility design operations, such as presenting information related to a central utility model, receiving queries about the central utility model to be generated and / or simulations to be performed using the central utility model, and presenting responses indicative of the central utility model and / or simulation results. The virtual assistant application can receive information about equipment items to be repaired, such as sensor data, text descriptions, or camera images, and uses a second model 116 to process the received information to generate corresponding responses.

[0076] For example, the virtual assistant application 120 can be implemented according to a UI / UX wizard configuration, such as providing a sequence of requests for information from the user (this sequence may include at least one of predetermined requests or requests dynamically generated in response to input from the user in response to previous requests). For example, the virtual assistant application 120 can provide one or more requests to a user (such as a facility designer, facility manager, or other resident) and provide the received responses to at least one of the second model 116 or other simulation engines (e.g., as cited above and / or referenced herein). Figure 8 (As discussed in the references), to determine the central facility model and / or recommendations for operational adjustments, new equipment to be installed for the central utility facility, or information to support other design or operational decisions for the central utility facility. The virtual assistant application 120 may use requests for information (such as unstructured text used by the user to describe the characteristics of the central facility); answer follow-up questions from the application 120 related to further details of the central facility; and / or provide image and / or video input (e.g., images of questions, equipment, spaces, facilities, etc.). For example, in response to receiving a response via the virtual assistant application 120 indicating that the user is interested in the cooler of the central facility, the system 100 may request information via the virtual assistant application 120 about the cooler and associated connected equipment of the central facility, such as images of the cooler and the central facility, detailed equipment type information (e.g., model number, serial number, name, etc.), or various combinations thereof.

[0077] Virtual assistant application 120 may include multiple applications 120 for various corresponding user types (e.g., variations or customizations of the interface). For example, virtual assistant application 120 may include a first application 120 for customer users and a second application 120 for central facility engineer users. Virtual assistant application 120 may allow updates and other communications between the first and second applications 120 and the second model 116. Using one or more of the first and second applications 120, system 100 may manage continuous / real-time conversations for one or more users and evaluate user engagement with the provided information (e.g., whether the user, customer, central facility engineer, etc., followed the provided steps to implement the recommendations, whether the user stopped providing input to virtual assistant application 120, etc.), such that system 100 can update the information generated by the second model 116 for virtual assistant application 120 based on engagement. In some embodiments, system 100 may use the second model 116 to detect user sentiment in virtual assistant application 120 and update the second model 116 based on the detected sentiment, such as to improve the experience provided by virtual assistant application 120.

[0078] In some implementations, application 120 may include at least one model and simulation generator application 120. The model and simulation generator application 120 may receive inputs related to the characteristics of the central utility facility and / or user queries (inquiries, prompts, requests, etc.) related to the central utility facility. The model and simulation generator application 120 may provide inputs to a corresponding second model 116 to cause the second model 116 to generate outputs, such as a central utility facility model and / or a set of simulations adapted to provide responses to user queries. According to some embodiments, the model and simulator generator application 120 may provide features of process 900 as described in detail below.

[0079] Application 120 may include at least one maintenance plan generator application 120. Maintenance plan generator application 120 may receive inputs, such as information about the central utility facility and maintenance performed at the central utility facility, and provide inputs to a second model 116 to enable the second model 116 to generate outputs that present maintenance plan recommendations, such as a plan that optimally balances maintenance actions with equipment operating costs (e.g., using the teachings of U.S. Publication No. 2021 / 0223767, the entire disclosure of which is incorporated herein by reference).

[0080] In some implementations, application 120 may include a product recommendation generator application 120. The product recommendation generator application 120 may use one or more second models 116 (e.g., models trained using a central utility model and central utility description data from data source 112) to process input, such as information about equipment items or service requests, to determine recommendations for parts or products used to replace or otherwise repair equipment items. For example, the product recommendation generator application 120 may be used to determine equipment units to be added to the central facility (e.g., equipment type, equipment size, specific equipment model name, etc.). In some embodiments, the product recommendation generator application 120 implements, adapts, etc., the teachings of U.S. Patent No. 11,238,547 and / or U.S. Patent No. 11,042,924, the entire disclosure of which is incorporated herein by reference.

[0081] Feedback Training Further reference Figure 1 System 100 may include at least one feedback trainer 128 connected to at least one feedback repository 124. System 100 may use the feedback trainer 128 to increase the precision and / or accuracy of the output generated by the second model 116 based on feedback provided by the user and / or application 120 of system 100.

[0082] Feedback repository 124 may include feedback received from the user regarding the output presented by application 120. For example, for at least a subset of the output presented by application 120, application 120 may present one or more user input elements for receiving feedback about the output. User input elements may include:, for example, indications of binary feedback about the output (e.g., good / bad feedback; feedback indicating whether the output meets the user's criteria (such as criteria regarding technical accuracy or precision); indications of multiple levels of feedback (e.g., rating the output on a predetermined scale, such as a 1-5 scale or a 1-10 scale); free-form feedback (e.g., text or audio feedback); or various combinations thereof.

[0083] System 100 may store and / or retain feedback in feedback repository 124. In some embodiments, system 100 stores feedback together with one or more data elements associated with the feedback, including but not limited to the output received for the feedback, a second model 116 for generating the output, and / or input information used by the second model 116 to generate the output (e.g., service request information; information about device items captured by the user).

[0084] Feedback trainer 128 can use feedback to update one or more second models 116. Feedback trainer 128 can be similar to model updater 108. In some embodiments, feedback trainer 128 is implemented by model updater 108; for example, model updater 108 may include or be coupled to feedback trainer 128. Feedback trainer 128 can use feedback from feedback repository 124 to perform various configuration operations (e.g., retraining, fine-tuning, transfer learning, etc.) on second model 116. In some embodiments, feedback trainer 128 identifies one or more first parameters of second model 116 to be maintained with predetermined values ​​(e.g., freezing the weights and / or biases of one or more first layers of second model 116) and performs training processes (such as fine-tuning processes) to use feedback to configure parameters in one or more second parameters of second model 116 (e.g., one or more second layers of second model 116, such as output layers or output heads of second model 116).

[0085] In some implementations, system 100 may not include and / or not use a model updater 108 (or feedback trainer 128) to determine the second model 116. For example, system 100 may include or use an output processor (e.g., with a reference...) Figure 3 The accuracy verifier 316 described herein is connected to a similar or identical output processor that can evaluate and / or modify the output from the first model 104 prior to the operation of application 120, including performing any of a variety of post-processing operations on the output from the first model 104. For example, the output processor can compare the output of the first model 104 with data from data source 112 to verify the output of the first model 104 and / or modify the output of the first model 104 (or output error) in response to the output not meeting the verification criteria.

[0086] Connected machine learning models Further reference Figure 1 The second model 116 can be coupled to one or more third models, functions, or algorithms used for training / configuration and / or runtime operation. The third model can include, for example, but not limited to, any of a variety of models related to the equipment project, such as energy use models, sustainability models, carbon models, air quality models, or occupant comfort models. For example, the second model 116 can be used to process unstructured information about the equipment project into a predefined template format compatible with various third models, so that the output of the second model 116 can be provided as input to the third model; this can allow for more accurate training of the third model, generate more training data for the third model, and / or provide more data for the third model to use. The second model 116 can receive input from one or more third models, which can provide the second model 116 with larger amounts of data for processing.

[0087] Automated model generation and simulation System 100 can be used to generate a central utility model based on user input describing the characteristics of a central utility, wherein the central utility includes text or voice input to System 100. The system can use model 104 and / or model 116 to identify multiple building equipment objects that satisfy the characteristics of the user input using an AI model based on the user input and to generate a central utility model based on the text or voice input. Model 104 and / or model 116 are configured such that the central utility model satisfies the characteristics described by the user input and includes the identified building equipment objects (e.g., a virtual representation of the identified equipment and the connections between them). In some embodiments, System 100 is also configured to determine a simulation to be run using the generated central utility model, for example, based on text or voice input to System 100 related to a user query that can be resolved by performing a simulation using the central utility model.

[0088] II. System Architecture for Generative AI Applications in Building Management Systems and Central Facility Modeling Figure 2 An example of system 200 is depicted. System 200 may include one or more components or features of system 100, such as any and more of a first model 104, a data source 112, a second model 116, an application 120, a feedback repository 124, and / or a feedback trainer 128. System 200 may perform specific operations to enable generative AI applications for building management systems and equipment maintenance, such as processing input data into training data in various ways (e.g., tokenizing input data; shaping input data into prompts and / or completions; etc.), and managing training and other machine learning model configuration processes. The various components of system 200 may be implemented using one or more computer systems, which may be provided on the same or different processors (e.g., processors communicatively coupled via wired and / or wireless connections).

[0089] System 200 may include at least one data repository 204, which may be similar to the reference Figure 1 The data source 112 is described. For example, data repository 204 may include facility database 208, which may be similar to or the same as one or more of the data sources 112. For example, facility database 208 may include: data such as central utility facility models; central utility facility descriptions; equipment specifications and performance data; and sustainability data.

[0090] Data repository 204 may include product database 212, which may resemble or include equipment specification data from data source 112. Product database 212 may include, for example, data about products (e.g., equipment) available from various suppliers, specifications or parameters of the products, and indications of the products for various service operations. Product database 212 may include: data such as events or alarms associated with the products; product operation logs; and / or time series data about product operations, such as longitudinal data values ​​of product and / or building equipment operations.

[0091] Data repository 204 may include operational database 216, which may be similar to or the same as the equipment performance data and / or equipment specification data of data source 112. For example, operational database 216 may include: data such as manuals about parts, products and / or equipment items; customer service data; and / or reports such as operation or service logs; operational data (e.g., measured equipment consumption or production); etc.

[0092] In some implementations, data repository 204 may include output database 220, which may include output data that can be generated by various machine learning models and / or algorithms. For example, output database 220 may include pre-calculated values ​​of predictions and / or insights, such as parameters concerning equipment operation items, such as setpoints, setpoint changes, flow rates, control schemes, identification of error conditions, central facility models, or various combinations thereof.

[0093] like Figure 2 As depicted, system 200 may include a prompt management system 228. The prompt management system 228 may include one or more rules, heuristics, logic, strategies, algorithms, functions, machine learning models, neural networks, scripts, or various combinations thereof to perform operations, including processing data from data repository 204 into training data for configuring various machine learning models. For example, the prompt management system 228 may retrieve and / or receive data from data repository 204 and determine training data elements based on the data from data repository 204, which include examples of inputs and outputs generated by the machine learning models, such as training data elements including prompts and corresponding completions.

[0094] In some implementations, the prompt management system 228 includes a preprocessor 232. The preprocessor 232 can perform various operations to prepare data from the data repository 204 for prompt generation. For example, the preprocessor 232 can perform any of various filtering, compression, tokenization, or combination operations (e.g., combining data from various databases in the data repository 204).

[0095] The prompt management system 228 may include a prompt generator 236. The prompt generator 236 may generate one or more training data elements, including prompts and corresponding completions, based on data from the data repository 204. In some embodiments, the prompt generator 236 receives user input indicating prompt and completion portions of the data. For example, the user input may indicate a template portion representing a prompt for structured data (such as predefined fields or forms in a document) and the corresponding completion provided for the document. The user input may assign prompts to unstructured data. In some embodiments, the prompt generator 236 automatically determines prompts and completions from the data repository 204, such as by detecting prompts and completions from the data using any of a variety of natural language processing algorithms. In some embodiments, the system 200 does not identify different prompts and completions from the data repository 204.

[0096] Further reference Figure 2 System 200 may include training management system 240. Training management system 240 may include one or more rules, heuristics, logic, strategies, algorithms, functions, machine learning models, neural networks, scripts, or various combinations thereof to perform operations, including controlling the training of machine learning models, including performing fine-tuning and / or transfer learning operations.

[0097] The training management system 240 may include a training manager 244. The training manager 244 may be combined with a reference... Figure 1 Features of at least one of the described model updater 108 or feedback trainer 128. For example, training manager 244 may provide model system 260 with training data including multiple training data elements (e.g., prompts and corresponding completions), as further described herein, to facilitate training of a machine learning model.

[0098] In some implementations, the training management system 240 includes a cue database 248. For example, the training management system 240 may store one or more training data elements from the cue management system 228, such as to facilitate asynchronous and / or batch training processes.

[0099] The training manager 244 can control the training of the machine learning model using information or instructions maintained in the model tuning database 256. For example, the training manager 244 can store various parameters or hyperparameters used for model and / or model training in the model tuning database 256.

[0100] In some implementations, the training manager 244 stores records of training operations in the work database 252. For example, the training manager 244 may maintain data such as training work queues, parameters or hyperparameters to be used for training work, or information about training performance.

[0101] Further reference Figure 2 System 200 may include at least one model system 260 (e.g., one or more language model systems). Model system 260 may include one or more rules, heuristics, logic, strategies, algorithms, functions, machine learning models, neural networks, scripts, or various combinations thereof to perform operations, including configuring one or more machine learning models 268 based on instructions from training management system 240. In some embodiments, training management system 240 implements model system 260. In some embodiments, training management system 240 may use one or more APIs to access model system 260, such as providing training data and / or instructions for configuring machine learning models 268 via one or more APIs. Model system 260 may operate as a service layer for configuring machine learning models 268 in response to instructions from training management system 240. Machine learning model 268 may be or include references. Figure 1 The first model 104 and / or the second model 116 are described.

[0102] The model system 260 may include a model configuration processor 264. The model configuration processor 264 may be combined with reference to... Figure 1 The features of the model updater 108 and / or feedback trainer 128 are described. For example, the model configuration processor 264 can apply training data (e.g., cue 248 and corresponding completions) to the machine learning model 268 to configure (e.g., train, modify, update, fine-tune, etc.) the machine learning model 268. The training manager 244 can control the training performed by the model configuration processor 264 based on model tuning parameters in the model tuning database 256, such as controlling various hyperparameters used for training. In various embodiments, the system 200 can use the training management system 240 to reference... Figure 1 The second model 116 describes configuring the machine learning model 268 in a similar manner, such as training the machine learning model 268 using any of the various data or combinations of data from the data repository 204.

[0103] Application Session Management Figure 3 An example of system 200 is depicted, wherein system 200 can perform operations to implement at least one application session 308 for client device 304. For example, in response to configuring machine learning model 268, system 200 can use at least one application session 308 and one or more machine learning models 268 to generate data for presentation by client device 304 (including generating data in response to information received from client device 304).

[0104] Client device 304 may be a device belonging to a user (such as a technician or building administrator). Client device 304 may include any of a variety of wireless or wired communication interfaces for data communication with model system 260, such as providing model system 260 with requests for data to be generated for machine learning model 268, and receiving output from model system 260. Client device 304 may include various user input and output devices to facilitate the reception and presentation of input and output.

[0105] In some implementations, system 200 provides data to client device 304 for client device 304 to operate at least one application session 308. Application session 308 may include data related to references... Figure 1 Any corresponding session in the described application 120. For example, client device 304 may initiate application session 308 and provide an interface to request one or more prompts. In response to receiving one or more prompts, application session 308 may provide one or more prompts as input to machine learning model 268. Machine learning model 268 may process the input to generate completions and provide the completions to application session 308 for presentation via client device 304. In some embodiments, application session 308 may use machine learning model 268 to iteratively generate completions. For example, machine learning model 268 may receive a first prompt from application session 308, determine a first completion based on the first prompt and provide the first completion to application session 308, receive a second prompt from application 308, determine a second completion based on the second prompt (which may include at least one of the first prompt or the first completion cascaded to the second prompt), and provide the second completion to application session 308.

[0106] In some implementations, model system 260 includes at least one session database 312. Session database 312 may maintain records of application sessions 308 implemented by client device 304. For example, session database 312 may include records of prompts provided to machine learning model 268 and completions generated by machine learning model 268. (See reference...) Figure 4 As further described, system 200 can use data in session database 312 to fine-tune or otherwise update machine learning model 268.

[0107] Complete verification In some implementations, system 200 includes an accuracy verifier 316. The accuracy verifier 316 may include one or more rules, heuristics, logic, strategies, algorithms, functions, machine learning models, neural networks, scripts, or various combinations thereof to perform operations, including evaluating performance criteria regarding the completions determined by model system 260. For example, the accuracy verifier 316 may include at least one completion listener 320. The completion listener 320 may receive completions determined by model system 260 (e.g., in response to completions generated by machine learning model 268 and / or by retrieving completions from session database 312).

[0108] Accuracy verifier 316 may include at least one completion evaluator 324. Completion evaluator 324 may evaluate completions (e.g., those received or retrieved by completion listener 320) according to various criteria. In some embodiments, completion evaluator 324 evaluates completions by comparing them to corresponding data from data repository 204. For example, completion evaluator 324 may identify data in data repository 204 that has text similar to the prompt and / or completion (e.g., using any of various natural language processing algorithms) and determine whether the completed data falls within the expected range of data represented by the data in data repository 204.

[0109] In some implementations, the accuracy verifier 316 may store the output from evaluating the completion (e.g., an indication of whether the completion meets the criteria) in the evaluation database 328. For example, the accuracy verifier 316 may assign the output (which may be at least one of a binary indication of whether the completion meets the criteria or an indication of whether the completion does not meet a portion of the criteria) to the completion for storage in the evaluation database 328, which may facilitate further training of the machine learning model 268 using the completion and the output.

[0110] Feedback Training Figure 4 An example of a system 200 including a feedback system 400 (such as a feedback aggregator) is depicted. The feedback system 400 may include one or more rules, heuristics, logic, strategies, algorithms, functions, machine learning models, neural networks, scripts, or various combinations thereof to perform operations, including preparing data for updates and / or updating the machine learning model 268 using feedback corresponding to the application session 308 (such as feedback received as user input associated with the output presented by the application session 308). The feedback system 400 may be combined with reference to... Figure 1 The characteristics of the described feedback repository 124 and / or feedback trainer 128.

[0111] Feedback system 400 can receive feedback in various formats (e.g., from client device 304). For example, feedback may include any of the following: text, voice, audio, image, and / or video data. Feedback may be associated with the output of the machine learning model 268 that provides the feedback (e.g., in a data structure generated by application session 308). Feedback may be received or extracted from various forms of data, including external data sources such as manuals, service reports, or Wikipedia-type documents.

[0112] In some implementations, feedback system 400 includes a preprocessor 404. Preprocessor 404 can perform any of a variety of operations to modify the feedback for further processing. For example, preprocessor 404 can incorporate features of preprocessor 232 or be implemented by that preprocessor, such as performing operations including filtering, compression, tokenization, or translation operations (e.g., translating into a common language for the data in data repository 204).

[0113] Feedback system 400 may include a deviation checker 408. The deviation checker 408 may use various deviation criteria to evaluate the feedback and, based on the evaluation, control the inclusion of the feedback in the feedback database 416 (e.g., such as...). Figure 4 The data repository 204 depicted in the feedback database 416 is used for the deviation criteria. The deviation criteria may include, for example, but not limited to, criteria regarding the qualitative and / or quantitative differences between the range or statistical measure of the feedback and the actual, expected or verified values.

[0114] Feedback system 400 may include feedback encoder 412. Feedback encoder 412 may process feedback (e.g., in response to a deviation check performed by deviation checker 408) for inclusion in feedback database 416. For example, feedback encoder 412 may encode feedback as a value corresponding to an output score determined by model system 260 when generating completion (e.g., if the feedback indicates that the completion presented via application session 308 is acceptable, feedback encoder 412 may encode the feedback by associating it with the completion and assigning a relatively high score to the completion).

[0115] like Figure 4As indicated by the dashed arrows, feedback can be used by the cue management system 228 and the training management system 240 to further update one or more machine learning models 268. For example, the cue management system 228 can retrieve at least one piece of feedback (and corresponding cue and completion data) from the feedback database 416, and process the at least one piece of feedback to determine feedback cue and feedback completion to provide to the training management system 240 (e.g., using the preprocessor 232 and / or cue generator 236, and assigning a score corresponding to the feedback to the feedback completion). The training manager 244 can provide instructions to the model system 260 to update the machine learning model 268 using the feedback cue and feedback completion, such as to perform a fine-tuning process using the feedback cue and feedback completion. In some embodiments, the training management system 240 performs a batch process of feedback-based fine-tuning by: using the cue management system 228 to generate multiple feedback cue and multiple feedback completion, and providing instructions to the model system 260 to perform a fine-tuning process using the multiple feedback cue and multiple feedback completion.

[0116] Data filtering and validation system Figure 5 An example of system 200 is depicted, wherein system 200 may include one or more data filters 500 (e.g., data validators). Data filters 500 may include any one or more rules, heuristics, logic, strategies, algorithms, functions, machine learning models, neural networks, scripts, or various combinations thereof to perform operations, including modifying data processed by system 200, and / or triggering alerts in response to data not meeting corresponding criteria (such as thresholds for data values). Reference Figure 5 (as well as Figure 6 and Figure 7 The various data filtering processes described herein enable system 200 to perform operations in a timely manner to improve the precision and / or accuracy of completions or other information generated by system 200 (e.g., improving the accuracy of feedback data used for fine-tuning machine learning model 268). Data filter 500 can allow interaction between various algorithms, models, and computational processes.

[0117] For example, data filter 500 can be used to evaluate data relative to data-related thresholds, including, but not limited to, acceptable data ranges for equipment items, setpoints, temperatures, pressures, flow rates (e.g., mass flow rates), or vibration rates. Thresholds can include any of a variety of thresholds, such as one or more of minimum, maximum, absolute, relative, fixed-band, and / or floating-band thresholds.

[0118] Data filter 500 enables system 200 to detect when data, such as prompts, completions, or other inputs and / or outputs of system 200, conflict with thresholds representing the actual behavior or operation or other limitations of the equipment item. For example, the threshold of data filter 500 may correspond to data values ​​within the feasible or recommended operating range. In some embodiments, system 200 uses models or simulations of the equipment item (such as facility or equipment simulators, cooler models, HVAC-R models, refrigeration cycle models, etc.) to determine or receive thresholds. System 200 may receive thresholds as user input (e.g., from experts, technicians, or other users). The threshold of data filter 500 may be based on information from a variety of data sources. Thresholds may include, for example, but not limited to, thresholds based on information such as equipment limitations, safety margins, physics, expert instruction, etc. For example, data filter 500 may include thresholds determined according to various models, functions, or data structures (e.g., tables) representing physical properties and processes (such as psychometric physics, thermodynamics, and / or fluid dynamics information).

[0119] System 200 may use feedback system 400 and / or client device 304 to determine thresholds, such as by providing requests for feedback, including requests for corresponding thresholds associated with completions and / or prompts presented by application session 308. For example, system 200 may use feedback to identify realistic thresholds, such as by using feedback on data generated by machine learning model 268 regarding the scope, setpoint, and / or startup or operation sequence of a device item (and therefore, the data can be verified by human experts). In some embodiments, system 200 selectively requests feedback indicating thresholds based on the identifier of the user of application session 308, such as selectively requesting feedback to users with a predetermined level of expertise, and / or assigning weights to the feedback according to criteria such as level of expertise.

[0120] In some implementations, one or more data filters 500 correspond to a given setting. For example, the setting may represent the configuration of a corresponding device item (e.g., the configuration of a cooler, etc.). Data filters 500 may represent various thresholds or conditions relative to the values ​​used for configuration, such as feasible or recommended operating ranges for the values. In some implementations, one or more data filters 500 correspond to a given situation. For example, the situation may represent at least one of the operating modes or conditions of a corresponding device item.

[0121] Figure 5Examples of data (e.g., inputs, outputs, and / or data communicating between nodes of machine learning model 268) are described, and data filter 500 can be applied to this data to evaluate data processed by system 200, including various inputs and outputs of system 200 and its components. This can include, for example, but not limited to, filtering data such as data communicating between one or more of the data repository 204, the prompt management system 228, the training management system 240, the model system 260, the client device 304, the accuracy verifier 316, and / or the feedback system 400. For example, data filter 500 (and references) Figure 6 The described verification system 600 and / or reference Figure 7 The described expert filter conflict system 700 can receive data output from a source (e.g., a source component) of system 200 for use by a destination (e.g., a destination component) of system 200, and filter, modify, or otherwise process the output data before system 200 provides the output data to the destination. The source and destination can include any of various combinations of components and systems of system 200.

[0122] System 200 can perform various actions in response to data processing by data filter 500. In some embodiments, system 200 can pass data to its destination without modifying it in response to data meeting the criteria of the corresponding data filter 500 (e.g., retaining the data's value before it is evaluated by data filter 500). In some embodiments, system 200 can perform at least one of the following: (i) modifying the data, or (ii) outputting a warning in response to data not meeting the criteria of the corresponding data filter 500. For example, system 200 can modify the data by changing one or more values ​​of the data to bring it within the criteria of data filter 500.

[0123] In some implementations, system 200 modifies the data by having machine learning model 268 regenerate the corresponding completions (e.g., up to a predetermined threshold number of regeneration attempts before triggering an alert). This allows data filter 500 and system 200 to selectively trigger alerts in response to determining that data (e.g., a conflict between the data and a threshold of data filter 500) may not be repairable by machine learning model 268 of system 200.

[0124] System 200 can output an alert to client device 304. System 200 can assign a flag corresponding to the alert to at least one of the prompts (e.g., in the prompt database 224) or the completion of data that triggers the alert.

[0125] Figure 6An example of system 200 is depicted, wherein verification system 600 is coupled to one or more components of system 200, such as to process and / or modify data communicated between the components of system 200. For example, verification system 600 may provide a verification interface to human users (e.g., expert supervisors, verifiers) and / or expert systems (e.g., data verification systems that can implement processes similar to those described in reference data filter 500) to receive data from system 200 and modify, verify, or otherwise process the data. For example, verification system 600 may provide various data from system 200 to human expert supervisors, human verifiers, and / or expert systems, receive responses to the provided data indicating requested modifications to the data or verification of the data, and modify (or verify) the provided data based on the responses.

[0126] For example, the verification system 600 may receive data, such as data retrieved from the data repository 204, prompts output by the prompt management system 228, completions output by the model system 260, accuracy indicators output by the accuracy verifier 316, etc., and provide the received data to at least one of the expert system or the user interface. In some embodiments, the verification system 600 receives a given data item before it is processed by the model system 260, such as to verify the input to the machine learning model 268 before it is processed by the machine learning model 268 to generate an output (such as completion).

[0127] In some implementations, the verification system 600 verifies data by at least one of the following: (i) assigning a label (e.g., a flag, etc.) indicating that the data has been verified, or (ii) delivering the data to a destination without modifying the data. For example, in response to receiving at least one of user input indicating that the data is valid (e.g., from a human verifier / supervisor / expert) or an indication that the data is valid from an expert system, the verification system 600 may assign a label and / or deliver the data to a destination.

[0128] The verification system 600 can selectively provide data from the system 200 to the verification interface in response to the operation of the data filter 500. This allows the verification system 600 to trigger data verification in response to a conflict between the data and the criteria of the data filter 500. For example, in response to the data filter 500 determining that a data item does not meet the corresponding criterion, the data filter 500 can provide the data item to the verification system 600. The data filter 500 can assign various annotations to the data item, such as an indication of the value of the threshold for which the data filter 500 determines that the data item does not meet the threshold. In response to receiving a data item from the data filter 500, the verification system 600 can provide the data item to the verification interface (e.g., the user interface of the client device 304 and / or application session 308; for comparison with other operations of the model, simulation, algorithm, or expert system) for verification. In some embodiments, the verification system 600 can receive an indication that the data item is valid (e.g., even if the data item does not meet the criteria of the data filter 500) and can provide an indication to the data filter 500 to at least partially modify the corresponding threshold according to the indication.

[0129] In some implementations, the verification system 600 selectively retrieves data for verification, wherein (i) the data is determined or output prior to use by the machine learning model 268, such as data from the data repository 204 or the prompt management system 228, or (ii) the data does not satisfy the corresponding data filter 500 that processes the data. This allows system 200, data filter 500, and verification system 600 to update other machine learning aspects (e.g., generative AI aspects) of machine learning model 268 and system 200 to more accurately generate data and complete it (e.g., enabling data filter 500 to generate alerts received by human experts / expert systems that can be corrected by adjusting one or more components of system 200).

[0130] Figure 7 An example of system 200 is depicted, in which an expert filter conflict system 700 (“Expert System” 700) can facilitate the provision of feedback and provide the user with more accurate and / or precise data and completions via application session 308. For example, Expert System 700 can interface with various points and / or data streams of System 200, such as… Figure 7As depicted, system 200 can provide data to expert filter conflict system 700, such as to transfer data to a user interface and / or present data via the user interface of expert filter conflict system 700, which can be accessed via expert session 708 of client device 704. For example, via expert session 708, expert system 700 can enable functions such as receiving input for human experts to provide feedback to users of client device 304; human experts guiding users by providing data (e.g., completions) (such as reports, insights, and action items) to client device 304; human experts reviewing and / or providing feedback on insights, guidance, and recommendations before they are presented by application session 308 for revising insights, guidance, and recommendations; human experts adjusting and / or validating insights or recommendations before they are viewed or used for actions by users; or various combinations thereof. In some embodiments, expert system 700 can use feedback received via expert session as input to update machine learning model 268 (e.g., perform fine-tuning).

[0131] In some implementations, expert system 700 retrieves data to be provided to application session 308, such as completions generated by machine learning model 268. Expert system 700 may present the data via expert session 708, such as to request feedback on the data from client device 704. For example, expert system 700 may receive feedback on the data for modification or verification (e.g., editing or verifying the completions). In some implementations, expert system 700 requests at least one of the identifiers or credentials of the user of client device 704 before providing data to client device 704 and / or requesting feedback on the data from expert session 708. For example, expert system 700 may request feedback in response to determining that at least one of the identifiers or credentials meets a target value for the data. This may allow expert system 700 to selectively identify experts used for monitoring and verifying data.

[0132] In some implementations, expert system 700 facilitates a data communication session between application session 308 and expert session 708. For example, in response to detecting the presentation of data via application session 308, expert system 700 may request feedback on the data (e.g., user input via application session 308 regarding feedback on the data) and provide the feedback to client device 704 for presentation via expert session 708. Expert session 708 may receive expert feedback or feedback from a user regarding at least one piece of data to provide to application session 308. In some implementations, expert system 700 may facilitate any of a variety of real-time or asynchronous messaging protocols between application session 308 and expert session 708 regarding data (such as any or a combination of text, voice, audio, image, and / or video communications). This may allow expert system 700 to provide a platform for users receiving data (e.g., customers or field technicians) to receive expert feedback from users (e.g., expert technicians) of client device 704. In some implementations, expert system 700 stores records of one or more messages or other communications between sessions 308 and 708 in data repository 204 to facilitate further configuration of machine learning model 268 based on interactions between users of sessions 308 and 708.

[0133] Building data platform and digital twin architecture Further reference Figures 1 to 7 The various systems and methods described herein can be executed by and / or communicate with a building data platform (including the data platform of a building management system). For example, data repository 204 may include or be coupled to one or more building data platforms, such as to ingest data from the building data platforms and / or digital twins. Client device 304 may communicate with system 200 via the building data platform and may transmit feedback, reports, and other data to the building data platform. In some embodiments, data repository 204 maintains a building data platform-specific database, such as enabling system 200 to configure machine learning model 268 on a building data platform-specific basis (or on an entity-specific basis using data from one or more building data platforms maintained by the entity).

[0134] For example, in some implementations, the various types of data discussed herein may be stored in, retrieved from, or processed in the environment of a building data platform and / or digital twin; processed at the cloud or other external computing system / device or group of systems / devices, at the edge or other internal system / device or group of systems / devices, or a combination thereof (e.g., processed using a model executed therein), some of which occurs externally and some internally; and / or implemented using one or more gateways for communication and data management between the various such systems / devices. In some such implementations, building data platforms and / or digital twins may be provided within infrastructures such as those described in: U.S. Patent Application No. 17 / 134,661, filed December 28, 2020; U.S. Patent Application No. 18 / 080,360, filed December 13, 2022; U.S. Patent Application No. 17 / 537,046, filed November 29, 2021; U.S. Patent Application No. 18 / 096,965, filed January 13, 2023; and Indian Patent Application No. 202341008712, filed February 10, 2023, the disclosures of which are incorporated herein by reference in their entirety.

[0135] III. Generative AI-based Systems and Methods for Equipment Maintenance As described above, the systems and methods according to this disclosure can use machine learning models (including LLM and other generative AI models) to ingest data in various unstructured and structured formats about building management systems and equipment, and generate supplementary and other outputs designed to provide useful information to users. The various systems and methods described herein can use machine learning models to support applications that present data with high accuracy and relevance.

[0136] IV. Modeling and Simulation of Central Utility Facilities Now for reference Figure 8 According to some embodiments, a flowchart of process 900 for generating a central utility model and providing a response to user queries related to the central utility is shown. Process 900 can be performed using various apparatuses and systems described herein, including but not limited to systems 100, 200, or one or more components thereof. Aspects of process 900 can be implemented using one or more apparatuses or systems communicatively connected to each other, including in client-server, cloud-based, or other networked architectures. Process 900 can be implemented as part of a system and process that uses and incorporates the teachings of U.S. Patent Application No. 17 / 826,635, filed May 27, 2022, the entire disclosure of which is incorporated herein by reference.

[0137] At step 902, user input describing the characteristics of the central utility facility is received, for example, by one or more processors. For example, user input may be received via client device 304. User input may include text or voice input, such as input received via free text fields in a graphical user interface and / or input received via a microphone from which the user receives voice input (e.g., a verbal description). For example, a user may describe (e.g., in application session 308) the characteristics of the central utility facility to client device 304, including what equipment is located within the facility, the arrangement of equipment within the facility, the climate of the central utility facility's location, a description of the types of buildings served by the central utility facility, the size of the central utility facility, etc., and such a description is received in step 902. In some embodiments, the user input received in step 902 may also include documents, data, etc., related to the central utility facility, such as project documents for the construction of the central utility facility, applications for central utility equipment, and / or installation or servicing of central utility equipment (e.g., blueprints, facility configuration plans, scope of work documents, bills of materials, invoices, etc.). Therefore, user input may include a variety of unstructured data describing the characteristics of the central utility facility.

[0138] At step 904, at least one artificial intelligence (AI) model (e.g., at least one generative AI model) is used to identify multiple building equipment objects that satisfy the characteristics of the user input. The multiple building equipment objects identified in step 904 may include identifiers of the object type (e.g., coolers, boilers, etc.), model type / number (e.g., a specific model of cooler or boiler), and / or other characteristics of the equipment (e.g., maximum capacity, equipment input, equipment output, etc.). To enable step 904, at least one AI model (e.g., a generative AI model) can be fine-tuned using domain-specific training data (including a list of building equipment objects present in a central utility facility and user descriptions of such central utility facilities) and the techniques described in detail above. Accordingly, at least one AI model can be configured in step 904 to predict the building equipment objects present in a central facility based on user input describing the characteristics of the central utility facility.

[0139] In some implementations, step 904 includes a dialogue interaction generated by one or more processors using at least one generative AI model, where the system prompts the user for further information to help guide the identification of multiple building equipment objects. For example, if the initial user input identifies a central facility as including coolers, step 904 may include providing dialogue feedback to the user using at least one generative AI model, prompting the user to indicate how many coolers are included, what different models or types of coolers are included, etc. Therefore, step 904 may include providing interaction with the user that leads to the collection of additional descriptions of the central utility facility and the use of such additional descriptions to identify building equipment objects within the central facility.

[0140] At step 906, at least one AI model is used to generate a central utility model of the central utility based on text or voice input, such that the central utility model meets certain characteristics and includes the identified building equipment objects. Step 906 may include providing the central utility model according to a template for the central utility model, such that the central utility model is a suitable format, data structure, etc., for further processing steps involving the central utility model. The AI ​​model can generate data conforming to the template, consistent with the teachings elsewhere herein. Step 906 may include identifying connections between the identified building equipment objects, for example, such that the central utility model indicates resources flowing between certain equipment objects and / or other interrelationships between equipment in the central utility model. The central utility model generated in step 906 may be consistent with the facility model described and / or used in the following: U.S. Patent Application No. 17 / 826,635, filed May 27, 2022; U.S. Patent No. 10,706,375, granted July 8, 2020; and / or U.S. Patent No. 11,238,547, granted February 1, 2022; and / or U.S. Application No. 17 / 733,786, filed April 29, 2022, the entire disclosure of which is incorporated herein by reference.

[0141] In some implementations, step 906 includes a dialogue interaction generated by one or more processors using at least one generative AI model, wherein the system prompts the user for further information to help guide the generation of the central utility model. For example, at least one generative AI model may be configured to provide dialogue feedback to the user, prompting the user to describe connections between certain objects in the identified equipment objects, connections that may not have been described or implied by the user's previous input. Step 906 may include prompting the user to confirm certain determinations made by at least one AI model to indicate whether two identified equipment objects are connected in a manner estimated by at least one AI model. Therefore, step 906 may include providing an interaction with the user that leads to the collection of additional descriptions of the central utility and the use of such additional descriptions to generate the central utility model.

[0142] Thus, a central utility model is generated in process 900 based on natural language input or other unstructured data input from the user. In some embodiments, the central utility model can be generated without the user directly manipulating structured data in a template format used for the model. Therefore, the user can use process 900 and the system therein to generate the central utility model without requiring expertise in the modeling techniques used, model template details, other programming skills, etc. In some embodiments, process 900 may include providing the user with the central utility model (e.g., its visualization) for review, approval, adjustment, and / or feedback. Any feedback or adjustments provided with respect to the central utility model can be used to further train and fine-tune at least one AI model used in steps 904 and 906, for example, with the goal of driving model training to reduce the need for manual user adjustments to the central utility model output by at least one AI model. The various teachings described above can be used to implement such model improvements over time.

[0143] The central utility model can be used for various simulation tasks, online control (e.g., for optimal allocation of demand and / or resources across central utility facilities, determining optimal settings for central utility facilities, etc.), fault detection or diagnosis, and other advantageous features that can be enabled by an accurately and efficiently generated central utility model. According to some embodiments, steps 908 to 912, described in the following paragraphs, provide for the use of the central utility model generated via steps 902 to 906.

[0144] At step 908, a user query related to the desired outcome for the central utility is received (e.g., by one or more processors) as unstructured natural language input. For example, the user query may be received as text or voice input from a user via client device 304. The user query may indicate the desired outcome for the central utility, such as a reduction in the use of specific resources, a reduction in costs, net energy consumption targets, targets for meeting resource consumption budgets, or targets for meeting planned changes in the central utility's needs (e.g., due to the expansion of buildings served by the central utility). For illustrative purposes, depending on various examples and objectives, the user query could be "How can I save 20% on water?", "How can I reduce my investment by 10%?", "How can I upgrade the central facility to provide more than 20% cooling?", etc. In some embodiments, the user query may provide additional constraints or degrees of freedom, such as indicating that certain aspects of the central facility should not be changed (e.g., "How can the facility achieve X without changing Y"), indicating that the central facility can be added to (e.g., "What equipment options do I have to change the facility to provide load Z", "What equipment options do I have to reduce carbon emissions", etc.), providing other constraints (e.g., "The option in the initial investment should be less than $X"), or indicating that the result should be related to a specific operating parameter (e.g., "How should I change the water supply temperature setpoint to achieve...", etc.). Any such information that defines the scope and purpose of the user query may be provided by the user and received in step 908. In some embodiments, step 908 includes providing a dialogic interaction to the user that prompts the user to clarify any additional aspects of the user's request to ensure that the input received in step 908 accurately and adequately defines the user query in a manner suitable for use by at least one generative AI model in step 910 as described in the following paragraphs.

[0145] At step 910, a simulation set is configured based on the user query and using at least one AI model (e.g., at least one generative AI model). The user query may be input to the at least one AI model. The simulation set is configured to provide information that can provide a response to the user query. For example, certain changes in building operations, certain external conditions (e.g., weather conditions), certain changes in facility equipment included in the central facility, etc., may be determined by the at least one AI model to explore the scenario envisioned in the user query. In various embodiments, step 910 may include defining the duration of the simulation, the start conditions for the simulation, weather or other conditions occurring during the simulation, changes in equipment settings or equipment availability in different simulations, and various other simulation parameters. The simulation set determined in step 910 may include relevant simulation parameters for determining the response to the user query.

[0146] Step 910 can be performed by a generative AI model by providing output in a template format (e.g., a structured format for simulation parameters) based on unstructured user queries, wherein the generative AI model is trained on training data including user queries and corresponding sets of simulation parameters (e.g., simulation parameters carefully selected by expert users) and / or data indicating the relevance of the outputs of different simulations to different user queries. Step 910 can thus include having at least one AI model predict that a simulation will provide information relevant to the user query, and including that simulation in the simulation set, while omitting simulations predicted not to provide information relevant to the user query. Step 910 thus provides automated, intelligent simulation selection and configuration that can automatically omit simulations not predicted to produce information relevant to the user query. Since performing simulations can be computationally resource-intensive, step 910 can reduce the computational cost of generating a response to the user query by providing the omission of some simulations that might otherwise be performed.

[0147] At step 912, a simulation system is run using a central utility model (e.g., the central utility model from step 906) to determine the response to the user query. According to some embodiments, step 912 may include comparing simulation results in accordance with the teachings of U.S. Patent Application No. 17 / 826,635, filed May 27, 2022. In some embodiments, step 912 may include providing the teachings by adapting the teachings of U.S. Patent No. 11,238,547, granted July 22, 2019, which relates to determining a recommended size for assets to be added to a central facility or building. Step 912 may include providing an analytical comparison of different simulations, such as comparing costs, resource usage, equipment degradation, etc., generated by different simulations to identify simulations with parameters best aligned with the user query (e.g., identifying simulations that save the amount of energy requested in the user query, identifying simulations that achieve the most effective performance, etc.), and identifying such parameters as corresponding to the solution to the user query. Step 912 may also include, for example, generating simulation results and / or descriptive, textual, etc., explanations of the answers to user queries based on comparisons of the results of various simulations by at least one generative AI model trained according to the teachings of this document. Process 900 can thus provide users with natural language answers to natural language queries by running structured simulations using a structured central utility model, without requiring direct interaction between the user and the simulation or the central utility model.

[0148] In some embodiments, steps 902, 904, and 906 are performed, while steps 908, 910, and 912 are omitted. Figure 9An example of such an embodiment is shown, wherein, according to steps 908, 910 and 912, input of model characteristics and automated model generation are performed to provide a central utility model, and then data editing, scenario editing and simulation editing are performed with direct user interaction to generate a report of the simulation results (e.g., a return on investment report).

[0149] In some embodiments, steps 908, 910, and 912 can be performed without performing steps 902, 904, and 906 (e.g., using a central facility model created in another way). Figure 10 An example of such an embodiment is shown, in which model editing is provided without the teachings of steps 902, 904 and / or 906 (e.g., by manual model editing without using AI), and the user can ask questions about the desired results, and these questions are used to generate and run simulations to output reports, as in steps 908 to 912.

[0150] In some embodiments, process 900 is executed completely. Figure 11 An example of such an embodiment is shown, in which free text input (e.g., natural language input, text input, audio input) from a user is accepted to both describe the characteristics of the central facility and ask questions about the expected results, wherein the artificial intelligence method of process 900 is used to automate both model generation and the automation of simulation configuration and simulation operation to generate reports.

[0151] In various embodiments, user queries that can be answered in process 900 can have varying degrees of complexity. Figure 12 The example shown illustrates a query for which additional details (e.g., constraints, degrees of freedom) are provided for processing by process 900. Figure 12 This demonstrates that user-input queries can be related to desired outcomes (e.g., measured by different performance variables), equipment selection (e.g., new equipment to be installed, equipment to be removed, etc.), and operating parameters (e.g., each setpoint, control decision, setting), and that the teachings of Process 900 and elsewhere in this document can be enabled to handle any such user input when configuring and running relevant simulations to provide reports in response to user queries.

[0152] V. Programming of Automation Controllers Based on Free-Form Inputs Now for reference Figures 13 to 16 According to various embodiments, systems and methods related to generating control applications, installing control applications on building controllers, and controlling devices by executing control applications are illustrated. In various embodiments, Figures 13 to 16 The systems and methods described above can be implemented in various combinations.

[0153] Figures 13 to 16 The features relate to building controllers for installation with building equipment that operates to serve a building, such as providing heating, ventilation, and / or cooling. In various embodiments, the building equipment may include heating, ventilation, and / or cooling (HVAC) equipment such as air handling units, variable air volume boxes, coolers, boilers, heaters, room air conditioners, rooftop units, variable refrigerant flow systems, heat pumps, cooling towers, energy storage systems (e.g., batteries, thermal storage tanks, etc.), energy generation systems (e.g., natural gas generators, gasoline generators, photovoltaic systems, geothermal systems, etc.), etc.

[0154] Such devices can be electronically controlled by a controller, such as computing hardware including memory, one or more processors, input ports, output ports, etc., which can be installed alongside the device to communicate with the device and one or more sensors in the building. The controller can execute control applications that provide the building equipment with its desired operational behavior, such as determining when a building equipment unit should operate (e.g., on / off decisions), operating parameters for the building equipment (e.g., fan speed, damper position, valve position, compressor frequency, setpoint, etc.), and other control decisions for the building equipment. However, the specific control application suitable for any given controller is specific to the model of the equipment to be controlled, the characteristics of the building space served by the equipment, the availability of sensors and / or other data sources, occupant preferences, or other objectives for the space (e.g., target building conditions, compliance standards requiring specific indoor air conditions, etc.). Accordingly, a particular controller should be programmed with an appropriate control application suitable for the specific purpose of each controller. Therefore, especially in large and complex buildings with various building equipment and spaces, it can be challenging to reliably and efficiently generate and install appropriate control applications for different controllers.

[0155] Figure 13 This demonstrates existing methods for creating control applications for building controllers using a manual approach. For example... Figure 13 As shown in Figure 1300, person 1302 interacts with a controller configuration tool using a computer. Person 1302 is required to be a highly trained and skilled individual capable of reading operation sequences and facility drawing information, and manipulating the controller configuration tool to manually select options within it. Initially, when the user selects advanced options, the controller configuration tool provides a system selection tree where the user selects various nodes. The system selection tree allows the user to select nodes at various levels to describe the system as clearly presented in the operation sequences and facility drawing information read by person 1302. Figure 13The document demonstrates a controller configuration tool that then generates a control application based on user selections (e.g., by presenting a combination of selected code modules), and provides users with options to modify the control application as needed. This process introduces the possibility of user error, which can affect building operations once the control application is executed online, and requires time-consuming expert interaction by a human (1302). Accordingly, a technological solution is desired that provides an efficient and reliable method for the autonomous generation of control applications to improve both the generation and installation of control applications on building controllers and the online operation of building controllers, enabling effective and efficient control of building equipment to deliver the desired behavior.

[0156] Figure 14 A block diagram of a system 1400 for generating and installing control applications and for controlling building equipment by executing such control applications is shown. System 1400 can be implemented using the various features described above, for example, by integrating with or otherwise adapting System 100 and / or System 200 as described above. System 1400 is shown as including a building controller programming system 1402, which can be implemented as one or more non-transitory computer-readable media and one or more processors, wherein the one or more non-transitory computer-readable media stores programming instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations described below attributable to the building controller programming system 1402. The one or more non-transitory computer-readable media may also store other data, controller code modules, models, etc., used by the building controller programming system 1402 as described herein.

[0157] Building controller programming system 1402 is shown receiving operation sequence input 1404 and facility drawing 1406. In some embodiments, operation sequence input 1404 or facility drawing 1406 is omitted. Building controller programming system 1402 is further shown outputting a control application to controller 1408 (e.g., causing a control application to be installed on controller 1408), wherein controller 1408 executes the control application to generate control signals for building equipment 1410. Building controller programming system 1402 is configured such that the control application provided to controller 1408 causes controller 1408 to control building equipment 1410 according to the operation sequence described in operation sequence input 1404 and / or as indicated in facility drawing 1406.

[0158] Operation sequence input 1404 describes the desired operation of the device unit in free-form text (natural language, unstructured, etc.). For example, operation sequence input 1404 can describe the type of device to be provided and how the device should behave under various conditions. Operation sequence inputs can be written by system designers, project managers, clients, etc. Operation sequence inputs can describe different building conditions (e.g., temperature, pressure, humidity, airflow, air quality), operations (e.g., on, off, setpoint, schedule, target, etc.), and data inputs (e.g., sensors, external data sources, etc.) that may be suitable for describing the relevant device and the desired building system performance. Because operation sequence input 1404 is free-form text, different operation sequence inputs 1404 can describe the same or different operation sequences.

[0159] Facility drawings 1406 may include drawings (plots, blueprints, design documents, etc.) of facilities (e.g., central utility facilities of a building or campus, air-side building equipment systems, combinations of water-side and air-side equipment, other systems serving the building). The drawings may indicate relationships between equipment and other equipment, relationships between equipment and building space, expected operation of equipment, etc. In various embodiments, the facility drawings 1406 of system 1400 may encompass various types of drawings.

[0160] The building controller programming system 1402 is shown as including a tag extraction model 1412. The tag extraction model 1412 is configured to process operation sequence input 1404 and / or facility drawings 1406, and extract tags from such input data. Tags may be keywords, key terms, key concepts, etc., represented in the operation sequence input 1404 and / or facility drawings 1406.

[0161] In some embodiments, the label extraction model 1412 is or includes a natural language processing (NLP) model configured to identify labels present in the NLP model. The NLP model may be an artificial intelligence model (e.g., a neural network, a large language model, etc.) configured to determine a probability score for each label in a possible set of labels, the probability score indicating the probability that an associated score exists in the input data (e.g., in the operation sequence input), and labels are identified from the possible set of labels as those with probability scores exceeding a threshold. The NLP model can be trained or fine-tuned using the operation sequence data and a training dataset of manually identified labels, for example using supervised learning methods, such that the NLP model is adapted to identify labels particularly relevant to building equipment operation. The label extraction model 1412 can thus identify labels (e.g., keywords, concepts, etc.) present in the operation sequence input 1404.

[0162] In other embodiments, the label extraction model 1412 is or includes a generative artificial intelligence (AI) model configured to generate labels based on the operation sequence input 1404 and / or facility drawing 1406. The generative AI model can be prompted to output a set of labels based on the content of the operation sequence input 1404 and / or facility drawing 1406. The generative AI model can be fine-tuned based on a training dataset of operation sequence data, facility drawings, and manually identified labels, such that the generative AI model is adapted to identify labels particularly relevant to building equipment operation. In some embodiments, the label extraction model 1412 can prompt a user to confirm the identified labels, for example, for a subset of identified labels for which the label extraction model 1412 is uncertain (e.g., whose probability scores are within a lower and upper threshold range), for example, via a graphical user interface communicable with the building controller programming system 1402.

[0163] like Figure 14 As shown, the label extraction model 1412 provides the identified labels as its output to the node selector 1414 of the building controller programming system 1402. The node selector 1414 uses the labels as input and determines the nodes of the decision tree (shown as a system selection tree) based on the labels. For example, the labels may indicate general keywords (e.g., "temperature", "heating", "damper", "fan"), while the nodes may provide specific choices on the decision tree, allowing the node selector 1414 to be configured to determine which nodes should be selected in the decision tree based on the labels, for example, using node analysis methods.

[0164] In some embodiments, the node selector 1414 calculates a score for each possible node based on a combination of labels received as input from the label extraction model 1412. The scores can be calculated using objective functions associated with different nodes, which optimize the probability that a node should be selected. For example, a score can be given for each node according to a formula, such as... ,in Node_x score It is aimed at x th The node's score, and Tag i It is a binary decision variable, indicating i th Whether the label is identified by the label extraction model 1412 (e.g., 1 for yes, 0 for no) (or indicating whether the label is identified by the label extraction model 1412) i th The probability score of label determination), and C iThis is a scaling constant that can be used to train the node selector 1414 based on a dataset that associates labels with nodes. In such embodiments, a node score can be calculated for each node, and nodes can be selected based on the node scores (e.g., selected if the node score exceeds a threshold, selected if the node score is the highest among the decisions to be made at the decision tree intersection, etc.). The node selector 1414 can also implement various rules, constraints, etc., to ensure that the selection reflects physical possibilities or constraints (e.g., node selection represents a feasible path through the decision tree, represents existing physical equipment and feasible building operations, etc.). In various embodiments, various functions for identifying the identified labels of relevant nodes can be implemented by the node selector 1414.

[0165] In some embodiments, node selector 1414 uses a neural network model or other machine learning model to map labels to nodes. Node selector 1414 can be trained on training data including known nodes on the system selection tree and corresponding sensor, actuator, and module (SAM) data or other validated datasets for existing buildings, historical building plans, or other validated datasets (e.g., human-verified to correspond to the physical reality of a correctly configured building system). In some embodiments, SAM data describing sensor, actuator, and module data can be preprocessed by mapping SAM data to labels to generate a training dataset including labels paired with nodes in the system selection tree. Such associations can then be provided as training data to train node selector 1414 via machine learning to generate a set of nodes corresponding to the extracted labels received from label extraction model 1412.

[0166] like Figure 14 As shown, node selector 1414 provides selected nodes to system selection tree 1416. System selection tree 1416 is a decision tree that guides selection through numerous possible branches and nodes. The system selection indicates, in a structured format, the details of the control application to be constructed and provided by building controller programming system 1402. The nodes provided by node selector 1414 can define one or more paths through system selection tree 1416, such that reaching the endpoints of system selection tree 1416, i.e., causing system selection tree 1416 to reach a system selection. System selection tree 1416 can include numerous possible variations, combinations, versions, types, configurations, control logic, and other characteristics related to building equipment and systems that determine the appropriate control application to provide to support such characteristics. System selection tree 1416 is thus configured to output system selections based on the nodes selected by node selector 1414.

[0167] In some embodiments, the system selection tree 1416 prompts the user to confirm the system selection made therefrom and / or the selection of one or more nodes for deciding which corresponding node was omitted from the node selected by the node selector 1414, such that after the nodes from the node selector 1414 are applied to the system selection tree 1416, the user input is directed to any remaining decisions. This can provide collaborative human-computer interaction to efficiently reach a system selection via the system selection tree.

[0168] like Figure 14 As shown, the selection tree from the system is provided to the application builder 1418 of the building controller programming system 1402.

[0169] In some embodiments, the selections available in the system selection tree 1416 are associated with different controller code modules stored in the controller code module storage device 1420 (memory device, database, etc.) of the building controller programming system 1402, such that the application builder 1418 can obtain controller code modules from the controller code module storage device 1420 based on the selections received from the system selection tree 1416. The application builder 1418 can then assemble the controller code modules into a control application. The control application can thus be constructed by the application builder 1418 by combining pre-programmed control code modules stored in the controller code module storage device 1420. Advantageously, such code modules can be validated, tested, licensed, or otherwise approved for use in building equipment (e.g., compliant with industry standards, building specifications, etc.), enabling the reliable execution of control algorithms assembled from such controller code.

[0170] In some embodiments, the application builder 1418 may be provided with indications that certain functionalities indicated in the operation sequence input 1404 and / or facility diagram 1406 cannot be implemented using controller code already stored in the controller code module storage device 1420. Such indications may be decisions made via the system selection tree 1416 (e.g., selection of one or more nodes leading to a decision requiring new controller code), and / or otherwise extracted from the label of model 1412 or node selector 1414. In such embodiments, the application builder 1418 may include at least one generative artificial intelligence algorithm configured to generate controller code executable to provide functionality indicated as unachievable using pre-stored controller code. In this respect, generative artificial intelligence can be used to fill in any gaps, omissions, etc., within the coverage of the controller code module storage device 1420 to address potentially desired control applications. In such embodiments, application builder 1418 can thus create a control application as a combination of pre-programmed controller code modules stored by building controller programming system 1402 and artificially generated controller code modules generated by application builder 1418.

[0171] The control application, conforming to the details of the functional and / or facility drawings 1406 described in the operation sequence input 1404, is thus provided by the building controller programming system 1402. In some embodiments, before the control application is output from the building controller programming system 1402, a description of the control application is presented to the user via a graphical user interface for confirmation and / or modification.

[0172] like Figure 14 As shown, the control application is provided from the building controller programming system 1402 to the controller 1408 of the system 1400. The controller 1408 includes computing hardware configured to store and execute the control application received from the building controller programming system 1402 (e.g., via a communication network, via a wired communication connection, etc.). Specifically, the building controller programming system 1402 mounts the control application on the controller 1408, such that the controller 1408 is configured to execute the control application online to generate control signals for the building equipment 1410. Therefore, Figure 14 The controller 1408 provides control signals to building equipment 1410 by executing a control application, thereby enabling the building equipment to operate according to the control application and the desired behavior described in the operation sequence input 1404 and / or facility drawing 1406.

[0173] By implementing such behavior of building equipment 1410 through the automation process described above, building equipment 1410 can be operated ideally while avoiding human error in control application selection and deployment, and simultaneously reducing the computer user interaction required for programmable controllers. The operation of the system 1400 described above can be performed for numerous operation sequences, facility drawings, controllers, and building equipment. The scalability of system 1400 demonstrates further advantages in quickly and efficiently bringing controllers and building equipment online to operate as intended, thereby providing efficient heating, cooling, ventilation, and / or other tangible effects on the building in an effective and efficient manner.

[0174] Now for reference Figure 15 A block diagram of method 1500 is shown according to some embodiments. Method 1500 may be performed by system 1400, system 100, system 200, or via any other system or method disclosed herein. For example, method 1500 may be provided as instructions and data stored on one or more non-transitory computer-readable media, such that when the instructions are executed by one or more processors, one or more processors perform method 1500.

[0175] like Figure 15 As shown, method 1500 includes control specifications 1502 provided as input to generative artificial intelligence tool 1504. For example... Figure 15 As shown, in some embodiments, equipment specifications and facility drawings 1503 can also be provided as input to the generative artificial intelligence tool 1504. The generative artificial intelligence (AI) tool 1504 can be implemented using the model 116 described above and / or provided via the various AI modeling, training, and execution features described above. Figure 15 As shown, method 1500 includes performing keyword extraction 1506 by a generative AI tool 1504 based on control specifications 1502 and / or equipment specifications and facility drawings 1503. This can be achieved by, for example... Figure 14 The tag extraction model 1412 implements keyword extraction 1506 as described for tag extraction. Then, method 1500 includes performing code generation 1508 by a generative AI tool based on the keywords extracted from keyword extraction 1506. Code generation 1508 includes generating computer code based on keyword extraction 1506, which can be executed by a building controller and provides functionality according to control specifications 1502. As such... Figure 15 As part of the demonstrated method 1500, computer code generated by a generative AI tool via code generation 1508 can then be assembled and output as a control application module 1510. The control application module 1510 is then installed on a building controller and executed to control the operation of building equipment.

[0176] In some embodiments, the generative AI tool 1504 includes at least one generative AI model based on the above teachings, which is trained and / or fine-tuned on controller applications and other relevant code used by various controllers. For example, a control application library and specification information describing the functionality of such applications and / or keywords associated with such applications may be provided as training data for training and / or fine-tuning the at least one generative AI model.

[0177] In some embodiments, generative artificial intelligence tool 1504 is configured to provide one or more constraints, verification conditions, automated testing environments, simulations, etc., to verify, test, or otherwise confirm the functionality of code generated from code generation 1508 prior to deployment of control application module 1510.

[0178] Now for reference Figure 16 A flowchart of method 1600 is shown according to some embodiments. In some embodiments, method 1600 may be executed by system 1400. Method 1600 may be executed by one or more processors, which, for example, execute instructions stored on one or more non-transitory computer-readable storage devices via cloud computing resources or other computing systems.

[0179] At step 1602, at least one AI model is used to extract tags based on free-text operation sequence information for the building controller (e.g., as described with reference to tag extraction model 1412 above). At step 1604, nodes of the selection tree are identified based on the extracted tags (e.g., as described with reference to node selector 1414 and system selection tree 1416 above). At step 1606, using the selection tree, control code modules are selected based on the identified nodes (e.g., as described with reference to node selector 1414, system selection tree 1416, application builder 1418, and controller code module storage device 1420 above). At step 1608, at least one generative AI model is used to generate at least one additional controller code module in response to the determination of tags, nodes, and / or the selection tree. Step 1608 can use... Figure 15 To implement this, for example, based on the determination that the selected controller code module is insufficient to provide the functionality described in the operation sequence information, the teachings are based on the indications of labels, nodes, and / or selection trees.

[0180] In some embodiments, method 1600 proceeds directly from step 1602 to step 1609, wherein the controller code module is generated using at least one generative AI model in response to the determination of labels (e.g., based on process variables and control sequences indicated by the labels). For example, at least one generative AI model may be trained to use labels as input to find (select) and generate (e.g., write, develop) the code module. In some embodiments, additional equipment specifications and / or facility drawing information (beyond the operational sequence information from step 1602) are used as input to at least one generative AI model used in step 1609 and / or as input to other steps of method 1600.

[0181] Method 1600 proceeds from any one (or a combination thereof) of steps 1606, 1608, or 1609 to steps 1610, 1618, and / or 1622. At step 1610, the control module (from steps 1606 and 1608) is compiled into a control application. At step 1612, the control application is installed on the building controller. At step 1614, the building controller controls the building equipment, for example, causing the building equipment to operate according to the expected operation described in the operation sequence information used as input to step 1602.

[0182] At step 1618, in addition to or as an alternative to compiling the controller code in step 1610, graphs, trends, point maps, alarms, schedules, and / or other relational, logical, or data structures for the building management system are generated. Step 1618 can be performed using a controller code module from at least one of steps 1606, 1608, and / or 1610 and / or using tags extracted from step 1602. Step 1618 can be performed using one or more libraries (e.g., a stored library of device graphs), generative AI models (e.g., AI models trained for automatic point labeling), or other rules or stored associations (e.g., rules indicating relevant alarms for certain device types, schedules for control routines indicated in the controller code module, etc.). At step 1620, such information may be compiled into device profiles and / or device model files, and used together in steps 1612 and 1614 for use in controlling building devices by a building controller, for example, based on supervisory control decisions from a building management system that operates using the various information generated in steps 1618 and 1620.

[0183] At step 1622, a project estimate is generated, in addition to compiling the controller code in step 1610 and / or generating graphs, trends, point maps, etc., in step 1618, or as alternatives thereof. Step 1622 may include, for example, automatically generating the project estimate by at least one generative AI model trained to provide the project estimate based on a template project estimate document, which is based on controller code modules generated as in other steps of method 1600 and / or extracted labels. In other embodiments, a rule-based algorithm may be provided as a program adapted to output a project estimate for acquiring and installing building equipment to implement the operations described in the operation sequence information processed in step 1602.

[0184] Advantageously, by automatically generating controller code modules and associated tags as in method 1600 and using such data as input to the project estimate generation in step 1622, various implementation details for building equipment and associated sensors and devices (e.g., specific sensors, equipment characteristics, controller devices, etc.) required to implement the sequence of operations can be automatically taken into account and incorporated into the project estimate. This process can thus produce a more accurate and precise project estimate compared to other project scope definition methods. For example, in some embodiments, method 1600 may proceed from step 1622 to steps 1612 and 1614, whereby the project is completed as expected via equipment installed at the building based on the generated project estimate, so that the building equipment can ultimately be controlled by the building controller using a control application generated according to method 1600.

[0185] VI. Automated Operation Sequence Optimization Based on Free-Form Input Now for reference Figures 17 to 19 According to various embodiments, systems and methods are illustrated related to: generating enhanced operation sequences, installing modified control applications on building controllers based on the enhanced operation sequences, and controlling devices by executing the modified control applications. In various embodiments, Figures 17 to 19 The systems and methods may be implemented using various combinations of the teachings described above, such as those in U.S. Patent Application No. 18 / 807,479, filed August 16, 2024, and U.S. Patent Application No. 18 / 663,780, filed May 14, 2024, the disclosure of which is incorporated herein by reference in its entirety.

[0186] Figures 17 to 19The features relate to the operational sequence of a building controller installed with building equipment, which operates to serve the building, such as providing heating, ventilation, and / or cooling. In various embodiments, the building equipment may include heating, ventilation, and / or cooling (HVAC) equipment such as air handling units, variable air volume boxes, coolers, boilers, heaters, room air conditioners, roof units, variable refrigerant flow systems, heat pumps, cooling towers, energy storage systems (e.g., batteries, thermal storage tanks, etc.), energy generation systems (e.g., natural gas generators, gasoline generators, photovoltaic systems, geothermal systems, etc.), etc.

[0187] Figure 17 A block diagram of system 1700 is shown, which is used to generate and install enhancements to operational sequences and to control building operations by executing a control application based on the enhancement modifications. System 1700 can be implemented using the various features described above, for example, by integrating with or otherwise adapting system 100 and / or system 200 as described above. System 1700 is shown as including a building controller programming system 1402 and a building operations optimization system 1710, which can be implemented as one or more non-transitory computer-readable media and one or more processors, wherein the one or more non-transitory computer-readable media stores programming instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations described below attributable to building controller programming system 1402 and building operations optimization system 1710. The one or more non-transitory computer-readable media may also store other data, controller code modules, models, etc., used by building controller programming system 1402 or building operations optimization system 1710 as described herein. In some embodiments, building controller programming system 1402 performs method 1600. In some embodiments, the building operations optimization system 1710 executes process 900 or Figures 9 to 12 Examples are shown in the text.

[0188] System 1700 is shown receiving operation sequence input 1404, facility drawing 1406, and geographic location input 1702. In some embodiments, the information contained in operation sequence input 1404, facility drawing 1406, and geographic location input 1702 is included in a project document set. Building controller programming system 1402 is shown receiving operation sequence input 1404 and facility drawing 1406. Building controller programming system 1402 is further shown outputting control application modules to building operation optimization system 1710 (e.g., inputting control applications into modelers and simulators). In some embodiments, the control application modules include control applications for a set of building controllers or multiple building controllers.

[0189] Operation sequence input 1404 describes the desired operation of the device unit in free-form text (natural language, unstructured, etc.). For example, operation sequence input 1404 can describe the type of device to be provided and how the device should behave under various conditions. Operation sequence inputs can be written by system designers, project managers, clients, etc. Operation sequence inputs can describe different building conditions (e.g., temperature, pressure, humidity, airflow, air quality), operations (e.g., on, off, setpoint, schedule, target, etc.), and data inputs (e.g., sensors, external data sources, etc.) that may be suitable for describing the relevant device and the desired building system performance. Because operation sequence input 1404 is free-form text, different operation sequence inputs 1404 can describe the same or different operation sequences.

[0190] Facility drawings 1406 may include drawings (plots, blueprints, design documents, etc.) of facilities (e.g., central utility facilities for a building or campus, air-side building equipment systems, combinations of water-side and air-side equipment, other systems serving the building). The drawings may indicate relationships between equipment and other equipment, relationships between equipment and building space, expected operation of equipment, etc. In various embodiments, facility drawings 1406 of system 1700 may encompass various types of drawings. Facility drawings 1406 may include information from bills of materials, schedules, schematic diagrams, operation sequences, or blueprints.

[0191] In some embodiments, the building controller programming system 1402, such as Figure 14 The system is structured as shown and configured to process operation sequence input 1404 and / or facility drawing 1406, and extract tags from such input data. Tags may be keywords, key terms, key concepts, etc., represented in the operation sequence input 1404 and / or facility drawing 1406. In some embodiments, the building controller programming system 1402 includes a natural language processing model configured to identify tags present in the natural language processing model. In other embodiments, the building controller programming system 1402 includes a generative artificial intelligence model configured to generate tags based on the operation sequence input 1404 and / or facility drawing 1406. In other embodiments, the building controller programming system 1402 uses tags as input and determines the nodes of a decision tree based on the tags. In some embodiments, the building controller programming system 1402 uses a neural network model or other machine learning model to map tags to nodes. The building controller programming system 1402 creates control application modules, including at least one control application, based on tags or nodes by combining pre-programmed and stored controller code modules to generate controller code modules with generative artificial intelligence, or a combination thereof.

[0192] like Figure 17As shown, the building operations optimization system 1710 receives a control application module from the building controller programming system 1402. The building operations optimization system 1710 includes a building modeler 1712, a building simulator 1714, and a building optimizer 1716. The building operations optimization system 1710 includes computing hardware configured to generate models and run simulations based on the control application module and facility drawings 1406.

[0193] Specifically, the building modeler 1712 of the building operations optimization system 1710 uses at least one generative AI model to generate a building equipment model that meets the characteristics and includes the identified building equipment objects described in the control application and facility drawing 1406. The building modeler 1712 can provide the building equipment model according to a template for the building equipment model, such that the building equipment model is in a suitable format, data structure, etc., for use in further processing steps involving the building model. The AI ​​model can generate data conforming to the template, consistent with teachings elsewhere herein. The building modeler 1712 can identify connections between the identified building equipment objects, for example, such that the building equipment model indicates resources flowing between some equipment objects and / or other interrelationships between equipment in the building model. The generated building equipment model can be consistent with the facility models described and / or used in U.S. Patent Application No. 18 / 663,780, U.S. Patent Application No. 17 / 826,635, U.S. Patent No. 10,706,375 and / or U.S. Patent No. 11,238,547 and / or U.S. Application No. 17 / 733,786.

[0194] Building Simulator 1714 uses at least one generative AI model to run simulations or sets of simulations based on building equipment models and control application modules. Building Simulator 1714 runs simulations based on query configuration and using at least one AI model. Queries can be user input or input determined by at least one AI model. The simulation is configured to provide simulation results that can provide a response to the user query. For example, certain changes in building operations, certain external conditions (e.g., weather conditions), certain changes in facility equipment included in the central facility, etc., can be determined by at least one AI model to explore the scenario envisioned in the user query. The configuration may include limiting the duration of the simulation, start conditions for the simulation, weather or other conditions occurring during the simulation, changes in equipment settings or equipment availability in different simulations, and various other simulation parameters.

[0195] Building optimizer 1716 is configured to select enhancements to operational sequence input 1404 based on simulation results or comparisons of simulation results. In some embodiments, building optimizer 1716 compares simulation results in accordance with the teachings of U.S. Patent Application No. 17 / 826,635 and U.S. Patent Application No. 18 / 663,780. Some embodiments may include providing analytical comparisons of different simulations, such as comparing costs, resource usage, equipment degradation, etc., generated by different simulations. Enhancements include changes to the operation of building systems, buildings, building equipment, or other equipment described in the operational sequence (e.g., reducing water heat, cooling air at specific times of day, etc.). In some embodiments, enhancements include multiple changes to multiple pieces of equipment. Determining enhancements includes: indicating desired outcomes for building operations (e.g., reduction in specific resource usage, cost reduction, net energy targets, meeting resource consumption budget targets, etc.), and determining enhancements that contribute to the desired outcomes, and / or determining indicators of poor performance of the simulated facilities (e.g., compared to a baseline) as results of the simulation, and determining enhancements associated with improvements in that indicator or related categories. In some embodiments, the building optimizer 1716 determines enhancements by selecting from a plurality of available enhancement modules stored in an enhancement module storage device 1718 (memory device, database, etc.). In some embodiments, each of the plurality of available enhancement modules is associated with a desired outcome or improvement category. In some embodiments, the building optimizer 1716 is or includes a generative artificial intelligence model configured to generate enhancement modules based on the operation sequence input 1404 and the desired outcome. The generative artificial intelligence model may be prompted to output a set of labels based on the content of the operation sequence input 1404 and / or the facility drawing 1406. The generative artificial intelligence model may be fine-tuned based on a training dataset of operation sequence data, facility drawings, and manually identified enhancements, such that the generative artificial intelligence model is adapted to identify enhancements particularly relevant to building operations. In some embodiments, the building optimizer 1716 provides enhancement modules to the building controller programming system 1402 to modify control application modules.

[0196] In some embodiments, after an initial simulation of the building model, the building operations optimization system 1710 is configured to provide enhancement modules to the building controller programming system 1402. The building controller programming system 1402 is configured to modify control application modules based on the enhancement modules and provide the modified control application modules to the building operations optimization system 1710 for additional modeling and simulation. The building controller programming system 1402 and the building operations optimization system 1710 are configured to perform an iterative process of creating control application modules, modeling the building model, simulating operational sequences, and determining enhancement modules to achieve the desired results of the operational sequences. Simulation results across iterations can be compared to determine enhancements that achieve the following results: most efficient (e.g., minimum energy use, minimum resource use, etc.), lowest emissions, most comfortable (e.g., minimum deviation from the building setpoint), or a combination of the above (e.g., any objective function based on one or more such factors) simulated building configurations and operational sequences.

[0197] The improved building design output by the building optimizer 1716 is further described. The improved building design includes information related to the building equipment model and simulation. This information may include operation sequence input 1404, facility drawings 1406, a list of building equipment, infrastructure diagrams, simulation results (e.g., projected utility or resource usage, equipment turnaround time, etc.) or projected costs. In some embodiments, the building optimizer 1716 calculates the projected costs of managing and operating the building model. In such embodiments, the building optimizer 1716 performs an arithmetic process using simulation results and cost metrics (e.g., equipment uptime, building cooling system rate, equipment replacement costs, etc.) to calculate the projected costs. A cost metric calculator 1720 is configured to receive a geographic location input and calculate cost metrics based on costs localized to that geographic location (e.g., electricity costs, labor costs, replacement parts costs, etc.). In some embodiments, the cost metric calculator 1720 receives localized costs from a localized cost storage device 1722, which includes a cost database associated with multiple geographic locations. In some embodiments, the cost indicator calculator 1720 receives localized costs from a source outside system 1700 (e.g., the Internet). In some embodiments, the cost indicator calculator 1720 receives a control application module and a building equipment model to further adjust cost indicators based on the specifications and operation of specific building equipment (e.g., equipment type, equipment brand, equipment mode, etc.). In some embodiments, the cost indicator calculator 1720 receives a control application module and a building equipment model from a building operations optimization system 1710.

[0198] Now for reference Figure 18According to some embodiments, a flowchart of an enhanced method 1800 for generating, installing, and using operation sequences is shown. Method 1800 may be performed by system 1700, system 100, system 200, or via any other system or method disclosed herein. For example, method 1800 may be provided as instructions and data stored on one or more non-transitory computer-readable media, such that when the instructions are executed by one or more processors, one or more processors perform method 1800.

[0199] At step 1810, a control application is generated based on an operation sequence using at least one AI model. In some embodiments, the control application is also generated based on facility drawing 1406. In some embodiments, the generation of the control application is performed by building controller programming system 1402. In some embodiments, the generation of the control application includes extracting tags from operation sequence input 1404 and generating the control application based on associating the tags with nodes of a selection tree associated with selectable control logic. In some embodiments, the control application is included in a control application module. In some embodiments, building controller programming system 1402 creates a control application based on tags or nodes by combining pre-programmed and stored controller code, generating controller code using generative artificial intelligence, or a combination thereof.

[0200] At step 1820, at least one AI model is used to run a simulation based on a control application. In some embodiments, the simulation is run by a building operations optimization system 1710. In some embodiments, running the simulation includes generating a model (such as a building equipment model) based on facility drawings 1406 and a controller application, such that the building equipment model meets the characteristics and includes identified building equipment objects. In some embodiments, the simulation is further run based on a building model.

[0201] At step 1830, enhancements to the operating sequence are determined based on simulation results, for example. Enhancements include changes to the operation of the building system, building, building equipment, or other devices described in the operating sequence. In some embodiments, determining enhancements includes indicating a desired outcome for building operations and selecting enhancements that contribute to that desired outcome. In some embodiments, this determination is performed by a building operations optimization system 1710. In some embodiments, the building operations optimization system 1710 selects from a plurality of available enhancement modules stored in an enhancement module storage device 1718. In some embodiments, a building optimizer 1716 generates enhancements based on the operating sequence input 1404 and the desired outcome. In some embodiments, enhancements are selected from a plurality of available enhancements stored in the enhancement module storage device 1718. In some embodiments, enhancements are included in enhancement modules. In some embodiments, a building controller programming system 1402 receives enhancements and modifies the control application based on the enhancements (e.g., adding, deleting, or otherwise editing code) by combining pre-programmed and stored controller code, generating controller code using generative artificial intelligence, or a combination thereof.

[0202] For example, simulations can demonstrate inefficiencies in building cooling, and the building controller programming system 1402 can determine that enhancements to “operate rooms at lower temperatures” will increase cooling efficiency in the building. The building controller programming system 1402 edits computer code in the control application to instruct the building controller to lower the temperature setpoint in the AC cooler. Additionally, the building controller programming system 1402 can edit the control application to modify the operation of auxiliary equipment, rooms, or other building equipment to perform enhancements. For example, to perform “operate rooms at lower temperatures,” the building controller programming system 1402 can edit the control application to modify the operation of dampers, variable air volumes, or other HVAC components to redirect air into the room or provide additional air conditioning in the room. In some embodiments, adapting the teachings of U.S. Patent No. 11,238,547, the building controller programming system 1402 can determine enhancements that require changes to building equipment. The determined enhancements may include changes to building equipment, control logic, building operating systems, or other features of the building system.

[0203] In another example, the building operations optimization system 1710 can calculate baseline operating costs and air handling unit usage by simulating the control application based on initial operating sequence input 1404 and facility drawings 1406. The building operations optimization system 1710 generates a list of enhancement combinations. Each combination may include one or more enhancements (e.g., energy-saving switchover, minimizing outdoor airflow, supply air setpoint, return air control, supply air control, heating coil addition, outdoor air damper addition, energy recovery system addition, etc.), which have been selected from the enhancement module storage device 1718 or generated using AI. In some embodiments, enhancements may include equipment changes, such as adding a heating coil, minimizing outdoor air dampers, and / or energy recovery equipment. In an exemplary embodiment, the list includes all possible combinations of all available or generated enhancements. For each combination, the building controller programming system 1402 edits the control application based on the enhancement combination. For each combination, the building operations optimization system 1710 calculates operating costs and usage sets by simulating the enhanced or edited control application. The building operations optimization system 1710 compares the results from all combinations with baseline operating costs and usage. The building operations optimization system 1710 selects a combination of enhancements to achieve the desired results, such as cost reductions or environmental improvements (e.g., minimal pollution, less energy consumption, etc.). Enhancements may include adding or changing building fixtures or equipment (e.g., adding equipment units, changing an equipment unit to a different model or type of equipment, adding sensors, adding controller devices, etc.).

[0204] At step 1840, building operations are controlled according to the determined enhancements to the operation sequence. In some embodiments, building operations are controlled by a modified control application executed by the building controller (e.g., and automatically generated based on the updated operation sequence in accordance with the teachings herein), causing building equipment to operate according to the enhancements to the operation sequence. In some embodiments, step 1840 additionally or alternatively includes adding or changing building fixtures or equipment units according to the determined enhancements, such as physically installing new components, sensors, devices, equipment units (and / or replacing existing equipment units) at the building. In some embodiments, such new fixtures or units can then be controlled according to a control application automatically generated using the teachings herein.

[0205] In some embodiments, instead of performing step 1840 after step 1830, step 1820 is reselected, and a second simulation is run based on a modified control application. In such embodiments, the control application generated at step 1810 is the first control application, and the simulation run during the first execution of step 1820; and the modified control application generated at step 1830 is the second control application, and the simulation run during the second execution or execution of step 1820 is the second simulation. In some embodiments, step 1820 is performed multiple times to run multiple simulations. In some embodiments, step 1830 is performed multiple times to determine multiple enhancements and multiple control applications. In some embodiments, step 1840 controls building operations based on multiple determined enhancements.

[0206] Now for reference Figure 19 According to some embodiments, a flowchart of an enhanced method 1900 for automatically generating, installing, and using operation sequences is shown. In some embodiments, method 1900 may be executed by system 1700. Method 1900 may be executed by one or more processors, which, for example, execute instructions stored on one or more non-transitory computer-readable storage devices via cloud computing resources or other computing systems.

[0207] At step 1910, at least one AI model is used to extract tags based on free text operation sequence information for the building controller (e.g., as described with reference to tag extraction model 1412 above). In some embodiments, nodes of the selection tree are identified based on the extracted tags (e.g., as described with reference to node selector 1414 and system selection tree 1416 above).

[0208] At step 1920, a control application module is generated using at least one AI model in response to the determination of a label. In some embodiments, the control application module is generated in response to the determination of a node. In some embodiments, the control application module includes one or more control code modules. In some embodiments, a selection tree is used to select control code modules based on identified nodes (e.g., as described above with reference to node selector 1414, system selection tree 1416, application builder 1418, and controller code module storage device 1420). In some embodiments, at least one generative AI model is used to generate at least one controller code module in response to the determination of a label, node, and / or selection tree. In some embodiments, at least one generative AI model is used to generate controller code modules in response to the determination of a label (e.g., based on process variables and control sequences indicated by the label). For example, at least one generative AI model may be trained to use labels as input to find (select) and generate (e.g., write, develop) code modules. In some embodiments, additional equipment specifications and / or facility drawing information (beyond the operation sequence information from step 1910) are used as input to at least one generative AI model used in step 1910 and / or as input to other steps of method 1900.

[0209] At step 1930, at least one AI model is used to generate a building equipment model based on facility drawings and control application modules, such that the building equipment model meets the required characteristics and includes the identified building equipment objects (e.g., as referenced). Figures 8 to 12 (As described in Building Modeler 1712).

[0210] At step 1940, at least one AI model is used to run the simulation based on the building equipment model and the control application module equipment (e.g., refer to...). Figures 8 to 12 (As described in Building Simulator 1714).

[0211] At step 1950, enhancements to the operation sequence are determined based on simulation (e.g., as referenced). Figures 8 to 12(As described in Building Optimizer 1716). Determining enhancements includes: indicating the desired outcome for building operations, and determining enhancements that contribute to the desired outcome. In some embodiments, Building Optimizer 1716 determines enhancements by selecting from a plurality of available enhancement modules stored in Enhancement Module Storage 1718. In some embodiments, each of the plurality of available enhancement modules is associated with the desired outcome. In some embodiments, Building Optimizer 1716 is or includes a generative artificial intelligence model configured to generate enhancement modules based on the operation sequence input 1404 and the desired outcome. In some embodiments, Building Optimizer 1716 provides enhancement modules to Building Controller Programming System 1402 to modify control application modules. Enhancement modules are provided in free text, tag-based, node-based, or other formats compatible with Building Controller Programming System 1402.

[0212] At step 1960, at least one AI model is used to modify the control application module (e.g., as described with reference to building controller programming system 1402) based on the determined enhanced operation sequence. In some embodiments, tags are extracted from the free text enhancement module. In some embodiments, nodes of the selection tree are identified based on the extracted tags. In some embodiments, the control application module is modified in response to the determination of the nodes. In some embodiments, the control application module is modified to include one or more control code modules. In some embodiments, the selection tree is used to select control code modules based on the identified nodes (e.g., as described with reference to node selector 1414, system selection tree 1416, application builder 1418, and controller code module storage device 1420 above). In some embodiments, at least one generative AI model is used to modify the control application in response to the determination of tags, nodes, and / or the selection tree. In some embodiments, at step 1964, at least one AI model is used to modify the building equipment model based on the determined enhanced operation sequence.

[0213] At step 1968, an improved building design is generated. The improved building design includes information related to the building equipment model (or other equipment models and designs) and simulations. This information may include operation sequence input 1404, facility drawings 1406, a list of building equipment, infrastructure diagrams, simulation results (e.g., projected utility or resource usage, equipment turnaround time, etc.) or projected costs. In some embodiments, the building optimizer 1716 calculates projected costs for managing and operating the building model. In such embodiments, the building optimizer 1716 performs an arithmetic process using simulation results and cost metrics (e.g., equipment uptime, building cooling system rate, equipment replacement costs, etc.) to calculate projected costs. A cost metric calculator 1720 is configured to receive geographic location input and calculate cost metrics based on costs localized to that geographic location (e.g., electricity costs, labor costs, replacement parts costs, etc.). In some embodiments, the cost metric calculator 1720 receives localized costs from a localized cost storage device 1722, which includes a cost database associated with multiple geographic locations. In some embodiments, the cost indicator calculator receives localized costs from a source outside system 1700 (e.g., the Internet). In some embodiments, the improved building design includes a modified building equipment model from step 1964.

[0214] In some embodiments, the project estimate is generated automatically, for example, by at least one generative AI model trained to provide a project estimate based on a template project estimate document, which is based on controller code modules and / or extracted tags generated in other steps of method 1900. In other embodiments, a rule-based algorithm may be provided as a program adapted to output a project estimate for acquiring and installing building equipment to implement the operations described in the operation sequence information processed in step 1910. Advantageously, by automatically generating controller code modules and associated tags as in method 1900 and using such data as input to the project estimate generation in step 1968, various implementation details for the building equipment and associated sensors and devices (e.g., specific sensors, equipment features, controller devices, etc.) required to implement the operation sequence can be automatically taken into account and incorporated into the project estimate. Such a process can thus produce a more accurate and precise project estimate compared to other project scope definition methods.

[0215] At step 1970, a control application module is installed on the building controller or set of building controllers. At step 1980, building operations are controlled based on an enhanced sequence of operations using the building controller or set of building controllers. In some embodiments, building operations are controlled by a modified control application executed by the building controller, causing building equipment to operate according to the enhanced sequence of operations.

[0216] In some embodiments, after step 1960, step 1940 is re-executed, and a second simulation is run based on the modified control application module. In some embodiments, a second enhancement is determined based on the second simulation. In some embodiments, a modified building equipment model is included in running the second simulation. In some embodiments, steps 1940 to 1960 are repeated before performing step 1970. In such embodiments, multiple control application modules are modified or generated, multiple simulations are run, and multiple enhancements are determined. In some embodiments, the simulations in the multiple simulations are included in an improved building design. In some embodiments, multiple building models are modified or generated. In some embodiments, step 1950 includes determining enhancements based on the simulations in the multiple simulations. In some embodiments, step 1970 includes installing a control application module from the multiple control application modules. In some embodiments, the unmodified control application module from step 1930 is installed on the building controller.

[0217] In some embodiments, method 1900 skips step 1940. In such embodiments, no simulation is run, and step 1950 is performed once the building equipment model is generated. At step 1950, enhancements to the operating sequence are determined. In some embodiments, enhancements are user-determined free-text inputs that represent changes, additions, or modifications to the operating sequence. At step 1960, a control application module is modified based on the determined enhancements using at least one AI model. Modifying the control application module based on enhancements includes a natural language processing model or a machine learning model (e.g., as described with reference to building controller programming system 1402) to determine which control application module was modified, what controller code was used, and which building equipment or building system has the modified control application module installed. In some embodiments, step 1960 further includes outputting the above determinations to the user. For example, in operation, a field technician or engineer may input enhancements such as “reduce the overall heat load of building area A”. The natural language processing model can interpret the free-text enhancement input, and the AI ​​model can determine the identity and location of the building controller that needs to be reprogrammed, the control application module that needs to be reprogrammed, and how the controller code needs to be modified.

[0218] The equipment can be electronically controlled by a controller, such as computing hardware including memory, one or more processors, input ports, output ports, etc., which can be installed alongside the equipment to communicate with the equipment and one or more sensors in the building. The controller can execute a control application that provides the building equipment with its desired operational behavior, such as determining when a building equipment unit should operate (e.g., on / off decisions), operating parameters for the building equipment (e.g., fan speed, damper position, valve position, compressor frequency, setpoint, etc.), and other control decisions for the building equipment. However, the specific control application suitable for any given controller is specific to the model of the equipment to be controlled, the characteristics of the building space served by the equipment, the availability of sensors and / or other data sources, occupant preferences, or other objectives for the space (e.g., target building conditions, compliance standards requiring specific indoor air conditions, etc.). Building a control application may include translating operational sequences, free-form text descriptions, into a programming language that can be executed by the building controller. Furthermore, optimizing the operational sequences involves determining desired building operations or enhancements, and modifying the control application based on these enhancements.

[0219] In some embodiments, multi-platform code is generated. In such embodiments, the standard description is derived from source inputs (such as free text input (e.g., operation sequence input 1404)), control logic standards (e.g., ASHRAE 231P), pre-programmed selections (e.g., nodes or tags), computer code (e.g., control application, controller code, etc.), or a combination thereof. In some embodiments, a natural language processing model, machine learning model, or AI model transforms, edits, or further processes the standard description. In some embodiments, multiple source inputs are transformed and compiled into the standard description. In some embodiments, one or more steps of method 1900 are performed using the standard description. For example, after step 1920, a control application module may be transformed into the standard description. In such embodiments, the source inputs are transformed when source inputs are included, such as in generating or modifying a control application module. The standard description is transformed into computer code compatible with the building controller before the control application module, formatted as a standard description, is installed into the building controller. In some embodiments, when the control application module is installed into multiple building controllers, the control application module is transformed from the standard description into multiple computer codes compatible with each of the multiple building controllers.

[0220] The construction and arrangement of the systems and methods illustrated in the various exemplary embodiments are merely illustrative. Although only a few embodiments are described in detail in this disclosure, many modifications are possible (e.g., variations in the size, scale, structure, shape and proportion of various elements, parameter values, installation arrangements, use of materials, color, orientation, etc.). For example, the positions of elements may be reversed or otherwise varied, and the nature or number or position of discrete elements may be altered or changed. Therefore, all such modifications are intended to be included within the scope of this disclosure. The order or sequence of any process or method steps may be changed or reordered according to alternative embodiments. Other substitutions, modifications, alterations, and omissions may be made to the design, operating conditions, and arrangement of the exemplary embodiments without departing from the scope of this disclosure.

[0221] This disclosure contemplates methods, systems, and program products on any machine-readable medium for performing various operations. Embodiments of this disclosure can be implemented using existing computer processors, or by special-purpose computer processors for suitable systems, combined for this or another purpose, or by hardwired systems. Embodiments within the scope of this disclosure include program products comprising machine-readable media for carrying or storing machine-executable instructions or data structures. Such machine-readable media can be any available medium accessible by a general-purpose or special-purpose computer or other machine having a processor. For example, such machine-readable media may include RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of machine-executable instructions or data structures and is accessible by a general-purpose or special-purpose computer or other machine having a processor. When information is transmitted or provided to a machine via a network or another communication connection (hardwired, wireless, or a combination of hardwired and wireless), the machine appropriately treats the connection as a machine-readable medium. Therefore, any such connection is appropriately referred to as a machine-readable medium. The above combinations are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data that cause a general-purpose computer, a special-purpose computer, or a special-purpose processing machine to perform a function or group of functions.

[0222] Although the accompanying drawings show a specific order of method steps, the order of steps may differ from that depicted. Furthermore, two or more steps may be performed simultaneously or partially simultaneously. Such variations will depend on the chosen software and hardware system and the designer's choices. All such variations are within the scope of this disclosure. Similarly, software implementations can be implemented using standard programming techniques with rule-based logic and other logic for implementing various connection steps, processing steps, comparison steps, and decision steps.

[0223] In various embodiments, the steps and operations described herein may be performed on a single processor or in a combination of two or more processors. For example, in some embodiments, various operations may be performed in a central server or set of central servers configured to receive data from one or more devices (e.g., edge computing devices / controllers) and perform operations. In some embodiments, the operation may be performed by a local controller or computing device (e.g., an edge device), such as a controller dedicated to and / or located within a particular building or part of a building. In some embodiments, the operation may be performed by a combination of one or more central or off-site computing devices / servers and one or more local controllers / computing devices. All such embodiments are contemplated within the scope of this disclosure. Furthermore, unless otherwise specified, when this disclosure relates to one or more computer-readable storage media and / or one or more controllers, such computer-readable storage media and / or one or more controllers may be implemented as one or more central servers, one or more local controllers or computing devices (e.g., edge devices), any combination thereof, or any other combination of storage media and / or controllers, regardless of the location of such devices.

Claims

1. A method comprising: Control applications are generated by one or more processors based on a sequence of operations for building equipment; The simulation is run by one or more processors based on the control application; One or more processors determine enhancements to the operation sequence based on the simulation; as well as At least one of the following: The building equipment is controlled via the building controller based on the enhancements to the operational sequence; or The building system is added with building devices or building equipment units according to the enhancements to the operation sequence.

2. The method of claim 1, wherein generating the control application based on the operation sequence for the building equipment comprises: Automatically extract tags from the free-form text of the operation sequence, and The control application is generated using the aforementioned tags.

3. The method according to claim 1, wherein: The method further includes generating a model based on facility drawings and the control application, such that the model meets the characteristics of the building equipment; and The simulation is run based on the control application and further based on the model.

4. The method of claim 1, wherein generating the control application further comprises generating the control application based on the operation sequence for a building system, wherein the building system includes information about the relationships between the building equipment, building spaces, building operations, and equipment operations.

5. The method of claim 1, wherein determining the enhancement to the operation sequence based on the simulation includes indicating an energy consumption target for the building equipment and selecting an enhancement module corresponding to the energy consumption target.

6. The method of claim 1, further comprising modifying the control application based on the enhancement to the operation sequence.

7. The method according to claim 6, wherein: The method further includes installing a modified control application on the building controller; and Controlling the building equipment according to the enhancements to the operation sequence includes executing the modified control application on the building controller in a manner that causes the building equipment to operate according to the enhancements.

8. The method of claim 6, further comprising running the modified simulation based on the modified control application.

9. A system comprising: Computer system, the computer system being programmed to: Generate control applications based on the operation sequences for building equipment; The simulation is run based on the control application described above; The enhancements to the operation sequence are determined based on the simulation; as well as A building controller configured to control the building equipment based on the enhancements to the operating sequence.

10. The system of claim 9, wherein the computer system is further programmed to: Extract tags from the free-form text of the operation sequence, and The control application is generated using the aforementioned tags.

11. The system of claim 9, wherein the computer system is further programmed to: A model is generated based on the facility drawings and the control application, such that the model meets the characteristics of the building equipment. The simulation is then run based on the model.

12. The system of claim 9, wherein the computer system is further programmed to generate the control application according to the operation sequence for the building system, wherein the building system includes information about the relationships between the building equipment, building space, building operations and equipment operations.

13. The system of claim 9, wherein the computer system is further programmed to: Indicates the energy consumption target of the building equipment, and Select the enhancement module that corresponds to the energy consumption target.

14. The system of claim 9, wherein the computer system is further programmed to modify the control application based on the enhancements to the operation sequence.

15. The system according to claim 14, wherein: The computer system is further programmed to generate executable control code for the building controller by: translating the modified control application into a standardized control format, and converting the modified control application from the standardized control format into the executable control code according to the controller format associated with the building controller; and The building controller is further configured to execute the modified control application on the building controller in a manner that allows the building equipment to operate in accordance with the enhancement.

16. The system of claim 14, wherein the computer system is further programmed to run the modified simulation based on the modified control application.

17. A system comprising: Computer system, the computer system being programmed to: The first control application is generated based on the operation sequence for building equipment; The first simulation is run based on the first control application; Based on the first simulation, a first enhancement to the operation sequence is determined; The first control application is modified based on the first enhancement to the operation sequence to generate the second control application; The second simulation is run based on the second control application; as well as Based on the results of the second simulation, a recommended building design is output that is associated with the operation sequence or the first enhancement to the operation sequence.

18. The system of claim 17, wherein the computer system is further programmed to: A second enhancement to the operation sequence is determined based on the first simulation and the second simulation; The first control application or the second control application is modified based on the first enhancement to the operation sequence or the second enhancement to the operation sequence to generate a third control application; as well as The third simulation is run based on the aforementioned third control application. The recommended building design is further based on a comparison of the results of the second simulation with the results of the third simulation.

19. The system of claim 17, wherein the first enhancement is associated with emission reduction, and the result of the second simulation indicates the amount of emission reduction.

20. The system of claim 17, wherein the computer system is further programmed to install a control application module into the building controller, wherein the control application module includes the first control application or the second control application.

Citation Information

Patent Citations

  • Central plant with asset allocator

    US10706375B2

  • Building controller for optimizing equipment upgrades with design of experiments

    US11042924B2

  • Building energy cost optimization system with asset sizing

    US11238547B2

  • Building data platform with digital twin based inferences and predictions for a graphical building model

    US11714930B2

  • Building data platform with a graph change feed

    US12040911B2