Network configuration method and apparatus

By generating configuration requests written in natural language and generating configuration results using a language model, combined with a visual interface and configuration model verification, the cumbersome network configuration process is solved, improving the efficiency and accuracy of network configuration.

WO2025246500A1PCT designated stage Publication Date: 2025-12-04HUAWEI TECH CO LTD

Patent Information

Application Number
PCT/CN2025/079509
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-30
Filing Date
2025-02-27
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

The network configuration process is cumbersome, requires a lot of human resources, and the operation modes of the network configuration interface vary greatly among different controllers, resulting in high configuration difficulty and affecting network configuration efficiency.

Method used

A network configuration method and apparatus are provided, which generate configuration requests written in natural language, generate configuration results that match the intent using a language model, including intent information to describe configuration functions, operations or scenarios, and output the configuration results through a visual interface. The configuration results are then verified in conjunction with the configuration model to improve accuracy and efficiency.

Benefits of technology

It eliminates the need for manual network parameter configuration, improving the efficiency and accuracy of network configuration, simplifying the network configuration process, and reducing configuration difficulty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025079509_04122025_PF_FP_ABST
    Figure CN2025079509_04122025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a network configuration method and apparatus. The method comprises: acquiring a configuration generation request, wherein the configuration generation request is information that is written in natural language and comprises an intent; on the basis of the configuration generation request and a language model, obtaining a configuration result that matches the information comprising the intent, wherein the configuration result is a configuration that is expressed in a preset language and corresponds to the information comprising the intent; and outputting the configuration result. In the present application, on the basis of a configuration generation request, a network configuration apparatus generates a configuration result matching information that is in the configuration generation request and comprises an intent, without the need for users to manually configure network configuration parameters, thereby improving network configuration efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

A network configuration method and apparatus

[0001] This application claims priority to Chinese Patent Application No. 202410693935.6, filed with the State Intellectual Property Office of China on May 30, 2024, entitled "A Network Configuration Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a network configuration method and apparatus. Background Technology

[0003] Network configuration refers to setting parameters for network devices such as computers, routers, switches, servers, or mobile devices to enable these devices to perform tasks such as network communication, resource sharing, network security management, and troubleshooting within a network environment. Network configuration is the foundation of network management; proper network configuration not only facilitates effective communication between network devices but also improves network performance, ensures network security, and simplifies operation and maintenance management.

[0004] With increasing network demands, the design, deployment, and changes of network services are becoming more frequent, new features are being launched slowly, and manpower investment is high. This places increasingly higher demands on network operation and maintenance, especially in enterprise campus scenarios where there are many scenarios, sites, equipment types, and equipment from multiple vendors, making network operation and maintenance quite difficult. Summary of the Invention

[0005] This application provides a network configuration method and apparatus for improving the efficiency of network configuration.

[0006] Firstly, this application provides a network configuration method. A network configuration device acquires a configuration generation request, wherein the configuration generation request is information including intent written in natural language. Based on the configuration generation request and a language model, the network configuration device obtains a configuration result matching the information including intent, the configuration result being a configuration corresponding to the information including intent expressed in a preset language. Then, the network configuration device outputs the configuration result.

[0007] In this embodiment, the network configuration device generates a configuration result that matches the intent information included in the configuration generation request based on the configuration generation request, thereby eliminating the need for the user to manually configure each network configuration parameter (also known as network configuration feature), thus improving the efficiency of network configuration.

[0008] Based on the first aspect, in one optional implementation, the intent information included in the configuration generation request is used to describe the configuration function, the configuration operation, or the configuration scenario.

[0009] Based on the first aspect, in an optional implementation, the network configuration device can receive the command line input by the user through a visual interface, which describes the configuration generation request shown in the embodiments of this application; or, the network configuration device can receive the statement input by the user through a natural language interface, which describes the configuration generation request shown in the embodiments of this application. The user can write the entire configuration generation request in natural language, or only a portion of the configuration generation request in natural language; the specific method is not limited here.

[0010] Based on the first aspect, in one optional implementation, the network configuration device obtains a task list based on information including intent in the configuration generation request, the task list including at least one task. The network configuration device then obtains a configuration result based on the at least one task and a language model.

[0011] Based on the first aspect, in one optional implementation, the task list includes a configuration generation task. In this scenario, the intent information in the configuration generation request includes first information and second information, wherein the first information is used to determine the configuration model, and the second information is used to obtain configuration parameters. The configuration model describes the data structure of the configuration corresponding to the intent information in the configuration generation request, and the configuration parameters are the values ​​of the configuration corresponding to the intent information in the configuration generation request. If the configuration result does not meet the requirements of the data structure corresponding to the configuration model, the configuration result may not be applicable to the network device, leading to network configuration failure.

[0012] Therefore, the network configuration device uses the configuration parameters obtained based on the second information and the configuration model obtained based on the first information as input to the language model to obtain the configuration result. In this application embodiment, the content format of the configuration result is not limited. Optionally, the configuration result can be a data structure obtained after the network configuration device adds the configuration parameters to the configuration model, or it can be text obtained after the network configuration device adds the configuration parameters to the configuration model. In this application, the configuration model describes the data structure of the configuration corresponding to the information of intent in the configuration generation request. This configuration model serves as a guide or constraint in the process of generating the configuration result, guiding the language model to generate a configuration result that better meets expectations, thereby improving the accuracy of network configuration.

[0013] Based on the first aspect, in one optional implementation, the task list includes a model retrieval task and a configuration generation task. In this scenario, the intent information in the configuration generation request includes first information and second information, wherein the first information is used to determine the configuration model, and the second information is used to obtain configuration parameters. The configuration model describes the data structure of the configuration corresponding to the intent information in the configuration generation request, and the configuration parameters are the values ​​of the configuration corresponding to the intent information in the configuration generation request. If the configuration result does not meet the requirements of the data structure corresponding to the configuration model, the configuration result may not be applicable to the network device, leading to network configuration failure.

[0014] Therefore, the network configuration device stores a vector database containing multiple optional configuration models, each used to describe the data structure of one or more network configuration parameters. As can be seen, the configuration generation request includes first information for determining the configuration model. Therefore, the network configuration device can index the configuration model matching the first information from the vector database, where the configuration model is represented as a set of vectors.

[0015] The network configuration device uses the configuration parameters obtained based on the second information and the configuration model obtained based on the first information as input to the language model to obtain the configuration result. In this application embodiment, the content format of the configuration result is not limited. Optionally, the configuration result can be a data structure obtained after the network configuration device adds the configuration parameters to the configuration model, or it can be text obtained after the network configuration device adds the configuration parameters to the configuration model. In this application, the configuration model describes the data structure of the configuration corresponding to the information of intent in the configuration generation request. This configuration model serves as a guide or constraint in the process of generating the configuration result, guiding the language model to generate a configuration result that better meets expectations, thereby improving the accuracy of network configuration.

