SYSTEMS AND METHODS FOR GENERATING DIFFERENT TYPES OF INTERACTIONS USING LANGUAGE MODEL OUTPUTS
Described herein are systems and methods for providing wager recommendations and wager comparisons based on a player prompt by preparing the input context of a large language model. A system can maintain an indexed data structure comprising a plurality of wager opportunities corresponding to a plurality of live events. Each wager opportunity can correspond to a wager type and be indexed by multiple indexes. The system can receive, from a client device associated with a player profile, a prompt comprising a request for a wager type recommendation. Using a set of language models and the indexed data structure, the system can generate an output message identifying a subset of wager opportunities having a subset of wager types selected based on the prompt. The system can provide the output message to the client device in response to the request.
1 . A system for responding to player-provided prompts with a series of wager opportunities assigned to live events, the system comprising:
one or more processors; and
one or more non-transitory, machine-readable media storing program instructions that, when executed by the one or more processors, causes the one or more processors to perform operations comprising:
maintaining an indexed data structure comprising a plurality of wager opportunities corresponding to a plurality of live events, each of the plurality of wager opportunities corresponding to a wager type of a plurality of wager types, wherein the plurality of wager opportunities is indexed in the indexed data structure by multiple indexes;
receiving, from a client device associated with a player profile, a prompt comprising a request for a wager type recommendation;
generating, using a set of language models and the indexed data structure of the plurality of wager opportunities, an output message identifying a subset of the plurality of wager opportunities having a subset of the plurality of wager types selected based on the prompt; and
providing the output message to the client device in response to the request.
2 . A method comprising:
maintaining an indexed data structure comprising a plurality of wager opportunities corresponding to a plurality of live events, each respective opportunity of the plurality of wager opportunities corresponding to a respective wager type of a plurality of wager types, wherein the indexed data structure is indexed by a set of indexes;
receiving, from a client device associated with a player profile, a prompt comprising a request for a wager type recommendation;
generating, using a set of language models and the indexed data structure comprising the plurality of wager opportunities, an output message identifying a subset of the plurality of wager opportunities having a subset of the plurality of wager types selected based on the prompt; and
providing the output message to the client device in response to the request.
3 . The method of claim 2 , wherein:
the set of language models comprises a query-building language model and a second language model;
the indexed data structure is indexed by a set of indexes;
the set of indexes comprise a first vector index and a second vector index;
the first vector index indicates a set of live events associated with a set of entities, the plurality of wager types, and a first set of wager lines;
the second vector index indicates the plurality of wager types and the set of live events associated with the set of entities and a second set of wager lines different from the first set of wager lines;
generating the output message comprises:
determining a set of intents based on the prompt;
extracting an entity identifier and a line value based on the set of intents;
generating, with the query-building language model a query;
retrieving a first set of wager opportunities from the indexed data structure based on the first vector index;
determining a neighboring region in a latent space within a boundary distance from the line value to generate a modified search query;
retrieving a second set of wager opportunities from the indexed data structure based on the second vector index;
generating an aggregated context text by aggregating text from the first set of wager opportunities and second set of wager opportunities;
generating an augmented prompt comprising the aggregated context text; and
submitting the augmented prompt to the query-building language model.
4 . The method of claim 2 , wherein the language model is a query-building language model, and wherein generating the output message comprises:
obtaining a model-generated query from the query-building language model;
parsing the model-generated query to detect values indicating the wager type recommendation and an initial probability value in the model-generated query and a set of identifiers for the initial probability value, wherein the set of identifiers satisfies a set of criteria based on the wager type recommendation;
retrieving a calculated probability value based on the set of identifiers and wager type; and
augmenting the model-generated query with the calculated probability value to form an augmented model-generated query.
5 . The method of claim 2 , further comprising:
chunking the prompt into a plurality of text blocks;
deriving a set of intents based on the plurality of text blocks;
determining that one or more line values are not present in the prompt; and
updating the set of intents to comprise a default line value, wherein generating the output message comprises generating a query with a query-building language model based on the set of intents.
6 . The method of claim 2 , further comprising:
initializing a container application;
generating, with the container application, a first vector store to index wager opportunities of the indexed data structure by matching line values and a second vector store to index the indexed data structure by alternate line values;
persisting the first vector store and the second vector store to a persistent storage resource; and
closing the container application without deactivating the persistent storage resource.
7 . The method of claim 6 , wherein the prompt is a first prompt, further comprising:
receiving a second prompt from a player at a first time;
determining a first index age for the first vector store based on the first time;
determining a first result indicating that a first index age of the first vector store satisfies an index age threshold; and
based on the first result, access the first vector store from the persistent storage resource based on the first index.
8 . The method of claim 7 , further comprising:
receiving a third prompt from the player at a second time;
determining a second index age for the first vector store based on the second time;
determining a second result indicating that the second index age exceeds the index age threshold; and
based the second result, retrieve the first vector store from the persistent storage resource.
9 . The method of claim 6 , wherein generating the output message comprises:
retrieving a first wager opportunity by performing an exact index search based on the first vector store; and
retrieving a second wager opportunity by performing a nearest neighbor search based on the first vector store.
10 . The method of claim 2 , further comprising:
determining a candidate intent based on the prompt;
determining a result indicating that that the candidate intent is not within a scope of a stored set of permitted intents; and
causing the client device to display a fixed message based on the result.
11 . The method of claim 10 , wherein the prompt is a follow-up prompt, further comprising:
receiving an exploratory prompt before receiving the follow-up prompt;
determining a first player intent based on the exploratory prompt;
classifying the first player intent as an exploratory intent based on the exploratory prompt;
retrieving, without accessing the indexed data structure, a set of text data in response to classifying the first player intent as an exploratory prompt;
determining a second intent based on the follow-up prompt; and
categorizing the second intent with a second intent category, wherein generating the output message comprises retrieving wager opportunities from the indexed data structure based on the second intent category and the set of text data.
12 . The method of claim 10 , further comprising:
selecting a subset of the plurality of wager types that permit multiple conditions; and
selecting the subset of the plurality of wager opportunities based on the subset of the plurality of wager types.
13 . A system comprising:
one or more processors coupled to one or more non-transitory media, the one or more non-transitory media comprising instructions causing the one or more processors to perform operations comprising:
maintaining an indexed data structure comprising a plurality of wager opportunities corresponding to a plurality of live events, each of the plurality of wager opportunities corresponding to a wager type of a plurality of wager types, wherein the indexed data structure is indexed by a set of indexes;
receiving, from a client device associated with a player profile, a prompt comprising a request for a wager type recommendation;
generating, using a language model and the indexed data structure comprising the plurality of wager opportunities, an output message identifying a subset of the plurality of wager opportunities having a subset of the plurality of wager types selected based on the prompt; and
providing the output message to the client device in response to the request.
14 . The system of claim 13 , wherein the wager type comprises one of a single wager, a parlay wager, a same-game parlay (SGP) wager, or an exotic wager.
15 . The system of claim 13 , wherein the one or more processors are further configured to:
determine, based on the prompt, the subset of the plurality of wager types that are to satisfy the request; and
select the subset of wager opportunities based on the subset of the plurality of wager types.
16 . The system of claim 13 , wherein the request identifies a plurality of participants of one or more live events, and wherein the one or more processors are further configured to:
select the subset of the plurality of wager types that permit multiple conditions; and
select the subset of the plurality of wager opportunities based on the subset of the plurality of wager types.
17 . The system of claim 13 , wherein the client device is associated with a player profile identifying a plurality of historical wagers, and wherein the one or more processors are further configured to:
determine a number of each wager type of the plurality of wager types identified in the plurality of historical wagers; and
select the plurality of wager opportunities based on the number of each wager type.
18 . The system of claim 13 , wherein the one or more processors are further configured to:
receive, from the client device, a second prompt identifying a first wager type of the subset of the plurality of wager types; and
generate, using the language model and the second prompt, a second output message identifying a first wager opportunity of the subset of the plurality of wager opportunities, the first wager opportunity corresponding to the first wager type.
19 . The system of claim 18 , wherein the prompt and the second prompt are each received responsive to a respective interaction with a graphical user interface at the client device.
20 . The system of claim 13 , wherein the request identifies one or more live events, and wherein the one or more processors are further configured to:
select the subset of the plurality of wager opportunities further based on the one or more live events.