Visual arrangement-based AI application development method, system and device, and medium

Through visual orchestration and topological sorting algorithms, AI application development is optimized, and the problems of inefficiency and unreasonable resource scheduling of traditional development methods are solved, and an efficient and stable AI application development process is achieved.

CN120276724APending Publication Date: 2025-07-08SHANDONG INSPUR SCI RES INST CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510384361.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

Traditional AI application development methods are inefficient and prone to errors, and are difficult to meet the flexible construction needs of multi-model collaborative workflows, unreasonable resource scheduling, lack of real-time optimization mechanisms, which affect development quality and user experience.

Method used

Using a method based on visual orchestration, the task process is determined through the image interface, the topological sorting algorithm is used to determine the dependencies, the computing resources are adjusted in real time, structured description files are generated, and resource allocation is dynamically optimized.

Benefits of technology

It lowers the development threshold, ensures the correctness of task process logic and execution stability, optimizes resource utilization, and improves development efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276724A_ABST
    Figure CN120276724A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an AI application development method and system based on visual arrangement and an equipment medium, and the method comprises the steps that the development system monitors a graphical interface corresponding to a visual arrangement module to obtain a dragging component of a user, and determines a task process of a current to-be-developed AI application based on the dragging component of the user; performing format conversion on the task process to obtain a structured description file, and analyzing the structured description file to generate a corresponding cluster sub-task; determining a dependency relationship of the cluster subtasks on the basis of a topological sorting algorithm, and executing the cluster subtasks in sequence on the basis of the dependency relationship; feedback data in the execution process of the cluster subtasks are obtained in real time, the computing resources are dynamically adjusted based on the feedback data, and development of the current to-be-developed AI application is completed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of application development technology, and particularly to an AI application development method, system, device, and medium based on visual orchestration. Background Art

[0002] With the in-depth research on artificial intelligence and large models, the scale of AI applications is getting larger and larger. However, traditional development methods usually require developers to manually write code, configure the environment, and manually manage the execution of tasks and resource allocation. This method is not only inefficient but also error-prone, especially for complex AI projects that involve the collaborative work of multiple tasks and the management of a large amount of computing resources. Therefore, the intelligent development of AI applications is an important part of the AI application R & D process.

[0003] Although current low-code platforms simplify the configuration process of a single model to a certain extent and lower the entry threshold for AI application development, they lack the ability of visual design when facing complex multi-model workflows and are difficult to meet the needs of intuitively and flexibly constructing multi-model collaborative workflows in actual development. And automated deployment tools, such as Kubeflow, although achieving pipeline deployment to a certain extent, still require defining the pipeline through code, with limited flexibility and poor ability in dynamic resource scheduling. This results in difficult improvement of development efficiency during the development process, and hardware resources cannot be reasonably allocated according to actual needs, causing serious waste. In addition, these methods also lack a real-time optimization mechanism and cannot respond to problems that occur in actual use in a timely manner and make adjustments, thus affecting the development quality and user experience of AI applications. Summary of the Invention

[0004] To solve the above technical problems, one or more embodiments of this specification provide an AI application development method, system, device, and medium based on visual orchestration.

[0005] One or more embodiments of this specification adopt the following technical solutions: One or more embodiments of this specification provide an AI application development method based on visual orchestration. The method includes: The development system monitors the graphical interface corresponding to the visual orchestration module to obtain the dragged components of the user, and based on the dragged components of the user, determines the task flow of the currently to-be-developed AI application; Perform format conversion on the task flow to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks; Determine the dependency relationship of the cluster subtasks based on the topological sorting algorithm, and sequentially execute each cluster subtask based on the dependency relationship; Obtain the feedback data of the execution process of the cluster subtasks in real time, so as to dynamically adjust the computing resources based on the feedback data and complete the development of the currently to-be-developed AI application.