[0016] Based on the first aspect, in one optional implementation, the task list includes a model retrieval task, a configuration generation task, and a configuration verification task. In this scenario, the intent information in the configuration generation request includes first information and second information. The first information is used to determine the configuration model, and the second information is used to obtain configuration parameters. The configuration model describes the data structure (e.g., constraints such as attributes, behaviors, and syntax rules) of the configuration corresponding to the intent information in the configuration generation request, while the configuration parameters are the values ​​of the configuration corresponding to the intent information in the configuration generation request (e.g., IP address values ​​or port values). If the configuration result does not meet the requirements of the data structure corresponding to the configuration model, the configuration result may not be applicable to network devices, leading to network configuration failure.

[0017] Therefore, the network configuration device stores a vector database containing multiple optional configuration models, each used to describe the data structure of one or more network configuration parameters. As can be seen, the configuration generation request includes first information for determining the configuration model. Therefore, the network configuration device can index the configuration model matching the first information from the vector database, where the configuration model is represented as a set of vectors.

[0018] The network configuration device uses the configuration parameters obtained based on the second information and the configuration model obtained based on the first information as input to the language model to obtain the configuration result. In this application embodiment, the content format of the configuration result is not limited. Optionally, the configuration result can be a data structure obtained after the network configuration device adds the configuration parameters to the configuration model, or it can be text obtained after the network configuration device adds the configuration parameters to the configuration model. In this application, the configuration model describes the data structure of the configuration corresponding to the information of intent in the configuration generation request. This configuration model serves as a guide or constraint in the process of generating the configuration result, guiding the language model to generate a configuration result that better meets expectations, thereby improving the accuracy of network configuration.

[0019] Next, the network configuration device performs a configuration verification task, which means that the network configuration device verifies the configuration results based on the constraints regarding configuration syntax or configuration semantics included in the configuration model. Specifically, after the language model generates the configuration results, the network configuration device compares the configuration results with the configuration model. If it finds that the configuration results do not meet the constraints of the data structure described by the configuration model, the configuration results can be modified so that the modified configuration results can meet the constraints of the configuration model, thereby improving the correctness of the configuration results.

[0020] Based on the first aspect, in one optional implementation, the network configuration device outputs a visual interface based on a configuration generation request and a configuration result. This visual interface includes a first area and a second area. The first area is used to display the configuration result, and the second area is used for the user to input the configuration generation request. Thus, the user can understand and check the configuration result generated by this configuration generation request from the visual interface. To facilitate user understanding and increase the readability and comprehensibility of the configuration result, the network configuration device can convert the configuration result into natural language and / or icon format, in which case the first area of ​​the visual interface will display the configuration result in natural language and / or icon format.

[0021] Based on the first aspect, in an optional implementation, as described above, the first area of ​​the visualization interface of the network configuration device displays the configuration result. The user can view and check the configuration result through this first area, and can also update the configuration result displayed in the first area. Specifically, the user issues an update command through the visualization interface, which updates the configuration result displayed on the interface. After receiving the update command, the network configuration device updates the configuration result according to its instructions. Thus, the user can further verify and correct the configuration result, improving its accuracy.

[0022] Based on the first aspect, in an optional implementation, if the configuration model is a YANG data model, the above configuration results are expressed in the form of a data structure; if the configuration model is a CLI data model, the above configuration results are expressed in the form of text.

[0023] Secondly, this application provides a network configuration apparatus, comprising:

[0024] The acquisition unit is used to acquire the configuration generation request, which is information including intent written in natural language;

[0025] The processing unit is used to generate a request and a language model based on the configuration, and obtain a configuration result that matches the information including the intent. The configuration result is a configuration that corresponds to the information including the intent and is expressed in a preset language.

[0026] The processing unit is also used to output configuration results.

[0027] Based on the second aspect, in one optional implementation, the information includes intent to describe the configuration function, to describe the configuration operation, or to describe the configuration scenario.

[0028] Based on the second aspect, in one optional implementation, the acquisition unit is specifically used for:

[0029] Receives command lines input by the user through the interface; these command lines describe the configuration generation request.

[0030] It receives statements input by the user through the interface, which describe the configuration generation request.

[0031] Based on the second aspect, in one optional implementation, the processing unit is specifically used for:

[0032] A task list is obtained based on information including intent, and the task list includes at least one task.

[0033] Based on the task list and language model, the configuration results are obtained.

[0034] Based on the second aspect, in an optional implementation, the task list includes generating configuration tasks, including intent information including first information for determining the configuration model and second information for obtaining configuration parameters, and the processing unit is specifically used for:

[0035] The configuration parameters obtained based on the second information and the configuration model obtained based on the first information are used as inputs to the language model to obtain the configuration result. The configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

[0036] Based on the second aspect, in an optional implementation, the task list includes a model retrieval task and a configuration generation task, including intent information including first information for determining the configuration model and second information for obtaining configuration parameters, and the processing unit is specifically used for:

[0037] The configuration model is obtained by indexing the vector database with the first information. The configuration model is represented by a set of vectors in the vector database.

[0038] The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as input to the language model to obtain the configuration result. The configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

[0039] Based on the second aspect, in an optional implementation, the task list includes a retrieval module task, a configuration generation task, and a configuration verification task, including intent information including first information for determining the configuration model and second information for obtaining configuration parameters, and a processing unit specifically used for:

[0040] The configuration model is obtained by indexing the vector database with the first information.

[0041] The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as input to the language model to obtain the configuration result. The configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

[0042] The configuration results are validated based on the configuration model, including constraints on configuration syntax or configuration semantics.

[0043] Based on the second aspect, in one optional implementation, the output configuration result includes:

[0044] Based on the configuration generation request and configuration results, a visualization interface is output. The visualization interface includes a first area for displaying the configuration results and a second area for inputting the configuration generation request.

[0045] Based on the second aspect, in an optional implementation, the visualization interface further includes a third area for confirming the configuration result, and the processing unit is further configured to:

[0046] Obtain configuration confirmation response based on the third region;

[0047] The configuration results are converted into configuration information and sent to the network device.

[0048] Based on the second aspect, in one alternative implementation,

[0049] If the configuration model is the next-generation data modeling YANG data model, then the configuration result is an expression in the form of a data structure.

[0050] If the configuration model is a command-line interface (CLI) data model, the configuration result is expressed in text form.

