IP Library Granted Patent US 12693833
Granted Patent B1
US 12693833 · App. 19/231,398 · Granted Jul 28, 2026

Core agent for generation of legacy infrastructure modernization intelligence models

Inventors: Surya Vorganti (Charlotte, NC); Kevin Ben Hicks (Davidson, NC); Radhakrishnan Ramachandran (Manalapan, NJ)
Assignee: AMERICAN INTERNATIONAL GROUP, INC.
G06F8/30G06F8/73
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12693833
App. No.
19/231,398
Granted
Jul 28, 2026
Kind
B1
Abstract

A system for training language models to describe, analyze, support, and/or generate code for legacy systems or technology. A data scraper is directed to repositories, logging systems, and databases of legacy systems. Listeners are added to the user interfaces of the legacy systems to capture events, the functions called by the event, and other events occurring at approximately the same time. Chunks for training language models are generated from the content obtained by the data scraper and/or the listeners. The data extracted for the content and added to the chunks is based on the content type from which the chunks are generated. Chunks are filtered by legacy system, programming language, and/or hardware to generate a training set for training a corresponding data model. The embedding layer of the language model is used to generate vector embeddings for retrieval augmented generation.

Claims (64)

1 . A method for generating one or more language models for one or more legacy systems, the method comprising:

obtaining, by one or more processors, a plurality of content elements from the one or more legacy systems;

generating, by the one or more processors, a plurality of chunks by extracting data from the plurality of content elements, wherein the data extracted for a first chunk is based upon a content type for a respective content element from which the first chunk was extracted;

storing the plurality of chunks in database, wherein the database is logically separated for each of the one or more legacy systems;

training, by the one or more processors, a respective language model of the one or more language models for a corresponding legacy system of the one or more legacy systems using a set of chunks from the plurality of chunks filtered by the corresponding legacy system from which the respective content element was obtained, wherein the respective language model comprises one or more embedding layers;

generating, by the one or more processors, a vector associated with a semantic meaning of a second chunk using the one or more embedding layers independently from other layers of the respective language model for the corresponding legacy system associated with the second chunk, by processing the second chunk through an embedding layer of the respective language model that was trained using chunks for the corresponding legacy system, independently from other layers of that language model;

storing the vector as a key for the second chunk in an index for the corresponding legacy system;

receiving a prompt associated with the corresponding legacy system;

generating a prompt embedding for the prompt using the embedding layer of the respective language model that was trained using chunks for the corresponding legacy system; and

retrieving one or more relevant chunks from the index based on a similarity metric between the prompt embedding and the vectors stored as keys in the index for the corresponding legacy system.

2 . The method of claim 1 , wherein the plurality of chunks comprises a flag indicating whether a chunk of the plurality of chunks includes natural language or code.

3 . The method of claim 2 , wherein the flag is an input to the respective language model.

4 . The method of claim 1 , wherein:

obtaining the plurality of content elements comprises adding a listener for a webserver for a user interface of the one or more legacy systems; and

the first chunk comprises an identification at least one of:

one or more user interface elements associated with an action observed by the listener; or

one or more user interface functions associated with the action.

5 . The method of claim 4 , wherein the action is a first action and the one or more user interface elements are associated with a second action occurring proximate in time to the first action.

6 . The method of claim 1 , wherein obtaining the plurality of content elements comprises receiving log entries indicating changes to a state of the one or more legacy systems.

7 . The method of claim 6 , wherein the first chunk comprises a portion of a first log entry and a portion of a second log entry, a first timestamp of the first log entry and a second timestamp of the second log entry satisfying a proximity criterion.

8 . The method of claim 1 , wherein obtaining the plurality of content elements comprises receiving support tickets from the one or more legacy systems indicating an error and a resolution.

9 . The method of claim 8 , wherein training the respective language model comprises combining at least two chunks of the plurality of chunks having errors or resolutions satisfying a similarity criterion.

10 . The method of claim 1 , wherein training the respective language model comprises combining at least two chunks of the plurality of chunks having timestamps that satisfy a proximity threshold and are associated with different content elements.

11 . The method of claim 1 , wherein generating the plurality of chunks comprises extracting a table name, a column name, a data type, and a key from a database of the one or more legacy systems.

12 . The method of claim 1 , wherein generating the plurality of chunks comprises extracting, from a first function, at least one of a name of the first function written in a first programming language, parameters of the first function, a return type of the first function, a body of the first function, or a description of the first function and determining a relationship between the first function and a second function written in a second programming language.

