User interface

The three-panel user interface with a master controller addresses the fragmentation in LLM interaction by providing a flexible and integrated experience, enabling seamless interaction and context maintenance across panels for various tasks.

WO2025248127A1PCT designated stage Publication Date: 2025-12-04ICS AI LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/065069
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-30
Filing Date
2025-05-30
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing user interfaces for interacting with large language models (LLMs) are often disconnected and tailored to specific applications, providing a fragmented experience, lacking flexibility and seamless integration with other aspects of the user interface.

Method used

A three-panel user interface comprising a dialogue, navigation, and application panel, managed by a master user interface controller, allowing coordinated interaction with LLMs, where input in one panel can trigger updates in others, maintaining session context across all panels.

Benefits of technology

Facilitates a flexible and integrated user experience that supports a wide range of tasks by enabling seamless interaction with LLMs, maintaining context, and allowing skills to be loaded dynamically, enhancing usability and versatility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025065069_04122025_PF_FP_ABST
    Figure EP2025065069_04122025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to a computer system for managing interaction with messenger-based conversational interfaces. The problem addressed is for seamless LLM and UI interaction. The solution is for a computer system comprising a processor, a memory and a display, wherein the processor is configured to execute instructions stored in the memory to implement and render on the display a plurality of panels. The panels include a conversational dialogue panel to provide a conversation dialogue with at least one LLM, including an input field and display region; a navigation panel comprising a plurality of input buttons; and an application panel. The processor is further configured to render a document and / or input buttons upon receipt of an LLM response, and render a document on the application panel and / or provide input to the LLM upon receipt of input at one of the input buttons.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] USER INTERFACE

[0002] Generative Al models have recently been made widely available. For example, large language models (LLMs), which are one example type of generative Al model, receive input in the form of natural language (referred to as a prompt) and provide output in natural language. LLMs are large in the sense that they are trained on a huge quantity of data, encompassing many diverse data sets. They are also large in the sense that they have billions of parameters. The huge training data set and parameter set gives such models the ability to be employed in a wide range of tasks, including question answering, translation, summarisation, and classification.

[0003] Whilst users may interact with LLMs by authoring and submitting their own prompts, such models may also be integrated into other applications which make use of LLMs to carry out tasks. The application may make use of template prompts (also referred to as "metaprompts" or "system prompts"), which are filled with data by the application and then submitted by the application. In some examples, the application may then take action based on the received response (e.g. send an email, create a file, kick off a process etc).

[0004] One form in which LLM interaction is integrated into other applications is in "copilot" user interfaces. In such user interfaces, the user is additionally presented with a dialogue interface (i.e. a messengerbased conversational interface) along with the main user interface that they would ordinarily use to interact with the application. The user may provide input to the dialogue interface to ask questions or provide instructions via the chat dialogue. However, the dialogue interface is effectively an "addon" to the main application where the bulk of interaction takes place, resulting in a relatively disconnected experience for the user interacting with the system. Furthermore, such systems are typically tailored to a specific application or use-case (e.g. a copilot for an educational system, or an office program etc). There is a need for a flexible user-interface framework for interaction with messenger-based conversational interfaces, wherein the messenger interface seamlessly interacts with LLMs and controls other aspects of the user interface to provide fluid interaction. Examples of the disclosure provide a means of managing interaction with messenger-based conversational interfaces. In particular, a three-panel user interface is provided, with a first panel providing a dialogue interface, a second panel providing a navigation interface, and a third panel providing an application interface. State is maintained across all three panels. Accordingly, interaction in the dialogue interface may result in changes in the navigation interface (e.g. changes in available navigation options) and / or the application panel (e.g. the loading of input forms or the display of data). Similarly, interaction in the navigation interface may cause changes in the application panel and / or dialogue interface (e.g. the input of text to the dialogue causing a response from the LLM). The same may be true of interaction with the navigation interface. This three-panel interface can be applied to a wide range of end uses and sectors, providing a convenient user interface framework for accomplishing a wide range of tasks.