[0051] Thirdly, embodiments of this application provide a controller, including: a processor coupled to a memory for storing instructions, which, when executed by the processor, cause the controller to implement the method described in the first aspect or any possible implementation of the first aspect.

[0052] Fourthly, embodiments of this application provide a computer-readable storage medium having instructions stored thereon, which, when executed, cause a computer to perform the methods described in the first aspect or any possible implementation of the first aspect.

[0053] Fifthly, embodiments of this application provide a computer program product including computer program code, which, when run on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation of the first aspect.

[0054] In a sixth aspect, embodiments of this application provide a chip, including: a processor coupled to a memory for storing instructions, which, when executed by the processor, cause the chip to implement the method described in the first aspect or any possible implementation of the first aspect.

[0055] The technical effects of any of the implementation methods in aspects two through six can be found in the technical effects of the implementation method in aspect one above, and will not be repeated here. Attached Figure Description

[0056] Figure 1 is a schematic diagram of a scenario where a user configures the network through the network configuration interface;

[0057] Figure 2 is a schematic diagram of a possible scenario for the network configuration interface;

[0058] Figure 3 is a schematic diagram of another possible scenario for the network configuration interface;

[0059] Figure 4 is a schematic diagram of a possible, non-limiting system architecture of the communication method in the embodiments of this application;

[0060] Figure 5 is a flowchart illustrating a communication method in an embodiment of this application;

[0061] Figure 6 is a schematic diagram of a possible scenario of the access interface provided in the embodiment of this application;

[0062] Figure 7 is a schematic diagram of a possible processing flow of the language model in an embodiment of this application;

[0063] Figure 8 is a schematic diagram of a possible scenario for verifying the configuration results;

[0064] Figure 9 is a schematic diagram of a possible processing flow for the configuration result in an embodiment of this application;

[0065] Figure 10 is a schematic diagram of a visual interface;

[0066] Figure 11 is another schematic diagram of the visual interface;

[0067] Figure 12 is another schematic diagram of the visual interface;

[0068] Figure 13 is another schematic diagram of the visual interface;

[0069] Figure 14 is a possible structural diagram of the network configuration device in an embodiment of this application;

[0070] Figure 15 is a schematic diagram of the processing flow of multiple functional modules in the network configuration device;

[0071] Figure 16 is a schematic diagram of another structure of the network configuration device provided in an embodiment of this application;

[0072] Figure 17 is a schematic diagram of the logical structure of a network configuration device provided in an embodiment of this application. Detailed Implementation

[0073] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is only for explaining specific embodiments and is not intended to limit the embodiments of this application. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0074] In this application embodiment, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0075] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0076] The following explanations of some terms or nouns used in the embodiments of this application are also part of the invention content.

[0077] Domain-Specific Languages ​​(DSLs): A DSL is a computer programming language designed for a specific domain or problem domain. The main characteristics and advantages of DSLs are their high degree of specificity and conciseness, making it easier for users to understand and use them to express domain-specific concepts and logic. Compared to general-purpose programming languages, DSLs focus more on domain-specific problems and needs, providing higher levels of abstraction and more intuitive expressions, thereby improving development efficiency and code quality. DSLs are generally divided into two types: External DSLs and Internal DSLs. External DSLs are languages ​​independent of general-purpose programming languages, typically used by domain experts or developers, and can use custom syntax to describe domain-specific problems. External DSLs can be translated by a parser into code that can be understood and executed by a lower-level programming language (such as Java, Python, etc.). Internal DSLs are languages ​​based on general-purpose programming languages, utilizing the syntax and features of that programming language to create domain-specific expressions and statements. The design purpose of internal DSLs is to enable domain experts and developers to more easily express domain-specific concepts and logic within a general-purpose programming language. In general, a DSL is a language designed for a specific domain, which can better meet the needs of that domain and improve the efficiency and maintainability of software development.

[0078] Command Line Interface (CLI): CLI is a user interface for interacting with a computer, allowing users to perform operations and access system functions by entering text commands. CLI commands are instructions typed by the user in the CLI environment. These instructions typically consist of a command name, options (flags or switches), arguments, and possibly pipe symbols (|) and redirection symbols, used to perform specific operations or query system status. CLI commands are widely used in many fields such as computer system administration, software development, network configuration, and data processing. CLI commands provide a fast, flexible, and efficient way to interact with and control computers, especially suitable for scenarios requiring automation or remote management.

[0079] Large Language Models (LLMs): LLMs are deep learning models with a large number of parameters, typically used for Natural Language Processing (NLP) tasks. These LLM models utilize large-scale text datasets during training, learning statistical patterns and semantic information of language to generate text, perform tasks such as text classification, translation, and summarization. The massive datasets and large number of parameters allow LLM models to understand the complexities of natural language more precisely and deeply. Pre-training enables LLMs to solve common language problems such as text classification, question answering, and document summarization. Fine-tuning allows for customization to solve specific problems in different domains, such as retail, finance, and entertainment. LLMs are characterized by their massive scale and versatility. They utilize hierarchical network of nodes, with encoders and decoders featuring self-attention capabilities, to extract meaning from a series of texts and understand the relationships between words and phrases. This allows LLMs to be trained unsupervised and to learn basic grammar, language, and knowledge autonomously.

[0080] Prompt engineering is an important concept in the field of artificial intelligence, particularly in Natural Language Processing (NLP). The basic idea behind prompt engineering is to provide neural network models with information or context to guide them in generating expected outputs. These prompts can be questions, descriptive text, keywords, or even the model's own output. This allows the neural network model to better understand the context and requirements of the task, resulting in more accurate and relevant results.

[0081] Next, the possible scenarios involved in the embodiments of this application will be introduced.

[0082] Network configuration refers to a series of parameters and settings set for network devices such as computers, routers, switches, servers, or mobile devices, enabling these devices to effectively participate in the network environment, performing tasks such as network communication, resource sharing, network security management, and troubleshooting. Network configuration refers to the setup and layout of network devices or communication systems. For example, network configuration includes network topology, Internet Protocol (IP) address allocation, routing configuration, and security settings. The purpose of network configuration is to ensure that the network can operate normally and meet specific needs, such as providing stable connections, ensuring data security, and optimizing network performance. Network configuration is the foundation of network management. Correct network configuration not only facilitates effective communication between network devices but also improves network performance, ensures network security, and simplifies operation and maintenance management. With the development of network technology and changes in business needs, network configuration work also requires continuous updates and optimization.

[0083] The development of Software Defined Networking (SDN) architecture has simplified the network configuration process. Despite the many advantages of SDN, network configuration still requires frequent manual intervention, which increases costs and risks. The complexity and error-prone nature of manual configuration necessitates specialized network administrators familiar with various APIs and protocols. Therefore, there is a need for more efficient, simpler, and more secure methods for network configuration.

