Systems and methods for autonomous conversational ordering and booking using AI technologies
View Patent ↗The present disclosure relates to systems, software, and computer-implemented methods for autonomous conversational ordering using AI technologies. An example method includes receiving one or more input messages from a user via a dialogue user interface (UI). The method further includes generating, by a first large language model (LLM), one or more output messages based on the one or more input messages and information of a provider. The method further includes transmitting the one or more output messages to the user via the dialogue UI. The method further includes determining, by a second LLM, that the user has submitted a request associated with an order with the provider. The method further includes generating a description of the request in a format in compliance with an order processing system of the provider and transmitting the description to the order processing system.
1 . A method performed by one or more computers, comprising:
receiving, by a first large language model (LLM) implemented by one or more processors, one or more input messages from a user device via a dialogue user interface (UI);
generating, by the first LLM, one or more output messages based on the one or more input messages and information of a provider;
transmitting the one or more output messages to the user device via the dialogue UI;
monitoring, by a second LLM implemented by the one or more processors, (i) the one or more input messages received from the user device and (ii) the first LLM, the monitoring comprising determining, by the second LLM, that the user device has submitted a request associated with an order with the provider by identifying a particular input message in the one or more input messages related to the order;
notifying the first LLM, by the second LLM, of the identified particular input message, wherein the notification triggers a function call feature of the first LLM, the function call feature causing the first LLM to extract order data from the one or more input messages;
generating, by the first LLM, a description of the request in a format in compliance with an order processing system of the provider using the extracted order data;
transmitting the description to the order processing system through an order processing application programming interface (API); and
validating the format by the order processing system in response to receiving the formatted description through the order processing API.
2 . The method according to claim 1 , wherein the dialogue UI comprises a chat box window and an order preview window that are configured to interact with each other, and wherein the one or more input messages and the one or more output messages are presented in the chat box window.
3 . The method according to claim 2 , comprising:
presenting, via the order preview window, contents of the description in a structured format to a user;
receiving feedback from the user on the contents of the description through at least one of the chat box window or the order preview window; and
validating the contents of the description based on the feedback.
4 . The method according to claim 3 , wherein the format of the description and the contents of the description are validated by a third LLM.
5 . The method according to claim 1 , wherein the request comprises one or more of:
a request from the user device to place a new order with the provider;
a request from the user device to modify an existing order the user device placed with the provider previously; or
a request from the user device to cancel the existing order.
6 . The method according to claim 1 , wherein the order comprises one or more of:
an order for a good being sold by the provider; or
an order for a service being provided by the provider.
7 . The method according to claim 1 , wherein each of the one or more input messages and the one or more output messages is either a natural language text message or a natural language voice message.
8 . The method according to claim 1 , wherein:
the information is stored in a local knowledge database that is accessible to the first LLM; and
the information comprises one or more of:
contact information of the provider;
an introduction to the provider;
a list of products sold by the provider;
a product description;
availability information of services provided by the provider;
marketing information; or
information of users of the provider.
9 . The method according to claim 8 , wherein:
the one or more input messages and the one or more output messages are in a first natural language;
the information is stored in the local knowledge database in a second natural language; and
the method further comprises:
generating the information in the first natural language; and
storing the information in the first natural language in a second local knowledge database that is accessible to the first LLM.
10 . The method according to claim 1 , wherein the first LLM is a public LLM, and wherein the second LLM is a private LLM trained using training data associated with the information of the provider.
11 . A system comprising:
one or more computers; and
one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:
receiving, by a first large language model (LLM) implemented by one or more processors, one or more input messages from a user device via a dialogue user interface (UI);
generating, by the first LLM, one or more output messages based on the one or more input messages and information of a provider;
transmitting the one or more output messages to the user device via the dialogue UI;
monitoring, by a second LLM implemented by the one or more processors, (i) the one or more input messages received from the user device and (ii) the first LLM, the monitoring comprising determining, by the second LLM, that the user device has submitted a request associated with an order with the provider by identifying a particular input message in the one or more input messages related to the order;
notifying the first LLM, by the second LLM, of the identified particular input message, wherein the notification triggers a function call feature of the first LLM, the function call feature causing the first LLM to extract order data from the one or more input messages;
generating, by the first LLM, a description of the request in a format in compliance with an order processing system of the provider using the extracted order data;
transmitting the description to the order processing system through an order processing application programming interface (API); and
validating the format by the order processing system in response to receiving the formatted description through the order processing API.
12 . The system according to claim 11 , wherein the dialogue UI comprises a chat box window and an order preview window that are configured to interact with each other, and wherein the one or more input messages and the one or more output messages are presented in the chat box window.
13 . The system according to claim 12 , the operations comprising:
presenting, via the order preview window, contents of the description in a structured format to a user;
receiving feedback from the user on the contents of the description through at least one of the chat box window or the order preview window; and
validating the contents of the description based on the feedback.
14 . The system according to claim 13 , wherein the format of the description and the contents of the description are validated by a third LLM.
15 . The system according to claim 11 , wherein the request comprises one or more of:
a request from the user device to place a new order with the provider;
a request from the user device to modify an existing order the user device placed with the provider previously; or
a request from the user device to cancel the existing order.
16 . The system according to claim 11 , wherein the order comprises one or more of:
an order for a good being sold by the provider; or
an order for a service being provided by the provider.
17 . The system according to claim 11 , wherein each of the one or more input messages and the one or more output messages is either a natural language text message or a natural language voice message.
18 . The system according to claim 11 , wherein:
the information is stored in a local knowledge database that is accessible to the first LLM; and
the information comprises one or more of:
contact information of the provider;
an introduction to the provider;
a list of products sold by the provider;
a product description;
availability information of services provided by the provider;
marketing information; or
information of users of the provider.
19 . The system according to claim 18 , wherein:
the one or more input messages and the one or more output messages are in a first natural language;
the information is stored in the local knowledge database in a second natural language; and
the operations further comprise:
generating the information in the first natural language; and
storing the information in the first natural language in a second local knowledge database that is accessible to the first LLM.
20 . One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
receiving, by a first large language model (LLM) implemented by one or more processors, one or more input messages from a user device via a dialogue user interface (UI);
generating, by the first LLM, one or more output messages based on the one or more input messages and information of a provider;
transmitting the one or more output messages to the user device via the dialogue UI;
monitoring, by a second LLM implemented by the one or more processors, (i) the one or more input messages received from the user device and (ii) the first LLM, the monitoring comprising determining, by the second LLM that the user device has submitted a request associated with an order with the provider by identifying a particular input message in the one or more input messages related to the order;
notifying the first LLM, by the second LLM, of the identified particular input message, wherein the notification triggers a function call feature of the first LLM, the function call feature causing the first LLM to extract order data from the one or more input messages;
generating, by the first LLM, a description of the request in a format in compliance with an order processing system of the provider using the extracted order data;
transmitting the description to the order processing system through an order processing application programming interface (API); and
validating the format by the order processing system in response to receiving the formatted description through the order processing API.