[0005] According to a first aspect disclosed herein, there is provided a computer system comprising: a processor, a memory and a display; the processor configured to execute instructions stored in the memory to implement and render on the display a plurality of panels comprising: a dialogue panel configured to provide a conversational dialogue with at least one large language model, LLM, the dialogue panel comprising: an input field configured to receive input text from a user to be provided as input to the LLM; and a display region configured to display previous input provided by a user and responses provided by the LLM; a navigation panel comprising a plurality of input buttons; an application panel; the processor being further configured to: upon receipt of a response provided by the LLM for display on the display region of the dialogue panel, render a document on the application panel and / or alter the plurality of input buttons of the navigation panel; upon receipt of an input at one of the plurality of input buttons, render a document on the application panel and / or provide input to the LLM; upon receipt of an input on the application panel, provide input to the LLM.

[0006] The processor may be further configured to implement a master user interface controller. Each of the panels may be configured to issue messages to the master user interface controller in response to user input. Each of the panels may be configured to listen for events issued by the master user interface controller. In response to receiving an event, the panel may render content.

[0007] One of the plurality of panels may be configured to listen for messages issued by the others of the panels, and forward the messages to the master user interface controller.

[0008] The processor may be configured to implement a copilot component. The copilot component may be configured to receive a message from the master user interface controller. In response to receipt of the message, the copilot component may generate a prompt and provide it as input to the LLM. The copilot component may receive a response from the LLM. The copilot component may generate a message comprising at least part of the response and send the message to the master user interface controller. The master user interface controller may be configured to receive the message and generate an event causing update of at least one of the panels.

[0009] Input at one of the plurality of input buttons may cause the system to load a skill. Loading the skill may comprise, by the copilot component, retrieving grounding data and providing the grounding data to the LLM in a prompt.

[0010] The copilot component may maintain a user session, the user session corresponding to a plurality of LLM sessions, each LLM session with a different LLM. The copilot component may be configured to store dialogue data associated with the user session from each of the plurality of LLM session. The copilot component may be configured to retrieve dialogue data associated with the user session from each of the plurality of LLM sessions. The copilot component may display this data to the user in response to user input.

[0011] The dialogue panel may issue a message to the master user interface controller when user input is provided to the input field, the message comprising text input by the user. The navigation panel may issue a message to the master user interface controller when user input is provided at one of the plurality of input buttons. The application panel may issue a message to master user interface controller when a user interacts with the document on the application panel. The document may be a form comprising input fields, and the user may interact with the document by entering information into the form. Upon receipt of the message, the master user interface controller may route the message to a copilot component. The copilot component may be configured to interact with one or more LLMs, including the LLM referenced above. The copilot component may maintain a user session corresponding to the user. The user session may correspond to a plurality of LLM sessions with the one or more LLMs. The copilot component may construct a prompt and provide it to the LLM. The copilot component may receive the response and provide the response to the master user interface controller. The master user interface controller may in response issue an event, which when received by the panels causes the panels to change their content.

[0012] The user session may be associated with user session grounding data, which may for example provide information about the user, tasks associated with the user or which the user performs regularly, the role of the user etc. The user session grounding data may be provided to the LLM by the copilot component.

[0013] At least some of the plurality of input buttons may be associated with a skill. The skill may be a task to be carried out by the user, such as creating content (e.g. a test or syllabus). User input at an input button may cause the copilot component to load the LLM with the skill, by providing grounding data to the LLM. The grounding data may provide the LLM with context in the dialogue in order to provide appropriate responses. User input at the input button may cause the application panel to display a document associated with the skill, suitably a form for creating the content. Data stored in a content management system accessible to the system may link the skill to grounding content and / or the document. Input via the dialogue panel may additionally or alternatively invoke a skill.

[0014] According to a second aspect, there is provided a computer-implemented method comprising: rendering on a display a plurality of panels comprising: a dialogue panel configured to provide a conversational dialogue with at least one large language model, LLM, the dialogue panel comprising: an input field configured to receive input text from a user to be provided as input to the LLM; and a display region configured to display previous input provided by the user and responses provided by the LLM; a navigation panel comprising a plurality of input buttons; and an application panel; in response to receipt of a response provided by the LLM for display on the display region of the dialogue panel, rendering a document on the application panel and / or altering the plurality of input buttons of the navigation panel; in response to receipt of an input at one of the plurality of input buttons, rendering a document on the application panel and / or providing input to the LLM; and in response to receipt of an input on the application panel, providing input to the LLM.