[0084] For network operators, network configuration remains a challenging, complex, and costly task. Furthermore, the abstraction and composition of networks necessitate that these configuration tools employ custom specifications or languages ​​to concisely describe network intent. These approaches present network operators with another challenge: they must master a new Domain-Specific Language (DSL), which may not be widely used and may contain flaws.

[0085] On the other hand, with increasing network demands (big data, artificial intelligence), the design, deployment, and changes of network services become more frequent, new features are launched slowly, require significant manpower, and place high demands on the skills of network administrators. This is especially true in enterprise campus scenarios, where there are numerous scenarios, sites, and equipment types, coupled with lower staff skills and the maintenance of equipment from multiple vendors. Network administrators need to meticulously consult command lines or manuals to locate and configure automated interfaces. Therefore, the current network configuration work for network administrators is quite cumbersome and requires substantial human resources.

[0086] Figure 1 illustrates a scenario where a user configures the network through the network configuration interface. As shown in Figure 1, the controller provides a visual network configuration interface to the user, as shown in Figure 2 or Figure 3. However, the operation modes of the network configuration interfaces provided by different controllers vary significantly. Users need to complete complex configuration designs and combinations on the network configuration interface, which requires users to have high configuration skills. This results in high configuration difficulty and cumbersome configuration, seriously affecting the efficiency of network configuration.

[0087] To address the problems of the aforementioned general solutions, embodiments of this application provide a network configuration method and apparatus, which helps to improve network configuration efficiency and reduce configuration difficulty.

[0088] Figure 4 illustrates a possible, non-limiting system architecture for implementing the network configuration method in an embodiment of this application. In the scenario illustrated in Figure 4, the network configuration device can perform network configuration on at least one network device (e.g., network device 1, network device 2, and network device 3 shown in Figure 4). The network configuration device can be a control device, network management device, or other device with network configuration functionality. The network configuration device sends the configuration result to the network device, which can then update its network configuration according to the instructions in the configuration result. Figure 5 is a schematic diagram of the processing flow adopted by the network configuration device in Figure 4. The network configuration device in Figure 5 can be a chip, chip system, or processor used to implement the method; alternatively, the network configuration device can also be a logical node, logical module, or software used to implement all or part of the functions. As shown in Figure 5, the network configuration method in this embodiment includes, but is not limited to, steps 101 to 105.

[0089] 101. The network configuration device obtains the configuration generation request.

[0090] The network configuration device obtains a configuration generation request based on user input. This configuration generation request is a request written in natural language and includes intent information. The configuration generation request is used to generate or update at least one network configuration parameter, including network topology, address allocation, routing configuration, or security settings. Specifically, "for generating network configuration parameters" means that the configuration generation request is used to add one or more network configuration parameters; while "for updating network configuration parameters" means that the configuration generation request is used to modify already configured network configuration parameters.

[0091] In this embodiment, the network configuration device is a logical node, logical module, or software used to execute the network configuration method. It should be understood that "network configuration device" is a general term for devices that execute the network configuration method, and does not specifically refer to any one or more devices. The device executing the network configuration method may not be called a "network configuration device" but may be referred to by other names, such as "network management device," "scheduling device," "controller," "control device," or "server," etc. No specific limitation is made here; this embodiment only uses "network configuration device" as an example for explanation.

[0092] The network device in this embodiment is an entity used to transmit signals, or receive signals, or both transmit and receive signals. Optionally, the network device can be a router, switch or bridge, computer device, server or mobile device, etc., and is not specifically limited here.

[0093] Optionally, the network configuration device can provide a visual interface to the user, as shown in Figure 6. This visual interface includes a second area for the user to input a configuration generation request. The second area includes text input boxes. The user can input information expressing their intent through the text input boxes in the second area so that the network configuration device can obtain the configuration generation request.

[0094] In one possible implementation, the network configuration device obtains a configuration generation request based on a command line entered by the user through a visual interface. This command line describes the configuration generation request. Alternatively, the network configuration device obtains a configuration generation request based on a statement entered by the user through a visual interface, where the statement describes the configuration generation request. The user can write the entire configuration generation request in natural language, or they can write only a portion of the configuration generation request in natural language; the specific method is not limited here.

[0095] Optionally, the intent information included in the configuration generation request can be used to describe a configuration function, a configuration operation, or a configuration scenario. Specifically, the dialogue capabilities supported by the language model of the network configuration device can be divided into multiple capability types. The network configuration device uses the intent information included in the configuration generation request to determine the capability type of the language model accessed by the configuration generation request, in order to obtain a configuration result that matches the intent information in the configuration generation request.

[0096] The language model supports three capability types: Capability A, Capability B, and Capability C. Capability A configures a specific function of a network device, for example, a configuration generation request might be "Please design the network configuration of the router." If the intent information included in the configuration generation request describes the configuration function, then the configuration generation request accesses Capability A of the language model. Capability B operates on an existing network configuration feature template, for example, a configuration generation request might be "Copy this network configuration feature 100 times and send it to 100 network devices." If the intent information included in the configuration generation request describes the configuration operation, then the configuration generation request accesses Capability B of the language model. Capability C generates configuration results for a specific network configuration scenario, for example, a configuration generation request might be "Please configure a small network," in which case the controller uses the small network configuration template as the first data model. If the intent information included in the configuration generation request describes the configuration scenario, then the configuration generation request accesses Capability C of the language model.

[0097] 102. The network configuration device obtains a configuration result that matches information including intent based on a configuration generation request and a language model.

[0098] The language model can be deployed on a network configuration device or on other devices that communicate with the network configuration device. This embodiment uses the deployment of the language model on a network configuration device as an example. The implementation of deploying the language model on other devices communicating with the network configuration device can be found in the implementation on the network configuration device, and will not be described in detail here. This language model is a type of neural network model, which can be a Large Language Model (LLM). This language model can parse configuration generation requests and use the parsed intent information as input. Based on the intent information, the language model obtains a configuration result, which is a configuration expressed in a preset language corresponding to the intent information.

[0099] In one possible implementation, the aforementioned predefined language could be a Yet Another Next Generation (YANG) language, meaning the configuration result is a configuration corresponding to the intent information expressed in YANG language; alternatively, the aforementioned predefined language could be a Command Line Interface (CLI) language, meaning the configuration result is a configuration corresponding to the intent information expressed in CLI language; or, the aforementioned predefined language could also be other Domain-Specific Languages ​​(DSLs), which are not limited here. For example, the DSL language could be a Topology and Orchestration Specification for Cloud Applications (TOSCA), a Web Ontology Language (OWL), or a Terraform language, etc. Configuration results written based on DSLs possess good transaction capabilities such as atomicity, consistency, isolation, and durability, thereby improving the efficiency and performance of network configuration.