[0006] Optionally, in one or more embodiments of this specification, before the method obtains the graphical interface corresponding to the monitoring and visualization orchestration module to obtain the dragged components of the user, the method further includes: Initialize the orchestration environment of the development system of the user side and determine the database for storing model metadata, so as to define the table structure for storing model metadata in the database; Determine the model selection type corresponding to the user side; wherein, the model selection type includes: custom type, vendor type; If it is determined that the model selection type is the vendor type, convert the differences of different vendor models through a unified adapter interface, so that the development system can interact with each of the vendor models; If it is determined that the model selection type is the custom type, obtain the model file uploaded by the user side, generate the Docker image corresponding to the model file, and encapsulate the model file as an interface service based on the Docker image and register it in the corresponding Kubernetes cluster; Upload the preset operators and tools to the development system and configure the visualization orchestration module to achieve visualization orchestration.

[0007] Optionally, in one or more embodiments of this specification, uploading the preset operators and tools to the development system and configuring the visualization orchestration module to achieve visualization orchestration specifically includes: Build the drag-and-drop interface components of the visualization orchestration module based on the preset component library, and update the states of the components in the drag-and-drop interface based on the preset predictable state container; wherein, the preset component library is React, and the preset predictable state container is Redux; Install the preset React-Flow library to render the drag-and-drop interface components into the drag-and-drop interface based on the preset React-Flow library; wherein, each operator in the drag-and-drop interface components corresponds to a configurable template; Define the data transfer relationship between the operators based on the connection operation of the user side, obtain the connection information by connecting the operators according to the data transfer relationship, and update the drag-and-drop interface components based on the connection information to implement the configuration of the visualization orchestration module.

[0008] Optionally, in one or more embodiments of this specification, the development system monitors the graphical interface corresponding to the visual orchestration module to obtain the dragged components of the user, and based on the dragged components of the user, determines the task flow of the AI application to be developed currently, specifically including: The development system monitors the graphical interface corresponding to the visual orchestration module to listen for the drag events of the graphical interface; According to the drag events, obtain the dragged components triggered by the user to collect the operators and connection information corresponding to each of the dragged components; Based on the corresponding operators and connection information, generate the task flow of the AI application to be developed currently.

[0009] Optionally, in one or more embodiments of this specification, perform format conversion on the task flow to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks, specifically including: Perform operation serialization processing on the task flow to convert the task flow into a structured description file; wherein, the format of the structured description file is JSON format; Based on a backend preset parser, parse the structured description file to generate a standard description file; wherein, the format of the standard description file is YAML format; Generate corresponding cluster subtask configuration files for each operator according to the standard description file, and based on the cluster subtask configuration files, determine the cluster subtasks corresponding to the standard description file.

[0010] Optionally, in one or more embodiments of this specification, determine the dependency relationship of the cluster subtasks based on the topological sorting algorithm, and execute each of the cluster subtasks in sequence based on the dependency relationship, specifically including: Based on the cluster subtasks and the task dependency list corresponding to the cluster subtasks, construct a task dependency graph corresponding to each of the cluster subtasks; Obtain the in-degree corresponding to each cluster subtask in the task dependency graph, and initialize the execution queue corresponding to the cluster subtasks based on the in-degree; Add the cluster subtasks in the execution queue to the topological sorting result list, traverse the adjacent cluster subtasks of the cluster subtasks, and decrement each of the adjacent cluster subtasks; If it is determined that the in-degree corresponding to the adjacent cluster subtasks is consistent with the pre-set in-degree value, add the adjacent cluster subtasks to the topological sorting result list; Based on the topological sorting result list, determine the linear dependency order of the cluster subtasks, determine the task groups corresponding to the cluster subtasks based on the linear dependency order, and process each of the task groups in parallel based on the linear dependency order.

[0011] Optionally, in one or more embodiments of the present specification, feedback data during the execution of the cluster subtasks is obtained in real time to dynamically adjust computing resources based on the feedback data and complete the development of the currently to-be-developed AI application, which specifically includes: Obtain the feedback data during the execution of the cluster subtasks in real time to determine whether to adjust the computing resources corresponding to the cluster subtasks based on the feedback data and a preset resource metric value; If so, update the number of replicas corresponding to the core resource object of the Kubernetes cluster based on the Kubernetes cluster interface corresponding to the cluster subtasks to achieve dynamic adjustment of computing resources and complete the development of the currently to-be-developed AI application.

