Context-based generative artificial intelligence system
Systems, methods, and computer program products for using a generative artificial intelligence system to generate answers or summaries is provided. During the ingestion stage, the system receives documents and transcripts that include data associated with a theme. The data is converted into a common format and is divided into chunks. The chunks are associated with metadata tags that include chunk and data information. From the chunks, the system generates embedding vectors. During the inference stage, the system receives an information request. If the information request is a question, the system generates a vector from the question, and uses a similarity search to identify similar vectors. From the similar vectors, the system identifies chunks. If the information request includes a summary request, the system uses the metadata tags to identify chunks with summary information. The system generates an answer or a summary from the identified chunks.
1 . A system comprising:
one or more non-transitory memories storing instructions; and
one or more hardware processors coupled to the non-transitory memories and configured to read the instructions from the non-transitory memories to cause the system to perform operations comprising:
receiving an identifier and a request for information from a chatbot interface;
generating, using at least one large language model, a vector from the request for the information;
accessing a dictionary from a plurality of dictionaries with the identifier, the dictionary comprising pointers to locations of a plurality of vectors and a plurality of chunks in a data storage, wherein the plurality of chunks correspond to data associated with the identifier from a plurality of data sources;
identifying, using a similarity algorithm, a subset of vectors from the plurality of vectors in the dictionary that are similar to the vector associated with the request for the information, wherein the subset of vectors that are similar comprise parameters within a predefined distance from parameters of the vector associated with the request for the information;
identifying a subset of chunks corresponding to the subset of vectors; and
generating, using the at least one large language model, a response to the request for the information from the subset of chunks.
2 . The system of claim 1 , wherein the request for the information is included in a dialogue between an artificial intelligence chatbot and a user.
3 . The system of claim 1 , further comprising:
ranking the subset of vectors according to similarity indicated by the similarity algorithm; and
retaining a predefined number of vectors in the subset of vectors according to the ranking.
4 . The system of claim 3 , wherein identifying the subset of chunks further comprises:
identifying the subset of chunks in an order of the ranked subset of vectors; and
generating the response to the request using the subset of chunks in the order of the ranked subset of vectors.
5 . The system of claim 1 , wherein the request for the information is associated with a software project.
6 . The system of claim 1 , wherein the information is from a plurality of sources and includes at least one document or at least one transcript that includes alphanumeric text.
7 . The system of claim 1 , wherein the at least one large language model is finetuned using historical data from a plurality of software projects.
8 . The system of claim 1 , further comprising:
determining that the request for the information is a question associated with a project, and wherein the response is an answer to the question.
9 . The system of claim 1 , wherein the identifier for the data is generated using a large language model.
10 . A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:
receiving an identifier and a request for information from a chatbot interface;
generating, using at least one large language model, a vector from the request for the information;
accessing a dictionary from a plurality of dictionaries with the identifier, the dictionary comprising pointers to locations of a plurality of vectors and a plurality of chunks in a data storage, wherein the plurality of chunks correspond to data associated with a plurality of data sources;
identifying, using a similarity algorithm, a subset of vectors from the plurality of vectors in the dictionary that are similar to the vector associated with the request for the information, wherein the subset of vectors that are similar comprise parameters within a predefined distance from parameters of the vector associated with the request for the information;
identifying a subset of chunks corresponding to the subset of vectors;
generating, using the at least one large language model, a response to the request for the information using the subset of chunks.
11 . The non-transitory machine-readable medium of claim 10 , wherein the request for the information is the request for a summary of a project.
12 . The non-transitory machine-readable medium of claim 10 , wherein the dictionary further comprises a plurality of metadata tags, wherein a subset of metadata tags identify a title associated with a data source in the plurality of data sources.
13 . The non-transitory machine-readable medium of claim 12 , wherein the identifying the subset of chunks further comprises:
identifying the subset of chunks corresponding to the subset of metadata tags.
14 . A method comprising:
receiving an identifier and a request for information from a chatbot interface;
generating, using a processor and at least one large language model executing on the processor, a vector from the request for the information;
accessing, using the identifier, a dictionary from a plurality of dictionaries stored in a memory, the dictionary comprising pointers to locations of a plurality of vectors and a plurality of chunks, wherein the plurality of chunks correspond to data associated with the identifier from a plurality of data sources;
identifying, using a similarity algorithm, a subset of vectors from the plurality of vectors in the dictionary that are similar to the vector associated with the request for the information, wherein the subset of vectors that are similar comprise parameters within a predefined distance from parameters of the vector associated with the request for the information;
identifying a subset of chunks corresponding to the subset of vectors; and
generating, using the at least one large language model, a response to the request for the information from the subset of chunks.
15 . The method of claim 14 , wherein the request for the information is included in a dialogue between an artificial intelligence chatbot and a user.
16 . The method of claim 14 , further comprising:
ranking the subset of vectors according to similarity; and
retaining a predefined number of vectors in the subset of vectors according to the ranking.
17 . The method of claim 16 , wherein identifying the subset of chunks further comprises:
identifying the subset of chunks in an order of the ranked subset of vectors; and
generating the response to the request using the subset of chunks in the order of the ranked subset of vectors.
18 . The method of claim 14 , wherein the information is from a plurality of sources and includes at least one document or at least one transcript that includes alphanumeric text.
19 . The method of claim 14 , wherein the at least one large language model is finetuned using historical data from a plurality of software projects.
20 . The method of claim 14 , further comprising:
determining that the request for the information is a question associated with a project, and wherein the response is an answer to the question.