[0100] In one possible implementation, the specific process by which the network configuration device obtains the configuration result includes: the network configuration device obtaining a task list based on the intent information included in the configuration generation request, the task list including at least one task; and the network configuration device obtaining the configuration result based on the at least one task and a language model. The task list includes a configuration generation task, and further includes one or more tasks among a model retrieval task and a configuration verification task. In this scenario, the intent information in the configuration generation request includes first information and second information, where the first information is used to determine the configuration model, and the second information is used to obtain configuration parameters. The configuration model describes the data structure of the configuration corresponding to the intent information in the configuration generation request, such as constraints like attributes, behaviors, and syntax rules. The configuration parameters are the values ​​of the configuration corresponding to the intent information in the configuration generation request, such as IP address values ​​or port values. If the configuration result does not meet the requirements of the data structure corresponding to the configuration model, the configuration result may not be applicable to the network device, leading to network configuration failure. In this embodiment, the configuration model describes the data structure of the configuration corresponding to the intent information in the configuration generation request. This configuration model serves as a guide or constraint in the process of generating the configuration result, guiding the language model to generate a configuration result that better meets expectations, thereby improving the accuracy of network configuration.

[0101] For example, if the configuration generation request is "Please help design the network configuration of router 1", then the configuration generation request may involve the configuration of multiple network configuration parameters of router 1, such as clock synchronization, gateway, subnet mask, and routing rules. Here, router 1 is one of the network devices managed by the network configuration device; for example, router 1 is network device 1 shown in Figure 4. Correspondingly, the configuration model obtained by the network configuration device based on the first information is a data structure describing multiple network configuration parameters such as clock synchronization, gateway, subnet mask, and routing rules.

[0102] Figure 7 is a schematic diagram of a possible processing flow of the language model in an embodiment of this application. As shown in Figure 7, the language model obtains a task list based on the received configuration generation request. The task list includes a model retrieval task, a configuration generation task, and a configuration verification task. The network configuration device executes the model retrieval task, the configuration generation task, and the configuration verification task sequentially. The configuration generation task and the configuration verification task may be a process executed in multiple loops.

[0103] The task of retrieving the model is to determine the configuration model based on the first information and to obtain the configuration parameters based on the second information.

[0104] In one possible implementation, the network configuration device stores a vector database containing multiple optional configuration models, each used to describe the data structure of one or more network configuration parameters. As explained above, the configuration generation request includes first information for determining the configuration model. Therefore, the network configuration device can index the configuration model matching the first information from the vector database, where the configuration model is represented as a set of vectors.

[0105] Optionally, the network configuration device parses the keywords in the configuration generation request, and then matches these keywords with the keywords associated with each configuration model in the vector database, thereby indexing the configuration models in the vector database that match the configuration generation request. Specifically, in the multiple configuration models in the vector database, each configuration model has at least one associated keyword. The first information in this embodiment includes one or more keywords in the configuration generation request. If the keywords in the configuration generation request match the keywords associated with a certain data model, then the configuration model is determined to be a configuration model that matches the first information. The matching between keywords can be that the keywords in the configuration generation request are the same as the keywords associated with the data model, or that the similarity between the keywords in the configuration generation request and the keywords associated with the data model meets a threshold.

[0106] The configuration task is generated by taking the configuration parameters obtained based on the second information and the configuration model obtained based on the first information as input to the language model to obtain the configuration result. This application embodiment does not limit the content format of the configuration result. Optionally, the configuration result can be a data structure obtained after the network configuration device adds the configuration parameters to the configuration model, or the configuration result can be text obtained after the network configuration device adds the configuration parameters to the configuration model. If the configuration model is a YANG data model, the above configuration result is expressed in data structure form; if the configuration model is a CLI data model, the above configuration result is expressed in text form.

[0107] Configuration verification task: The configuration result is verified based on the constraints regarding configuration syntax or semantics included in the configuration model. Specifically, after the language model generates the configuration result, the network configuration device compares the configuration result with the configuration model. If it finds that the configuration result does not meet the constraints of the data structure described by the configuration model, the configuration result can be modified so that the modified configuration result meets the constraints of the configuration model, thereby improving the correctness of the configuration result. Optionally, after the network configuration device executes the configuration generation task and obtains the configuration result generated by the language model, it can directly output the configuration result without executing the above configuration verification task, i.e., the network configuration device executes step 103.

[0108] Please refer to Figure 8, which illustrates a possible scenario for verifying configuration results. In the scenario illustrated in Figure 8, the left side represents the configuration model used to verify the configuration results, and the right side represents the configuration results output by the language model. The network configuration device then uses the configuration model as a standard to verify the configuration results.

[0109] Optionally, different network equipment manufacturers often have their own proprietary DSL rules, and even different series of network equipment from the same manufacturer may have different DSL rules. In view of this, please refer to Figure 9, which is a schematic diagram of a possible processing flow for the configuration result in an embodiment of this application. As shown in Figure 9, after the language model outputs the configuration result or the configuration result verification is completed, the network configuration device can update the configuration result for compatibility with several DSL rules of other network devices (such as DSL rule 1 and DSL rule 2 shown in Figure 9), so that the updated configuration result can meet the DSL rules of each network device.

[0110] 103. The network configuration device outputs the configuration results through a visual interface.

[0111] The network configuration device obtains and outputs a visual interface based on the configuration generation request and configuration result. This visual interface includes a first area and a second area. The first area displays the configuration result, and the second area is used for user input of information used to obtain the configuration generation request.

[0112] For example, please refer to Figure 10, which is a schematic diagram of a visualization interface. In the scenario illustrated in Figure 10, the user inputs a configuration generation request through the second area of ​​the visualization interface. This configuration generation request is used to generate or update the network configuration parameters of the network device. In the example of Figure 10, the first information in the configuration generation request includes keywords for multiple network configuration parameters such as "device name (sysname)," "super password," "clock timezone," "clock datetime," "management interface," and "IP address." The second information in the configuration generation request includes the values ​​of these network configuration parameters. The network configuration device obtains a configuration template for these network configuration parameters based on the aforementioned keywords and uses the obtained configuration template and the values ​​of the network configuration parameters as input to a language model to obtain the configuration result illustrated in Figure 10. The network configuration device displays the configuration result obtained based on the configuration generation request in the first area of ​​the visualization interface. The entire network configuration process can be automated, resulting in high execution efficiency.

