Artificial intelligence based configuration of computing infrastructure on cloud platforms
A system receives a natural language request for configuring a computing infrastructure using a cloud platform. The system executes a machine learning based language model to generate infrastructure-as-code (IaC) to configure a cloud platform to obtain the desired computing infrastructure. The system may display the IaC generated by the machine learning based language model via a user interface as an example for use by the user. The system may send instructions to the cloud platform to provision computing infrastructure in accordance with the IaC obtained from the machine learning based language model. The system may repeatedly determine whether the desired computing infrastructure is deployed on the cloud platform and if the computing infrastructure currently provisioned on the cloud platform fails to match the desired computing infrastructure according to the natural language request, the system reconfigures the computing infrastructure deployed on the cloud platform.
1 . A computer-implemented method of configuration of computing infrastructure using cloud platforms, the computer-implemented method comprising:
storing a plurality of schemas, each schema describing application programming interfaces for interacting with a cloud platform of a plurality of cloud platforms;
receiving, via a user interface, a natural language request for configuring a computing infrastructure using a cloud platform;
generating a first prompt for requesting a machine learning based language model to generate infrastructure-as-code to configure a computing infrastructure using the cloud platform in accordance with the natural language request, the first prompt comprising a relevant portion of a schema for the cloud platform;
providing, to the machine learning based language model, the first prompt with a request for executing the machine learning based language model;
obtaining from the machine learning based language model, a first infrastructure-as-code specified using a configuration language for deploying on the cloud platform;
configuring the cloud platform using the first infrastructure-as-code specified using the configuration language obtained from the machine learning based language model;
determining whether the computing infrastructure is deployed on the cloud platform by determining whether an error message indicating an error was received while configuring the cloud platform using the first infrastructure-as-code or while reconfiguring the computing infrastructure deployed on the cloud platform; and
responsive to determining that the computing infrastructure failed to deploy on the cloud platform reconfiguring the computing infrastructure deployed on the cloud platform, comprising:
responsive to determining that an error message was received, generating a second prompt based on the error message received, wherein the second prompt requests the machine learning based language model to regenerate infrastructure-as-code to overcome the error, and
obtaining from the machine learning based language model a second infrastructure-as-code specified using the configuration language for deploying on the cloud platform.
2 . The computer-implemented method of claim 1 , wherein reconfiguring the computing infrastructure deployed on the cloud platform comprises:
reconfiguring the cloud platform using the second infrastructure-as-code obtained from the machine learning based language model by executing the machine learning based language model using the second prompt.
3 . The computer-implemented method of claim 1 , wherein the configuration language is one of following: JavaScript, TypeScript, Python, Go, C#, F #, or HCL.
4 . The computer-implemented method of claim 1 , further comprising:
determining a portion of a schema of the cloud platform,
wherein the first prompt comprises description of the portion of the schema.
5 . The computer-implemented method of claim 1 , wherein the plurality of schemas is stored in a structured index associated with the machine learning based language model, wherein the infrastructure-as-code specified using the configuration language is generated using the machine learning based language model and the schema for the cloud platform stored in the structured index.
6 . The computer-implemented method of claim 1 , further comprising:
receiving a pretrained machine learning based language model; and
further training the machine learning based language model using the plurality of schemas.
7 . The computer-implemented method of claim 1 , wherein the cloud platform is a first target cloud platform, wherein the natural language request is a particular natural language request, the computer-implemented method further comprising:
receiving, via the user interface, the particular natural language request for configuring the computing infrastructure using a second target cloud platform using the configuration language;
generating a second prompt for the machine learning based language model, the second prompt requesting the machine learning based language model to configure the computing infrastructure using the second target cloud platform in accordance with the particular natural language request;
providing, to the machine learning based language model, the second prompt with a second request for executing the machine learning based language model;
obtaining from the machine learning based language model, infrastructure-as-code specified using a configuration language for deploying on the cloud platform; and
configuring the cloud platform using the infrastructure-as-code specified using the configuration language obtained from the machine learning based language model.
8 . A non-transitory computer-readable storage medium storing executable computer instructions that, when executed by one or more computer processors, cause the one or more computer processors to perform steps comprising:
storing a plurality of schemas, each schema describing application programming interfaces for interacting with a cloud platform of a plurality of cloud platforms;
receiving, via a user interface, a natural language request for building a target computing infrastructure using a cloud platform;
generating a first prompt for requesting a machine learning based language model to generate infrastructure-as-code to configure computing infrastructure using the cloud platform in accordance with the natural language request, the first prompt comprising a relevant portion of a schema for the cloud platform;
providing, to the machine learning based language model, the first prompt with a request for executing the machine learning based language model;
obtaining from the machine learning based language model, a first infrastructure-as-code specified using a configuration language for deploying on the cloud platform;
configuring the cloud platform using the first infrastructure-as-code specified using the configuration language obtained from the machine learning based language model;
determining whether the computing infrastructure is deployed on the cloud platform by determining whether an error message indicating an error was received while configuring the cloud platform using the first infrastructure-as-code or while reconfiguring the computing infrastructure deployed on the cloud platform; and
responsive to determining that the computing infrastructure failed to deploy on the cloud platform reconfiguring the computing infrastructure deployed on the cloud platform, comprising:
responsive to determining that an error message was received, generating a second prompt based on the error message received, wherein the second prompt requests the machine learning based language model to regenerate infrastructure-as-code to overcome the error, and
obtaining from the machine learning based language model a second infrastructure-as-code specified using the configuration language for deploying on the cloud platform.
9 . The non-transitory computer-readable storage medium of claim 8 , wherein reconfiguring the computing infrastructure deployed on the cloud platform comprises:
reconfiguring the cloud platform using the second infrastructure-as-code obtained from the machine learning based language model by executing the machine learning based language model using the second prompt.
10 . The non-transitory computer-readable storage medium of claim 8 , wherein the plurality of schemas is stored in a structured index associated with the machine learning based language model, wherein the first infrastructure-as-code specified using the configuration language is generated using the machine learning based language model and the schema for the cloud platform stored in the structured index.
11 . The non-transitory computer-readable storage medium of claim 8 , wherein the executable computer instructions further cause the one or more computer processors to perform steps comprising:
receiving a pretrained machine learning based language model; and
further training the machine learning based language model using the plurality of schemas.
12 . A system comprising:
one or more computer processors configured to execute instructions; and
a memory storing executable computer instructions for execution on the one or more computer processors, including storing a plurality of schemas, each schema describing application programming interfaces for interacting with a cloud platform of a plurality of cloud platforms;
receiving, via a user interface, a natural language request for configuring a computing infrastructure using a cloud platform;
generating a first prompt for requesting a machine learning based language model to generate infrastructure-as-code to configure computing infrastructure using the cloud platform in accordance with the natural language request, the first prompt comprising a relevant portion of a schema for the cloud platform;
providing, to the machine learning based language model, the first prompt with a request for executing the machine learning based language model;
obtaining from the machine learning based language model, a first infrastructure-as-code specified using a configuration language for deploying on the cloud platform;
configuring the cloud platform using the first infrastructure-as-code specified using the configuration language obtained from the machine learning based language model;
determining whether the computing infrastructure is deployed on the cloud platform by determining whether an error message indicating an error was received while configuring the cloud platform using the first infrastructure-as-code or while reconfiguring the computing infrastructure deployed on the cloud platform; and
responsive to determining that the computing infrastructure failed to deploy on the cloud platform reconfiguring the computing infrastructure deployed on the cloud platform, comprising:
responsive to determining that an error message was received, generating a second prompt based on the error message received, wherein the second prompt requests the machine learning based language model to regenerate infrastructure-as-code to overcome the error, and
obtaining from the machine learning based language model a second infrastructure-as-code specified using the configuration language for deploying on the cloud platform.
13 . The system of claim 12 , wherein reconfiguring the computing infrastructure deployed on the cloud platform comprises:
reconfiguring the cloud platform using the second infrastructure-as-code obtained from the machine learning based language model by executing the machine learning based language model using the second prompt.
14 . The system of claim 12 , wherein the plurality of schemas is stored in a structured index associated with the machine learning based language model, wherein the first infrastructure-as-code specified using the configuration language is generated using the machine learning based language model and the schema for the cloud platform stored in the structured index.
15 . The non-transitory computer-readable storage medium of claim 8 , wherein the configuration language is one of following: JavaScript, TypeScript, Python, Go, C#, F #, or HCL.
16 . The non-transitory computer-readable storage medium of claim 8 , wherein the instructions further cause the one or more computer processors to perform steps comprising:
determining a portion of a schema of the cloud platform,
wherein the first prompt comprises description of the portion of the schema.
17 . The non-transitory computer-readable storage medium of claim 8 , wherein the cloud platform is a first target cloud platform, wherein the natural language request is a particular natural language request, wherein the instructions further cause the one or more computer processors to perform steps comprising:
receiving, via the user interface, the particular natural language request for configuring the computing infrastructure using a second target cloud platform using the configuration language;
generating a second prompt for the machine learning based language model, the second prompt requesting the machine learning based language model to configure the computing infrastructure using the second target cloud platform in accordance with the particular natural language request;
providing, to the machine learning based language model, the second prompt with a second request for executing the machine learning based language model;
obtaining from the machine learning based language model, infrastructure-as-code specified using a configuration language for deploying on the cloud platform; and
configuring the cloud platform using the infrastructure-as-code specified using the configuration language obtained from the machine learning based language model.
18 . The system of claim 12 , wherein the configuration language is one of following: JavaScript, TypeScript, Python, Go, C#, F #, or HCL.
19 . The system of claim 12 , wherein the instructions further cause the one or more computer processors to perform steps comprising:
determining a portion of a schema of the cloud platform,
wherein the first prompt comprises description of the portion of the schema.
20 . The system of claim 12 , wherein the cloud platform is a first target cloud platform, wherein the natural language request is a particular natural language request, wherein the instructions further cause the one or more computer processors to perform steps comprising:
receiving, via the user interface, the particular natural language request for configuring the computing infrastructure using a second target cloud platform using the configuration language;
generating a second prompt for the machine learning based language model, the second prompt requesting the machine learning based language model to configure the computing infrastructure using the second target cloud platform in accordance with the particular natural language request;
providing, to the machine learning based language model, the second prompt with a second request for executing the machine learning based language model;
obtaining from the machine learning based language model, infrastructure-as-code specified using a configuration language for deploying on the cloud platform; and
configuring the cloud platform using the infrastructure-as-code specified using the configuration language obtained from the machine learning based language model.