[0012] One or more embodiments of the present specification provide an AI application development system based on visual orchestration. The system includes: A process determination unit, configured to obtain the user's dragged components based on the graphical interface corresponding to the development system monitoring visual orchestration module, and determine the task process of the currently to-be-developed AI application based on the user's dragged components; A generation unit, configured to perform format conversion on the task process to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks; An execution unit, configured to determine the dependency relationship of the cluster subtasks based on a topological sorting algorithm, and sequentially execute each of the cluster subtasks based on the dependency relationship; An adjustment unit, configured to obtain the feedback data during the execution of the cluster subtasks in real time to dynamically adjust computing resources based on the feedback data and complete the development of the currently to-be-developed AI application.

[0013] One or more embodiments of the present specification provide an AI application development device based on visual orchestration, including: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to: execute any of the above methods.

[0014] A non-volatile computer storage medium provided by one or more embodiments of the present specification stores computer-executable instructions, and the computer-executable instructions are configured to: be able to execute any of the above methods.

[0015] One or more of the above technical solutions adopted in the embodiments of the present specification can achieve the following beneficial effects: By developing the graphical interface of the system monitoring and visualization orchestration module, users can determine the task flow of AI applications with simple drag-and-drop operations, which reduces the development threshold, promotes the participation of non-professional developers, and expands the development group. Using the topological sorting algorithm to determine the dependency relationships of cluster subtasks can ensure that each subtask is executed only after the prerequisite subtasks it depends on are completed. This avoids the chaos of task execution order, ensures the logical correctness and execution stability of AI applications, and prevents task failures or anomalies caused by dependency errors. Real-time acquisition of feedback data during the execution of cluster subtasks and dynamic adjustment of computing resources based on these data achieve on-demand allocation of resources and optimize the computing power utilization rate. Description of the Drawings

[0016] To more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in this specification. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings. In the drawings: Figure 1 It is a schematic flowchart of a method for developing an AI application based on visual orchestration provided by an embodiment of this specification; Figure 2 It is an architecture diagram of a system for developing an AI application based on visual orchestration provided by an embodiment of this specification; Figure 3 It is a schematic structural diagram of a system for developing an AI application based on visual orchestration provided by an embodiment of this specification; Figure 4 It is a schematic structural diagram of a device for developing an AI application based on visual orchestration provided by an embodiment of this specification; Figure 5 It is a schematic structural diagram of a non-volatile storage medium provided by an embodiment of this specification. Detailed Embodiments

[0017] Embodiments of this specification provide a method, system, device, and medium for developing an AI application based on visual orchestration.

[0018] To enable those skilled in the art to better understand the technical solutions in this specification, the following will clearly and completely describe the technical solutions in the embodiments of this specification in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only a part of the embodiments of this specification, rather than all the embodiments. Based on the embodiments of this specification, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of this specification.

[0019] As shown Figure 1 in the figure, the embodiment of this specification provides a schematic flowchart of a method for developing an AI application based on visual orchestration. It can be seen Figure 1 from the figure that in one or more embodiments of this specification, a method for developing an AI application based on visual orchestration includes the following steps: S101: Develop a graphical interface corresponding to the visual orchestration module of the development system monitoring to obtain the components dragged by the user, and based on the components dragged by the user, determine the task process of the AI application to be developed currently.

[0020] To solve the problem that the existing low-code platforms cannot support the visual design of complex multi-model workflows, in the embodiment of this specification, in the graphical interface, drag event listening is added to the components in the component library. When the user presses and drags a component with the mouse, the corresponding drag event is triggered. Therefore, by developing the graphical interface corresponding to the visual orchestration module of the development system monitoring, the components dragged by the user can be obtained, and based on the components dragged by the user, the task process of the AI application to be developed currently can be determined. Based on the above visual drag operation, the workload of code writing and debugging is reduced, the design and iteration speed of the task process are accelerated, and the task process is also more intuitive with the graphical interface.

