US-12626294-B2 - Systems and methods for autonomous conversational ordering and booking using AI technologies
Abstract
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.
Inventors
- Harry TU
- Wei Zhu
Assignees
- Harry TU
- Wei Zhu
Dates
- Publication Date
- 20260512
- Application Date
- 20231229
Claims (20)
- 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.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application Ser. No. 63/584,080 filed on Sep. 20, 2023, the entire contents of which are hereby incorporated by reference in its entirety. TECHNICAL FIELD The present disclosure generally relates to artificial intelligence (AI). BACKGROUND Restaurants, hotel, food & beverage venues, retail shops, and other consumer service-oriented establishments can have a high volume of repetitive work involving customer services and fulfillments. Such work is often times error-prone. Service delays and mistakes can contribute to customer dissatisfactions and thus can affect business growth. In addition, such daily overload of mission critical work duties can burden employees with stress and increase operational costs for the business. SUMMARY The present disclosure involves systems, software, and computer-implemented methods for autonomous conversational ordering and booking using AI technologies. An example method performed by one or more computers 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 based on the one or more input messages and the one or more output messages, 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. The method further includes transmitting the description to the order processing system. In some instances, the method further includes validating the format of the description by communicating with the order processing system. In some of those instances, the dialogue UI includes a chat box window and an order preview window that are configured to interact with each other, and the one or more input messages and the one or more output messages are presented in the chat box window. In some of those instances, the method further includes: presenting, via the order preview window, contents of the description in a structured format to the 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. In some of those instances, the format of the description and the contents of the description are validated by a third LLM. In some instances, the request includes one or more of: a request from the user to place a new order with the provider; a request from the user to modify an existing order the user placed with the provider previously; or a request from the user to cancel the existing order. In some instances, the order includes 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. In some instances, 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. In some instances, the information is stored in a local knowledge database that is accessible to the first LLM, and the information includes 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. In some of those instances, the one or more input messages and the one or more output messages are in a first natural language, and the information is stored in the local knowledge database in a second natural language. In some of those instances, the method further includes 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. In some instances, the first LLM is a public LLM, and the second LLM is a private LLM trained using training data associated with the information of the provider. An example system includes 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. The operations include receiving one or more input messages from a user via a dialogue UI. The operations further include generating, by a first LLM, one or more output messages based on the one or more input messages and information of a provider. The operations further include transmitting the one or more output messages to the user via the dialogue UI. The operations f