[0015] Further optional features of the method of the second aspect are defined above in relation to the first aspect and may be combined in any combination.

[0016] The disclosure extends to computer-readable media and computer program products corresponding to the aspects set out above.

[0017] Brief Description of the Drawings

[0018] To assist understanding of the present disclosure and to show how embodiments may be put into effect, reference is made by way of example to the accompanying drawings in which:

[0019] Figure 1 is a schematic block diagram of an exemplary architecture for delivering an Al generated dialogue with a user.

[0020] Figure 2 is a schematic block diagram of an exemplary user device.

[0021] Figure 3 is a schematic block diagram of a user interface.

[0022] Figure 4 is a schematic block diagram illustrating components of a user interface system.

[0023] Figure 5-8 are diagrams of example user interfaces.

[0024] Detailed Description of Embodiments

[0025] In overview, examples of the disclosure provide a user interface for LLM-aided tasks comprising three panels: a dialogue panel, a navigation panel and an application panel. Each panel acts together to provide interaction with the LLM in a seamless and coordinated manner, allowing the user to engage in a dialogue with the LLM, load skills using the navigation panel and interact with documents or forms that require more screen real estate in the application panel. In examples, the panels are managed by a master Ul controller, which the panels listen to for events, and to which the panels provide messages in response to user input. In examples, the master Ul controller manages input to the LLM via a copilot component, which controls input to and output from the LLM.

[0026] Figure 1 is a schematic diagram of an exemplary architecture for delivering an Al generated interaction with a user. Reference number 100 denotes a computer device which may be used by a user. The computer device may be any suitable computer device, including but not limited to smart phones, tablets, laptops, desktop computers, wearable devices or any other form of computer device that allows a user to interact with it to perform computing functions. The user device 100 has a network interface for communicating with a backend infrastructure 102 via a communication network 104. The communication network may be any type of communication network enabling such communication to be achieved including without limitation wired and wireless networks, wireless networks including for example telecommunications networks and / or Wi-Fi networks.

[0027] The backend infrastructure 102 may comprise one or more server, the or each server executing an LLM capable of delivering an output based on an input received from the user device.

[0028] Each LLM may also have access to grounding data sources specific to the task to be implemented by the LLM. The grounding data sources may in some circumstances be stored by the user device and incorporated into one or more prompts to provide context or background data for completing the task at hand.

[0029] The LLMs may include generative Al models which are capable of receiving a natural language input and generating an output, which may be in natural language or in another form. The servers may also include machine learning models which are capable of receiving a defined input and generating an output. In other words, the servers may store trained machine learning models that are task-specific, such as speech-to-text or translation models. The models may also include models trained to mimic the output of an LLM, such as a small language model (SLM). Hereinafter "LLM" is used as a shorthand for all of these possible models, but it will be appreciated that the disclosure extends to all such models. Generative Al models have recently been made widely available. Such generative Al models currently take the form of large language models (LLMs), so-called because they are trained on a huge quantity of data, encompassing many diverse data sets. Open Al has developed GPT-3 (generative pre-trained transformer 3). Another manifestation, BERT (bi-directional encoder representations from transformers) has been developed by Google. Such LLMs currently use a transformer architecture. These LLMs have the ability to use natural language prompts to ask the LLM to solve a task in a general way. Such LLMs receive natural language inputs which are used to generate prompts for the LLM. The LLM uses a transformer deep learning network to implement the trained language model. The LLM has been trained on a very large dataset (for example in the order of billions of tokens). It is a generative model that can generate text, data or code in receipt of a prompt.