[0021] Furthermore, in one or more embodiments of this specification, before developing the graphical interface corresponding to the visual orchestration module of the development system monitoring to obtain the components dragged by the user, the method further includes: Orchestrate the environment initialization of the development system for the user side and determine the database for storing model metadata to define the table structure for storing model metadata in the database. Then, determine the model selection type corresponding to the user side; among them, the model selection type includes: custom type, vendor type. If it is determined that the model selection type is the vendor type, the differences between different vendor models are converted through a unified adapter interface to facilitate the interaction between the development system and each of the vendor models. Converting the differences between different vendor models through the unified adapter interface enables the development system to interact with various vendor models in a consistent manner. This avoids the integration difficulties caused by inconsistent interfaces and data formats of different vendor models, reduces the integration cost and complexity, and improves the development efficiency. If it is determined that the model selection type is the custom type, obtain the model file uploaded by the user side, generate the Docker image corresponding to the model file, and then encapsulate the model file as an interface service according to the Docker image and register it in the corresponding Kubernetes cluster. This process provides users with sufficient freedom to develop and deploy their own models, encourages innovation and personalized development, and meets the special needs in specific fields or business scenarios. Then, upload the preset operators and tools to the development system and configure the visual orchestration module to achieve visual orchestration.

[0022] That is, in a certain application scenario, before developing the graphical interface corresponding to the visual orchestration module of the development system to obtain the user's dragged components, the Kubernetes cluster or other container orchestration environments will be installed and configured first, and then the large model vendors and large models will be uniformly registered and managed, and users are supported to upload custom models. In this process, the model registration system uses MySQL or Postgresql to store model metadata, including fields such as model_id, api_endpoint, and auth_type. And through vendor integration, a unified adapter interface is implemented for each vendor to integrate different vendors. In addition, when uploading a custom model, the user uploads the trained model file to the system, and the system automatically generates a Docker image, encapsulates the model as a RESTful API service, and registers it in the Kubernetes cluster. As Figure 2 shown, a graphical interface is also provided in this architecture, allowing users to design the AI task process by dragging components (such as data input, knowledge base association, model call, logical branch).

[0023] In the above process, clearly distinguishing the model selection types as custom type and vendor type can meet the diverse needs of users. For users with specific model requirements and the ability to develop models, they can choose the custom type to upload their own models; while for users who rely on external vendors to provide models, they can choose the vendor type and use existing mature models, which improves the generality and adaptability of the development system. When initializing the orchestration environment in the development system, determining the database for storing model metadata and defining the table structure can centrally manage and store model metadata, facilitating subsequent querying, updating, and maintenance, and improving the efficiency and standardization of model management. Uploading the preset operators and tools to the development system and configuring the visual orchestration module lays a solid foundation for realizing visual orchestration. Users can conveniently use these preset operators and tools in the visual interface and design the task flow through operations such as dragging, which reduces the development difficulty and improves the development efficiency.

[0024] Furthermore, in one or more embodiments of this specification, uploading the preset operators and tools to the development system and configuring the visual orchestration module to achieve visual orchestration specifically includes: Constructing the drag-and-drop interface components of the visual orchestration module based on the preset component library, and updating the states of the components in the drag-and-drop interface based on the preset predictable state container. Among them, the preset component library is React, and the preset predictable state container is Redux. At the same time, install the preset React-Flow library, so as to render the drag-and-drop interface components into the drag-and-drop interface according to the preset React-Flow library. It should be noted that each operator in the drag-and-drop interface components corresponds to a configurable template. Defining the data transfer relationship between operators based on the connection operation of the user side, so as to connect each operator according to the data transfer relationship to obtain connection information, and updating the drag-and-drop interface components based on the connection information to complete the configuration of the visual orchestration module.

[0025] That is, in a certain application scenario, the user side will write the logic of operators and tools in Python and upload them to the system, and then write and save the tools that meet the Openapi-swagger specification to the system. Users can select the uploaded tools in the process design to achieve tool customization. Build the drag-and-drop interface in the front end using React + Redux and integrate open source libraries (such as React-Flow). Each operator corresponds to a configurable template to achieve visual orchestration. Then, define the data transfer relationship between operators through wiring to achieve data flow binding and complete the configuration of the visual orchestration module.