[0113] For example, please refer to Figure 11, which is another schematic diagram of the visualization interface. In the scenario illustrated in Figure 11, the user inputs a configuration generation request through the second area of ​​the visualization interface. This configuration generation request is used to generate or update the network configuration parameters of the network device. In the existing network configuration scheme shown in Figure 1, it is difficult for users to become familiar with the configuration operations corresponding to each network configuration parameter and the navigation between multiple operation pages, resulting in low efficiency in network configuration. In the network configuration method of this application embodiment, the user inputs a configuration generation request as shown in Figure 11 through the second area of ​​the visualization interface. This configuration generation request describes "Please design the network configuration of the router". This configuration generation request does not describe a specific network configuration parameter that needs to be configured and the value of that network configuration parameter. Therefore, the keywords of this configuration generation request may be "router" and "network configuration". Therefore, the network configuration device obtains a configuration template that matches these keywords, for example, a general, default router configuration template, and sets the default configuration parameter values. The network configuration device uses the configuration template and the default configuration parameter values ​​as input to a language model to obtain the configuration result illustrated in Figure 11. The network configuration device outputs and displays the configuration results in the first area of ​​the visual interface, allowing users to easily understand and check the results. The entire network configuration process can be automated, resulting in high execution efficiency.

[0114] For example, please refer to Figure 12, which is another schematic diagram of the visualization interface. In the scenario illustrated in Figure 12, the user needs to configure multiple network configuration features in batches. For instance, if the user needs to add 10 interfaces, each with 10 network configurations, and each interface requires 10 operation events, then the user's network configuration needs will require a total of 1000 operation events. In the communication method of this application embodiment, the user inputs a configuration generation request as shown in Figure 12 through the second area of ​​the visualization interface. This configuration generation request expresses the above network configuration requirements in natural language, namely, the configuration generation request is "Please copy 10 interfaces according to the above interface features, name the XX field of the interface in the manner of number + 1, and generate the corresponding configuration." Then the network configuration device obtains the configuration template associated with the interface feature indicated by the configuration generation request, and uses the naming method indicated by the configuration generation request as the configuration parameter value of the interface. The network configuration device uses the above configuration template and configuration parameter value as input to the language model to obtain the configuration result illustrated in Figure 12. The network configuration device outputs the configuration results and displays them in the first area of ​​the visualization interface, allowing users to understand and check the configuration results. Thus, the controller automatically executes multiple repetitive operation events in batches, greatly improving the efficiency of network configuration.

[0115] For example, please refer to Figure 13, which is another schematic diagram of the visualization interface. In the scenario illustrated in Figure 13, the user inputs a configuration generation request (e.g., "Please configure a small network") through the second area of ​​the visualization interface. In this example, the keyword in the configuration generation request is "small network," so the network configuration device retrieves the configuration template for the small network and sets the default configuration parameter values. The network configuration device uses the configuration template and the default configuration parameter values ​​as input to the language model to obtain the configuration result illustrated in Figure 13. The network configuration device outputs the obtained configuration result and displays it in the first area of ​​the visualization interface, allowing the user to understand and check the configuration result.

[0116] 104. The network configuration device receives feedback information from users through a visual interface.

[0117] The network configuration device receives feedback from the user through a visual interface, which may be an update command or a confirmation response.

[0118] As shown above, the first area of ​​the network configuration device's visual interface displays the configuration result. Users can view and check the configuration result through this first area, and they can also update the configuration result displayed there. Specifically, users issue an update command through the visual interface, which updates the configuration result displayed there. Upon receiving the update command, the network configuration device updates the configuration result according to its instructions. This allows users to further verify and correct the configuration result, improving its accuracy.

[0119] In one possible implementation, the visualization interface includes a third area for user confirmation of the configuration result. For example, the third area of ​​the visualization interface may include an "approve" button or a "modify" button. After the user confirms that the configuration result displayed in the first area of ​​the current visualization interface is correct, the user can issue a confirmation response through the third area of ​​the visualization interface (e.g., the user clicks the "approve" button). This confirmation response indicates that the configuration result has been confirmed by the user. Upon receiving the confirmation response, the network configuration device converts the configuration result into configuration information and sends the configuration information to the network device (i.e., executes step 106). This avoids erroneous configuration results being sent to and executed by the network device.

[0120] 105. The controller sends configuration information to the network devices.

[0121] Upon receiving the confirmation response, the network configuration device converts the configuration result into configuration information and sends the configuration information to the network device. Upon receiving the configuration information, the network device executes it to complete the generation or updating of network configuration parameters.

[0122] In one possible implementation, the number of network devices is N, where N is an integer greater than 1. That is, a configuration generation request can be used to configure the network for N network devices, and the configuration information generated by the network configuration device can be sent to N network devices. The configuration information received by the N network devices can be the same, or different, or different. Each network device updates its network configuration parameters based on the configuration information it receives, thereby achieving batch generation or batch updating of network configuration parameters for N network devices, improving the efficiency of network configuration.

[0123] To better implement the solutions of this application embodiment, multiple functional modules can be deployed in the network configuration device. These multiple functional modules work together to achieve at least one of the steps 101 to 105 described above. Please refer to Figure 14, which is a possible structural diagram of the network configuration device in this application embodiment. In the scenario illustrated in Figure 14, the network configuration device includes multiple functional modules such as a language model, a model retrieval module, a configuration verification module, and a visualization interface. Please refer to Figure 15, which is a schematic diagram of the processing flow of multiple functional modules in the controller. As shown in Figure 15, the processing flow of multiple functional modules in the controller includes, but is not limited to, steps 201 to 206.

[0124] 201. The user inputs a configuration generation request to the network configuration device, which is then input into the language model of the network configuration device. For details, please refer to the description of step 101 above, which will not be repeated here.

[0125] 202. The model retrieval module obtains the configuration model corresponding to the configuration generation request. The configuration generation request includes first information used to determine the configuration model. Therefore, the network configuration device can obtain the configuration model matching the first information based on the first information index. This configuration model describes the data structure of the network configuration parameters requested by the configuration generation request.

[0126] 203. Input the configuration generation request and configuration model into the language model to obtain the configuration result. For the specific process of step 203, please refer to the description of step 102 above, which will not be repeated here.

[0127] 204. The configuration verification module verifies the configuration results based on the constraints regarding configuration syntax or semantics included in the configuration model. Specifically, after the language model generates the configuration results, the network configuration device compares the configuration results with the configuration model. If it finds that the configuration results do not meet the constraints of the data structure described by the configuration model, the configuration results can be modified so that the modified configuration results can meet the constraints of the configuration model, thereby improving the correctness of the configuration results.