[0030] Reference number 106 denotes a Master Ul Controller (MC). The MC 106 routes data between the user device 100 and backend infrastructure 102. The MC 106 is shown connected to the communication network 104. Note that this is highly schematic. In certain examples, the MC 106 may be connected to the user device 100 via a communication network which is entirely separate to the communication network 104 which is used to connect the user device to the server. In particular, the user device and the controller may form part of an entity's internal infrastructure, where the entity is for example a company or corporation, or other type of organisation, which is designated to carrying out a particular function. In one example, that function is the routing of calls in a call centre or organisation. In other examples, the MC 106 forms part of the user device.

[0031] Figure 2 is a schematic block diagram of an exemplary user device 100. The user device 100 comprises a processor 200 and a memory 202. The processor may be any suitable type of computing device, appropriate to the nature of the user device. For example, it could be implemented by a single core processor, a multi core processor or a computing cluster. If the user device 100 is a smart phone, it is likely that the processor will be embedded in a single casing with the other elements of the smart phone and could be a single core or multi core processor. The memory may include volatile memory and non-volatile memory. The non-volatile memory may include read-only memory, for example for storing computer instructions to be executed by the processor 200 to operate the computing device. The non-volatile memory may include for example RAM for holding data for carrying out operations of the user device. It will be appreciated that any suitable kinds of memory may be utilised, as suitable to the nature of the user device. As mentioned, operations of the user device 100 are carried out by the processor 200 executing instructions which have been stored in the memory 202. The user device 100 also includes a network interface 204 which enables it to communicate with the communication network 104 via a protocol suited to the communication network (be it wired or wireless etc).

[0032] The user device 100 also includes a user interface 206. The user interface is provided to enable or facilitate interaction between a user of the user device 100 and the processor 200. To that end, the user interface includes an input mechanism which allows a user to enter information into the device, and an output mechanism which allows a user to perceive output from the user device 100. The input mechanism may include a touch screen, buttons, keyboard, controllers such as a mouse or any other form enabling a user to input to the user device. The input and / or output mechanisms may additionally or alternatively include audio input and output mechanisms (e.g. microphones, speakers etc) or haptic inputs and outputs. Broadly speaking, any suitable input or output mechanisms for interacting with the device 100 may be incorporated. One form of output is to provide a display 208.

[0033] It will be appreciated that while the infrastructure which has been described assumes that the LLMs will be provided in the backend infrastructure 102, it is also possible to have one or more LLM being executed locally by the processor 200 at the user device.

[0034] In certain applications, processing user input may not be done for the purpose of displaying results to the user as indicated in Figure 2 in the display 208, but instead may be used to control other functions and / or make decisions to implement further operations based on the user input.

[0035] Figure 3 is a schematic diagram showing three exemplary display 208 panels which may be displayed to a user. The user is able to navigate between panels by providing input. The panels provide the user with access to content management functions through different methods of interaction. Session context is maintained across all panels as the user navigates between panels.

[0036] Reference number 300 denotes a dialogue display panel opened to allow the user to have a dialogue with an LLM provided in the backend infrastructure 102. To that end, the display panel includes a user input field 300a into which a user can enter text to the input to an LLM. Input text is provided to the processor 200 for processing and the processor 200 causes the input to be transmitted to the backend infrastructure via the network interface 204. The user input may for example be natural language text. A user may for example type text using a keyboard, which may form part of the user interface 206 or may be a separate accessory device. The display pane 208 also has a part 300b which displays a former input entered by a user denoted 300c and a former response 300d which has been delivered from the backend infrastructure. A further input of the user 300e is also illustrated. It will be evident that the display panel 300b is intended to show a history of a dialogue between a user and the LLMs at the backend infrastructure.

[0037] Reference number 300f denotes a note which may be added to the dialogue panel to access a previously saved application panel 304 session.

[0038] Reference number 300g denotes a button to initiate a new chat session. The user may be provided with an option to select an Al model from a list of Al models provided. Button 300g also allows a user to enter into a passthrough mode, wherein the user is able to directly initiate a new chat session with an Al model. Whereas in a normal dialogue session the dialogue is based on suitable grounding data or focused on a particular topic (i.e. user input is incorporated into a session including grounding data, or into metaprompts having other instructions not transparent to the user), in the passthrough mode the user may interact directly with the model,, optionally with guardrails if configured by the system administrator.