[0026] Specifically, in one or more embodiments of this specification, the development system monitors the graphical interface corresponding to the visual orchestration module to obtain the user's dragged components, and determines the task flow of the AI application to be developed currently based on the user's dragged components, which specifically includes the following processes: First, develop the graphical interface corresponding to the system monitoring visualization orchestration module to listen for the drag events of the graphical interface. Then, obtain the dragged components triggered by the user according to the drag events, and further collect the operators and connection information corresponding to each dragged component. Then, based on the corresponding operators and connection information, generate the task flow of the AI application to be developed currently. In this process, through visual drag operations, non-technical personnel can also participate in the task flow design of the AI application, expanding the development group. The intuitive interface and interaction method make the design of the task flow more efficient, reducing the workload of code writing and debugging. In addition, the visually set task flow enables developers and business personnel to more clearly understand the working logic of the AI application.

[0027] S102: Perform format conversion on the task flow to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks.

[0028] In order to generate corresponding cluster subtasks for execution from the task flow designed by the user in step S101 above, in the embodiments of this specification, the task flow obtained in the above process will be subjected to format conversion to obtain a structured description file, so as to parse the structured description file to generate corresponding cluster subtasks.

[0029] Specifically, in one or more embodiments of this specification, performing format conversion on the task flow to obtain a structured description file, and parsing the structured description file to generate corresponding cluster subtasks specifically includes the following process: First, the task process is determined by the user's drag-and-drop operations in the visual orchestration module, including various operators and the connection relationships between them. Therefore, in order to convert the logic and data of the task process into a form that can be understood and processed by a computer, in the embodiments of this specification, the task process will be serialized to convert it into a structured description file. It should be noted that the format of the structured description file is the JSON format. A parser that can parse JSON format files is pre-set in the backend system, and then these structured description files can be parsed based on the backend pre-set parser to generate standard description files; among them, the format of the standard description file is the YAML format that can more conveniently express complex hierarchical structures and annotation information. Corresponding cluster subtask configuration files are generated for each operator according to the standard description file, so as to determine the cluster subtasks corresponding to the standard description file based on the cluster subtask configuration files. That is, in a certain application scenario, the process designed by the user will be converted into a structured description file and persistently stored. The front end serializes the user operations into JSON, and the backend generates a standard YAML file through a parser, then uses MinIO or Amazon S3 to store the process file, and metadata such as version and author data are stored in PostgreSQL, and the process file is converted into executable cluster subtasks.

[0030] In this process, the task process is serialized and converted into a structured description file in JSON format, which can convert the complex task process determined by the user through drag-and-drop operations in the visual orchestration module into a form that is easy for a computer to understand and process. This makes subsequent automated processing possible, reduces manual intervention, and thus significantly improves development efficiency. Generating corresponding cluster subtask configuration files for each operator according to the standard description file can refine the task process into specific cluster subtasks.

[0031] S103: Determine the dependency relationships of the cluster subtasks based on the topological sorting algorithm, and execute each of the cluster subtasks in sequence based on the dependency relationships.

[0032] To ensure the correctness and integrity of the task process, in the embodiments of this specification, the sequence obtained through topological sorting is the execution order of the cluster subtasks. Then each cluster subtask is executed in this order, thus avoiding errors and exceptions caused by chaotic dependency relationships.