[0128] Optionally, if the configuration generation request is used to update multiple network configuration parameters, the network configuration device needs to generate corresponding configuration results for each network configuration parameter. Therefore, the network configuration device repeatedly executes steps 203 to 204 for each network configuration parameter until the configuration results for each network configuration parameter are obtained.

[0129] 205. Display the verified configuration results in the visual interface. For details, please refer to the description of step 103 above, which will not be repeated here.

[0130] 206. If the user confirms the configuration results displayed in the visual interface, the network configuration device will convert the configuration results into configuration information and then send the configuration information to the network device. For details, please refer to the descriptions of steps 104 and 105 above, which will not be repeated here.

[0131] This application also provides related apparatus for implementing the above-described solution. Specifically, please refer to Figure 16, which is a schematic diagram of a network configuration apparatus provided in this application embodiment. The network configuration apparatus in Figure 16 may be a chip, chip system, or processor for supporting the network configuration apparatus in implementing the method; or, the network configuration apparatus may be a logical node, logical module, or software for implementing all or part of the functions of the network configuration apparatus. As shown in Figure 16, the network configuration apparatus includes:

[0132] The acquisition unit 301 is used to acquire the configuration generation request, which includes intent information written in natural language.

[0133] The processing unit 302 is used to generate a request and a language model based on the configuration, and obtain a configuration result that matches the information including the intent. The configuration result is a configuration that corresponds to the information including the intent and is expressed in a preset language.

[0134] The processing unit 302 is used to output the configuration results.

[0135] In one possible design, information including intent is used to describe configuration functionality, configuration operations, or configuration scenarios.

[0136] In one possible design, unit 301 is specifically used for:

[0137] Receives command lines input by the user through the interface; these command lines describe the configuration generation request.

[0138] It receives statements input by the user through the interface, which describe the configuration generation request.

[0139] In one possible design, the processing unit 302 is specifically used for:

[0140] A task list is obtained based on information including intent, and the task list includes at least one task.

[0141] Based on the task list and language model, the configuration results are obtained.

[0142] In one possible design, the task list includes generating configuration tasks, including intent information including first information for determining the configuration model and second information for obtaining configuration parameters. The processing unit 302 is specifically used for:

[0143] The configuration parameters obtained based on the second information and the configuration model obtained based on the first information are used as inputs to the language model to obtain the configuration result. The configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

[0144] In one possible design, the task list includes a model retrieval task and a configuration generation task, including intent information including first information for determining the configuration model and second information for obtaining configuration parameters. The processing unit 302 is specifically used for:

[0145] The configuration model is obtained by indexing the vector database with the first information. The configuration model is represented by a set of vectors in the vector database.

[0146] The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as input to the language model to obtain the configuration result. The configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

[0147] In one possible design, the task list includes a retrieval module task, a configuration generation task, and a configuration verification task. The intent information includes first information for determining the configuration model and second information for obtaining configuration parameters. The processing unit 302 is specifically used for:

[0148] The configuration model is obtained by indexing the vector database with the first information.

[0149] The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as input to the language model to obtain the configuration result. The configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

[0150] The configuration results are validated based on the configuration model, including constraints on configuration syntax or configuration semantics.

[0151] In one possible design, the output configuration results include:

[0152] Based on the configuration generation request and configuration results, a visualization interface is output. The visualization interface includes a first area for displaying the configuration results and a second area for inputting the configuration generation request.

[0153] In one possible design, the visual interface also includes a third area for confirming the configuration results, and the processing unit 302 is further used for:

[0154] Obtain configuration confirmation response based on the third region;

[0155] The configuration results are converted into configuration information and sent to the network device.

[0156] In one possible design,

[0157] If the configuration model is the next-generation data modeling YANG data model, then the configuration result is an expression in the form of a data structure.

[0158] If the configuration model is a command-line interface (CLI) data model, the configuration result is expressed in text form.

[0159] It should be noted that the information interaction and execution process between the modules / units in the network configuration device are based on the same concept as the method embodiments corresponding to Figure 5 or Figure 15 in this application. For details, please refer to the description in the method embodiments shown above in this application, which will not be repeated here.

[0160] Please refer to Figure 17, which is a schematic diagram of the logical structure of a network configuration device 40 provided in an embodiment of this application. The network configuration device in Figure 17 can be the network configuration device described in the embodiment corresponding to Figure 16, used to implement the functions implemented by the network configuration device in the embodiment corresponding to Figure 5 or Figure 15. The network configuration device 40 includes: a memory 401, a processor 402, a communication interface 403, and a bus 404. The memory 401, processor 402, and communication interface 403 are interconnected via the bus 404.

[0161] The memory 401 can be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 401 can store programs. When the program stored in the memory 401 is executed by the processor 402, the processor 402 and the communication interface 403 are used to execute steps 101-105 of the above-described network configuration method embodiment.

[0162] Processor 402 may be a central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), graphics processing unit (GPU), digital signal processing (DSP), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or any combination thereof, used to execute relevant programs to implement one or more steps in steps 101-105 of the network configuration method embodiment in this application. The steps of the data processing method disclosed in conjunction with the embodiments of this application can be executed by a compiler and executor, wherein the compiler and executor can be executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory 401. Processor 402 reads information from memory 401 and, in conjunction with its hardware, executes one or more steps in steps 101-105 of the network configuration method embodiment in this application.

[0163] The communication interface 403 uses transceiver devices, such as, but not limited to, transceivers, to enable communication between the network configuration device 40 and other devices or communication networks.

[0164] Bus 404 enables the transmission of information between various components of network configuration device 40 (e.g., memory 401, processor 402, and communication interface 403). Bus 404 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is used in Figure 17, but this does not indicate that there is only one bus or one type of bus.

[0165] It should be noted that the information interaction and execution process between the modules / units in the network configuration device 40 are based on the same concept as the method embodiment corresponding to Figure 5 or Figure 15. For details, please refer to the description in the method embodiment shown above in this application, which will not be repeated here.

[0166] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computer device, it causes the at least one computer device to perform the method described in the embodiments shown in FIG5 or FIG15 above.

[0167] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform the methods described above for performing the embodiments shown in FIG. 5 or FIG. 15.

[0168] The communication device provided in this application embodiment can specifically be a chip, which includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip to execute the method described in the embodiment shown in FIG5 or FIG15. Optionally, the storage unit is a storage unit within the chip, such as a register or cache. The storage unit can also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, such as random access memory (RAM).

[0169] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0170] Through the above description of the embodiments, those skilled in the art can clearly understand that the embodiments of this application can be implemented by means of software plus necessary general-purpose hardware, or by special-purpose hardware including dedicated integrated circuits, dedicated CPUs, dedicated memory, dedicated components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can be diverse, such as analog circuits, digital circuits, or dedicated circuits. However, for the embodiments of this application, software program implementation is more often a better implementation method. Based on this understanding, the technical solution of the embodiments of this application, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0171] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0172] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