[0039] Reference number 300h denotes a history button. Selecting this may display previous dialogue history regardless of Al model. Previous interaction history from LLM sessions is stored in memory 404 of copilot 400, as discussed in more detail later.

[0040] Reference number 300i denotes a mode button. Selecting this displays the Al model currently in use.

[0041] Reference number 302 denotes a visual navigation display panel opened to allow the user to interact with an LLM provided in the backend infrastructure 102 by selecting "skills". In this context, selecting a "skill" may cause the LLM to be provided with suitable grounding data that enables it to carry out a particular task. For example, one skill may be generating a test in an education setting.

[0042] Navigation can take on multiple levels. To that end, the display panel includes a series of buttons 302a which a user can select from. The array of buttons displayed may be personalised to the user. Specific buttons may correspond to specific skills available to the user. User input is provided to the processor 200 for processing and the processor 200 causes the input to be transmitted to the backend infrastructure via the network interface 204.

[0043] Reference number 304 denotes an application display panel opened to allow the user to interact with an LLM provided in the backend infrastructure 102 by interacting with forms displayed to the user. To that end, the display panel includes arrays of LLM provided text 304a and user input fields 304b into which a user can enter text or select from presented options to input to an LLM. All skills in the application display panel 304 have a close and save button 304c to close and save content. A note 300f may be added to the dialogue panel 300 to access a previously saved application panel 304 session. The user input into 304 may for example be natural language text. A user may for example type text using a keyboard, which may form part of the user interface 206 or may be a separate accessory device. User input is provided to the processor 200 for processing and the processor 200 causes the input to be transmitted to the backend infrastructure via the network interface 204.

[0044] Figure 4 is a schematic block diagram of an exemplary architecture of the data flow between a user device 100 input and LLM sessions 406 and 408.

[0045] Reference number 430 denotes infrastructure for the application panel 304. Reference number 432 denotes data collected by user input to the application panel 304. The application panel infrastructure 430 has a memory 434 which stores session properties associated with the application panel 304.

[0046] Reference number 440 denotes infrastructure for the dialogue panel 300. Reference number 442 denotes data collected by user input to the dialogue panel 300. The dialogue panel infrastructure 440 has a memory 444 which stores session properties associated with the dialogue panel 300.

[0047] Reference number 450 denotes infrastructure for the navigation panel 302. Reference number 452 denotes data collected by user input to the navigation panel 302. The navigation panel infrastructure 450 has a memory 454 which stores session properties associated with the navigation panel 302.

[0048] The infrastructure for each panel is configured to instigate events in the infrastructure for any other panel. Each panel is configured to send events to any other panel, and each panel listens to events sent from the other panels. Generally, but not exclusively, the application panel infrastructure 430 and the navigation panel infrastructure 450 are configured to send user input to the MC 106 via the dialogue panel infrastructure 440,.

[0049] Dialogue panel infrastructure 440 is configured to send user input data from all panels to the MC 106. Input data may include, but is not limited to, activated skill, user input dialogue, and form input parameters. The input data may take the form of an event. Reference number 418 denotes an example message sent from the dialogue infrastructure 440 to the MC 106 containing user input data. Accordingly, the dialogue panel infrastructure 440 is configured to listen to events sent from application panel infrastructure 430 and navigation panel infrastructure 450, and in response forward these events to the MC 106.

[0050] In other examples, the panels 430, 450 communicate directly with MC 106, rather than via the dialogue panel 440.

[0051] The MC 106 routes data obtained from message 418 to a co-pilot 400 using a message 420. Upon receiving data from the MC 106, the co-pilot 400 identifies and retrieves a relevant LLM prompt programme 402 from memory 404. The co-pilot memory 404 also stores user information and session context data. Examples of user information stored in the memory 404 includes identity, affiliate groups, and chat history.

[0052] The co-pilot 400 inputs an LLM prompt into the LLM prompt programme 402. Each skill has at least one associated asset in the form of an LLM prompt. The co-pilot 400 may also input user information and session context data from memory 404 into the LLM prompt programme 402 for the purpose of user personalisation and maintaining context across different LLM sessions. One co-pilot session can create multiple LLM sessions, as illustrated by LLM session 406 and 408. This enables the co-pilot 400 to utilise more than one LLM within a single unified user experience.

