Automatic configuration of predictive analytics using neural language model
By configuring and executing automated predictive analytics technology based on large-scale language models, the problem of users' difficulty in understanding and performing predictive analytics has been solved, achieving a simplified predictive analytics process and improved analysis efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-03
- Publication Date
- 2026-03-31
Smart Images

Figure CN121766429A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the automatic generation of computational objects or commands for performing predictive analysis on datasets accessible to a computing system. Background Technology
[0002] Modern enterprises generate vast amounts of data that can be used in their daily operations. However, the analysis performed on this data can provide valuable insights into both the data itself and the business operations that generated it. In particular, predictive analytics refers to the use of statistical techniques, machine learning algorithms, or data modeling to analyze current and historical data to predict future events or outcomes. It is used to identify patterns and trends in data, enabling businesses to anticipate future scenarios, enhance decision-making, and take proactive measures. Predictive analytics typically employs techniques such as regression analysis, decision trees, neural networks, or time series analysis.
[0003] Typically, there is a disconnect between users who understand the nature of data and make decisions based on it, and users with the technical expertise to perform predictive analytics. Therefore, opportunities to apply predictive analytics to data may be missed because users may not understand the types of analytics available or the insights they can generate. Even if users understand the available analytics, they may lack the technical skills to perform predictive analytics. For those who do have the necessary technical knowledge, implementing computer code for predictive analytics can be both time-consuming and error-prone.
[0004] Efforts have been made to integrate predictive analytics into end-user applications. For example, software applications can provide libraries of predictive analytics functions and guidelines on their use. However, these solutions often still require users to spend time identifying the relevant predictive analytics functions, understanding their requirements, and preparing the necessary inputs. Therefore, significant obstacles remain to the effective use of predictive analytics, and manual effort is still required to apply specific techniques. Thus, there is room for improvement. Summary of the Invention
[0005] The present invention is provided to introduce, in a simplified form, the selection of concepts further described in the following detailed description. The present invention is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
[0006] The computational system utilizes a large language model to automate the configuration and execution of predictive analytics techniques. The system receives input from an identification dataset and generates prompts to extract necessary information from predictive analytics documents or their representations. The large language model processes requests to generate commands for creating computational objects to be used in executing predictive analytics, and for configuring procedures for executing the selected predictive analytics techniques. The system helps ensure the dataset meets the prerequisites for predictive analytics techniques by preprocessing the data through code generation and execution. Similarity searches can be performed in a vector database to identify relevant predictive analytics techniques and their requirements. The system supports both user-specified and automatically identified predictive analytics techniques.
[0007] In one aspect, this disclosure provides a process for configuring predictive analytics techniques. User input is received identifying a dataset to be processed using computational logic of the predictive analytics techniques. A first prompt is generated by executing computational instructions that insert information about data objects used by the predictive analytics techniques into a first prompt template. The template includes instructions for extracting information that can be used to generate the data objects.
[0008] The first prompt is submitted to the neural language model. A first response to the first prompt is received, which includes information that can be used to generate data objects.
[0009] The procedure is configured to perform predictive analytics techniques. The configuration includes executing computational instructions to insert identifiers of objects containing data from a dataset, information that can be used to generate the data objects, and identifiers of the predictive analytics techniques into a procedure template to provide the procedure.
[0010] This disclosure also includes a computing system configured to perform the methods described above or including instructions for performing the methods described above, and a tangible, non-transitory computer-readable storage medium. As described herein, various other features and advantages may be incorporated into the technology as needed. Attached Figure Description
[0011] Figure 1 It is a diagram depicting an example computing environment in which the disclosed techniques can be implemented, including components for configuring and performing predictive analytics techniques using large language models.
[0012] Figures 2A to 2E Example documentation for predictive analytics techniques is shown.
[0013] Figure 3A and Figure 3B Sample code is provided for converting text to vector representations, performing vector database searches, generating hints, and processing responses from large language models.
[0014] Figure 4A and Figure 4BSample code for defining a predictive analytics scenario is shown, including methods for selecting predictive analytics techniques and preparing datasets.
[0015] Figure 5 Sample code is provided to ensure that datasets meet the prerequisites for predictive analytics techniques by generating preprocessing operations.
[0016] Figure 6 Example code is shown for performing preprocessing operations on a dataset to meet the prerequisites for predictive analytics techniques.
[0017] Figure 7A and Figure 7B Sample code is depicted for generating input and output tables for a selected predictive analytics technique using a large language model.
[0018] Figure 8 It provides sample code for generating output tables for selected predictive analytics techniques, including mapping output tables to input data tables and extracting parameter information.
[0019] Figure 9A and Figure 9B The diagram illustrates the procedure for generating a selected predictive analytics technique, including sample code for building the procedure using a predefined template.
[0020] Figure 10 and Figure 11 Sample code is shown for implementing role and license grants, which are used to access data objects used in procedures for performing predictive analytics techniques.
[0021] Figure 12 and Figure 13 Sample code is provided for coordinating the generation of HDI objects or SQL commands to execute selected predictive analytics techniques.
[0022] Figure 14 This is a flowchart of the process of configuring predictive analytics technology.
[0023] Figure 15 This is a diagram of an example computing system in which some of the described embodiments can be implemented.
[0024] Figure 16 This is an example cloud computing environment that can be used in conjunction with the technologies described in this article. Detailed Implementation
[0025] Example 1 - Overview
[0026] Modern enterprises generate vast amounts of data that can be used in their daily operations. However, the analysis performed on this data can provide valuable insights into both the data itself and the business operations that generated it. In particular, predictive analytics refers to the use of statistical techniques, machine learning algorithms, or data modeling to analyze current and historical data to predict future events or outcomes. It is used to identify patterns and trends in data, enabling businesses to anticipate future scenarios, enhance decision-making, and take proactive measures. Predictive analytics typically employs techniques such as regression analysis, decision trees, neural networks, or time series analysis.
[0027] Typically, there is a disconnect between users who understand the nature of data and make decisions based on it, and users with the technical expertise to perform predictive analytics. Therefore, opportunities to apply predictive analytics to data may be missed because users may not understand the types of analytics available or the insights they can generate. Even if users understand the available analytics, they may lack the technical skills to perform predictive analytics. For those who do have the necessary technical knowledge, implementing computer code for predictive analytics can be both time-consuming and error-prone.
[0028] Efforts have been made to integrate predictive analytics into end-user applications. For example, software applications can provide libraries of predictive analytics functions and guidelines on their use. However, these solutions often still require users to spend time identifying the relevant predictive analytics functions, understanding their requirements, and preparing the necessary inputs. Therefore, significant obstacles remain to the effective use of predictive analytics, and manual effort is still required to apply specific techniques. Thus, there is room for improvement.
[0029] This disclosure provides techniques that can help users identify predictive analytics techniques suitable for their specific needs and create the code or computational objects (such as input tables, output tables, or parameter tables) required to perform the analytics. Even if a user knows the specific predictive analytics technique they wish to use, the disclosed techniques can help create code or computational objects for any required specifications.
[0030] Typically, documentation exists for various types of predictive analytics techniques. For example, SAP SE in Waldorf, Germany, provides predefined functions for performing various types of predictive analytics using its Predictive Analytics Library (“PAL”). The PAL documentation includes information such as: a general description of the predictive analytics technique, the functions called to perform the analysis, the requirements for the dataset used as input to the technique, mandatory and optional parameters to be specified, and the definitions of input and output tables. The PAL documentation may also provide examples of how to use a given function and example results.
[0031] Documents for predictive analytics functions can be converted into semantic embeddings in a vector store and stored as text in a database. For the text information stored in the database, information from the documents can be optionally processed, such as to facilitate storage and retrieval. As an example, tables in a document can be converted into a JSON representation, which can aid in processing document information during the execution of the disclosed techniques. In some cases, the semantic embeddings in the vectors and the document text can be stored in a multimodal database (such as SAP HANA Cloud), which can handle queries that access both relational and vector data.
[0032] Users can identify specific datasets to be used for predictive analytics. The disclosed techniques can then perform operations to confirm that the dataset is suitable for use with the selected predictive analytics technique. For example, the dataset can be analyzed to confirm whether it has identifier columns that the computational code implementing the selected technique might require, or whether the dataset contains appropriate values. Some predictive analytics techniques may require, for example, datasets without missing or null values. If problems with the dataset are identified, the disclosed techniques can generate appropriate operations to be performed on the dataset to provide a new or modified dataset that can be used by the computational process implementing the predictive analytics technique.
[0033] The disclosed technique can then obtain commands (such as example SQL operations) from predictive analytics documentation, which can be provided to a large language model to extract information (such as parameters) needed to execute predictive analytics functions. Rules and syntax can be provided to the large language model to generate computational objects, such as input and output tables, required to implement the computational process of predictive analytics. The generated data objects, or at least the commands used to generate them, can be saved, and optionally, the desired predictive analytics can be performed.
[0034] The disclosed techniques are described as using large language models; however, these techniques can be implemented more generally using neural language models, optionally combined with natural language generator functions. A neural language model is a computational model used to process, generate, or understand natural language, where the model is based on a neural network architecture. This model learns language representations through training on large corpora of text data and is able to identify patterns, relations, and context in sequences of words or lexical units. Neural language models include, but are not limited to, architectures such as recurrent neural networks (RNNs), long short-term memory networks (LSTMs), or transformer-based models. Transformer models can include both small language models (SLMs) and large language models (LLMs), which differ in the number of parameters and their ability to handle more complex or broader language tasks. Architectures utilizing hybrid expert (MoE) techniques are also encompassed within neural language models.
[0035] Example 2 - Example computational environment and example operations for automatically defining predictive analytics
[0036] Figure 1 A computing environment 100 in which the disclosed techniques can be implemented is shown, along with the processing steps that can be performed by components of the computing environment. Initially, the preprocessor 108 obtains a predictive analytics document 110 at 112. The predictive analytics document 110 includes information about several predictive analytics techniques. This information may include a description of the technique, which may include information about use cases for the technique. This information typically also includes information about the inputs used by the technique, including any requirements on the dataset, such as whether a specific type of identifier column is required for tabular data, or whether missing or null values are allowed. This information may also include information about mandatory and optional parameters. As an example of mandatory parameters, some clustering techniques require input to form multiple clusters. This information typically also includes details about how the predictive analytics technique should be invoked, and may include example commands for creating suitable input data objects (such as tables) or for performing analysis using such inputs.
[0037] At point 114, the preprocessor 108 generates (or causes to generate) semantic embeddings for at least a portion of the predictive analytics document. The generation of semantic embeddings can be customized based on document format and performance considerations.
[0038] Figures 2A to 2D Example 200 provides information from predictive analytics document 110. Example 200 is taken from the SAP HANA DATABASE PREDICTIVE ANALYSISLIBRARY (PAL) of SAP SE's SAP HANA CLOUD (cloud) product in Waldorf, Germany. Example 200 is a document for the DBSCAN clustering algorithm. SAP documents contain similar structured details of many predictive analytics techniques and illustrate how semantic embeddings can be created in a hierarchical approach. That is, a holistic set of embeddings for all available predictive analytics algorithms can be created, and it can contain semantic embeddings representing each technique. In other words, for example, for the holistic set of embeddings, subsets of embeddings can be created for individual algorithms such as DBSCAN. In particular, if a consistent structure is used for the document, subsets of embeddings can be created for different sections of the technical document.
[0039] refer to Figure 2AThe example information 200 from DBSCAN includes the name of the technology 204 and a general overview of the technology 206, including what the technology does and the required parameters. These parts of information 200 may be part of a further subset of the embedding information for the DBSCAN technology, or they may be split into multiple subsets, such as by paragraph. The technologies used to generate embeddings often involve methods for further breaking down the text into smaller units for processing (called “chunks”). This consideration is also used for the “manual” specification of sets and subsets, such as in the parsing logic used for general processing of predictive analytics information or for information for individual predictive analytics techniques. This is another form of chunking text to help organize the text into semantically relevant units and to help ensure that each embedding contains sufficient information about the text it represents.
[0040] The reason for breaking text down into smaller units is often because the vectors used to store the embeddings have a fixed size, or otherwise have size constraints, such as a maximum size. Typically, for fixed-size vectors, the semantic accuracy of the embeddings decreases as the amount of text to be summarized by the embeddings increases. Embedding generators can use techniques to “chunk” the text based on punctuation, paragraphs, or other line spacing cues, or by using a maximum token constraint. To maintain semantic consistency across segments or chunks, embeddings can be generated for overlapping segments of two chunks, or multiple chunks can be used to generate a single semantic embedding for multiple chunks.
[0041] Figure 2A Information 216 regarding the prerequisites for the technique is also shown, specifying in this case that the input data must not have missing values or empty data; the name of the function performing the analysis 218; a more concise description of the technique 220; and an overview 224 of the tables used by the algorithm, its inputs, and outputs. Similarly, these segments can be embedded as a single subset or multiple subsets. An example of how chunk-based processing can occur as an embedding generator is shown, indicating that each row of a specific table in the overview 224 can have its own embedding vector.
[0042] As described with reference to the previously described content, the remaining content of information 200 may optionally be divided into subsets and chunks. The remaining content of information 200 is relevant to the later discussion and will be briefly described here. The input tables in the overview are described in more detail at 230. For each table, information 230 includes a description of the columns in the table, optionally along with the required positions of the columns in the table. The required data type to be used with a given column can also be specified.
[0043] Information 232 is for the parameter table used by the algorithm, and information about the columns in the table. (See reference...) Figure 2B and Figure 2C This includes a list of mandatory and optional parameters. Figure 2CThe output table information 234 is also provided.
[0044] refer to Figure 2D Information 200 includes example usage 240 of the technique, including initial assumptions of the scenario, commands 244 and 246 for creating a data and parameter table for an overview 224 in the format specified in information 230 and 232, and command 250 for inserting data values into the data table (where parameter values are included in command 246 for creating the parameter table).
[0045] continue Figure 2E Information 200 includes sample output 260 from performing the DBSCAN algorithm using sample data from the data table and parameter values from the parameter table. Information 200 also includes information 270 about the model used for the analysis. This information identifies the specific algorithm used, the identifiers of the columns with categorical variables, and the observed categorical values. In addition to categorical variables, model information may include details such as the non-categorical variables used, distance metrics and any associated parameters, cluster boundaries or representations, any transformations applied to the data (e.g., scaling or encoding), and values of key hyperparameters, such as the minimum number of points required to form clusters and the scan radius. This information helps ensure that the clustering process can be accurately reproduced, interpreted, and extended to new data.
[0046] return Figure 1 When generating the semantic embedding for document 110 at position 114, each text fragment used to generate the vector can be submitted to a semantic embedding generator, such as an application programming interface (API) for large language models (LLMs), such as the CHATGPT API, COHERE EMBEDDING API, HUGGING FACE MODEL from OPENAI, or BTP AI CORE SERVICE from SAP SE. The embeddings are linked to the corresponding text fragments used to generate them.
[0047] Text and embeddings are stored at location 116. For example, text and embeddings can be stored together in multimodal database 120. Multimodal database 120 includes table 122 that stores text and its associated embedding vectors. SAP HANA Cloud is an example of a suitable multimodal database 120.
[0048] In other implementations, text and vector information can be stored in separate databases, such as storing text information in a relational database and vector embeddings in a vector database. Public identifiers (such as the DOCUMENT_ID attribute) can be used to correlate information between databases. Similarity searches using the vector databases can retrieve identifiers of related embeddings, where associated identifiers can be used to retrieve text from which embeddings are generated.
[0049] The orchestrator 130 can perform operations to help the user identify predictive analytics techniques that may be suitable for a particular use case, or prepare datasets for use in the technique, and generate commands to create the input objects, mandatory or optional techniques, or output objects required by the technique, including adjusting the standard output object definition to correspond to the input objects to be used when analyzing a particular dataset.
[0050] Client 134 provides input to orchestrator 130, such as an interpretation of the analysis the user expects to perform. As an example, user input could be "comfort density analysis." Input may include identifiers of one or more datasets the user wishes to analyze. In some cases, orchestrator 130 may provide output in different formats, such as SQL statements or HDI (HANA Deployment Infrastructure) projects. If multiple output options are available, user input may also specify the output format, where a default format is used if no format is specified.
[0051] The orchestrator 130 performs an operation at 136 to identify predictive analytics techniques determined to be best suited for the use cases expressed in the user input. The user input can be converted into semantic embeddings in vector format, such as by invoking an embedding generation service as described above.
[0052] Figure 3A Example code 300 is provided, which includes a function 304 that takes input (such as user input expressing information about the desired analysis) and provides an embedding vector. Figure 1 In the table 138, the embedding vectors can be submitted to the multimodal database 120, and a similarity search can be performed on the embedding vectors in table 122. The similarity search can return to the orchestrator 130 the identifier of the predictive analytics technique most similar to the user prompt, along with optional additional information such as a description of the identified technique. Figure 3A Code 308 is provided for performing similarity searches.
[0053] At 140, the orchestrator 130 submits a prompt to the large language model 144. The prompt includes instructions to select the most suitable technique for a user purpose, such as user input, which may be included in the prompt. The prompt also includes an identifier, and optionally, additional information about the technique identified by the similarity search performed at 138. The large language model 144 returns the selected predictive analytics technique to the orchestrator 130. Although the large language model 144 is shown as a single model, it can be one of a selection of multiple large language models. For example, different prompts generated during the processing performed by the orchestrator 130 may be submitted to different large language models, while any particular prompt may be submitted to a single large language model 144. Therefore, multiple large language models may be used unless the context clearly refers to a single language model 144. For example, the claims of this application relate to different prompts being submitted to “one” or “the” large language model. However, for different prompts, each prompt may be submitted to a different large language model, where multiple large language models are included within “the” large language model.
[0054] The disclosed technology can request a large language model 144 to perform various operations. Figure 3B Code 350 includes code for communicating with the large language model 144 and, in some cases, for processing responses. Code 358 defines a function for submitting a prompt to the large language model, wherein the function takes a prompt template (which may represent a "general" instruction to the large language model for a specific purpose, such as obtaining a choice of predictive analytics techniques), a query (such as user input), optionally contextual information (where the contextual information may be other information inserted into the prompt template besides using the input, such as a list of predictive analytics techniques from which the large language model can choose), and an identifier of the large language model to be used as arguments. If no context is provided, only the query is submitted to the large language model. Otherwise, both the query and context are used in the prompt template.
[0055] Code 364 opens a connection to the large language model provided as a function argument, and allows setting model parameters such as temperature. Code 366 submits a hint to the large language model. Code 370 prints the response and provides it as the function's return value.
[0056] Code 300 also includes code 380 for connecting to a database (such as database 120) and code 390 for connecting to another data source (such as a data source that includes a dataset processed using selected predictive analytics techniques). Database connections can be used for various purposes, including retrieving information to be included in prompts or for processing responses from large language models.
[0057] As an example of how queries and context can be used, the prompt template could contain generation instructions for a large language model to select the predictive analytics technique that best matches the user input provided as a query. The context could include the predictive analytics technique from which the large language model would select, such as one determined using a similarity search performed in database 120.
[0058] Figure 4A and Figure 4B Code 400 provides the definition of the "MLScenario" class. First, refer to... Figure 4A The class includes data members 410 to hold information such as use case identifiers, identifiers of datasets to be used, connections to data sources that contain datasets or otherwise provide access to datasets, connections to databases (such as database 120), variables that hold the retrieved datasets, and flags indicating whether the dataset has been cleaned.
[0059] Code 400 includes code 430 which defines a method for determining whether the selected predictive analysis requires a target variable (such as a target column). If the category is “clustering,” it returns false, indicating that a target variable is not required; otherwise, it returns true. Typically, the target variable can correspond to the dependent or output variable, or, as in supervised learning techniques, can be used to identify patterns between the independent (input) and target variables.
[0060] Code 400 provides a method 440 for communicating with a large language model to select predictive analytics techniques to be used with a specific user input and recognition dataset. Method 440 includes example prompts 444 with instructions for a specific task and placeholders for context and queries.
[0061] The disclosed techniques can be implemented in different ways, particularly regarding operation 136 and the associated operations 138 and 140. For example, instead of performing operation 138 first, the operation at 140 could involve submitting a prompt to a large language model 144 to select from a list of predictive analytics techniques provided in the prompt, such as a prompt similar to prompt 444, but instead of including "context," the prompt could include a static list of techniques, such as "[clustering: DBSCAN, time series: AUTOARIMA, class: SVM]". The large language model 144 can select the best technique for the user prompt from this list, and subsequent operations with Table 122 can be used to identify specific techniques in document 110 that match the techniques selected from the static list. If multiple matches that at least satisfy a certain similarity threshold are found, further prompts can be submitted to the large language model 144 in a manner similar to that described above to select the most suitable technique.
[0062] Figure 4B Code 460 performs a vector search on predictive analytics techniques in Table 122 that resemble a specific input. In Code 460, the input corresponds to a predictive analytics technique selected by the large language model 144. Code 460 is particularly useful in implementations where the large language model 144 is provided with a static list of techniques to be selected from. Code 460 is generally similar to the vector query performed at 138, where the predictive analytics technique is identified based on similarity to the user input. The difference is that when the result of the vector search is used in the prompt used at 140, the selection is already associated with a specific technique in Table 122, and therefore no additional vector search is required.
[0063] Code 460 can be executed as part of the operation at 148 to prepare one or more datasets, identified by the user or otherwise, for use with the selected predictive analytics technique. Specifically, code 460 can be executed during operation 150, where orchestrator 130 contacts multimodal database 120 to determine prerequisites for using the selected technique. Prerequisites may include that the dataset does not have missing or null values.
[0064] Specifically, at 148, the orchestrator 130 performs an operation to obtain information about the prerequisites for the dataset to be used with the selected predictive analytics technique. Figure 4B Code 470 causes a vector search to be performed to identify prerequisite information extracted from predictive analytics document 110, and then feeds the information to a large language model 144, enabling it to extract prerequisites for the selected technique from the document. More specifically, line 474 sets the algorithm variable to a value with the selected algorithm, and line 476 adds the algorithm to a predefined query. Line 478 sets the context value suggested by the large language model to the result of the query performed using multimodal database 120 and table 122.
[0065] Code 480 defines a prompt template for retrieving prerequisite information, where a query for the prompt template is defined in line 482. The query and context information are added to the general instructions in the prompt template defined in code 480. Code 484 causes the prompt to be submitted to the large language model 144, where the response is assigned the value of a response variable.
[0066] Return to reference Figure 1 The text of the prerequisites is returned to the editor 130 as part of operation 148. As part of operation 152, the text in the prompt template is provided to the large language model 144, and operation 152 also includes receiving a response from the large language model that identifies the prerequisites.
[0067] At 156, orchestrator 130 performs operations to ensure that the dataset used with the selected predictive analytics technique meets the identified prerequisites. Specifically, a hint, including information about the dataset and prerequisites, is provided to the large language model 144. The response may include code that can be executed on the dataset, causing the processed dataset to meet the prerequisites.
[0068] Figure 5 Example code 500 is provided for performing these operations in line 156. Lines 508 and 510 execute functions to provide a JSON representation of the dataset's descriptive characteristics and information about the columns in the dataset, such as column data types and column names (which can be used to determine if an ID column exists, which can be a prerequisite for some predictive analytics techniques). The information provided by the "describe" function in line 508 can include information such as the number of non-null entries in each column (also known as "counts"), the number of unique values in each column (at least for text data), the most frequent value, the frequency of the most frequent value, the mean of the data in each column ("mean"), the standard deviation of the data, the minimum and maximum values in each column, and optionally other information about the distribution of values in the dataset. Lines 512 through 516 call functions to check for missing values, null values, and duplicate rows, respectively.
[0069] Code 500 also includes code 540, which defines a prompt to be submitted to the large language model 144 as part of operation 158. Code 540 includes a general instruction 542 as part of the prompt template, assigning the task of returning some Python code to the large language model 144 if the large language model recognizes certain conditions in the information about the aforementioned dataset. A query for prompt code 540 is provided at line 550, instructing the large language model 144 to determine whether the dataset meets the prerequisites recognized at 152.
[0070] The operations at points 156 and 158 could also involve submitting hints to the large language model 144 to determine if the dataset has other types of traits that indicate preprocessing operations should be performed. For example, if only certain data types are available in the chosen predictive analytics technique, the operation could include converting non-compliant columns to another data type. The operation could also include reordering columns in the dataset to match prerequisites.
[0071] Figure 6Example code 600 is provided to perform preprocessing operations. Specifically, code 610 defines a hint to be provided to the large language model 144. This hint includes instructions on specific Python code that the large language model 144 should return if one of the rules is not met. In line 618, if the dataset includes columns that do not have allowed data types, code is returned to convert the non-compliant columns to the "NVCHAR(5000)" data type. In line 620, if the columns are not in the order specified by "column_order" (which can be extracted from the prerequisite information), code can be executed to reorder the columns in the dataset.
[0072] If the dataset now meets any prerequisites, at point 166, the orchestrator 130 can perform the operations required to provide input to the selected predictive analytics technique. For example, it may require providing data from the dataset to one or more specific input tables required by the selected technique, defining output tables to hold the analysis results, and generating commands for executing the predictive analytics technique.
[0073] Typically, the operation at 166 includes operation 168, which involves performing a vector search on table 122 of the multimodal database 120 to identify information such as the input table, output table, and parameters required by the selected predictive analytics technique. The results can be provided as part of operation 170 to a large language model 144, which can adapt the information to be used with a dataset selected for use with the chosen technique.
[0074] Figure 7A and Figure 7B Code 700, which can be executed as part of operations 166, 168, and 170, is shown. The getTablesForPATechnique method 708 performs a vector search to identify the input and output tables of the selected predictive analytics technique. This method extracts the necessary table information from the context obtained through the vector search to identify the input and output tables, as well as their definitions (such as columns and column data types) in Table 122.
[0075] The `generateTables` method 712 loads the `outputTable` from the JSON string returned by method 708 and converts it into a pandas DataFrame, where the keys of the dictionary formed from the JSON string are used as column names. This DataFrame is then converted back to JSON format, where each row of the DataFrame corresponds to a JSON object representing the definition of a specific output table.
[0076] Method 712 uses rule 714 (a comment in code 700 implemented by the code's operations) to generate the output table. These rules specify that if an output table column references an input table column (such as the ID column), the first column and data type of the output table should be replaced with the first column and data type from the input table.
[0077] Define a prompt template 718 to instruct the large language model 144 to extract table structures from the output tables, including table names, column names, and column data types, and provide the extracted information in a specified format similar to SQL. Use the processed set of output tables as context and the input tables as queries to query the large language model 144.
[0078] In line 722, the response from the large language model is split into individual lines, each corresponding to a potential output table definition. Line 724 filters these lines, retaining only those matching the pattern "COLUMN TABLE".<TABLE_NAME> "Matching rows ensure that only valid table definitions are further processed."
[0079] Now for reference Figure 7B Code 726 analyzes the returned output table information to determine if they contain placeholders indicating that column identifiers should be replaced with the corresponding column names and data types from the input tables. For tables where such placeholders are found, prompt template 730 instructs the large language model 144 to replace the placeholders with the actual column names and data types from the input tables.
[0080] Code 734 processes the output table differently depending on the value of the flag. If the flag is set to true, an SQL CREATE TABLE statement is generated and returned. Otherwise, a filename is generated based on the table name, and the corresponding table definition is saved to the appropriate file.
[0081] Go to Figure 8 Code 800, including code 810, maps the input data table used for selecting the predictive analytics technique to a specific table holding the data to be processed. Code 810 also maps variables to the specific predictive analytics technique to be used.
[0082] Code 800 also includes code 850, which extracts parameter information for the selected technology from table 122. Code 850 generates an SQL INSERT statement to populate PAL_PARAMETER_TBL, which will be used during the execution of the selected technology. The parameters extracted by searching table 122 are then processed by the large language model 144 to isolate the INSERT statement from the documentation for the PAL_PARAMETER_TBL technology. Additionally, if a specific column name is provided, code 850 appends an extra INSERT statement that recognizes that column as the dependent variable in the analysis. A complete set of generated SQL statements is returned, ready to be executed to configure the algorithm used for the analysis.
[0083] Return to Figure 1 Using the generated procedure to provide all the information needed to perform the selected predictive analytics technique, orchestrator 130 can perform an operation at 180 to generate the procedure. Specifically, operation 182 provides hints to large language model 144 to generate the procedure using a procedure template and specific values to be inserted into the template.
[0084] Figure 9A and Figure 9B Code 900 is provided, which can be executed as part of operations 180 and 182 to generate a procedure for invoking the selected predictive analytics technique. Figure 9A and Figure 9B The `generateProcedure` method 908 provides a prompt, which the orchestrator 130 can send to a large language model 144 to generate a procedure based on provided input, including an output table, an input table, parameter values, and synonyms (aliases for reference mapping tables, such as tables where aliases are mapped to specific input data). Method 908 constructs the procedure using a predefined template, which includes operations for performing selected predictive analytics techniques and for declaring the data tables, parameter tables, and output tables used for procedure execution. It writes the procedure to a file or returns it as a string, modifying it to be compatible with SQL execution.
[0085] Continue to refer to Figure 9B The `getDataTable` method (920) retrieves the input table from the context, which is used in the generation procedure. Code (930) retrieves the output table to be used in the generation procedure.
[0086] In some cases, users or computational processes can specify particular output formats, such as whether to generate physical database objects, like traditional objects used in SAP HANA, or other types of objects, such as HDI (HANA Deployment Infrastructure) objects, which can be considered containerized database objects. SAP DataSphere (data domain) can consume both types of objects. Reference Figure 10 and Figure 11 Codes 1000 and 1100 provide codes for implementing role and permission grants, which allow access to data objects used to execute selected predictive analytics techniques, particularly in cases involving HDI or similar objects, in contrast to SQL generation. Code 1000 specifies the particular privileges assigned to a role for procedure execution, while code 1100 associates a role with a specific data object.
[0087] Figure 12 and Figure 13 Codes 1200 and 1300 are provided to efficiently coordinate the generation of HDI objects or SQL, assuming the use of predictive analytics techniques described in the operation of a large language model 144, or other types of choices such as using the dataset to be analyzed. Codes 1200 and 1300 call functions defined in the previously defined code to produce the final output procedure to be executed and the SQL commands or HDI objects used in that procedure.
[0088] Example 3 - Example operations for configuring predictive analytics techniques
[0089] Figure 14 A flowchart of the process 1400 for configuring predictive analytics technology is provided. At 1408, user input is received identifying the dataset to be processed using computational logic of the predictive analytics technology. At 1412, a first prompt is generated by executing computational instructions that insert information about the data objects used by the predictive analytics technology into a first prompt template. This template includes instructions for extracting information that can be used to generate the data objects.
[0090] At 1416, the first prompt is submitted to the neural language model. At 1420, a first response to the first prompt is received, which includes information that can be used to generate data objects.
[0091] At 1424, the procedure is configured to perform predictive analytics techniques. This configuration includes executing computational instructions to insert identifiers of objects containing data from a dataset, information that can be used to generate the data objects, and identifiers of the predictive analytics techniques into a procedure template to provide the procedure.
[0092] Example 4 - Additional Examples
[0093] Example 1 provides a computing system including at least one hardware processor, at least one memory coupled to the hardware processor, and one or more computer-readable storage media. The storage media includes computer-executable instructions that, when executed, cause the computing system to perform operations. These operations include receiving input identifying a dataset to be processed using predictive analytics techniques; generating a first prompt using information about data objects to be used by the predictive analytics techniques; submitting the first prompt to a neural language model and receiving a first response having information that can be used to generate the data objects; and configuring procedures to perform predictive analytics techniques.
[0094] Example 2 is a computational system similar to Example 1, where the operation further includes parsing the first response to extract the table structure. Information available for generating data objects includes commands using the extracted table structure.
[0095] Example 3 is a computational system of Example 1 or Example 2, wherein the operation further includes executing procedures to provide predictive analysis results for the dataset.
[0096] Example 4 is a computational system for any of Examples 1-3, wherein the operation further includes generating a second cue to extract prerequisites for predictive analytics techniques. The second cue is submitted to a neural language model, and a second response with the extracted prerequisites is received.
[0097] Example 5 is a computational system based on Example 4, wherein the operation further includes generating a third prompt to obtain computational code for performing operations on the dataset to meet the extracted prerequisites. The third prompt is submitted to the neural language model, and a third response with the computational code is received.
[0098] Example 6 is a computational system similar to that of Example 4 or Example 5, wherein the operations further include performing a similarity search in a vector database to extract prerequisites for predictive analytics techniques from the embeddings. The results are inserted into a second prompt template.
[0099] Example 7 is a computational system of any of Examples 1-6, in which user input recognition predictive analytics techniques are used.
[0100] Example 8 is a computational system for any of Examples 1-7, where the user inputs a description of the analysis to be performed on the dataset, but does not identify the predictive analytics technique. The operation also includes generating vectors with semantic embeddings of the text describing the analysis. A similarity search is performed in a vector database, and an identifier for the predictive analytics technique is returned.
[0101] Example 9 is a computational system of any of Examples 1-8, wherein the operation further includes obtaining electronic documents describing various predictive analytics techniques and generating vectors with semantic embeddings of the descriptions.
[0102] Example 10 is a computational system for any of Examples 1-9, where the user inputs a description of the analysis to be performed on the dataset, but does not identify predictive analytics techniques. A prompt to select a predictive analytics technique is generated. The prompt is submitted to a neural language model, which receives a response with the predictive analytics technique specified.
[0103] Example 11 is a computational system of Examples 1-10, wherein the operation further includes searching a database to identify semantic embeddings with information about data objects, and responding to the search returned information.
[0104] Example 12 is a computational system of Example 11, wherein semantic embeddings include an input table and an output table used by predictive analytics techniques.
[0105] Example 13 is a computational system of Example 11, where semantic embeddings include parameters used by predictive analytics techniques.
[0106] Example 14 provides a method implemented in a computing system including at least one hardware processor and at least one memory coupled to the hardware processor. The method includes receiving input identifying a dataset to be processed using predictive analytics techniques. It generates a first prompt by executing computational instructions that insert information about data objects to be used by the predictive analytics techniques into a first prompt template. The template includes instructions for extracting information that can be used to generate the data objects. The first prompt is submitted to a neural language model, and a first response with information that can be used to generate the data objects is received. A procedure is configured to perform predictive analytics techniques by inserting identifiers of the data objects, including the dataset, information that can be used to generate the data objects, and identifiers of the predictive analytics techniques into a procedure template.
[0107] Example 15 is a method of Example 14, wherein the method further includes generating a second prompt by executing computational instructions to insert text about prerequisites for predictive analytics techniques into a second prompt template. The template includes instructions to extract the prerequisites from the text. The second prompt is submitted to a neural language model, and a second response with the extracted prerequisites is received.
[0108] Example 16 is the method of Example 15, and further includes generating a third prompt by executing computational instructions that insert descriptive information about the dataset and prerequisites for extraction into a third prompt template. The template includes instructions for providing computational code to perform operations on the dataset such that the dataset meets the prerequisites for extraction. The third prompt is submitted to a neural language model, and a third response with the computational code is received.
[0109] Example 17 is a method of any of Examples 14-16, where the user input includes text describing the analysis to be performed on the dataset using predictive analytics techniques, but the user input does not recognize the predictive analytics techniques. The method also includes generating vectors containing semantic embeddings of the text describing the analysis. A similarity search is performed on a vector database containing vectors of corresponding embeddings describing various predictive analytics techniques. In response to the similarity search, an identifier for the predictive analytics technique is returned.
[0110] Example 18 provides one or more non-transitory computer-readable storage media including computer-executable instructions. When executed by a computing system including at least one hardware processor and at least one memory coupled to the hardware processor, these instructions cause the computing system to receive input identifying a dataset to be processed using predictive analytics techniques. A first prompt is generated by executing computational instructions that insert information about data objects used by the predictive analytics techniques into a first prompt template. The template includes instructions for extracting information that can be used to generate the data objects. The first prompt is submitted to a neural language model, and a first response with information that can be used to generate the data objects is received. A procedure is configured to perform predictive analytics techniques by inserting identifiers of the data objects including the dataset, information that can be used to generate the data objects, and identifiers of the predictive analytics techniques into a procedure template.
[0111] Example 19 is a non-transitory computer-readable storage medium of Example 18, having computer-executable instructions that, when executed by a computing system, cause the computing system to generate a second prompt by executing computational instructions to insert text about prerequisites for predictive analytics techniques into a second prompt template. The template includes instructions to extract prerequisites from the text. The second prompt is submitted to a neural language model, and a second response with the extracted prerequisites is received.
[0112] Example 20 is a non-transitory computer-readable storage medium of Example 19, wherein the storage medium further includes computer-executable instructions that, when executed by the computing system, cause the system to perform a similarity search in a vector database. The database comprises vectors with corresponding embeddings describing various predictive analytics techniques. Prerequisites for the predictive analytics techniques are extracted from the embeddings, and the results are inserted into a second prompt template.
[0113] Example 5 - Computing System
[0114] Figure 15 A general example of a suitable computing system 1500 in which the described innovations can be implemented is depicted. The computing system 1500 is not intended to suggest any limitation on the scope or functionality of this disclosure, as the innovations can be implemented in various general-purpose or special-purpose computing systems.
[0115] refer to Figure 15 The computing system 1500 includes one or more processing units 1510, 1515 and memories 1520, 1525. Figure 15 In the diagram, the basic configuration 1530 is included within the dashed lines. Processing units 1510 and 1515 execute computer-executable instructions. The processing units can be general-purpose central processing units (CPUs), processors in application-specific integrated circuits (ASICs), or any other type of processor. In a multiprocessor system, multiple processing units execute computer-executable instructions to increase processing power. For example, Figure 15 A central processing unit 1510 and a graphics processing unit or coprocessor 1515 are shown. Physical memories 1520 and 1525 may be volatile memories (e.g., registers, caches, RAM), non-volatile memories (e.g., ROM, EEPROM, flash memory, etc.), or some combination thereof, accessible by the processing units 1510 and 1515. Memories 1520 and 1525 store software 1580 implementing one or more innovations described herein in the form of computer-executable instructions suitable for execution by the processing units 1510 and 1515. Memories 1520 and 1525 may also store database data or buffer data.
[0116] The computing system 1500 may have additional features. For example, the computing system 1500 includes a storage device 1540, one or more input devices 1550, one or more output devices 1560, and one or more communication connections 1570. Interconnection mechanisms (not shown), such as buses, controllers, or networks, interconnect the components of the computing system 1500. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing system 1500 and coordinates the activities of the components of the computing system 1500. In some cases, the operating system may manage or assist in managing query language execution threads or job execution threads.
[0117] The physical storage device 1540 may be removable or non-removable and includes a magnetic disk, magnetic tape or cassette tape, CD-ROM, DVD, or any other medium that can be used to store information in a non-transitory manner and can be accessed within the computing system 1500. The storage device 1540 stores instructions for implementing one or more of the innovative software 1520 described herein.
[0118] Input device 1550 may be a touch input device such as a keyboard, mouse, pen or trackball, a voice input device, a scanning device, or another device that provides input to computing system 1500. Output device 1560 may be a monitor, printer, speaker, CD writer, or another device that provides output from computing system 1500.
[0119] Communication connection 1570 enables communication with another computing entity, such as another database server, via a communication medium. The communication medium conveys information such as computer-executable instructions, audio or video input or output, or other data in a modulated data signal. A modulated data signal is a signal whose one or more characteristics are set or altered in such a way that information is encoded in the signal. By way of example, and not limitation, the communication medium may be an electrical carrier, an optical carrier, an RF carrier, or another carrier.
[0120] Innovations can be described in the general context of computer-executable instructions, such as those included in program modules, which execute on a computing system on a target real or virtual processor. Typically, program modules or components include routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of a program module can be combined or split among program modules as needed. The computer-executable instructions for a program module can execute within a local or distributed computing system.
[0121] The terms “system” and “device” are used interchangeably herein. Unless the context clearly indicates otherwise, neither term implies any limitation on the type of computing system or computing device. Generally, a computing system or computing device can be local or distributed and can include any combination of dedicated hardware and / or general-purpose hardware with software that implements the functions described herein.
[0122] For presentation purposes, computer operations in a computing system are described in detail using terms such as "determine" and "use". These terms are high-level abstractions of operations performed by a computer and should not be confused with actions performed by humans. The actual computer operations corresponding to these terms vary depending on the implementation method.
[0123] Example 6 - Cloud Computing Environment
[0124] Figure 16 An example cloud computing environment 1600 is depicted in which the described technologies can be implemented. The cloud computing environment 1600 includes cloud computing services 1610. Cloud computing services 1610 may include various types of cloud computing resources, such as computer servers, data repositories, networking resources, etc. Cloud computing services 1610 may be centrally located (e.g., provided by a data center of an enterprise or organization) or distributed (e.g., provided by various computing resources located in different locations (such as different data centers) and / or in different cities or countries).
[0125] Cloud computing service 1610 is utilized by various types of computing devices (e.g., client computing devices) such as computing devices 1620, 1622, and 1624. For example, computing devices (e.g., 1620, 1622, and 1624) can be computers (e.g., desktop or laptop computers), mobile devices (e.g., tablets or smartphones), or other types of computing devices. For example, computing devices (e.g., 1620, 1622, and 1624) can utilize cloud computing service 1610 to perform computing operations (e.g., data processing, data storage, etc.).
[0126] Example 7 - Implementation Method
[0127] Although some of the methods disclosed are described in a specific order for ease of presentation, it should be understood that this descriptive approach encompasses rearrangement unless the specific language used below requires a particular order. For example, operations described sequentially may be rearranged or executed concurrently in some cases. Furthermore, for simplicity, the accompanying figures may not show the various ways in which the disclosed methods can be combined with other methods.
[0128] Any of the methods disclosed can be implemented as computer-executable instructions or a computer program product stored on one or more computer-readable storage media and executed on a computing device (e.g., any available computing device, including smartphones or other mobile devices that include computing hardware). A tangible computer-readable storage medium is any available tangible medium that can be accessed within a computing environment (e.g., one or more optical media discs (such as DVDs or CDs), volatile memory components (such as DRAM or SRAM), or non-volatile memory components (such as flash memory or hard disk drives)). This is illustrated by way of example and reference. Figure 15 Computer-readable storage media include memories 1520 and 1525 and storage device 1540. The term "computer-readable storage medium" excludes signals and carrier waves. Additionally, the term "computer-readable storage medium" excludes communication connections (e.g., 1570).
[0129] Any computer-executable instructions used to implement the disclosed technology, and any data created and used during the implementation of the disclosed embodiments, may be stored on one or more computer-readable storage media. The computer-executable instructions may be, for example, part of a dedicated software application or a software application accessed or downloaded via a web browser or other software application, such as a remote computing application. Such software may execute, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment using one or more networked computers (e.g., via the Internet, a wide area network, a local area network, a client-server network (such as a cloud computing network), or other such networks).
[0130] For clarity, only certain aspects of software-based implementation methods have been described. Other details well-known in the art have been omitted. For example, it should be understood that the disclosed techniques are not limited to any specific computer language or program. For instance, the disclosed techniques can be implemented using software written in C++, Java, Perl, JavaScript, Python, Adobe Flash, or any other suitable programming language. Similarly, the disclosed techniques are not limited to any particular computer or hardware type. Certain details of suitable computers and hardware are well-known and do not need to be elaborated in this disclosure.
[0131] Furthermore, any software-based implementation (including, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed via suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, intranets, software applications, cables (including fiber optic cables), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
[0132] The disclosed methods, apparatuses, and systems should not be construed as limiting in any way. Rather, this disclosure addresses all novel and non-obvious features and aspects of the various disclosed embodiments, individually and in various combinations and sub-combinations with each other. The disclosed methods, apparatuses, and systems are not limited to any particular aspect or feature or combination thereof, nor are the disclosed embodiments required to address any one or more specific advantages or problems solved.
[0133] The techniques from any example can be combined with the techniques described in any one or more other examples. Given the many possible embodiments to which the principles of the disclosed techniques can be applied, it should be understood that the illustrated embodiments are examples of the disclosed techniques and should not be considered as limiting the scope of the disclosed techniques. Rather, the scope of the disclosed techniques includes what is covered by the scope and spirit of the appended claims.
Claims
1. A computing system comprising: at least one hardware processor; at least one memory coupled to the at least one hardware processor; and one or more computer-readable storage media comprising computer-executable instructions that, when executed, cause the computing system to perform operations comprising: receiving an input identifying a data set to be processed using a computing logic that performs a predictive analytics technique; generating a first prompt by executing computing instructions that cause information about a data object used by the predictive analytics technique to be inserted into a first prompt template, the first prompt template comprising instructions for extracting information usable to generate the data object; submitting the first prompt to a neural language model; receiving a first response to the first prompt, the first response comprising information usable to generate a data object; and configuring a procedure to perform the predictive analytics technique, the configuring comprising executing computing instructions to insert an identifier of an object comprising data of the data set, the information usable to generate the data object, and an identifier of the predictive analytics technique into a procedure template to provide a procedure.
2. The computing system of claim 1, the operations further comprising: parsing the first response to extract table structures, wherein the information usable to generate the data object comprises commands using the extracted table structures.
3. The computing system of claim 1, the operations further comprising: executing the procedure to provide a predictive analytics result of data of the data set.
4. The computing system of claim 1, the operations further comprising: generating a second prompt by executing computing instructions that cause text about prerequisites of the predictive analytics technique to be inserted into a second prompt template, the second prompt template comprising instructions to extract prerequisites from the text; submitting the second prompt to the neural language model; and receiving a second response to the second prompt, the second response comprising extracted prerequisites of the predictive analytics technique.
5. The computing system of claim 4, the operations further comprising: generating a third prompt by executing computing instructions that cause descriptive information about the data set and the extracted prerequisites to be inserted into a third prompt template, the third prompt template comprising instructions to provide computing code for performing operations on the data set such that the data set meets the extracted prerequisites; submitting the third prompt to the neural language model; and receiving a third response to the third prompt, the third response comprising the computing code.
6. The computing system of claim 4, the operations further comprising: performing a similarity search in a vector database comprising vectors to extract the prerequisites of the predictive analytics technique from embeddings, the vectors comprising respective embeddings of descriptions of respective ones of a plurality of predictive analytics techniques; and inserting results of the similarity search into the second prompt template. the user input identifies the predictive analytics technique. 7. The computing system of claim 1, wherein, 8. The computing system of claim 1, wherein, The user input includes text describing an analysis desired to be performed on the dataset using the predictive analytics technique, but the user input does not identify the predictive analytics technique, the operations further comprising: generating a vector including a semantic embedding of the text describing the analysis; performing a similarity search in a vector database including vectors including respective embeddings of descriptions for respective ones of a plurality of predictive analytics techniques; and in response to the similarity search, returning an identifier of the predictive analytics technique.
9. The computing system of claim 1, the operations further comprising: obtaining at least one electronic document including descriptions of a plurality of predictive analytics techniques, the descriptions including names of respective ones of the plurality of predictive analytics techniques, respective prerequisites of at least a portion of the respective predictive analytics techniques, at least one respective input table of the respective predictive analytics techniques, and at least one respective output table of the respective predictive analytics techniques; and generating a vector including a semantic embedding of at least a portion of the descriptions.
10. The computing system of claim 1, wherein, The user input includes text describing an analysis desired to be performed on the dataset using the predictive analytics technique, but the user input does not identify the predictive analytics technique, the operations further comprising: generating a second prompt by executing computing instructions that insert text describing an analysis desired to be performed into a second prompt template, the second prompt template including instructions to select a predictive analytics technique from a plurality of predictive analytics techniques specified in the second prompt; submitting the second prompt to the neural language model; and receiving a second response to the second prompt, the second response including the predictive analytics technique.
11. The computing system of claim 1, the operations further comprising: searching a database to identify semantic embeddings including information about data objects; and in response to the search, returning information about data objects.
12. The computing system of claim 11, wherein, The semantic embeddings include semantic embeddings of at least one input table and at least one output table used by the predictive analytics technique.
13. The computing system of claim 11, wherein, The semantic embeddings include semantic embeddings of parameters used by the predictive analytics technique.
14. A method implemented in a computing system including at least one hardware processor and at least one memory coupled to the at least one hardware processor, the method comprising: receiving input identifying a dataset to be processed using computing logic that performs a predictive analytics technique; generating a first prompt by executing computing instructions that cause information about data objects used by the predictive analytics technique to be inserted into a first prompt template, the first prompt template including instructions to extract information usable to generate the data objects; submitting the first prompt to a neural language model; receiving a first response to the first prompt, the first response including information usable to generate data objects; and a configuration procedure to perform the predictive analytics technique, the configuration including executing computational instructions to insert into a procedure template an identifier of an object of data including the data set, the information usable to generate the data object, and an identifier of the predictive analytics technique to provide a procedure.
15. The method of claim 14, further comprising: generating a second prompt by executing computational instructions that cause text about preconditions for the predictive analytics technique to be inserted into a second prompt template, the second prompt template including instructions to extract preconditions from the text; submitting the second prompt to the neural language model; and receiving a second response to the second prompt, the second response including extracted preconditions for the predictive analytics technique.
16. The method of claim 15, further comprising: generating a third prompt by executing computational instructions that cause descriptive information about the data set and extracted preconditions to be inserted into a third prompt template, the third prompt template including instructions to provide computational code for performing operations on the data set so that the data set meets the extracted preconditions; submitting the third prompt to the neural language model; and receiving a third response to the third prompt, the third response including the computational code.
17. The method of claim 14, wherein, the user input including text describing an analysis desired to be performed on the data set using the predictive analytics technique, but the user input not identifying the predictive analytics technique, the method further comprising: generating a vector including a semantic embedding of the text describing the analysis; performing a similarity search in a vector database including vectors including respective embeddings of descriptions for respective ones of a plurality of predictive analytics techniques; and in response to the similarity search, returning an identifier of the predictive analytics technique.
18. One or more non-transitory computer-readable storage media comprising: computer-executable instructions that, when executed by a computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, cause the computing system to receive input identifying a data set to be processed using computational logic that performs a predictive analytics technique; computer-executable instructions that, when executed by the computing system, cause the computing system to generate a first prompt by executing computational instructions that cause information about data objects used by the predictive analytics technique to be inserted into a first prompt template, the first prompt template including instructions to extract information usable to generate the data objects; computer-executable instructions that, when executed by the computing system, cause the computing system to submit the first prompt to a neural language model; computer-executable instructions that, when executed by the computing system, cause the computing system to receive a first response to the first prompt, the first response including information usable to generate the data objects; and computer-executable instructions that, when executed by the computing system, cause the computing system to configure a procedure to perform the predictive analysis technique, the configuring including executing computing instructions to insert an identifier of an object comprising data of the data set, information usable to generate the data object, and an identifier of the predictive analysis technique into a procedure template to provide a procedure.
19. The one or more non-transitory computer-readable storage media of claim 18, further comprising: computer-executable instructions that, when executed by the computing system, cause the computing system to generate a second prompt by executing computing instructions that cause text about prerequisites of the predictive analysis technique to be inserted into a second prompt template, the second prompt template including instructions to extract prerequisites from the text; computer-executable instructions that, when executed by the computing system, cause the computing system to submit the second prompt to the neural language model; and receiving a second response to the second prompt, the second response including extracted prerequisites of the predictive analysis technique.
20. The one or more non-transitory computer-readable storage media of claim 19, further comprising: computer-executable instructions that, when executed by the computing system, cause the computing system to perform a similarity search in a vector database including vectors to extract prerequisites of the predictive analysis technique from embeddings, the vectors including respective embeddings of descriptions of respective predictive analysis techniques of the plurality of predictive analysis techniques; and computer-executable instructions that, when executed by the computing system, cause the computing system to insert results of the similarity search into the second prompt template.