[0173] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.

Claims

1. A network configuration method, characterized in that, include: Obtain a configuration generation request, which includes intent information written in natural language; Based on the configuration, a request and language model are generated to obtain a configuration result that matches the information including the intent. The configuration result is a configuration that corresponds to the information including the intent and is expressed in a preset language. Output the configuration result.

2. The method according to claim 1, characterized in that, The information including intent is used to describe configuration functions, configuration operations, or configuration scenarios.

3. The method according to claim 1 or 2, characterized in that, The configuration generation request includes: Receive a command line input by the user through the interface, the command line being used to describe the configuration generation request; or Receive statements input by the user through the interface, the statements being used to describe the configuration generation request.

4. The method according to any one of claims 1 to 3, characterized in that, The step of generating a request and language model based on the configuration, and obtaining a configuration result that matches the information including the intent, includes: A task list is obtained based on the information including intent, the task list including at least one task; The configuration result is obtained based on the task list and the language model.

5. The method according to claim 4, characterized in that, The task list includes generating configuration tasks, and the information including intent includes first information for determining the configuration model and second information for obtaining configuration parameters. Obtaining the configuration result based on the task list and the language model includes: The configuration parameters obtained based on the second information and the configuration model obtained based on the first information are used as inputs to the language model to obtain the configuration result, which is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

6. The method according to claim 4, characterized in that, The task list includes a model retrieval task and a configuration generation task. The information including intent includes first information for determining the configuration model and second information for obtaining configuration parameters. Obtaining the configuration result based on the task list and the language model includes: The configuration model is obtained by indexing the vector database with the first information, and the configuration model is expressed as a vector set in the vector database. The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as inputs to the language model to obtain the configuration result, which is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

7. The method according to claim 4, characterized in that, The task list includes a retrieval module task, a configuration generation task, and a configuration verification task. The information including intent includes first information for determining the configuration model and second information for obtaining configuration parameters. Obtaining the configuration result based on the task list and the language model includes: The configuration model is obtained by indexing the vector database with the first information; The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as inputs to the language model to obtain the configuration result, wherein the configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model. The configuration results are validated based on the constraints of the configuration model, including those related to configuration syntax or configuration semantics.

8. The method according to any one of claims 1 to 7, characterized in that, The output of the configuration result includes: Based on the configuration generation request and the configuration result, a visualization interface is output. The visualization interface includes a first area for displaying the configuration result and a second area for inputting the configuration generation request.

9. The method according to claim 8, characterized in that, The visualization interface also includes a third area for confirming the configuration results, and the method further includes: Obtain a configuration confirmation response based on the third region; The configuration results are converted into configuration information and sent to the network device.

10. The method according to any one of claims 5 to 7, characterized in that, If the configuration model is the next-generation data modeling YANG data model, then the configuration result is an expression in the form of a data structure. If the configuration model is a command-line interface (CLI) data model, then the configuration result is expressed in text form.

11. A network configuration device, characterized in that, include: The acquisition unit is used to acquire a configuration generation request, wherein the configuration generation request is based on information including intent written in natural language; A processing unit is configured to generate a request and a language model based on the configuration, and obtain a configuration result that matches the information including the intent, wherein the configuration result is a configuration corresponding to the information including the intent expressed in a preset language; The processing unit is also used to output the configuration result.

12. The network configuration apparatus according to claim 11, characterized in that, The information including intent is used to describe configuration functions, configuration operations, or configuration scenarios.

13. The network configuration apparatus according to claim 11 or 12, characterized in that, The acquisition unit is specifically used for: Receive a command line input by the user through the interface, the command line being used to describe the configuration generation request; or Receive statements input by the user through the interface, the statements being used to describe the configuration generation request.

14. The network configuration apparatus according to any one of claims 11 to 13, characterized in that, The processing unit is specifically used for: A task list is obtained based on the information including intent, the task list including at least one task; The configuration result is obtained based on the task list and the language model.

15. The network configuration apparatus according to claim 14, characterized in that, The task list includes generating configuration tasks, and the information including intent includes first information for determining the configuration model and second information for obtaining configuration parameters. The processing unit is specifically used for: The configuration parameters obtained based on the second information and the configuration model obtained based on the first information are used as inputs to the language model to obtain the configuration result, which is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

16. The network configuration apparatus according to claim 14, characterized in that, The task list includes a model retrieval task and a configuration generation task. The information including intent includes first information for determining the configuration model and second information for obtaining configuration parameters. The processing unit is specifically used for: The configuration model is obtained by indexing the vector database with the first information, and the configuration model is expressed as a vector set in the vector database. The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as inputs to the language model to obtain the configuration result, which is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model.

17. The network configuration apparatus according to claim 14, characterized in that, The task list includes retrieval module tasks, configuration generation tasks, and configuration verification tasks. The information including intent includes first information for determining the configuration model and second information for obtaining configuration parameters. The processing unit is specifically used for: The configuration model is obtained by indexing the vector database with the first information; The configuration parameters obtained based on the second information and the configuration model determined based on the first information are used as inputs to the language model to obtain the configuration result, wherein the configuration result is either adding the configuration parameters to the data structure obtained by the configuration model or adding the configuration parameters to the text obtained by the configuration model. The configuration results are validated based on the constraints of the configuration model, including those related to configuration syntax or configuration semantics.

18. The network configuration apparatus according to any one of claims 11 to 17, characterized in that, The output of the configuration result includes: Based on the configuration generation request and the configuration result, a visualization interface is output. The visualization interface includes a first area for displaying the configuration result and a second area for inputting the configuration generation request.

19. The network configuration apparatus according to claim 18, characterized in that, The visualization interface also includes a third area for confirming the configuration result, and the processing unit is further configured to: Obtain a configuration confirmation response based on the third region; The configuration results are converted into configuration information and sent to the network device.

20. The network configuration apparatus according to any one of claims 15 to 17, characterized in that, If the configuration model is the next-generation data modeling YANG data model, then the configuration result is an expression in the form of a data structure. If the configuration model is a command-line interface (CLI) data model, then the configuration result is expressed in text form.

Citation Information

Patent Citations

  • Configuration method of man-machine conversation system, multi-round conversation configuration platform and electronic device

    CN111611357A

  • Network opening configuration method and device

    CN115550169A

  • Network configuration command generation system and method based on natural language

    CN116545854A

  • Method, system and device for generating intent network based on GPT

    CN117857354A

Cited By

  • Network configuration data issuing method, electronic equipment and computer program product

    CN122053387A