[0053] The LLMs may be provided by different operating organisations. For example, one operating organisation might provide a specific LLM designed for a specific task, accessible by a user on a task basis. Other organisations might provide one or more LLM which is accessible for a block of tasks from a particular user. The user may have a preference as to which supplier is used for certain tasks. This preference can be incorporated into the parameters taken into account in the selection of the LLM. For example, a user may have a particular operating relationship with a particular supplier. The copilot 400 is capable of selecting a combination of LLMs which include a single use LLM and a block use LLM from different suppliers.

[0054] The LLM sessions 406 and 408 return data to the co-pilot 400. The co-pilot 400 sends the content to be provided to the user to the MC 106. The MC 106 may include or have access to a content management system (CMS) 410 which may be used to determine the actions to make available to the user on each display panel. The CMS 410 may also store content (e.g. grounding data) to be included in the prompts in order to enable the relevant skills. Grounding data may include requests for a particular style of response, such as tone or level of detail, and aspects to include or exclude from the response. The grounding data may also include data about which the user may ask questions, or which otherwise guides or informs the LLM in providing its response. The CMS 410 may also store templates for content to be rendered on display in the panels, including forms, lists, boxes and so forth.

[0055] Each panel infrastructure 430, 440 and 450 is configured as a slave to the MC 106 and listens for messages. Component 412 shows a message sent from the MC 106 to the application panel infrastructure 430. This message may include a form 304a to display to the user within display panel 304. Component 414 shows a message sent from the MC 106 to the dialogue panel infrastructure 440. This message may include dialogue to display to the user within 300b of display panel 300. Component 416 shows a message sent from the MC 106 to the navigation panel infrastructure 450. This message may include buttons 302a to display to the user within the display panel 302.

[0056] Figure 5A illustrates an example user interface 504 for application panel 304. A question-and-answer format is illustrated, in the form of a questionnaire. The example shows LLM provided text 304a (questions) and user input fields 304b (answer options). Also illustrated in this panel is the save button 504a.

[0057] Figures 5B-5D illustrate example user interfaces 502A, 502B and 502C for navigation panel 302.

[0058] Figure 5E illustrates an example user interface 500 for dialogue panel 300.

[0059] Figure 6A illustrates an example user interface 600 for dialogue display panel 300 with new chat button 300g selected. In the chat panel shown is the option to select an Al model from a list of Al models provided.

[0060] Figure 6B illustrates an example user interface 602 for the dialogue display panel 300 with history button 300h selected. In the chat panel shown is the history from all previous conversations regardless of model.

[0061] Figure 6C illustrates an example user interface 604 for the dialogue display panel 300 with mode button 300i selected. In the chat panel shown is the current LLM in use.

[0062] Figures 7A-C illustrate example user interfaces for each of the three panels supporting a use case whereby Al creators (educator in this example) and Al consumers (student in this example) collaborate. Panels include dialogue 800 (illustrated dialogue pane shows teaching use case), navigation 802 (illustrated navigation pane shows Educator tools use case), and application 804 (illustrated application pane shows course builder use case).

[0063] Figure 8 illustrates an example dialogue display panel 300 showing the note 300f to access this previously saved session in application display panel 304.

[0064] It will be appreciated that the above embodiments have been disclosed by way of example only. Other variants or use cases may become apparent to a person skilled in the art once given the disclosure herein. The scope of the present disclosure is not limited by the above-described embodiments, but only by the accompanying claims.

Claims

Claims1. A computer system comprising: a processor, a memory and a display; the processor configured to execute instructions stored in the memory to implement and render on the display a plurality of panels comprising: a dialogue panel configured to provide a conversational dialogue with at least one large language model, LLM, the dialogue panel comprising: an input field configured to receive input text from a user to be provided as input to the LLM; and a display region configured to display previous input provided by a user and responses provided by the LLM; a navigation panel comprising a plurality of input buttons; an application panel; the processor being further configured to: upon receipt of a response provided by the LLM for display on the display region of the dialogue panel, render a document on the application panel and / or alter the plurality of input buttons of the navigation panel; upon receipt of an input at one of the plurality of input buttons, render a document on the application panel and / or provide input to the LLM; upon receipt of an input on the application panel, provide input to the LLM.