[0033] Specifically, in one or more embodiments of this specification, determining the dependency relationships of the cluster subtasks based on the topological sorting algorithm and executing each of the cluster subtasks in sequence based on the dependency relationships specifically includes the following process: First, based on the cluster subtasks and the task dependency lists corresponding to the cluster subtasks, construct the task dependency graphs corresponding to each cluster subtask. Then, obtain the in-degree corresponding to each cluster subtask in the task dependency graph, and initialize the execution queue corresponding to the cluster subtask based on the in-degree. It can be understood that the in-degree represents the number of other subtasks that a cluster subtask depends on. Add all cluster subtasks with an in-degree of 0 in the execution queue to the topological sorting result list to traverse the adjacent cluster subtasks of the cluster subtask and decrement each adjacent cluster subtask. It can be understood that in this process, all cluster subtasks with an in-degree of 0 are added first for execution because they do not depend on the completion of other subtasks. Then, if it is determined that the in-degree corresponding to the adjacent cluster subtask is the same as the pre-set in-degree value, that is, the in-degree is 0, the adjacent cluster subtask will be added to the topological sorting result list. Determine the linear dependency order of the cluster subtasks according to the topological sorting result list, and thus determine the task groups corresponding to the cluster subtasks based on the linear dependency order to process each task group in parallel based on the linear dependency order. In this process, the cluster subtasks are processed through topological sorting, and the linear dependency order of the cluster subtasks can be determined based on the task dependency graph, ensuring that when each subtask is executed, the prerequisite subtasks it depends on have been completed. Divide the task groups according to the linear dependency order, enabling the cluster subtasks in multiple task groups to be executed simultaneously, making full use of the computing resources of the cluster and shortening the overall task execution time.

[0034] In a feasible embodiment of this specification, convert the process file into an executable Kubernetes Job and schedule it in sequence, use the topological sorting algorithm to parse the node dependency relationship, generate an execution order list, as shown in the following example: For the following dependency relationships A→B→C and A→D→C, generate the parallel task group [B, D]. Convert each operator node into a Kubernetes Job, and then use the Kubernetes Client SDK (such as the kubernetes library in Python) to dynamically submit the Job. Then, listen to the Job status through the kopf framework to trigger subsequent tasks. If a certain Job fails, the system records the error log and notifies the user, supporting manual retry or skipping.

[0035] S104: Obtain the feedback data during the execution process of the cluster subtasks in real time, so as to dynamically adjust the computing resources based on the feedback data and complete the development of the current AI application to be developed.

[0036] During the execution of the cluster subtask in step S103, feedback data from the task execution process is obtained in real time, so that computing resources are dynamically adjusted according to the feedback data, thereby completing the development of the current AI application to be developed. Specifically, in one or more embodiments of this specification, feedback data from the cluster subtask execution process is obtained in real time, so as to dynamically adjust computing resources based on the feedback data and complete the development of the current AI application to be developed, specifically including the following process: In AI application development, different cluster subtasks have different requirements for computing resources at different stages. Therefore, in order to accurately understand the actual resource requirements of each subtask, the feedback data of the cluster subtask execution process will be obtained in real time, so as to determine whether to adjust the computing resources corresponding to the cluster subtask based on the feedback data and the preset resource indicator value. If so, the number of copies corresponding to the Kubernetes cluster core resource object will be updated based on the Kubernetes cluster interface corresponding to the cluster subtask, so as to realize the dynamic adjustment of computing resources and complete the development of the current AI application to be developed. In this process, the dynamic adjustment of resources based on feedback can make the resource allocation highly matched with the actual requirements of the subtask, avoiding idleness and waste of resources. In addition, the dynamic adjustment of computing resources allows the resources in the cluster to be flexibly shared and reused between different subtasks. When a subtask is completed or the resource requirements are reduced, the released resources can be promptly allocated to other subtasks in need, thereby improving the utilization rate of the entire cluster resources.

[0037] Specifically, in a certain application scenario, Prometheus is used to collect CPU / GPU utilization, memory usage, network IO and other indicators. Pod status (such as Running, Failed, Pending) is obtained through the Kubernetes API. Grafana displays task progress and resource consumption heat map (such as red when GPU utilization exceeds 80%). Computing resources are dynamically adjusted according to load to optimize cost and performance, using horizontal scaling (HPA), configuring Kubernetes HPA, and automatically adjusting the number of Deployment copies based on CPU / GPU utilization.

