WO2024253927A1 - Artificial intelligence for intent-based networking - Google Patents
Artificial intelligence for intent-based networking Download PDFInfo
- Publication number
- WO2024253927A1 WO2024253927A1 PCT/US2024/031524 US2024031524W WO2024253927A1 WO 2024253927 A1 WO2024253927 A1 WO 2024253927A1 US 2024031524 W US2024031524 W US 2024031524W WO 2024253927 A1 WO2024253927 A1 WO 2024253927A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network configuration
- network
- user
- configuration
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
Definitions
- Network management is a laborious and error-prone process.
- each network element has a separate configuration that controls operation of the network element.
- the differences between the configurations may significantly impact network operation.
- network configurations are often expressed in a configuration language or in code that requires domain expertise to understand. For example, network configurations may rely on detailed syntax rules.
- LLM Large Language Model
- LLM is a term that refers to artificial intelligence or machinelearning models that can generate natural language texts from large amounts of data.
- Large language models use deep neural networks, such as transformers, to learn from billions or trillions of words, and to produce texts on any topic or domain.
- Large language models can also perform various natural language tasks, such as classification, summarization, translation, generation, and dialogue. Accordingly, a LLM may have potential for assisting in network management. LLMs, however, are also prone to various errors.
- the techniques described herein relate to an apparatus including: one or more memories storing computer executable instructions; and one or more processors coupled with the one or more memories and, individually or in combination, configured to: receive, at an interface between a user and a large language model, a natural language intent for a network configuration; request the large language model to update the network configuration to an updated network configuration that satisfies the natural language intent in a declarative network configuration language; verify whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language to detect an error; request the large language model to update the updated network configuration to correct the error; and deploy the updated network configuration to a user network.
- the techniques described herein relate to a method including: receiving, at an interface between a user and a large language model, a natural language intent for a network configuration; requesting the large language model to update the network configuration to an updated network configuration that satisfies the natural language intent in a declarative network configuration language; verifying whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language to detect an error; requesting the large language model to update the updated network configuration to correct the error; and deploying the updated network configuration to a user network.
- the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims.
- the following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed, and this description is intended to include all such aspects and their equivalents.
- FIG. 1 is a diagram of an example of an architecture for a system to generate a network configuration by applying a user intent to a large language model (LLM), in accordance with aspects described herein.
- LLM large language model
- Figure 2 is a conceptual diagram illustrating a technique for reducing a size of input to the LLM, in accordance with aspects described herein.
- Figure 3 is a schematic diagram of an example of an apparatus (e.g., a computing device) for generating network configurations using a LLM, in accordance with aspects described herein.
- Figure 4 is a flow diagram of an example of a method for generating a network configuration using a LLM, in accordance with aspects described herein.
- FIG. 5 is a flow diagram of an example of a method for reducing a size of input to the LLM, in accordance with aspects described herein.
- Figure 6 is a flow diagram of an example of a method for correcting errors indicating a failed network deployment, in accordance with aspects described herein.
- Figure 7 is a schematic diagram of an example of a device for performing functions of generating a network configuration using a LLM, in accordance with aspects described herein.
- This disclosure describes various examples related to intent-based networking using a large language model (LLM) to generate a network configuration. Due to the laborious and error- prone nature of network configuration, automation via computerized tools has been proposed for network configuration.
- Intent-based networking (IBN) refers to techniques to realize high-level policies expressed in natural language. IBN, however, faces technical challenges in implementation in computer systems. In particular, computer systems have conventionally had difficulty comprehending natural language intents and translating intents into low-level network configurations.
- large language models include a Generalized Pre-trained Transformer (GPT) model.
- GPT Generalized Pre-trained Transformer
- a GPT model may include millions or billions of parameters trained on vast amounts of data (e.g., gigabytes or terabytes of text).
- a GPT model is a type of neural network that uses a transformer architecture to learn from large amounts of text data.
- a GPT model is capable of analyzing the syntax and context of a natural language intent, for example, based on embeddings of tokens within the natural language intent.
- a GPT model may have included network configurations in the training corpus, or may be further trained based on existing network configurations.
- LLM models known as GPT 3.5 and above from OpenAI have been able to generate text that is close to a declarative network configuration language such as Terraform when prompted with a natural language intent for network configuration.
- the present application discloses an interface for generating network configurations using a LLM that also performs safety checks and corrects errors in the network configuration.
- the interface may be an application that modifies and supplements natural language intents provided by a user and interactively corrects errors in a network configuration.
- the network configuration may be generated in a declarative network configuration language that allows verification of syntax and identification of errors.
- the interface can provide the errors back to the LLM for correction.
- the user remains in the loop for error correction and approves the network configuration prior to deployment.
- the interface may generate a network configuration that is at least as safe as a human generated network configuration.
- the interface may leverage a network verifier to perform additional user-specified checks on a network deployment.
- the network verifier may perform reachability checks on a deployed network and provide helpful error messages when the reachability checks fail. The user may then provide a new intent to update the network configuration to resolve the failed checks.
- Implementations of the present disclosure may realize one or more of the following technical effects.
- Feedback of error messages from a network configuration verifier to a large language model allows semi-automated correction of errors in network configurations generated by an LLM while keeping a human user in the loop to monitor configuration changes.
- Embedding based retrieval to select resource blocks to provide to the LLM when network configuration size exceeds prompt token limit allows network configuration size to exceed the token limit of the LLM by identifying the most relevant resource blocks to update based on the user intent. That is, the size of the network configuration is not constrained by the token limit of the LLM. Verification of network deployment according to user specified checks ensures that the deployed network is operating as intended.
- FIG. 1-7 examples are depicted with reference to one or more components and one or more methods that may perform the actions or operations described herein, where components and/or actions/operations in dashed line may be optional.
- the operations described below in Figures 4-6 are presented in a particular order and/or as being performed by an example component, the ordering of the actions and the components performing the actions may be varied, in some examples, depending on the implementation.
- one or more of the actions, functions, and/or described components may be performed by a specially-programmed processor, a processor executing specially-programmed software or computer-readable media, or by any other combination of a hardware component and/or a software component capable of performing the described actions or functions.
- FIG. 1 is a conceptual diagram 100 of an example of an architecture for a system 120 to generate a network configuration based on an intent 112 from a user 105.
- the system 120 may be, for example, a cloud network including computing resources that are controlled by a network operator and accessible to public clients such as a user device 110 operated by the user 105.
- the system 120 may include a plurality of datacenters 122 that include computing resources such as computer memory and processors.
- the datacenters 122 may host a compute service that provides computing nodes on computing resources located in the datacenter.
- the computing nodes may be containerized execution environments with allocated computing resources.
- the computing nodes may be virtual machines (VMs), process-isolated containers, or kernel-isolated containers.
- VMs virtual machines
- process-isolated containers or kernel-isolated containers.
- the nodes may be instantiated at a datacenter 122 and imaged with software (e.g., operating system and applications for a service).
- the system 120 may include edge routers that connect the datacenters 122 to external networks such as internet service providers (ISPs) or other autonomous systems (ASes) that form the Internet.
- ISPs internet service providers
- ASes autonomous systems
- the system 120 may provide a large language model (LLM) 150 that is configured to receive a natural language prompt and output a response.
- LLM 150 may be a specific instance or version of a LLM artificial intelligence that has been trained and fine -tuned on a large corpus of text.
- the LLM 150 may be a Generalized Pre-trained Transformer (GPT) model.
- GPT Generalized Pre-trained Transformer
- a GPT model may include millions or billions of parameters trained on vast amounts of data (e.g., gigabytes or terabytes of text).
- GPT model is a type of neural network that uses a transformer architecture to learn from large amounts of text data.
- the model has two main components: an encoder and a decoder.
- the encoder processes the input text and converts it into a sequence of vectors, called embeddings, that represent the meaning and context of each word.
- the decoder generates the output text by predicting the next word in the sequence, based on the embeddings and the previous words.
- the model uses a technique called attention to focus on the most relevant parts of the input and output texts, and to capture long-range dependencies and relationships between words.
- the model is trained by using a large corpus of texts as both the input and the output, and by minimizing the difference between the predicted and the actual words.
- the model can then be fine-tuned or adapted to specific tasks or domains, by using smaller and more specialized datasets.
- the GPT model versions 3.5 and above from OpenAI may be suitable without further training.
- a model may be further finetuned based on network configurations in a selected declarative network configuration language.
- the LLM 150 may provide an application programming interface (API) that allows other applications to interact with the LLM 150.
- API application programming interface
- the API may allow a user or application to provide a prompt to the LLM 150.
- Prompts are the inputs or queries that a user or a program gives to an LLM Al, in order to elicit a specific response from the model.
- Prompts can be natural language sentences or questions, or code snippets or commands, or any combination of text or code, depending on the domain and the task.
- Prompts can also be nested or chained, meaning that the output of one prompt can be used as the input of another prompt, creating more complex and dynamic interactions with the model.
- An intent-based networking (IBN) configuration application 130 may be an application that interfaces between the LLM 150 and user 105 to generate network configurations for a user network 160.
- the IBN configuration application 130 may provide a graphical user interface on the user device 110 for the user 105.
- the IBN configuration application 130 may receive an intent 112 from the user 105.
- the intent 112 may be expressed in natural language.
- the IBN configuration application 130 may supplement or revise the intent 112 in order to generate a network configuration that satisfies the intent 112.
- the IBN configuration application 130 may supplement the natural language intent 112 with an existing network configuration 162 to form a request 142.
- the IBN application provides the request 142 (e.g., intent + configuration) to the LLM to generate an updated configuration 144 for a user network 160.
- the IBN configuration application 130 may be a chat application that stores previous prompts, answers, and context within a session.
- the stored information for a session may be used to supplement additional natural language intents 112 from the user 105.
- the IBN configuration application 130 is configured to verify a network configuration generated by the LLM 150. The verification may occur at several levels. First, the IBN configuration application 130 may verify a syntax of the network configuration based on the declarative network configuration language. Second, the IBN configuration application 130 may include user verification of a network deployment plan based on the network configuration prior to deploying the network configuration. Third, a system on which the network configuration is to be deployed may further verify the validity of the network configuration during deployment. Fourth, after deployment, the IBN configuration application 130 may execute a network verifier to verify whether the deployed network satisfies user specified checks. After any of the verifications, the IBN configuration application 130 may update the intent 112 automatically or with user input to further update the network configuration.
- the IBN configuration application 130 includes an intent component 132, an update component 134, a verification component 136, and a deployment component 138.
- the IBN configuration application 130 may optionally include a network verifier 140.
- the intent component 132 is configured to receive, at an interface between a user and a large language model, a natural language intent 112 for a network configuration.
- the update component 134 is configured to request the LLM 150 to update the network configuration to an updated network configuration 144 that satisfies the natural language intent 112 in a declarative network configuration language.
- the verification component 136 is configured to verify whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language to detect an error.
- the update component 134 is also configured to request the LLM 150 to update the updated network configuration 144 to correct the error.
- the deployment component 138 is configured to deploy the final network configuration 148 on the user network 160.
- the user network 160 may include any network with configuration-based management, for example, using a declarative network configuration language.
- the user network 160 may be a virtual network implemented on a cloud network.
- the deployment component 138 may provide the final network configuration 148 to an interface of the cloud provider to deploy the final network configuration 148 as a virtual network on the cloud network.
- Other configuration-based network deployments are possible.
- the user network 160 may be a virtual network or a physical network.
- the resources or entities 164 for the user network 160 may be located on the cloud, edge, or other platforms.
- the user network 160 may be for general infrastructure or cluster management.
- the IBN configuration application 130 includes the network verifier 140.
- the network verifier 140 is configured to verify whether the virtual network deployment satisfies user specified checks.
- the network verifier 140 may be configured to transmit packets between entities 164 in the user network 160 to verify reachability of the entities 164.
- the user-specified checks are created or selected by the user 105, for example, as JavaScript object notation (JSON) files.
- the IBN configuration application 130 may request the large language model to generate the user specified checks based on the natural language intent 112. Because the network configuration and the checks for the network verifier 140 differ in format, LLM generated checks may be useful to check for consistency in interpretation of the intent 112.
- the IBN configuration application 130 includes a user interface 152 for communication with the user device 110.
- the user interface 152 may be a web application, command line interface, or graphical user interface.
- the user interface 152 may receive the intent 112 from the user 105 via the user device 110.
- the verification component 136 detects an error in the updated configuration 144
- the user interface 152 may output the error 114 to the user 105 via the user device 110.
- the error 114 may indicate a category such as “Reference to undeclared resource” or “Invalid block definition.”
- the error 114 may also indicate a portion of the updated configuration 144 including the error, for example, a copy of the line that triggered the error 114.
- the error 114 may also include a syntax rale that triggered the error.
- the user interface 152 may allow the user 105 to choose between a) sending the error 114 to the LLM 150 as feedback 116, b) aborting the update to the network configuration, or c) providing additional or alternative feedback 116.
- the update component 134 may receive the choice from the user 105 and send the request 146 to further update the updated configuration 144 based on the error 1 14 and/or feedback 116.
- the IBN configuration application 130 may iteratively verify the updated network configuration 144 and request the large language model to further update the network configuration based on any errors until the updated network configuration satisfies the configuration syntax of the declarative network configuration language.
- the verification component 136 may receive the updated configuration 144 and report errors 114 to the user 105, and the update component may generate the request 146 based on the error 114 and any received feedback 116.
- the verification component 136 may provide the final network configuration 148 to the deployment component 138.
- the user network 160 may provide an error in the case of a failed deployment. For instance, although the syntax of the final network configuration 148 may be correct, the user network 160 may not implement the final network configuration 148. For instance, the user network 160 may lack physical resources indicated in the final network configuration 148, or the final network configuration 148 may violate a policy of the user network 160 (e.g., if implemented on a cloud network).
- the user network 160 may provide an informative error message regarding a failed deployment. In an aspect, the informative error message may be similar to the error 114, and the IBN configuration application 130 may request user feedback and further update the configuration. Alternatively, a failed network deployment may require the user 105 to provide a new intent 112.
- the network verifier 140 may verify whether the network deployment satisfies user specified checks. That is, after the configuration 162 is deployed on the user network 160, the network verifier 140 may perform one or more checks. For example, the checks may include reachability checks to determine whether network entities 164 are reachable from various locations (e.g., other entities) or using specified ports or protocols. The network verifier 140 may generate verification failure messages, for example, indicating which user specified checks failed. Similar to the network deployment error messages, the IBN configuration application 130 may update the network configuration based on the verification failure messages, or may request a new intent from the user 105.
- the checks may include reachability checks to determine whether network entities 164 are reachable from various locations (e.g., other entities) or using specified ports or protocols.
- the network verifier 140 may generate verification failure messages, for example, indicating which user specified checks failed. Similar to the network deployment error messages, the IBN configuration application 130 may update the network configuration based on the verification failure messages, or may request a new intent from the user 105.
- FIG. 2 is a conceptual diagram 200 illustrating a technique for reducing a size of input to the LLM 150.
- the LLM 150 may have a token limit that defines a maximum size of input to the LLM 150.
- the token limit may be on the order of thousands of tokens.
- a complex network configuration may exceed the token limit of the LLM 150.
- the request 142 including the intent and the configuration or the request 146 including the request, errors, feedback, and configuration may be too large for the LLM 150 to process.
- the IBN configuration application 130 may select a subset of resource blocks of a configuration 162 or updated configuration 144 that are most relevant to the intent 112 to reduce the size of the prompt below the token limit.
- the IBN configuration application 130 may generate a numerical embedding of the intent 112 as an intent embedding 222.
- the numerical embedding may be a vector of numerical values representing the context of the intent 112.
- the IBN configuration application 130 may generate a numerical embedding of each resource block 210 of the configuration 162 as resource block embeddings 220 (e.g., embeddings 220a, 220b, 220c).
- the embeddings 220 may be generated using the same algorithm as the intent embedding.
- the embeddings 220 may each be a vector of numerical values representing the context of the resource blocks.
- the IBN configuration application 130 may compare the resource block embeddings 220 to the intent embedding 222 to determine a block distance 230 for each of the resource blocks 210. The IBN configuration application 130 may then rank the resource blocks 210 based on the block distance 230 of the resource block embeddings 220 for each resource block 210. For example, the block distance 230b for the resource block 210b may be the smallest, indicating that the resource block 210b is closest to the intent 112 in context. The block distance 230c may be the next closest, and the block distance 230a may be the furthest. The IBN configuration application 130 may select a number of top ranked resource blocks 210 with a size less than the maximum input size of the LLM 150.
- the IBN configuration application 130 may select the subset of blocks including resource blocks 210b and 210c. Accordingly, a request 142 including the selected subset of resource blocks and the intent 112 (and or error 114 or feedback 116) may have a size less than the token limit of the LLM 150.
- the apparatus 300 includes one or more processors 302 and one or more memories 304, individually or in combination, configured to execute or store instructions or other parameters related to providing an operating system 306, which can execute one or more applications or processes, such as, but not limited to, the IBN configuration application 130.
- processors 302 and memory/memories 304 may be separate components communicatively coupled by a bus (e.g., on a motherboard or other portion of a computing device, on an integrated circuit, such as a system on a chip (SoC), etc.), components integrated within one another (e.g., a processor 302 can include the memory 304 as an on-board component), and/or the like.
- Memory 304 may store instructions, parameters, data structures, etc.
- the memory 304 includes a database 352 for use by the IBN configuration application 130.
- the apparatus 300 includes the LLM 150, for example, as another application executing on the processors 302. Alternatively, the LLM 150 may be executed on a different device that may be accessed via an API 350.
- the IBN configuration application 130 may further include a retrieval component 310 configured to use embedding-based retrieval to select a subset of resource blocks of the network configuration to include in the request, as discussed above with respect to Figure 2
- the retrieval component 310 may: generate a numerical embedding of each resource block of the network configuration; generate a numerical embedding of the natural language intent; calculate a distance between the numerical embedding of the natural language intent and the numerical embedding of each resource block; rank the resource blocks based on the distance of the numerical embedding of each resource block; and select a number of top ranked resource blocks with a size less than the maximum input size of the large language model.
- the apparatus 300 is implemented as a distributed processing system, for example, with multiple processors 302 and memories 304 distributed across physical systems such as servers, virtual machines, or datacenters 122.
- processors 302 and memories 304 distributed across physical systems such as servers, virtual machines, or datacenters 122.
- one or more of the components of the IBN configuration application 130 may be implemented as sendees executing at different datacenters 122.
- the sen ices may communicate via an API.
- Figure 4 is a flow diagram of an example of a method 400 generating a network configuration using a large language model.
- the method 400 can be performed by the IBN configuration application 130, the apparatus 300 and/or one or more components thereof to generate a network configuration based on an intent 112 from a user 105 using the LLM 150.
- the method 400 includes receiving, at an interface between a user and a large language model, a natural language intent for a network configuration.
- the method 400 includes requesting the large language model to update the network configuration to an updated network configuration that satisfies the natural language intent in a declarative network configuration language.
- apparatus 300, processor(s) 302, memory/memories 304, IBN configuration application 130, and/or update component 134 may be configured to or may comprise means for requesting the LLM 150 to update the network configuration 162 to an updated network configuration 144 that satisfies the natural language intent 112 in a declarative network configuration language.
- the requesting at block 420 may include calling an API 350 of the LLM 150 on a prompt including the intent 112 and a current network configuration 162.
- the method 400 includes verifying whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language to detect an error.
- apparatus 300, processor(s) 302, memory/memories 304, IBN configuration application 130, and/or verification component 136 may be configured to or may comprise means for verifying whether the updated network configuration 144 satisfies a configuration syntax of the declarative network configuration language to detect an error 114.
- the verifying at block 430 may include applying a set of syntactic rules of the declarative network configuration language to the updated network configuration 144.
- the syntactic rules of the declarative network configuration language may be pre-defined.
- the method 400 includes requesting the large language model to update the updated network configuration to correct the error.
- apparatus 300, processor(s) 302, memory/memories 304, IBN configuration application 130, and/or update component 134 may be configured to or may comprise means for requesting the LLM 150 to update the updated network configuration 144 to correct the error 114.
- the verification component 136 may generate the request 146, which may include the updated configuration 144, the error 114, and/or the feedback 1 16.
- the verification component 136 may provide the request 146 as a prompt to the LLM 150.
- the addition of the error 114 and/or the feedback 116 may provide additional context that the LLM 150 can use to improve the updated configuration.
- the method 400 includes iteratively verifying the updated network configuration and requesting the large language model to further update the network configuration based on any errors until the updated network configuration satisfies the configuration syntax of the declarative network configuration language.
- the apparatus 300, processor(s) 302, memory/memories 304, IBN configuration application 130, and/or verification component 136 may be configured to repeat blocks 430, 440, and 450 until the LLM 150 returns the correct configuration 148 that does not include any errors and passes the verification based on the set of syntactic rules of the declarative network configuration language.
- the method 400 includes deploying the updated network to a user network.
- the apparatus 300, processor(s) 302, memory/memories 304, IBN configuration application 130, and/or deployment component 138 may be configured to or may comprise means for deploying the updated network to a user network.
- the deploying at block 460 may include outputting the network configuration 162 to the user network 160 and propagating the network configuration 162 to individual entities 164.
- the deployment component 138 may provide the final network configuration 148 to an interface of the cloud network.
- the block 460 may optionally include displaying a network deployment plan 118 to the user 105 prior to deploying the updated network configuration.
- the deployment component 138 may display the deployment plan 118 via the user interface 152.
- the deployment component 138 may receive approval 119 from the user 105 via the user interface 152.
- deployment of the final network configuration 148 may be unsuccessful.
- the user network 160 may return an error indicating a failed deployment. Further details of block 460 regarding such errors are described further below regarding Figure 6.
- the method 400 optionally includes verifying whether the user network satisfies user specified checks.
- the apparatus 300, processor(s) 302, memory/memories 304, IBN configuration application 130, and/or network verifier 140 may be configured to or may comprise means for verifying whether the user network satisfies user specified checks.
- the verifying at block 470 may include providing the network verifier 140 with the user-specified checks.
- the user specified checks may be JSON files.
- the user specified checks may be generated by the user, possibly following a template selected from a list.
- the block 470 may optionally include requesting the LLM 150 to generate the user specified checks based on the natural language intent 112. For instance, the JSON format for user specified checks may have been included in the training corpus for the LLM 150. or the LLM 150 may be further trained based on such checks. Accordingly, the LLM 150 may provide a template check that may require user editing.
- the block 470 may optionally include transmitting packets between entities 164 in the user network 160 to verify reachability of the entities. For instance, in a virtual network, the network verifier 140 may operate on the underlying cloud network to transmit the packets between entities 164.
- an entity 164 within the user network 160 may act as an agent of the netw ork verifier 140.
- the method 400 may return to block 410 for the user 105 to provide a new natural language intent.
- the method 400 may return to block 420 to request the LLM 150 to update the configuration based on an error generated by the netw ork verifier 140.
- the selecting at sub-block 422 of the subset of resource blocks includes generating a numerical embedding of the natural language intent.
- the retrieval component 310 may apply the same embedding algorithm to each of the resource blocks 210 of the network configuration 162 to generate the resource block embeddings 220.
- the selecting at sub-block 422 of the subset of resource blocks includes calculating a distance between the numerical embedding of the natural language intent and the numerical embedding of each resource block.
- the retrieval component 310 may apply vector subtraction to the intent embedding 222 and each of the resource block embeddings 220 to calculate the block distances 230.
- the selecting at sub-block 422 of the subset of resource blocks includes ranking the resource blocks based on the distance of the numerical embedding of each resource block.
- the retrieval component 310 may rank the resource blocks 210 based on the block distances 230 with the resource blocks 210 that are closest to the intent 112 being at the top.
- using embedding-based retrieval may identify the most relevant resource blocks 210 to include in the prompt to the LLM 150.
- the verifications in blocks 430 or 470 may identify errors caused by excluding resource blocks 210 from the request 142, 146.
- the previously excluded resource blocks may be identified by the embedding-based retrieval in subsequent requests.
- the method 600 includes requesting the large language model to update the network configuration to correct the error and prevent the failed deployment.
- the deployment component 138 may request the LLM 150 to update the network configuration to correct the error and prevent the failed deployment.
- the request may be similar to the request 146, except with the error from the user network rather than an error from the verification component 136.
- Figure 7 illustrates an example of a device 700 including additional optional component details as those shown in Figure 3.
- device 700 includes processor 702, which may be similar to processor(s) 302 for carrying out processing functions associated with one or more of components and functions described herein.
- processor 702 can include a single or multiple set of processors or multi-core processors.
- processor 702 can be implemented as an integrated processing system and/or a distributed processing system.
- Device 700 further includes memory 704. which may be similar to memory 304 such as for storing local versions of operating systems (or components thereof) and/or applications being executed by processor 702, such as the IBN configuration application 130, intent component 132, update component 134, verification component 136, deployment component 138, network verifier 140, user interface 152, retrieval component 310, etc.
- Memory 704 can include a type of memory- usable by a computer, such as random access memory' (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory', and any combination thereof.
- the processor 702 may execute instructions stored on the memory' 704 to cause the device 700 to perform the methods discussed above with respect to Figures 4-6.
- device 700 includes a communications component 706 that provides for establishing and maintaining communications with one or more other devices, parties, entities, etc. utilizing hardware, software, and services as described herein.
- Communications component 706 carries communications between components on device 700, as well as between device 700 and external devices, such as devices located across a communications network and/or devices serially' or locally connected to device 700.
- communications component 706 may include one or more buses, and may further include transmit chain components and receive chain components associated with a wireless or wired transmitter and receiver, respectively, operable for interfacing with external devices.
- device 700 may include a data store 708, which can be any suitable combination of hardware and/or software, that provides for mass storage of information, databases, and programs employed in connection with aspects described herein.
- data store 708 may be or may include a data repository for operating systems (or components thereof), applications, related parameters, etc. not currently being executed by processor 702.
- data store 708 may be a data repository for the IBN configuration application 130.
- Device 700 may optionally include a user interface component 710 operable to receive inputs from a user of device 700 and further operable to generate outputs for presentation to the user.
- User interface component 710 may include one or more input devices, including but not limited to a keyboard, a number pad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, a gesture recognition component, a depth sensor, a gaze tracking sensor, a switch/button, any other mechanism capable of receiving an input from a user, or any combination thereof.
- user interface component 710 may include one or more output devices, including but not limited to a display, a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.
- Device 700 additionally includes the IBN configuration application 130 for generating a network configuration using the LLM 150.
- processors include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
- DSPs digital signal processors
- FPGAs field programmable gate arrays
- PLDs programmable logic devices
- state machines gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
- One or more processors in the processing system may execute software.
- Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
- one or more of the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on computer-readable media.
- Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
- Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Non-transitory computer-readable media excludes transitory signals.
- An apparatus comprising: one or more memories storing computer executable instructions; and one or more processors coupled with the one or more memories and, individually or in combination, configured to: receive, at an interface between a user and a large language model, a natural language intent for a network configuration; request the large language model to update the network configuration to an updated network configuration that satisfies the natural language intent in a declarative network configuration language; verify whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language to detect an error; request the large language model to update the updated network configuration to correct the error; and deploy the updated network configuration to a user network.
- Clause 2. The apparatus of clause 1. wherein the one or more processors, individually or in combination, are further configured to verify whether the user network satisfies user specified checks.
- Clause 3 The apparatus of clause 2, wherein to verify whether the user network satisfies user specified checks, the one or more processors, individually or in combination, are further configured to transmit packets between entities in the user network to verify reachability of the entities.
- Clause 4 The apparatus of clause 2 or 3, wherein the one or more processors, individually or in combination, are further configured to request the large language model to generate the user specified checks based on the natural language intent.
- Clause 5 The apparatus of any of clauses 1-4, wherein the one or more processors, individually or in combination, are configured to iteratively verify the updated network configuration and request the large language model to further update the network configuration based on any errors until the updated network configuration satisfies the configuration syntax of the declarative network configuration language.
- Clause 6 The apparatus of any of clauses 1-5, wherein the one or more processors, individually or in combination, are configured to receive user input regarding the error, wherein the request for the large language model to update the network configuration to correct the error includes the user input.
- Clause 7 The apparatus of any of clauses 1-6, wherein a size of the network configuration exceeds a maximum input size of the large language model, wherein a request to the large language model to update the network configuration uses embedding-based retrieval to select a subset of resource blocks of the network configuration to include in the request.
- Clause 9 The apparatus of any of clauses 1-8, wherein to deploy the updated network configuration as a virtual network deployment on a cloud network platform, the one or more processors, individually or in combination, are configured to display a network deployment plan to the user prior to deploying the updated network configuration.
- Clause 10 The apparatus of any of clauses 1-9. wherein the one or more processors, individually or in combination, are configured to: receive an error from the user network indicating a failed deployment; and request the large language model to update the network configuration to correct the error and prevent the failed deployment.
- a method comprising: receiving, at an interface between a user and a large language model, a natural language intent for a network configuration; requesting the large language model to update the network configuration to an updated network configuration that satisfies the natural language intent in a declarative network configuration language; verifying whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language to detect an error; requesting the large language model to update the updated network configuration to correct the error; and deploying the updated network configuration to a user network.
- Clause 12 The method of clause 11, further comprising verifying whether the user network satisfies user specified checks.
- Clause 13 The method of clause 12, wherein verifying whether the user network satisfies user specified checks comprises transmitting packets between entities in the user network to verify reachability of the entities.
- Clause 15 The method of any of clauses 11-14, wherein the verifying whether the updated network configuration satisfies a configuration syntax of the declarative network configuration language comprises iteratively verifying the updated network configuration and requesting the large language model to further update the network configuration based on any errors until the updated network configuration satisfies the configuration syntax of the declarative network configuration language.
- Clause 16 The method of any of clauses 11-15, further comprising receiving user input regarding the error, wherein the request for the large language model to update the network configuration to correct the error includes the user input.
- Clause 17 The method of any of clauses 11-16, wherein a size of the network configuration exceeds a maximum input size of the large language model, wherein the request to the large language model to update the network configuration uses embedding-based retrieval to select a subset of resource blocks of the network configuration to include in the request.
- Clause 20 The method of any of clauses 11-19, further comprising: receiving an error from the user network indicating a failed deployment; and requesting the large language model to update the network configuration to correct the error and prevent the failed deployment.
- Clause 21 One or more non-transitory computer-readable media having stored thereon computerexecutable instructions that when executed by one or more processors, individually or in combination, cause the one or more processors to perform the method of any of clauses 11-20.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24736171.0A EP4725167A1 (en) | 2023-06-07 | 2024-05-30 | Artificial intelligence for intent-based networking |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/330,933 US11968088B1 (en) | 2023-06-07 | 2023-06-07 | Artificial intelligence for intent-based networking |
| US18/330,933 | 2023-06-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024253927A1 true WO2024253927A1 (en) | 2024-12-12 |
Family
ID=91227880
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/031524 Ceased WO2024253927A1 (en) | 2023-06-07 | 2024-05-30 | Artificial intelligence for intent-based networking |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11968088B1 (en) |
| EP (1) | EP4725167A1 (en) |
| WO (1) | WO2024253927A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120762781A (en) * | 2025-09-09 | 2025-10-10 | 济南浪潮数据技术有限公司 | Storage cluster configuration method and device, electronic device, and storage medium |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115550169B (en) * | 2021-06-29 | 2025-08-15 | 华为技术有限公司 | Network opening configuration method and device |
| US12254008B2 (en) * | 2022-06-24 | 2025-03-18 | Microsoft Technology Licensing, Llc | Responding to task prompt on declarative code using language model |
| US12475331B2 (en) | 2022-10-20 | 2025-11-18 | Microsoft Technology Licensing, Llc | Model capability extraction |
| US20240380653A1 (en) * | 2023-05-10 | 2024-11-14 | Edgio, Inc. | Network configuration using natural language |
| US20250005282A1 (en) * | 2023-06-29 | 2025-01-02 | Amazon Technologies, Inc. | Domain entity extraction for performing text analysis tasks |
| US20250086211A1 (en) * | 2023-09-12 | 2025-03-13 | Bitvore Corp. | Grounding large language models using real-time content feeds and reference data |
| US20250088946A1 (en) * | 2023-09-13 | 2025-03-13 | Amazon Technologies, Inc. | Using artificial intelligence to provide observability into radio-based networks |
| EP4560488A1 (en) * | 2023-11-21 | 2025-05-28 | TomTom Global Content B.V. | Identifying at least one geospatial location in accordance with user input |
| US12289517B1 (en) * | 2024-03-29 | 2025-04-29 | Armada Systems, Inc. | Robotic control using natural language commands |
| CN118711572B (en) * | 2024-06-13 | 2025-03-21 | 青岛海尔空调器有限总公司 | Training method and device for speech emotion interaction model, and electronic device |
| US20240356799A1 (en) * | 2024-06-27 | 2024-10-24 | Intel Corporation | Methods and apparatus to manage configuration assets for network devices |
| CN118861198B (en) * | 2024-06-28 | 2025-11-07 | 苏州创意云网络科技有限公司 | Feedback data determining method and device for user intention and electronic equipment |
| WO2026024617A1 (en) * | 2024-07-22 | 2026-01-29 | Endless Technologies Ltd. | A method and a system for selecting video frames |
| CN119211018A (en) * | 2024-08-16 | 2024-12-27 | 西安电子科技大学 | A semantically aware intent-driven network assurance method and framework |
| US20260099519A1 (en) * | 2024-10-04 | 2026-04-09 | Capital One Services, Llc | Systems and methods for improved data processing of communications across computer networks using trifurcated prompts |
| CN119484275A (en) * | 2024-10-09 | 2025-02-18 | 北京天融信网络安全技术有限公司 | Route adding method, electronic device and program product based on natural language processing |
| US12585461B1 (en) * | 2025-01-28 | 2026-03-24 | Morgan Stanley Services Group Inc. | Devices, systems, and methods for automating evidence collection for software compliance |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210144072A1 (en) * | 2019-03-29 | 2021-05-13 | Juniper Networks, Inc. | Supporting near real time service level agreements |
| US20230141398A1 (en) * | 2021-11-11 | 2023-05-11 | Servicenow, Inc. | Data augmentation for intent classification |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8589163B2 (en) * | 2009-12-04 | 2013-11-19 | At&T Intellectual Property I, L.P. | Adapting language models with a bit mask for a subset of related words |
| US12079703B2 (en) * | 2020-12-31 | 2024-09-03 | Google Llc | Convolution-augmented transformer models |
| US20230223016A1 (en) * | 2022-01-04 | 2023-07-13 | Abridge AI, Inc. | User interface linking analyzed segments of transcripts with extracted key points |
| US12417081B2 (en) * | 2022-02-25 | 2025-09-16 | Bridgewater Associates EC IP, LLC | Machine-learning assisted natural language programming system |
| US12079602B2 (en) * | 2022-03-07 | 2024-09-03 | Salesforce, Inc. | Systems and methods for a conversational framework of program synthesis |
| US20230359932A1 (en) * | 2022-04-19 | 2023-11-09 | Rayyan Systems Inc. | Classification process systems and methods |
| US12400634B2 (en) * | 2022-04-21 | 2025-08-26 | Google Llc | Dynamically adapting given assistant output based on a given persona assigned to an automated assistant |
| US20230367973A1 (en) * | 2022-05-12 | 2023-11-16 | Abridge AI, Inc. | Surfacing supplemental information |
| CN116430999A (en) * | 2023-04-26 | 2023-07-14 | 北京光年无限科技有限公司 | Method and system for realizing fingertip visual interaction technology by voice assistant |
-
2023
- 2023-06-07 US US18/330,933 patent/US11968088B1/en active Active
-
2024
- 2024-05-30 WO PCT/US2024/031524 patent/WO2024253927A1/en not_active Ceased
- 2024-05-30 EP EP24736171.0A patent/EP4725167A1/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210144072A1 (en) * | 2019-03-29 | 2021-05-13 | Juniper Networks, Inc. | Supporting near real time service level agreements |
| US20230141398A1 (en) * | 2021-11-11 | 2023-05-11 | Servicenow, Inc. | Data augmentation for intent classification |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120762781A (en) * | 2025-09-09 | 2025-10-10 | 济南浪潮数据技术有限公司 | Storage cluster configuration method and device, electronic device, and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4725167A1 (en) | 2026-04-15 |
| US11968088B1 (en) | 2024-04-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11968088B1 (en) | Artificial intelligence for intent-based networking | |
| US12175204B2 (en) | Aspect prompting framework for language modeling | |
| JP7387714B2 (en) | Techniques for building knowledge graphs within limited knowledge domains | |
| US11056107B2 (en) | Conversational framework | |
| US11520829B2 (en) | Training a question-answer dialog sytem to avoid adversarial attacks | |
| JP7712978B2 (en) | Implementing automatic flow from text input | |
| US20250094455A1 (en) | Contextual query rewriting | |
| US12124811B2 (en) | Generating and updating conversational artifacts from APIS | |
| US20250094866A1 (en) | Responding to hallucinations in generative large language models | |
| US20240330604A1 (en) | Propagating detetected change between natural language understanding models | |
| US20250060944A1 (en) | Automated data extraction pipeline for large language model training | |
| JP2020064621A (en) | User-friendly description generation using a hostile generation network | |
| US20250094814A1 (en) | Fine-tuning a large language model (llm) to reduce the instability of llm outputs to variations in prompts | |
| US20250131455A1 (en) | System and method for saas data control platform | |
| WO2025136529A1 (en) | Declarative code-less workflow using llm | |
| US11861332B2 (en) | String localization for universal use | |
| WO2025059626A1 (en) | Responding to hallucinations in generative large language models | |
| EP4657240A1 (en) | Infrastructure-as-code validation with language models | |
| US20250110977A1 (en) | System and method for generating an executable data query | |
| CN120447910A (en) | Code generation method, apparatus, device and computer program product | |
| US20250094865A1 (en) | Ensuring that language models follow instructions indicated in prompts | |
| US20250371247A1 (en) | Optimization of generative ai summarization | |
| US12321708B2 (en) | Generating an AI conversation model using API test data | |
| US20250165487A1 (en) | Hybrid data analytics in on-premise and cloud computing environments | |
| US20260111187A1 (en) | Pragma generation and verification using artificial intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24736171 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024736171 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024736171 Country of ref document: EP Effective date: 20260107 |
|
| ENP | Entry into the national phase |
Ref document number: 2024736171 Country of ref document: EP Effective date: 20260107 |
|
| ENP | Entry into the national phase |
Ref document number: 2024736171 Country of ref document: EP Effective date: 20260107 |
|
| ENP | Entry into the national phase |
Ref document number: 2024736171 Country of ref document: EP Effective date: 20260107 |
|
| ENP | Entry into the national phase |
Ref document number: 2024736171 Country of ref document: EP Effective date: 20260107 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2024736171 Country of ref document: EP |