2. The computer system of claim 1, the processor being further configured to implement a master user interface controller, wherein: each of the panels are configured to issue messages to the master user interface controller in response to user input; and each of the panels are configured to listen for events issued by the master user interface controller, and in response to receiving an event, render content.

3. The computer system of claim 2, wherein one of the panels is configured to listen for messages issued by the other ones of the panels, and forward the messages to the master user interface controller.

4. The computer system of claim 2 or 3, the processor being further configured to implement a copilot component configured to: receive a message from the master user interface controller; in response to receipt of the message, generate a prompt and provide it as input to the LLM; receive a response from the LLM; generate a message comprising at least part of the response and send the message to the master user interface controller; the master user interface controller being configured to receive the message and generate an event causing update of at least one of the panels.

5. The computer system of claim 4, wherein input at one of the plurality of input buttons causes the system to load a skill.

6. The computer system of claim 5, wherein loading the skill comprises, by the copilot component, retrieving grounding data and providing the grounding data to the LLM in the prompt.

7. The computer system of any of claims 4 to 6, wherein the copilot component is configured to maintain a user session, the user session corresponding to a plurality of LLM sessions, each LLM session with a different LLM.

8. The computer system of claim 7, wherein the copilot component is configured to store dialogue data associated with the user session from each of the plurality of LLM sessions; and wherein the copilot component is configured to retrieve dialogue data associated with the user session from each of the plurality of LLM sessions and display this data to the user in response to user input.

9. A computer-implemented method comprising: rendering on a display a plurality of panels comprising: a dialogue panel configured to provide a conversational dialogue with at least one large language model, LLM, the dialogue panel comprising:an input field configured to receive input text from a user to be provided as input to the LLM; and a display region configured to display previous input provided by the user and responses provided by the LLM; a navigation panel comprising a plurality of input buttons; and an application panel; in response to receipt of a response provided by the LLM for display on the display region of the dialogue panel, rendering a document on the application panel and / or altering the plurality of input buttons of the navigation panel; in response to receipt of an input at one of the plurality of input buttons, rendering a document on the application panel and / or providing input to the LLM; and in response to receipt of an input on the application panel, providing input to the LLM.

10. The method of claim 9, further comprising implementing a master user interface controller, wherein: each of the panels issues a message to the master user interface controller in response to user input; and each of the panels listens for an event issued by the master user interface controller and, in response to receiving the event, renders content.

11. The method of claim 10, wherein one of the panels listens for a message issued by another of the panels and forwards the message to the master user interface controller.

12. The method of claim 10 or 11, further comprising implementing a copilot component, and at the copilot component: receiving a message from the master user interface controller; in response to receipt of the message, generating a prompt and providing the prompt as input to the LLM; receiving a response from the LLM; generating a message comprising at least part of the response; and sending the message to the master user interface controller, wherein the master user interface controller receives the message and generates an event causing update of at least one of the panels.

13. The method of claim 12, wherein input at one of the plurality of input buttons causes the loading of a skill.

14. The method of claim 13, wherein loading the skill comprises, by the copilot component, retrieving grounding data and providing the grounding data to the LLM in the prompt.

15. The method of any of claims 12 to 14, wherein the copilot component maintains a user session, the user session corresponding to a plurality of LLM sessions, each LLM session with a different LLM.

16. The method of claim 15, comprising: storing dialogue data associated with the user session from each of the plurality of LLM sessions; retrieves the dialogue data associated with the user session from each of the plurality of LLM sessions, and displaying the dialogue data to a user in response to user input.

17. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform the method of any of claims 9 to 16.

Citation Information

Patent Citations

  • Conversational Virtual Healthcare Assistant

    US20140074454A1

  • System and method for a hybrid conversational and graphical user interface

    US20200334740A1

  • Conversation graph navigation with language model

    US20230259714A1