[0038] like Figure 3 As shown, the embodiment of this specification provides a structural diagram of an AI application development system based on visual arrangement. Figure 3 It can be seen that in one or more embodiments of this specification, an AI application development system based on visual orchestration includes: A process determination unit 301 is used to monitor the graphical interface corresponding to the visual orchestration module based on the development system to obtain the dragged component of the user, and determine the task process of the current AI application to be developed based on the dragged component of the user; A generating unit 302, configured to perform format conversion on the task process to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks; An execution unit 303, configured to determine the dependency relationship of the cluster subtasks based on a topological sorting algorithm, and sequentially execute each of the cluster subtasks based on the dependency relationship; An adjustment unit 304, configured to obtain feedback data during the execution process of the cluster subtasks in real time, and dynamically adjust computing resources based on the feedback data to complete the development of the current AI application to be developed.

[0039] As Figure 4 shown, an embodiment of this specification provides a schematic structural diagram of an AI application development device based on visual orchestration. As Figure 4 can be seen, in one or more embodiments of this specification, an AI application development device based on visual orchestration, the device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can: execute any of the above-mentioned methods.

[0040] As Figure 5 shown, an embodiment of this specification provides a schematic structural diagram of a non-volatile storage medium. As Figure 5 can be seen, in one or more embodiments of this specification, a non-volatile storage medium stores computer-executable instructions 501, and the computer-executable instructions 501 can execute any of the above-mentioned methods.

[0041] Each embodiment in this specification is described in a progressive manner. The same or similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the embodiments of the device, equipment, and non-volatile computer storage medium, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiments.

[0042] The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the figures do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0043] The above description is only for one or more embodiments of this specification and is not intended to limit this specification. For those skilled in the art, various changes and modifications can be made to one or more embodiments of this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of one or more embodiments of this specification shall be included within the scope of the claims of this specification.

Claims

1. An AI application development method based on visual orchestration, characterized in that The method includes: Developing a graphical interface corresponding to the development system monitoring visualization orchestration module to obtain the user's dragged components, and determining the task flow of the currently to-be-developed AI application based on the user's dragged components; Performing format conversion on the task flow to obtain a structured description file, and parsing the structured description file to generate corresponding cluster subtasks; Determining the dependency relationships of the cluster subtasks based on a topological sorting algorithm, and sequentially executing each of the cluster subtasks based on the dependency relationships; Obtaining feedback data during the execution process of the cluster subtasks in real time, and dynamically adjusting computing resources based on the feedback data to complete the development of the currently to-be-developed AI application.

2. The AI application development method based on visual orchestration according to claim 1, wherein Before developing the graphical interface corresponding to the development system monitoring visualization orchestration module to obtain the user's dragged components, the method further includes: Initializing the orchestration environment of the development system on the user side, and determining the database for storing model metadata, and defining the table structure for storing model metadata in the database; Determining the model selection type corresponding to the user side; wherein, the model selection type includes: custom type, vendor type; If it is determined that the model selection type is the vendor type, converting the differences of different vendor models through a unified adapter interface so that the development system can interact with each of the vendor models; If it is determined that the model selection type is the custom type, obtaining the model file uploaded by the user side, generating a Docker image corresponding to the model file, and encapsulating the model file as an interface service based on the Docker image and registering it in the corresponding Kubernetes cluster; Uploading preset operators and tools to the development system, and configuring the visualization orchestration module to enable visualization orchestration.

3. The AI application development method based on visual arrangement according to claim 2, characterized in that Uploading preset operators and tools to the development system, and configuring the visualization orchestration module to enable visualization orchestration, specifically including: Constructing the drag-and-drop interface components of the visualization orchestration module based on a preset component library, and updating the states of the components in the drag-and-drop interface based on a preset predictable state container; wherein, the preset component library is React, and the preset predictable state container is Redux; Installing a preset React-Flow library to render the drag-and-drop interface components into the drag-and-drop interface based on the preset React-Flow library; wherein, each operator in the drag-and-drop interface components corresponds to a configurable template; Defining the data transfer relationships between operators based on the connection operations on the user side, obtaining connection information by connecting each of the operators according to the data transfer relationships, and updating the drag-and-drop interface components based on the connection information to implement the configuration of the visualization orchestration module.

