System and method for intelligent product recommendation
By designing a large language model (LLM) with multiple prompts, the problem of users needing to provide precise configurations in existing systems is solved, enabling user-friendly product recommendations and intelligent product recommendations that meet users' fuzzy or implicit needs.
Patent Information
- Application Number
- CN202410450943.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-15
- Publication Date
- 2025-10-31
AI Technical Summary
Existing product recommendation systems require users to provide precise product names or specific configurations, and cannot understand users' vague or implicit needs, resulting in an unfriendly interaction.
By designing multiple prompts to guide a large language model (LLM), setting context and labeling tasks, product recommendations are generated, including zero-shot and few-shot prompts to obtain real-time data and summarize product information. The core module processes the LLM output to provide user-friendly product recommendations.
It enables the provision of relevant product recommendations without requiring users to specify product names or configurations, thereby improving the user interaction experience and meeting users' vague or implicit needs.
Smart Images

Figure CN120876000A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to information processing systems, and more specifically, to systems and methods for recommending smart products. Background Technology
[0002] As the value and use of information continue to increase, individuals and businesses are seeking alternative ways to process and store information. One option is an information processing system. Information processing systems typically process, compile, store, or transmit information or data for business, personal, or other purposes. The technology, information processing needs, and requirements may vary between different applications. Therefore, information processing systems may also differ in terms of what information is processed, how it is processed, how much information is processed, stored, or transmitted, and how quickly and efficiently it can be processed, stored, or transmitted. Variations in information processing systems allow them to be general-purpose or configured for specific users or purposes (such as financial transaction processing, flight booking, corporate data storage, or global communications). Furthermore, information processing systems can include a variety of hardware and software resources that can be configured to process, store, and transmit information, and may include one or more computer systems, graphical interface systems, data storage systems, networking systems, and mobile communication systems. Information processing systems can also implement various virtualization architectures. Data and voice communication between information processing systems can be via wired, wireless, or a combination of these networks. Summary of the Invention
[0003] An information processing system receives a query for product recommendations, converts the query into a first prompt for a large language model, and generates a second prompt to guide the large language model to perform a task for searching auxiliary data based on the query. The system provides the first and second prompts to the large language model to generate and label the task for searching the auxiliary data, performs the task to obtain the auxiliary data, and provides a third prompt to the large language model in response to generate a summary of the auxiliary data based on the third prompt. The system receives product recommendations from the large language model based on the candidate products included in the summary, in response to providing a fourth prompt with candidate products to the large language model. Attached Figure Description
[0004] It should be understood that, for the sake of simplicity and clarity, the elements shown in the accompanying drawings are not necessarily drawn to scale. For example, the dimensions of some elements may be enlarged relative to others. This document illustrates and describes embodiments incorporating the teachings of this disclosure with reference to the accompanying drawings, in which:
[0005] Figure 1 This is a block diagram illustrating an information processing system according to an embodiment of the present disclosure;
[0006] Figure 2 This is a block diagram of a system for recommending smart products according to an embodiment of this disclosure;
[0007] Figures 3 to 5 This is a flowchart of a method for recommending smart products according to an embodiment of this disclosure.
[0008] Using the same reference numerals in different figures indicates similar or identical items. Detailed Implementation
[0009] The following description, taken in conjunction with the accompanying drawings, is provided to aid in understanding the teachings disclosed herein. The description focuses on specific implementations and embodiments of these teachings and is provided to assist in describing the teachings. This focus should not be construed as limiting the scope or applicability of the teachings.
[0010] Figure 1 An embodiment of an information processing system 100 is illustrated, comprising processors 102 and 104, a chipset 110, a memory 120, a graphics adapter 130 connected to a video display 134, non-volatile RAM (NVRAM) 140 including a Basic Input / Output System / Extensible Firmware Interface (BIOS / EFI) module 142, a disk controller 150, a hard disk drive (HDD) 154, an optical disk drive 156, a disk emulator 160 connected to a solid-state drive (SSD) 164, an input / output (I / O) interface 170 connected to an extension resource 174 and a Trusted Platform Module (TPM) 176, a network interface 180, and a baseboard management controller (BMC) 190. Processor 102 is connected to chipset 110 via processor interface 106, and processor 104 is connected to chipset 104 via processor interface 108. In certain embodiments, processors 102 and 104 are interconnected via high-capacity coherent structures, such as hyperlinks, fast path interconnects, etc. Chipset 110 represents an integrated circuit or group of integrated circuits that manages the data flow between processors 102 and 104 and other components of the information processing system 100. In a particular embodiment, chipset 110 represents a pair of integrated circuits, such as a northbridge component and a southbridge component. In another embodiment, some or all of the functions and features of chipset 110 are integrated with one or more of processors 102 and 104.
[0011] Memory 120 is connected to chipset 110 via memory interface 122. Examples of memory interface 122 include Double Data Rate (DDR) memory channels, and memory 120 represents one or more DDR dual in-line memory modules (DIMMs). In a particular embodiment, memory interface 122 represents two or more DDR channels. In another embodiment, one or more of processors 102 and 104 include a memory interface providing dedicated memory for the processor. DDR channels and connected DDR DIMMs may be based on specific DDR standards, such as DDR3, DDR4, DDR5, etc.
[0012] Memory 120 may also represent various combinations of memory types, such as Dynamic Random Access Memory (DRAM) DIMMs, Static Random Access Memory (SRAM) DIMMs, Non-Volatile DIMMs (NV-DIMMs), Storage Class Memory Devices, Read-Only Memory (ROM) Devices, etc. Graphics adapter 130 is connected to chipset 110 via graphics interface 132 and provides video display output 136 to video display 134. Examples of graphics interface 132 include a Peripheral Component Rapid Interconnect (PCIe) interface, and graphics adapter 130 may include a quad-channel (x4) PCIe adapter, an eight-channel (x8) PCIe adapter, a 16-channel (x16) PCIe adapter, or another configuration as needed or desired. In certain embodiments, graphics adapter 130 is provided on a system printed circuit board (PCB). Video display output 136 may include a Digital Video Interface (DVI), High-Definition Multimedia Interface (HDMI), DisplayPort interface, etc., and video display 134 may include a monitor, a smart TV, an embedded display such as a laptop computer display, etc.
[0013] NVRAM 140, disk controller 150, and I / O interface 170 are connected to chipset 110 via I / O channel 112. Examples of I / O channel 112 include one or more point-to-point PCIe links between chipset 110 and each of NVRAM 140, disk controller 150, and I / O interface 170. Chipset 110 may also include one or more other I / O interfaces, including PCIe interfaces, Industry Standard Architecture (ISA) interfaces, Small Computer Serial Interface (SCSI) interfaces, and Inter-Integrated Circuit (I / O) interfaces. 2C) Interface, System Packet Interface, Universal Serial Bus (USB), another interface, or a combination thereof. NVRAM 140 includes a BIOS / EFI module 142 that stores machine-executable code (BIOS / EFI code) that operates to detect resources of the information processing system 100, provide drivers for the resources, initialize the resources, and provide common access mechanisms for the resources. The functionality and characteristics of the BIOS / EFI module 142 will be further described below.
[0014] Disk controller 150 includes a disk interface 152 that connects the disk controller to a hard disk drive (HDD) 154, an optical disk drive (ODD) 156, and a disk emulator 160. Examples of disk interfaces 152 include an Integrated Drive Electronics (IDE) interface, an Advanced Technology Attachment (ATA) interface (such as a Parallel ATA (PATA) interface or a Serial ATA (SATA) interface), a SCSI interface, a USB interface, a proprietary interface, or a combination thereof. Disk emulator 160 allows SSD 164 to be connected to information processing system 100 via external interface 162. Examples of external interface 162 include a USB interface, an Institute of Electrical and Electronics Engineers (IEEE) 1394 (FireWire) interface, a proprietary interface, or a combination thereof. Alternatively, SSD 164 may be located within information processing system 100.
[0015] I / O interface 170 includes peripheral interface 172, which connects the I / O interface to expansion resource 174, TPM 176, and network interface 180. Peripheral interface 172 may be the same type of interface as I / O channel 112, or it may be a different type of interface. Therefore, when peripheral interface 172 and I / O channel are of the same type, I / O interface 170 expands the capabilities of I / O channel 112, and when they are of different types, I / O interface converts information from a format suitable for the I / O channel to a format suitable for peripheral interface 172. Expansion resource 174 may include a data storage system, an additional graphics interface, a network interface card (NIC), a voice / video processing card, another expansion resource, or a combination thereof. Expansion resource 174 may be located on a main circuit board, on a separate circuit board or expansion card disposed within the information processing system 100, on a device external to the information processing system, or a combination thereof.
[0016] Network interface 180 represents a network communication device disposed within information processing system 100, on the main circuit board of information processing system, integrated into another component such as chipset 110, in another suitable location, or a combination thereof. Network interface 180 includes a network channel 182 that provides an interface to devices external to information processing system 100. In a particular embodiment, network channel 182 is of a different type from peripheral interface 172, and network interface 180 converts information from a format suitable for the peripheral channel to a format suitable for the external device.
[0017] In a particular implementation, network interface 180 includes a NIC or host bus adapter (HBA), and examples of network channel 182 include InfiniBand channel, Fibre Channel, Gigabit Ethernet channel, proprietary channel architecture, or combinations thereof. In another implementation, network interface 180 includes a wireless communication interface, and network channel 182 includes a Wi-Fi channel, near field communication (NFC) channel, etc. Alternatively, it may use a Bluetooth Low Energy (BLE) channel, a cellular interface (such as a Global System for Mobile Communications (GSM) interface, a Code Division Multiple Access (CDMA) interface, a Universal Mobile Telecommunications System (UMTS) interface, a Long Term Evolution (LTE) interface, or another cellular interface), or a combination thereof. Network channel 182 may connect to external network resources (not shown). Network resources may include another information processing system, a data storage system, another network, a grid management system, another suitable resource, or a combination thereof.
[0018] BMC 190 connects to multiple components of information processing system 100 via one or more management interfaces 192 to provide out-of-band monitoring, maintenance, and control of the components of information processing system. Therefore, BMC 190 refers to a processing device distinct from processors 102 and 104, which provides various management functions for information processing system 100. For example, BMC 190 may be responsible for power management, cooling management, etc. The term BMC is commonly used in the context of server systems, while in consumer devices, BMC may be referred to as an embedded controller (EC). A BMC included in a data storage system may be referred to as a storage enclosure processor. A BMC included in the chassis of a blade server may be referred to as a chassis management controller, and an embedded controller included in the blade of a blade server may be referred to as a blade management controller. The capabilities and functions provided by BMC 190 can vary significantly depending on the type of information processing system. BMC 190 may operate according to the Intelligent Platform Management Interface (IPMI). Examples of BMC 190 include Integrated... Remote Access Controller (iDRAC).
[0019] Management interface 192 represents one or more out-of-band communication interfaces between BMC 190 and components of information processing system 100, and may include an inter-integrated circuit (I2C) bus, system management bus (SMBUS), power management bus (PMBUS), low pin count (LPC) interface, serial bus such as Universal Serial Bus (USB) or Serial Peripheral Interface (SPI), network interface such as Ethernet interface, high-speed serial data link such as PCIe interface, network controller sideband interface (NC-SI), etc. As used herein, out-of-band access refers to operations performed separately from the BIOS / operating system execution environment on information processing system 100, i.e., separate from the processes implemented on information processing system by processors 102 and 104 executing code and responding to the executed code.
[0020] As needed or desired, the BMC 190 operates to monitor and maintain system firmware, such as code stored in the BIOS / EFI module 142, and option ROMs for graphics adapter 130, disk controller 150, expansion resources 174, network interface 180, or other components of the information processing system 100. Specifically, the BMC 190 includes a network interface 194, which can be connected to a remote management system as needed or desired to receive firmware updates. Here, the BMC 190 receives firmware updates, stores the updates in a data storage device associated with the BMC, and transmits the firmware updates to the NVRAM of the device or system to which the firmware updates are intended, thereby replacing the firmware of the currently operating device or system and restarting the information processing system, which then utilizes the updated firmware image.
[0021] The BMC 190 utilizes various protocols and application programming interfaces (APIs) to bootstrap and control the processes used for monitoring and maintaining system firmware. Examples of protocols or APIs used for monitoring and maintaining system firmware, depending on need or expectation, include the graphical user interface (GUI) associated with the BMC190, interfaces defined by the Distributed Management Task Force (DMTF) such as the Web Services Management (WSMan) interface, the Management Component Transport Protocol (MCTP), or... Interfaces, various vendor-defined interfaces (such as the Dell EMC Remote Access Controller Manager (RACADM) utility, Dell EMC OpenManage Enterprise, Dell EMC OpenManage Server Manager (OMSA) utility, Dell EMC OpenManage Storage Service (OMSS) utility, or Dell EMC OpenManage Deployment Kit (DTK) suite), BIOS setup utilities such as those invoked by the “F2” boot option, or another protocol or API.
[0022] In certain implementations, the BMC 190 may be included on the main circuit board (such as a lead plate, motherboard, or any combination thereof) of the information processing system 100, or integrated into another component of the information processing system, such as chipset 110, or another suitable component, as needed or desired. Thus, the BMC 190 may be part of an integrated circuit or chipset within the information processing system 100. Examples of the BMC 190 include iDRAC, etc. The BMC 190 may operate on a power plane separate from other resources in the information processing system 100. Therefore, the BMC 190 may communicate with the management system via network interface 194 when resources of the information processing system 100 are powered down. Information may be sent from the management system to the BMC 190, and said information may be stored in RAM or NVRAM associated with the BMC. Information stored in RAM may be lost after a power outage of the BMC 190's power plane, while information stored in NVRAM may be retained during power-down / power-up cycles of the BMC's power plane.
[0023] Information processing system 100 may include additional components and additional buses, not shown for clarity. For example, information processing system 100 may include multiple processor cores, audio devices, etc. While specific arrangements of bus technologies and interconnections are shown for illustrative purposes, those skilled in the art will understand that the techniques disclosed herein are applicable to other system architectures. Information processing system 100 may include multiple central processing units (CPUs) and redundant bus controllers. One or more components may be integrated together. Information processing system 100 may include additional buses and bus protocols, such as I2C. Additional components of information processing system 100 may include one or more storage devices for storing machine-executable code, one or more communication ports for communicating with external devices, and various input and output (I / O) devices (such as a keyboard, mouse, and video display).
[0024] For the purposes of this disclosure, the information processing system 100 may include any tool or set of tools operable to calculate, classify, process, transmit, receive, retrieve, create, convert, store, display, represent, detect, record, reproduce, dispose of, or utilize information, intelligence, or data of any form for commercial, scientific, control, entertainment, or other purposes. For example, the information processing system 100 may be a personal computer, laptop computer, smartphone, tablet device, or other consumer electronics device, web server, network storage device, switch, router, or another network communication device, or any other suitable device, and may vary in size, shape, performance, functionality, and price. Furthermore, the information processing system 100 may include processing resources for executing machine-executable code, such as processor 102, programmable logic array (PLA), embedded devices such as system-on-a-chip (SoC), or other control logic hardware. The information processing system 100 may also include one or more computer-readable media for storing machine-executable code such as software or data.
[0025] When customers use a manufacturer's product portal to search for computing systems or other items such as gaming computers, headsets, mice, etc., they typically use natural language to describe their needs. However, typical product portals may require users to provide precise product names or specific configurations to offer relevant product recommendations. For example, a product portal might require CPU models, graphics processing unit models, etc. Therefore, typical product portals assume that the user has a certain level of familiarity with the product they are searching for, which may not be true. Therefore, it is desirable for product portals to provide relevant product recommendations without requiring the user to specify product names, configurations, or properties. To address this issue and other concerns, this disclosure provides a system and method for intelligent product recommendations that allow product portals to interact with users in a more user-friendly manner.
[0026] Figure 2 A system 200 for recommending smart products is shown. System 200 includes an information processing system 205, a network 225, and a remote server 230. The information processing system 205 (which is similar to...) Figure 1 The information processing system 100 includes a processor 220 (which is similar to...) Figure 1The processors 102 and 104 are configured to execute the core module 210 and the large language model (LLM) 215. The core module 210 is communicatively coupled to the LLM 215. The information processing system 205 is communicatively coupled to a remote server 230 via a network 225. However, any kind of connection between components of the information processing system 205 and between the information processing system 205 and the remote server 230 is considered to fall within the scope of this disclosure. The components of system 200 may be implemented in hardware, software, firmware, or any combination thereof. The components shown are not drawn to scale, and system 200 may include more or fewer components. Furthermore, for clarity of description, connections between components of system 200 may be omitted.
[0027] System 200 can be used to provide answers, such as one or more product recommendations based on a user query, wherein system 200 can be configured to support multiple natural languages, including mixed languages. If the user query is provided to a machine learning model in its raw form, such as LLM 215, the machine learning model may not be able to provide the answer the user expects. Therefore, system 200 can be configured to design prompts based on the user's raw query, which can guide the machine learning model to the answer.
[0028] In one implementation, core module 210 may be the engine behind a manufacturer's product portal, wherein core module 210 may be configured to design one or more prompts that guide LLM 215 to provide answers to queries presented by a user at the portal. In one implementation, core module 210 may design a first prompt based on the query to set the context and clarify the role associated with the query. The first prompt may also include reasoning associated with the implicit requirements of the query. Core module 210 may also generate second and third prompts for LLM 215 to use for learning in context. In particular, the second prompt may be used as a zero-sample prompt to guide LLM 215 to identify whether real-time content is needed or expected to answer the query. The third prompt may be used as a few-sample prompt to guide LLM 215 to decompose one or more tasks according to a specified format.
[0029] For example, a third cue can be used to train LLM 215 to label tasks using task separators, task keywords, and task descriptions. In a specific example, "{}" can be used as a task separator, while "SCH" and "DB" can be used as task keywords, where the task keyword SCH can indicate a network task such as searching for real-time data online using a remote server 230. On the other hand, the task keyword DB can indicate a task targeting a local database query. For example, given the input: I need the fastest CPU model, LLM 215 can generate output with the following format: I need {SCH: the fastest CPU currently}. Core module 210 can also be configured to identify and execute tasks labeled by LLM 215. For example, core module 210 can execute a network task to perform an online search for the fastest CPU.
[0030] Core module 210 can be configured to design another prompt to guide LLM 215 in summarizing and organizing auxiliary data, such as real-time data obtained during online searches. The summarization of auxiliary data received from LLM 215 includes candidate products and a set of criteria for selecting product recommendations to answer the user query. Furthermore, core module 210 can be configured to generate a prompt, including candidate products and criteria, to guide LLM 215 in selecting relevant product recommendations from the candidate products based on said criteria.
[0031] LLM 215 can be a language model, such as Generative Pre-trained Transformer 3 (GPT-3), GPT-3.5, GPT-4, etc. Typically, LLMs are trained on a large number of natural language source documents. Therefore, an LLM such as LLM 215 can be designed to interpret natural language and generate text responses to provided prompts. Remote server 230 can host a search engine for real-time information retrieval via network 225. In another example, remote server 230 can host a cloud-based application that can provide services to information processing system 205 via network 225.
[0032] Network 225 may be implemented as a Storage Area Network (SAN), Personal Area Network (PAN), Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), Wireless Local Area Network (WLAN), Virtual Private Network (VPN), Intranet, Internet, or any other suitable architecture or system that facilitates signaling, data, and / or message transmission, or may be part of such an architecture. Network 225 may use any storage and / or communication protocols to transmit data, including but not limited to Fibre Channel, Frame Relay, Asynchronous Transfer Mode (ATM), Internet Protocol (IP), other packet-based protocols, SCSI, Internet SCSI (iSCSI), Serial Attached SCSI (SAS), or any other transmission operating with SCSI protocol, ATA, SATA, Advanced Technology Attachment Packet Interface (ATAPI), Serial Storage Architecture (SSA), Integrated Drive Electronics (IDE), and / or any combination thereof. Network 225 and its various components may be implemented using hardware, software, or any combination thereof. These components may be configured to facilitate communication between Information Processing System 205 and Remote Server 230.
[0033] Those skilled in the art should understand that Figure 2 The configuration, hardware, and / or software components of the illustrated system 200 may vary. For example, the illustrative components within system 200 are not intended to be exhaustive, but are shown to highlight components that can be used to implement various aspects of this disclosure. Other means and / or components may be used, for example, as supplements to or alternatives to the illustrated means / components. The examples shown do not convey or imply any architectural or other limitations on the embodiments and / or the general disclosure currently described. In the discussion of the accompanying drawings, references are also made to components shown in other drawings for the sake of continuity of description.
[0034] Figure 3 A flowchart of a method 300 for recommending smart products is shown. Method 300 can be executed by any suitable component of system 200, including but not limited to… Figure 2 The core module 210, LLM 215, and remote server 230. Although in Figure 2 The embodiments of this disclosure are described in terms of the components of system 200; however, it should be recognized that other components may also be used to perform the described methods. Those skilled in the art will understand that this sequence diagram illustrates a typical example and can be extended to applications or services in practice.
[0035] Method 300 typically begins at box 305, where core module 210 receives a query from the user. For example, the received query might be “I want to buy a computer to play the most popular 3D PC games.” The method may proceed to box 310, where core module 210 preprocesses the query, which includes converting the query into a first prompt. Typically, a user's request may not include specific configuration information. Instead, the user's request may have a vague reference or purchase intention. Furthermore, a user's request is often an incomplete sentence that may contain implicit information. For example, if a user searches for products using a manufacturer's product portal, the user may intend to purchase a product manufactured by that manufacturer. Therefore, the user's request may have an implicit context prompting the manufacturer to recommend products. However, if the request is provided to LLM 215 in its raw format, LLM 215 may not understand the user's intent. Therefore, converting the request into a first prompt that LLM 215 can understand is likely desirable.
[0036] The prompt may include information associated with an implicit context (if any). Therefore, the first prompt may set the inference context, clarify the user's intent, and guide the LLM 215 on how to break down the user's request into sub-problems or tasks for thought chain reasoning. In one implementation, the first prompt may include a role, inference context, criteria, and the user's request. A role may be a linguistic description of the LLM identity. A role may limit the inference of the LLM 215 to at least one specific knowledge domain. The inference context may indicate one or more specific constraints to consider when selecting one or more products for recommendation. In this example, the recommendation may be limited to manufacturers based on implicit information. Criteria may be a set of instructions used to guide the LLM 215 in generating one or more task plans for thought chain reasoning. The user's request may include an initial query provided by the user.
[0037] Assuming the product portal is used to query a Dell manufacturer, based on the user query above, the first suggestion could be: "[As] a computer expert, you need to recommend Dell computers to the customer based on their requirements. What issues do you need to consider? The customer's request is a computer for playing the most popular 3D PC games." In this example, the role is indicated as a computer expert, and the reasoning context limits the recommendation to Dell. Furthermore, the guideline for LLM 215 is indicated as "[What issues do you] need to consider?"
[0038] The method proceeds to box 315, where core module 210 can generate at least two additional suggestions based on a user query. Since LLM 215 may not provide auxiliary data such as real-time data, tasks may require or expect real-time data. These suggestions can be selected from a dataset or database of suggestions associated with the auxiliary data retrieval of LLM 215 as the most relevant suggestions. Suggestions can also be automatically generated by the suggestion LLM. In this example, core module 210 can select a first suggestion and a second suggestion from a dataset of relevant suggestions. The first suggestion can be used in zero-shot suggestions to guide LLM 215 to identify auxiliary content that may be required or expected in relation to the user query. The second suggestion can be used to train LLM 215 via few-shot suggestions to tag content according to a specified format to determine what to search for when real-time data is needed or expected. An example of the first suggestion is shown below:
[0039] a. Which words or phrases in the sentence lead you to infer that real-time data is needed to answer the question?
[0040] b. In the following questions, if your answer requires support from online data, you should be able to identify them.
[0041] The following is an example of the second prompt:
[0042] a. If real-time data is not required, simply tell me the answer. However, when real-time data is required, you must tell me the real-time content you need to query online in the following format:
[0043] i. Input: I need the fastest CPU model.
[0044] ii. Output: I need {SCH: the fastest CPU currently}.
[0045] iii. Input: I want to know the best CPU and the fastest GPU.
[0046] iv. Output: I need {SCH: the best CPU currently available} and {SCH: the fastest GPU currently available}.
[0047] In this example, the text enclosed in “{SCH: Insert here}” guides LLM 215 to mark content with a task separator and the keyword: {SCH:} when auxiliary data is needed or expected. The method proceeds to box 320, where core module 210 can transmit a first prompt generated in box 310 and one or more prompts generated in box 315 to LLM 215. At box 325, LLM 215 can receive the prompts from core module 210, analyze and process the prompts, where LLM 215 can use context-based learning when processing the prompts from box 310. LLM 215 can return output comprising a sequence of executable tasks, where tasks may also include subtasks. An example of the output is shown below.
[0048] a. Task 1: Determine {SCH: Recommended hardware configuration for the most popular games} to select a suitable computer.
[0049] b. Task 2: Consider {SCH: Dell computer configuration}. Ensure the CPU meets or exceeds the game's recommended specifications.
[0050] The method proceeds to block 330, where LLM 215 can transmit output to core module 210. Since LLM 215 cannot provide real-time data, tasks may require or expect to access and obtain auxiliary data, which may include real-time data. For example, a task could use a search engine to obtain real-time data online. The task may be part of a sequence of executable tasks, where tasks may include subtasks. LLM 215 can provide information about what network operations (if any) are needed to obtain auxiliary data, such as accessing remote server 230. Specifically, a second prompt may allow LLM 215 to mark one or more network tasks in the task sequence according to a format specified by core module 210, such as the tasks included in the output returned by LLM 215 as shown above.
[0051] The method proceeds to block 335, where core module 210 receives and processes output from LLM 215. Processing the output includes identifying tasks (also known as network tasks) that can be used to obtain auxiliary data. Since LLM 215 may have already labeled network tasks in a task sequence according to a specified format, core module 210 can identify one or more network tasks based on their labeling and initiate network service calls to obtain auxiliary data. For example, core module 210 can identify network tasks according to the format provided at block 315. For example, core module 210 can parse the output received from LLM 215 to search for one or more keywords, delimiters, task descriptors, etc. In a particular example, core module 210 can parse for “{}” and / or “SCH” or combinations thereof. Based on the above example, core module 210 can identify tasks 1 and 2 as network tasks.
[0052] The method proceeds to box 340, where core module 210 can iterate through the task sequence to evaluate each task. The task currently being evaluated is referred to herein as the current task. The method proceeds to box 345, where core module 210 can process the current task and generate a summary prompt requesting auxiliary data, such as... Figure 5 As shown in method 500, the method proceeds to block 350, where core module 210 determines whether a task to be processed exists in the task sequence. If a task to be processed exists, a "yes" branch is adopted, and the method proceeds to block 340. If no further tasks to be processed exist, a "no" branch is adopted, and the method proceeds to... Figure 4 Box 405.
[0053] Figure 4 It was shown as Figure 3 The flowchart of method 400 is a continuation of method 300. Method 400 typically begins at box 405, where core module 210 can generate a prompt providing a final product recommendation for LLM 215 based on product recommendations from each updated network task and transmit said prompt. The prompt can add criteria and information from user queries. Figure 3 The product recommendations in box 345 are concatenated. Product recommendations may include one or more candidate products and a set of criteria. This set of criteria may include the minimum configuration of the candidate products. Therefore, the final product recommendation may be at least one of the candidate products that meets or exceeds this set of criteria. An example prompt is shown below, where “I want to buy a computer to play the most popular 3D PC games” is a user query, and “[Based on] recommending the most suitable computer” is a criterion, followed by a set of criteria and candidate products.
[0054] a. Hint: I want to buy a computer to play the most popular 3D PC games. Based on the following, please recommend the most suitable computer: CPU: Intel Core i5 TM -8400H, GPU: Nvidia GeForce GTX TM 1060, RAM: 2xColorful CVN Guardian 8GB DDR4-3200, Hard Drive: WD Green 2TB HDD, Operating System: Windows 10 64-bit.
[0055] Dell TM The G16 gaming laptop features a 13th generation Intel Core i7 processor. TM -13650HX processor, NVIDIA GeForce RTX TM It features a 4050 GPU, 16GB of DDR5 RAM, and a 1TB PCIe NVMe SSD. It has a 16" QHD+ 240Hz display with NVIDIA G-SYNC and comes with a US English Zone 1 RGB backlit keyboard. The laptop offers a range of ports, including Thunderbolt. TM 4. USB 3.2, HDMI 2.1, and RJ45 Ethernet. It features a metal Nightshade chassis, Intel Wi-Fi 6AX201, and a 6-cell 86Wh battery. Dell TM The G16 weighs 6.3 pounds and comes pre-installed with Windows 11 Home.
[0056] Please add other candidate products here.
[0057] The above prompt includes examples of candidate products and standards, which are shown below:
[0058] a. Candidate Product: Dell TM The G16 gaming laptop features a 13th-generation Intel Core i7-13650HX processor and NVIDIA... TM It features a GeForce RTX 4050 GPU, 16GB of DDR5 RAM, and a 1TB PCIe NVMe SSD. It has a 16" QHD+ 240Hz display with NVIDIA G-SYNC and comes with a US English Zone 1 RGB backlit keyboard. The laptop offers a range of ports, including Thunderbolt. TM4. USB 3.2, HDMI 2.1, and RJ45 Ethernet. It features a metal Nightshade chassis, Intel Wi-Fi 6AX201, and a 6-cell 86 battery. Dell TM The G16 weighs 6.3 pounds and comes pre-installed with Windows. TM 11Home.
[0059] b. Standard: CPU: Intel Core i5 TM -8400H, GPU: Nvidia GeForce GTX TM 1060, RAM: 2xColorful CVN Guardian 8GB DDR4-3200, Hard Drive: WD Green 2TB HDD, Operating System: Windows TM 10 64-bit.
[0060] At box 410, LLM 215 can process prompts and generate a final product recommendation based on candidate products and the set of criteria. The final recommendation may have the same or higher computing power as that included in the set of criteria. An example of the final product recommendation is shown below:
[0061] a. When buying a computer for gaming, especially for the most popular 3D PC games, I recommend Dell's Alienware. TM and G-Series TM PCs are known for their gaming capabilities for the following reasons:
[0062] 1) Powerful hardware: Alienware TM and G-Series TM The system is often equipped with high-performance components, such as a powerful graphics card (NVIDIA GeForce or AMD Radeon) and a fast processor (Intel Core i7). TM or AMD Ryzen TM ), ample RAM (usually 16GB or more) and plenty of storage options (a combination of SSD and HDD).
[0063] 2) Customization Options: These product lines typically offer customization options, allowing users to tailor their PCs to their specific gaming needs. You can usually choose different configurations for the graphics card, processor, RAM, and storage to optimize performance for 3D games.
[0064] 3) Cooling System: To ensure smooth and uninterrupted gameplay, Alienware... TM and G-SeriesTM Desktop computers employ advanced cooling systems. These systems help maintain optimal temperatures during intensive gaming sessions, preventing overheating and performance limitations.
[0065] 4) Brand reputation and support: Dell TM Alienware is a well-known and reputable brand in the computer industry, renowned for its high-quality products and reliable customer support. TM Or G-Series TM Choosing a gaming PC offers a good guarantee of manufacturing quality, warranty coverage, and access to customer service when needed.
[0066] The method proceeds to box 415, where LLM 215 can transmit the final product recommendation to core module 210. At box 420, core module 210 can receive the final product recommendation from LLM 215. The method proceeds to box 430, where core module 210 can provide the final product recommendation as an answer to the user's query. After this, the method ends.
[0067] Figure 5 A flowchart of a method 500 for processing tasks received as output from an LLM 215 is shown. Specifically, method 500 provides... Figure 3 The details associated with box 345. Method 500 can be performed by any suitable component of system 200, including but not limited to... Figure 2 The core module 210, LLM 215, and remote server 230. Although in Figure 2 The embodiments of this disclosure are described in terms of the components of system 200; however, it should be recognized that other components may also be used to perform the described methods. Those skilled in the art will understand that this sequence diagram illustrates a typical example and can be extended to applications or services in practice.
[0068] Method 500 typically begins at box 505, where core module 210 performs the current task. The method may proceed to decision box 507, where core module 210 determines whether the current task is a network task. If the current task is a network task, a "yes" branch is taken, and the method proceeds to box 510. If the current task is not a network task, a "no" branch is taken, and the method proceeds to box 520. If the current task is a network task, core module 210 may initiate a network service call to obtain auxiliary data. If an internet search is needed or expected, core module 210 may use search keywords provided by LLM 215 to initiate a call to a search engine to obtain real-time data. In another example, if product information about a manufacturer is needed or expected, as indicated by the manufacturer's name in the current task, core module 210 may retrieve product-related data from the manufacturer's product portal.
[0069] At box 510, remote server 230 may process the current task to obtain auxiliary data. In a particular example, the auxiliary data may include web page content from a manufacturer's product portal with one or more recommended computer configurations. The method proceeds to box 515, where remote server 230 may transmit a response with the auxiliary data to core module 210. At box 520, core module 210 may receive the response along with the auxiliary data.
[0070] The method proceeds to box 525, where core module 210 can generate prompts for summarizing and organizing auxiliary data. In one embodiment, the prompts may include criteria for generating summaries of the auxiliary data. In one example, the criteria may include text similar to “[Extract] a summary of…” and “Based on the following text content.” The task descriptor may include “Recommended hardware configuration for the most popular 3D PC games currently available.” Core module 210 can extract the text content of the auxiliary data, and the prompts may include the extracted text content of the auxiliary data. An example of a prompt based on Task 1 from box 325 is shown below.
[0071] a. Task 1: Determine {SCH: Recommended hardware configuration for the most popular games} to select a suitable computer.
[0072] b. Hint: This summary of recommended hardware configurations for the most popular 3D PC games is extracted based on the following text. Add supplementary data text here.
[0073] At box 530, LLM 215 can receive a prompt with auxiliary data from core module 210. LLM 215 can then process the prompt and summarize the auxiliary data. After this, at box 535, LLM 215 can transmit a response including the summary of auxiliary data to core module 210. At box 540, core module 210 can receive the response including the summary. At box 545, core module 210 can replace the auxiliary data request text in the task with the summary. For example, if the network task is the following network task, the task data within the search section of the marked network task can be replaced with summary data.
[0074] a. Task 1: Determine {SCH: Recommended hardware configuration for the most popular games} to select a suitable computer.
[0075] b. Updated Task 1: Determine where to insert the first summary to select the appropriate computer.
[0076] c. Task 2: Consider {SCH: Dell computer configuration}. Ensure the CPU meets or exceeds the game's recommended specifications.
[0077] d. Updated Task 2: Consider inserting a second summary here. Ensure your CPU meets or exceeds the game's recommended specifications.
[0078] After updating the network task in the task sequence, core module 210 can use the updated network task as a cue to obtain product recommendations at block 550. For example, each updated task can produce an output including a set of product recommendations, which includes one or more candidate products and a set of criteria. At block 555, LLM 215 can process the updated task and obtain product recommendations, which are transmitted to core module 210 at block 560. At block 565, core module 210 can receive the product recommendations. This set of criteria and candidate products can be used in... Figure 4 The method determines the final product recommendation at 400 points. The method then ends.
[0079] In this context, the term "user" should be understood to encompass, for example, but not limited to, a user device, a person using or otherwise associated with said device, or a combination of both. Therefore, actions described herein as performed by a user can be performed by a user device, or by a combination of both a person and a device.
[0080] although Figure 3 , Figure 4 and Figure 5 Example blocks of methods 300, 400, and 500 in some embodiments are shown, but are different from those shown. Figure 3 , Figure 4 and Figure 5Compared to the blocks shown, methods 300, 400, and 500 may include additional blocks, fewer blocks, different blocks, or blocks with different arrangements. Those skilled in the art will understand that the principles presented herein can be implemented in any suitably arranged processing system. Additionally or alternatively, two or more blocks of methods 300, 400, and 500 may be performed in parallel. For example, blocks 310 and 315 of method 300 may be performed in parallel.
[0081] According to various embodiments of this disclosure, the methods described herein can be implemented by software programs executable by a computer system. Furthermore, in exemplary, non-limiting embodiments, implementations may include distributed processing, component / object distributed processing, and parallel processing. Alternatively, virtual computer system processing may be configured to implement one or more of the methods or functions described herein.
[0082] When referred to as “device,” “module,” “unit,” “controller,” etc., the embodiments described herein can be configured as hardware. For example, a portion of an information processing system device can be hardware, such as integrated circuits (e.g., application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), structured ASICs, or devices with embedded larger chips), cards (e.g., peripheral component interface (PCI) cards, fast PCI cards, PCMCIA cards, or other such expansion cards), or systems (e.g., motherboards, system-on-a-chip (SoCs), or standalone devices).
[0083] This disclosure envisions a computer-readable medium that includes instructions, or instructions received and executed in response to a propagation signal, such that a device connected to a network can transmit voice, video, or data over the network. Furthermore, instructions can be transmitted or received over the network via a network interface device.
[0084] Although a computer-readable medium is shown as a single medium, the term "computer-readable medium" includes a single or multiple media that store one or more instruction sets, such as a centralized or distributed database and / or associated caches and servers. The term "computer-readable medium" should also include any medium capable of storing, encoding, or carrying instruction sets for execution by a processor or for causing a computer system to perform any or more of the methods or operations disclosed herein.
[0085] In certain non-limiting exemplary embodiments, a computer-readable medium may include solid-state memory such as a memory card, or other package housing one or more non-volatile read-only memories. Furthermore, a computer-readable medium may be random access memory or other volatile rewritable memory. Additionally, a computer-readable medium may include magneto-optical or optical media (such as magnetic disks or magnetic tapes) or another storage device for storing information received via carrier signals (such as signals transmitted through a transmission medium). Digital file attachments to emails or other self-contained information archives or archive sets can be considered as distributed media equivalent to tangible storage media. Therefore, this disclosure is considered to include any and more of computer-readable media or distributed media and other equivalents, as well as subsequent media in which data or instructions may be stored.
[0086] Although only a few exemplary embodiments have been described in detail above, those skilled in the art will readily understand that numerous modifications to the exemplary embodiments are possible without substantially departing from the novel teachings and advantages of the embodiments of this disclosure. Therefore, all such modifications are intended to be included within the scope of the embodiments of this disclosure as defined by the appended claims. In the claims, the means plus function clauses are intended to cover structures described herein as performing the stated function, covering not only structural equivalents but also equivalent structures.
Claims
1. A method comprising: The processor receives queries for product recommendations; Transform the query into a first suggestion for a large language model; The task of generating a second prompt to guide the large language model in searching for auxiliary data based on the query tags; The first and second prompts are provided to the large language model to generate the task of searching the auxiliary data; Perform the task to obtain the auxiliary data; A third prompt is provided to the large language model in response to the third prompt, which generates a summary of the auxiliary data based on the auxiliary data. Based on the aggregation, a fourth suggestion with candidate products is provided to the large language model to generate the product recommendation in response to the fourth suggestion; and The product recommendations are provided in response to the query.
2. The method of claim 1, wherein the fourth prompt further includes a standard.
3. The method of claim 1, wherein the third prompt provided to the large language model comprises text content from the auxiliary data.
4. The method of claim 1, further comprising providing the product recommendation as an answer to the query.
5. The method of claim 1, wherein the fourth prompt comprises criteria from the summary.
6. The method of claim 1, wherein the first prompt includes a role.
7. The method of claim 1, wherein the first hint includes a reasoning context based on the implicit requirements of the query.
8. An information processing system, comprising: processor; as well as The memory stores instructions that, when executed, cause the processor to perform operations including: Receive queries for product recommendations; Transform the query into a first suggestion for a large language model; The task of generating a second prompt to guide the large language model in searching for auxiliary data based on the query tags; The first and second prompts are provided to the large language model to generate and label the task of searching the auxiliary data; Perform the task to obtain the auxiliary data; A third prompt is provided to the large language model in response to the third prompt, which generates a summary of the auxiliary data based on the auxiliary data. as well as In response to providing a fourth suggestion with candidate products to the large language model, the product recommendation is received from the large language model based on the candidate products included in the summary.
9. The information processing system of claim 8, wherein the aggregation further includes standards.
10. The information processing system of claim 8, wherein the third prompt provided to the large language model includes text content from the auxiliary data.
11. The information processing system of claim 8, further comprising providing the product recommendation as an answer to the query.
12. The information processing system of claim 8, wherein the fourth prompt includes criteria from the aggregated data.
13. The information processing system of claim 8, wherein the first prompt includes a role.
14. The information processing system of claim 8, wherein the first prompt includes a reasoning context based on the implicit requirements of the query.
15. A non-transitory computer-readable medium for storing instructions that are executable to perform operations including: Receive queries for product recommendations; Transform the query into a first suggestion for a large language model; The task of generating a second prompt to guide the large language model in searching for auxiliary data based on the query tags; The first and second prompts are provided to the large language model to generate the task of searching the auxiliary data; Perform the task to obtain the auxiliary data; A third prompt is provided to the large language model in response to the third prompt, which generates a summary of the auxiliary data based on the auxiliary data. as well as In response to providing a fourth suggestion with candidate products to the large language model, the product recommendation is received from the large language model based on the candidate products included in the summary.
16. The non-transitory computer-readable medium of claim 15, wherein the summary further includes standards.
17. The non-transitory computer-readable medium of claim 15, wherein the third prompt provided to the large language model comprises text content from the auxiliary data.
18. The non-transitory computer-readable medium of claim 15, wherein the fourth hint comprises criteria from the summary.
19. The non-transitory computer-readable medium of claim 15, wherein the first prompt includes a role.
20. The non-transitory computer-readable medium of claim 15, wherein the first hint includes a reasoning context based on the implicit requirement of the query.