Augmented search engine
An augmented search engine is provided. The augmented search engine receives an initial query for a search from a user. The augmented search engine determines a next search phase using a search state database. When the next search phase includes requesting additional user input, the augmented search engine generates a user prompt using the initial query, displays this prompt to the user, and stores the prompt in the search state database. Upon receiving user input in response to the prompt, the augmented search engine generates a search query using the initial query, the user prompt, and the user input and determines search results by querying search indexes with the search query and stores these results in the search state database. The augmented search engine generates a search summary using the initial query, the user prompt, the user input, and the search results, and displays this summary to the user.
1 . A machine-implemented method, comprising:
receiving, from a user, an initial query for a search;
storing the initial query in a search state database;
determining a next search phase using a search state classification model trained using training data comprising annotated initial queries to determine the next search phase based at least in part on the initial query stored in the search state database; and
in response to determining the next search phase is a search phase of requesting additional user input, performing operations comprising:
generating a user prompt for the user using the initial query;
storing the user prompt in the search state database;
displaying the user prompt to the user; and
receiving, from the user, the user input in response to the user prompt.
2 . The machine-implemented method of claim 1 , wherein generating the user prompt further comprises using a Large Language Model (LLM).
3 . The machine-implemented method of claim 1 , further comprising:
in response to determining the next search phase is a search phase of searching one or more search indexes, performing operations comprising:
generating one or more search queries using the search state database;
storing the one or more search queries in the search state database;
determining search results by querying one or more search engines using the one or more search queries; and
storing the search results in the search state database.
4 . The machine-implemented method of claim 3 , wherein generating the one or more search queries further comprises using an LLM.
5 . The machine-implemented method of claim 3 , further comprising:
in response to determining the next search phase is a search phase of generating a search summary, performing operations comprising:
generating a search summary using the search state database; and
displaying the search summary to the user.
6 . The machine-implemented method of claim 5 , wherein generating the search summary further comprises using an LLM.
7 . A computing system comprising:
at least one processor; and
at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
receiving, from a user, an initial query for a search;
storing the initial query in a search state database;
determining a next search phase using a search state classification model trained using training data comprising annotated initial queries to determine the next search phase based at least in part on the initial query stored in the search state database; and
in response to determining the next search phase is a search phase of requesting additional user input, performing operations comprising:
generating a user prompt for the user using the initial query;
storing the user prompt in the search state database;
displaying the user prompt to the user; and
receiving, from the user, the user input in response to the user prompt.
8 . The computing system of claim 7 , wherein generating the user prompt further comprises using a Large Language Model (LLM).
9 . The computing system of claim 7 , wherein the operations further comprise:
in response to determining the next search phase is a search phase of searching one or more search indexes, performing operations comprising:
generating one or more search queries using the search state database;
storing the one or more search queries in the search state database;
determining search results by querying one or more search engines using the one or more search queries; and
storing the search results in the search state database.
10 . The computing system of claim 9 , wherein generating the one or more search queries further comprises using an LLM.
11 . The computing system of claim 9 , wherein the operations further comprise:
in response to determining the next search phase is a search phase of generating a search summary, performing operations comprising:
generating a search summary using the search state database; and
displaying the search summary to the user.
12 . The computing system of claim 11 , wherein generating the search summary further comprises using an LLM.
13 . A machine-storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
receiving, from a user, an initial query for a search;
storing the initial query in a search state database;
determining a next search phase using a search state classification model trained using training data comprising annotated initial queries to determine the next search phase based at least in part on the initial query stored in the search state database; and
in response to determining the next search phase is a search phase of requesting additional user input, performing operations comprising:
generating a user prompt for the user using the initial query;
storing the user prompt in the search state database;
displaying the user prompt to the user; and
receiving, from the user, the user input in response to the user prompt.
14 . The machine-storage medium of claim 13 , wherein generating the user prompt further comprises using a Large Language Model (LLM).
15 . The machine-storage medium of claim 13 , wherein the operations further comprise:
in response to determining the next search phase is a search phase of searching one or more search indexes, performing operations comprising:
generating one or more search queries using the search state database;
storing the one or more search queries in the search state database;
determining search results by querying one or more search engines using the one or more search queries; and
storing the search results in the search state database.
16 . The machine-storage medium of claim 15 , wherein generating the one or more search queries further comprises using an LLM.
17 . The machine-storage medium of claim 15 , wherein the operations further comprise:
in response to determining the next search phase is a search phase of generating a search summary, performing operations comprising:
generating a search summary using the search state database; and
displaying the search summary to the user.