4. A method for developing an AI application based on visual orchestration according to claim 1, characterized in that, Developing a graphical interface corresponding to the development system monitoring visualization orchestration module to obtain the user's dragged components, and determining the task flow of the currently to-be-developed AI application, specifically including: Developing a graphical interface corresponding to the development system monitoring visualization orchestration module to listen for the drag events of the graphical interface; Obtain the dragged components triggered by the user according to the drag event to collect the operators and connection information corresponding to each of the dragged components; Generate a task flow for the currently to-be-developed AI application based on the corresponding operators and connection information.

5. A method for developing an AI application based on visual orchestration according to claim 1, characterized in that, Perform format conversion on the task flow to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks, specifically including: Perform operation serialization processing on the task flow to convert the task flow into a structured description file; wherein, the format of the structured description file is JSON format; Parse the structured description file based on a backend preset parser to generate a standard description file; wherein, the format of the standard description file is YAML format; Generate a corresponding cluster subtask configuration file for each operator according to the standard description file, and determine the cluster subtasks corresponding to the standard description file based on the cluster subtask configuration file.

6. A method for developing an AI application based on visual orchestration according to claim 1, wherein, Determine the dependency relationship of the cluster subtasks based on the topological sorting algorithm, and execute each of the cluster subtasks in sequence based on the dependency relationship, specifically including: Construct a task dependency graph corresponding to each of the cluster subtasks based on the cluster subtasks and the task dependency list corresponding to the cluster subtasks; Obtain the in-degree corresponding to each cluster subtask in the task dependency graph, and initialize the execution queue corresponding to the cluster subtasks based on the in-degree; Add the cluster subtasks in the execution queue to the topological sorting result list, traverse the adjacent cluster subtasks of the cluster subtasks, and decrement each of the adjacent cluster subtasks; If it is determined that the in-degree corresponding to the adjacent cluster subtasks is consistent with the pre-set in-degree value, add the adjacent cluster subtasks to the topological sorting result list; Determine the linear dependency order of the cluster subtasks based on the topological sorting result list, determine the task groups corresponding to the cluster subtasks based on the linear dependency order, and process each of the task groups in parallel based on the linear dependency order.

7. A method for developing an AI application based on visual orchestration according to claim 1, characterized in that Obtain the feedback data during the execution process of the cluster subtasks in real time, and dynamically adjust the computing resources based on the feedback data to complete the development of the currently to-be-developed AI application, specifically including: Obtain the feedback data during the execution process of the cluster subtasks in real time, and determine whether to adjust the computing resources corresponding to the cluster subtasks based on the feedback data and the pre-set resource metric values; If so, update the replica number corresponding to the core resource object of the Kubernetes cluster based on the Kubernetes cluster interface corresponding to the cluster subtasks, realize the dynamic adjustment of the computing resources, and complete the development of the currently to-be-developed AI application.

8. An AI application development system based on visual orchestration, characterized in that, The system includes: A process determination unit, configured to obtain the dragged components of the user based on the graphical interface corresponding to the development system monitoring visualization orchestration module, and determine the task flow of the currently to-be-developed AI application based on the dragged components of the user; A generation unit, configured to perform format conversion on the task flow to obtain a structured description file, and parse the structured description file to generate corresponding cluster subtasks; An execution unit, configured to determine the dependency relationship of the cluster subtasks based on a topological sorting algorithm, and sequentially execute each of the cluster subtasks based on the dependency relationship; An adjustment unit, configured to obtain feedback data during the execution of the cluster subtasks in real time, and dynamically adjust computing resources based on the feedback data to complete the development of the currently to-be-developed AI application.

9. An AI application development device based on visual orchestration, characterized in that, The device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can: execute the method according to any one of claims 1-7 above.

10. A non-volatile storage medium stores computer-executable instructions, characterized in that, The computer-executable instructions can: execute the method according to any one of claims 1-7 above.

Citation Information

Cited By

  • Intelligent agent configuration method and device based on front-end interaction and medium

    CN121029245A

  • A method, device, and medium for configuring intelligent agents based on front-end interaction.

    CN121029245B