13 . A system for generating one or more language models for one or more legacy systems, the system comprising one or more processing circuits configured to:

obtain a plurality of content elements from the one or more legacy systems;

generate a plurality of chunks by extracting data from the plurality of content elements, wherein the data extracted for a first chunk is based upon a content type for a respective content element from which the first chunk was extracted;

store the plurality of chunks in database, wherein the database is logically separated for each of the one or more legacy systems;

train a respective language model of the one or more language models for a corresponding legacy system of the one or more legacy systems using a set of chunks from the plurality of chunks filtered by the corresponding legacy system from which the respective content element was obtained, wherein the respective language model comprises one or more embedding layers;

generate a vector associated with a semantic meaning of a second chunk using the one or more embedding layers independently from other layers of the respective language model for the corresponding legacy system associated with the second chunk, by processing the second chunk through an embedding layer of the respective language model that was trained using chunks for the corresponding legacy system, independently from other layers of that language model;

store the vector as a key for the second chunk in an index for the corresponding legacy system;

receive a prompt associated with the corresponding legacy system;

generate a prompt embedding for the prompt using the embedding layer of the respective language model that was trained using chunks for the corresponding legacy system; and

retrieve one or more relevant chunks from the index based on a similarity metric between the prompt embedding and the vectors stored as keys in the index for the corresponding legacy system.

14 . The system of claim 13 , wherein:

obtaining the plurality of content elements comprises adding a listener for a webserver for a user interface of the one or more legacy systems; and

the first chunk comprises an identification at least one of:

one or more user interface elements associated with an action observed by the listener; or

one or more user interface functions associated with the action.

15 . The system of claim 14 , wherein the action is a first action and the one or more user interface elements or the one or more user interface elements are associated with a second action occurring proximate in time to the first action.

16 . The system of claim 13 , wherein:

obtaining the plurality of content elements comprises receiving log entries indicating changes to a state of the one or more legacy systems; and

the first chunk comprises a portion of a first log entry and a portion of a second log entry, a first timestamp of the first log entry and a second timestamp of the second log entry satisfying a proximity criterion.

17 . The system of claim 13 , wherein:

obtaining the plurality of content elements comprises receiving support tickets from the one or more legacy systems indicating an error and a resolution; and

training the respective language model comprises combining at least two chunks of the plurality of chunks having errors or resolutions satisfying a similarity criterion.

18 . The system of claim 13 , wherein training the respective language model comprises combining at least two chunks of the plurality of chunks having timestamps that satisfy a proximity threshold and are associated with different content elements.

19 . The system of claim 13 , wherein generating the plurality of chunks comprises extracting a name of a function, parameters of the function, a return type of the function, a body of the function, and a description of the function.

20 . A system for generating one or more language models for one or more legacy systems, the system comprising one or more processing circuits configured to:

operate one or more utility agents configured to:

obtain, by one or more processors, a plurality of content elements from the one or more legacy systems using one or more technologies;

generate, by the one or more processors, a plurality of chunks by extracting data from the plurality of content elements, wherein the data extracted for a first chunk is based upon a content type for a respective content element from which the first chunk was extracted;

store the plurality of chunks in database, wherein a chunk stored in the database are retrieved based on a legacy system filter and a technology filter;

train, by the one or more processors, a first language model of the one or more language models using chunks retrieved based on selections of the legacy system filter and the technology filter, wherein the first language model comprises one or more embedding layers;

create one or more language model agents comprising a first language model agent for the first language model;

generate, by the one or more processors, a vector associated with a semantic meaning of a second chunk using the one or more embedding layers independently from other layers of the first language model; and

assign an inbound task to an assigned language model agent comprising the first language model or a second language model for a legacy system indicated by a prompt of the inbound task, wherein the inbound task is generated by a client application configured to receive a response to the prompt and generate a user interface element for displaying the response;

operate one or more reader agents configured to:

generate a prompt embedding for the prompt of the inbound task, the one or more embedding layers associated with a language model for the legacy system indicated by the prompt;

retrieve one or more relevant chunks from the plurality of chunks based on a similarity metric between the prompt embedding and the plurality of chunks; and

provide the one or more relevant chunks to a language model agent; and

operate the one or more language model agents configured to:

receive the one or more relevant chunks; and generate an output by applying the prompt or a second prompt based upon the prompt and the one or more relevant chunks using the first language model.