Request processing method and device, equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-09
- Publication Date
- 2026-03-10
AI Technical Summary
Traditional models struggle to support efficient scheduling of massive numbers of tools, resulting in low processing efficiency.
By identifying a set of candidate tools that match the target request from the tool set associated with the target model, and providing tool description information and the request to the target model for processing, the target model calls the tool to process the request based on the tool description information. This two-stage tool selection process improves accuracy and efficiency.
It improves the accuracy and efficiency of tool scheduling in large-scale scenarios, thereby increasing the accuracy and efficiency of processing results.
Smart Images

Figure CN121646907A_ABST
Abstract
Description
Request processing methods, apparatus, devices and storage media Technical Field
[0001] The exemplary embodiments disclosed herein relate generally to the field of computers, and more particularly to request processing methods, apparatus, devices, and computer-readable storage media. Background Technology
[0002] With the rapid development of artificial intelligence, models can learn language rules, context, and semantics through a large number of training samples and parameters. Given a request, they can leverage their Function Call (FC) capabilities to invoke tools to generate the corresponding processing results. Function call capability has become an indispensable part of many practical applications, and how the model selects the appropriate tool from the toolkit to handle the request is a key concern.
[0003] Summary of the Invention
[0004] In a first aspect of this disclosure, a request processing method is provided. The method includes: determining a set of candidate tools from a set of tools associated with a target model that match a received target request; and providing the target model with tool description information of the set of candidate tools and the target request, so as to process the target request using the target model, the target model being configured to: invoke at least one tool from the set of candidate tools to process the target request based on the tool description information.
[0005] In a second aspect of this disclosure, an apparatus for request processing is provided. The apparatus includes: a first determining module configured to determine, from a set of tools associated with a target model, a set of candidate tools matching a received target request; and a providing module configured to provide the target model with tool description information of the set of candidate tools and the target request, so as to process the target request using the target model, the target model being configured to: invoke at least one tool from the set of candidate tools to process the target request based on the tool description information.
[0006] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.
[0007] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that can be executed by a processor to implement the method of the first aspect.
[0008] In a fifth aspect of this disclosure, a computer program product is provided. The computer program product includes computer-executable instructions that, when executed by a processor, implement the method of the first aspect.
[0009] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:
[0011] Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;
[0012] Figure 2 illustrates a flowchart of a request processing procedure according to some embodiments of the present disclosure;
[0013] Figure 3 illustrates a flowchart of an example process for request processing according to some embodiments of the present disclosure;
[0014] Figure 4 shows a schematic structural block diagram of an apparatus for request processing according to certain embodiments of the present disclosure;
[0015] Figure 5 shows a block diagram of an electronic device capable of implementing several embodiments of the present disclosure. Detailed Implementation
[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0017] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.
[0018] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0019] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.
[0020] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.
[0021] Traditionally, due to limitations in model speed and cost, the tool scheduling capabilities of a model cannot directly support the scheduling of massive amounts of tools.
[0022] Embodiments of this disclosure propose a request processing scheme. According to this scheme, a set of candidate tools matching a received target request can be determined from a toolset associated with a target model; and tool description information of the set of candidate tools and the target request are provided to the target model to process the target request using the target model, which is configured to: invoke at least one tool from the set of candidate tools to process the target request based on the tool description information.
[0023] Based on this approach, embodiments of this disclosure can solve the tool scheduling problem in large-scale scenarios. Specifically, embodiments of this disclosure can accurately and efficiently select suitable tools for handling target requests from a large number of tools through a two-stage tool screening process.
[0024] Example Environment
[0025] Figure 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in Figure 1, the example environment 100 may include an electronic device 110 and a target model 120.
[0026] In this example environment 100, electronic device 110 can receive a target request, which can be input by a target user and can be any appropriate request carrying intent. The electronic device can determine a set of candidate tools from a toolset that match the received target request.
[0027] Electronic device 110 can provide the target model 120 with tool description information of this set of candidate tools and a target request. Target model 120 can process the target request. In some embodiments, target model 120 is configured to invoke at least one tool from this set of candidate tools to process the target request based on the tool description information of this set of candidate tools. Target model 120 can be a model deployed in electronic device 110, or a model deployed in other devices, etc., which will not be elaborated here.
[0028] The tools that a model can invoke can include a set of predefined functions or services. These tools can be designed to extend the model's capabilities to allow the performance of specific tasks. Such tasks can include, but are not limited to, text analysis, data retrieval, and mathematical computation. These tools can be integrated with the model via API calls, enabling the model to access external resources and perform complex operations without having to write code from scratch.
[0029] Electronic device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, handheld computers, portable gaming terminals, VR / AR devices, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, electronic device 110 can also support any type of user-facing interface (such as "wearable" circuitry).
[0030] Electronic device 110 can also be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. Electronic device 110 may include, for example, computing systems / servers, such as mainframes, edge computing nodes, computing devices in cloud environments, and so on.
[0031] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.
[0032] The various example implementations of this disclosure will be described in detail below.
[0033] Example process
[0034] Figure 2 shows a flowchart of a request processing procedure 200 according to some embodiments of the present disclosure. Procedure 200 may be implemented at electronic device 110. Procedure 200 is described below with reference to Figure 1.
[0035] In box 210, electronic device 110 determines a set of candidate tools that match the received target request from the toolset associated with target model 120.
[0036] In some embodiments, the target model 120 can be any suitable type of model, such as a deep learning model or a deep learning network, etc., which will not be elaborated here. As an example, the target model 120 can be a language model.
[0037] In some embodiments, the toolset associated with the target model 120 may include multiple tools with any appropriate functions, such as tools with translation service functions, tools with data retrieval functions, tools with navigation service functions, etc., which will not be elaborated here.
[0038] In some embodiments, the target request can be a request carrying the user's intent, entered by the target user. In some embodiments, the electronic device 110 can receive multiple requests entered by the target user within a predetermined time period and / or multiple response messages obtained by the electronic device 110 in response to the multiple requests entered by the target user, and integrate these multiple requests and / or multiple response messages with predetermined integration rules to determine the target request. The preset time period can be set as needed. For example, if the target user can enter two requests within 15 seconds: "Please help me confirm how far it is from point A to point B" and "I'm not starting from point A anymore, I'm starting from point C," then the electronic device 110 can determine that the target request can be "Please confirm how far it is from point C to point B."
[0039] In some embodiments, electronic device 110 can determine the matching degree between a target request and multiple tools in a toolset. As an example, electronic device 110 can acquire first tool information of multiple tools in the toolset. Electronic device 110 can determine the matching degree between the target request and the multiple tools in the toolset based on the target request and the first tool information. The first tool information can be any suitable type of tool-related information. In some embodiments, the first tool information can be evaluation information corresponding to the tool, wherein the higher the evaluation information corresponding to the tool, the higher the matching degree between the target request and the tool. In other embodiments, the first tool information may also include tool name, tool description, usage example information, and usage limitation information, etc., wherein the usage example information is used to indicate how to use the tool, and the usage limitation information is used to indicate the permissions for using the tool, such as under what circumstances the tool can be used or who can use the tool, etc. The first tool information may also include information that facilitates matching with the target request, such as candidate requests that may use the tool, keywords corresponding to the tool, the time the tool was released, the time the tool was last updated, the number of times the tool has been updated, etc. In some embodiments, the first tool information can be in any suitable form, which can be the information itself, or a feature vector determined based on the information, such as the embedding vector corresponding to the information, etc.
[0040] As an example, electronic device 110 can determine the degree of matching between the target request and multiple tools in the toolset based on the matching results of keywords in the target request and keywords corresponding to multiple tools in the toolset.
[0041] The following section explains the process of obtaining evaluation information for the tool.
[0042] To improve the applicability of the tool's evaluation information to the target model 120, in some embodiments, the electronic device 110 can acquire feedback data. This feedback data indicates whether the processing results obtained by the target model 120 in processing candidate requests are accurate. The feedback data can correspond to one or multiple requests. The feedback data can be input by the user after comparing the candidate requests input to the target model 120 with the processing results output by the target model 120 for the candidate requests.
[0043] In some embodiments, the electronic device 110 can determine the evaluation information corresponding to the tool based on feedback data. The more accurate the processing result obtained by the target model 120 in calling the tool to process the candidate request, the higher the corresponding evaluation information.
[0044] In some embodiments, the electronic device 110 may determine a set of candidate tools from a toolset that match the target request based on the matching degree.
[0045] In some embodiments, the electronic device 110 may determine a first group of tools from a toolset that match the target request based on the matching degree. As an example, the electronic device 110 may determine a group of tools in the toolset with a matching degree higher than a matching degree threshold as the first group of tools matching the target request. As another example, the electronic device 110 may sort multiple tools in the toolset in descending order of matching degree and determine a predetermined number of the top-ranked tools as the first group of tools matching the target request.
[0046] In some embodiments, the electronic device 110 may identify a first set of tools as a set of candidate tools that match the target request.
[0047] In other embodiments, the electronic device 110 may sort the first set of tools based on second tool information of the first set of tools and user information of the target user associated with the target request. The second tool information may be any suitable information. In some embodiments, the second tool information may indicate at least one of the following: the recommendation priority of the corresponding tool, wherein the recommendation priority indicates whether the tool is preferentially recommended; and / or the activation status of the corresponding tool, wherein the activation status indicates whether the tool is allowed to be used. In some embodiments, the higher the recommendation priority of a tool, the greater the likelihood that the tool will be preferentially recommended. In some embodiments, the recommendation priority of a tool may be set by the platform or determined based on relevant information corresponding to the tool, which may include the number of users of the tool, the ease of use of the tool, the performance of the tool, etc.
[0048] In some embodiments, the second tool information may further include historical behavior information corresponding to the tool. The historical behavior information represents information that changes based on the user's continuous use, such as the tool's historical usage count, the tool's historical demand fulfillment rate, the tool's historical call failure rate, the tool's historical user positive review rate, the tool's historical dislike rate, the tool's average number of conversation rounds triggered, the tool's usage count within a predetermined time period (e.g., the most recent month), the tool's demand fulfillment rate within a predetermined time period, the tool's call failure rate within a predetermined time period, the tool's user positive review rate within a predetermined time period, the tool's dislike rate within a predetermined time period, the tool's number of conversation rounds triggered within a predetermined time period, and so on.
[0049] In some embodiments, the second tool information can also be static information, existing in contrast to historical behavior information. It represents information that does not change based on continuous user usage, such as whether the tool is in a downgraded state, the tool's author, etc., where a downgraded state indicates a decrease in the tool's ranking. In some embodiments, the electronic device 110 can determine the rating corresponding to the first group of tools based on the second tool information of the first group of tools and the user information of the target user associated with the target request. The electronic device 110 can sort the first group of tools in descending order of rating, or it can sort them in ascending order of rating.
[0050] In some embodiments, the electronic device 110 may increase the rating of the corresponding tool in response to a second tool information indication that the recommended priority of the corresponding tool is higher than a predetermined priority.
[0051] In some embodiments, the electronic device 110 may, in response to a second tool information indicating that the activation state of a corresponding tool is not allowed to be used (i.e., it is in an inactive state), lower the score of that corresponding tool in the first group of tools.
[0052] In some embodiments, the electronic device 110 can determine a predetermined number of tools in a third group from a sorted first group of tools. The predetermined number can be set as needed. As an example, if the electronic device 110 sorts the first group of tools in descending order of rating, the predetermined number of tools at the top of the sorted list can be determined as the third group of tools. As another example, if the electronic device 110 sorts the first group of tools in ascending order of rating, the predetermined number of tools at the bottom of the sorted list can be determined as the third group of tools.
[0053] In some embodiments, the electronic device 110 may determine a set of candidate tools that match the target request based on a third set of tools.
[0054] As an example, electronic device 110 can identify all of the third set of tools as a set of candidate tools that match the target request.
[0055] As another example, electronic device 110 can randomly select a portion of the tools from the third set of tools to determine a set of candidate tools that match the target request.
[0056] In other embodiments, the electronic device 110 can determine a set of associated tools from the toolset that are associated with the third set of tools. The electronic device 110 can determine a set of candidate tools that match the target request based on the third set of tools and the set of associated tools. As an example, the electronic device 110 can determine both the third set of tools and this set of associated tools as a set of candidate tools that match the target request. In some embodiments, the set of associated tools includes at least one of the following: tools that have a cooperative relationship with a first tool in the third set of tools, and tools of the same type as a second tool in the third set of tools.
[0057] For example, if electronic device 110 determines that the third group of tools includes tool 1, tool 2, and tool 3, and if tool 4 needs to work in conjunction with tool 2 to function properly, then electronic device 110 can identify tool 1, tool 2, tool 3, and tool 4 as a group of candidate tools matching the target request. As another example, if electronic device 110 determines that the third group of tools includes tool 1, tool 2, and tool 3, and if tool 5 is a similar type of tool to tool 1, such as both being map navigation tools, but offering different user experiences, then to ensure tool diversity, electronic device 110 can identify tool 1, tool 2, tool 3, and tool 5 as a group of candidate tools matching the target request.
[0058] In box 220, electronic device 110 provides a set of candidate tool description information and a target request to target model 120 to process the target request using target model 120. Target model 120 is configured to: invoke at least one tool from a set of candidate tools to process the target request based on the tool description information.
[0059] In some embodiments, the tool description information indicates at least one of the following: an identifier for the corresponding tool, a set of parameters associated with the corresponding tool, and a parameter description corresponding to this set of parameters. In some embodiments, the identifier can be any appropriate information that identifies the tool, such as a name. The parameter description may include, but is not limited to, the type of the parameter, whether the parameter is required, etc.
[0060] In some embodiments, the electronic device 110 can input tool description information of a set of candidate tools and a target request into the target model 120 to obtain the processing result output by the target model 120. The processing result can be any appropriate type of result, such as performing an action based on the target request, or providing response information corresponding to the target request, etc. In some embodiments, the target model 120 can select at least one tool from the set of candidate tools based on the tool description information and the target request, and call at least one tool to process the target request, thereby obtaining the processing result. For example, if the target request is "Please order me a coffee", then the target model 120 can order a coffee for the user who input the target request based on "Tool A" which has a takeout ordering function, and can also output the response "The coffee has been ordered for you".
[0061] Figure 3 shows a flowchart of an example process for request processing according to some embodiments of the present disclosure, and will now be described with reference to Figure 3.
[0062] In some embodiments, the tool distribution system (electronic device 110) includes multiple strategies for selecting a set of candidate tools (tool 1, tool 2... tool n) from the toolset 305.
[0063] In some embodiments, the tool distribution system can initially filter out a first group of tools through a recall layer 307 based on target requests 301 and first tool information 303. The tool distribution system can further sort the initially filtered first group of tools according to their ratings from highest to lowest through a sorting layer 308 based on user information 302 and second tool information 304, and select a predetermined number of second group tools from the first group based on the sorting results. The second tool information 304 includes static information and historical behavior information. When sorting the first group of tools, the tool distribution system can influence the sorting results based on an intervention mechanism 309. For example, if a tool's recommendation priority is higher than a predetermined priority, the tool distribution system can increase its ranking weight, i.e., raise its rating. Similarly, if a tool is suddenly found to have a problem, the tool distribution system can decrease its ranking weight, i.e., lower its rating.
[0064] In some embodiments, if there may not be much user information (including historical interaction information) during a cold start, the tool distribution system can receive a batch of tools input by the user as a whitelist of tools, i.e., as a second group of tools. In some embodiments, the tool distribution system can also ensure that some frequently used tools appear in the second group of tools. Frequently used tools may be, for example, search tools, etc., and the specific settings can be configured according to requirements.
[0065] In some embodiments, the tool distribution system may also, based on a supplementary strategy, identify other tools of the same type as the target tool in the second group of tools and / or other tools that need to work together, and identify these other tools together with the second group of tools as a set of candidate tools corresponding to the target request.
[0066] This disclosure can combine target request, user information, first tool information and second tool information to optimize and select a set of candidate tools for multiple objectives, thereby increasing the number of tools that the target model 120 (312) can actually call and the accuracy of the tools called by the target model 120 (312), thereby improving the accuracy of the target request processing results. In addition, this disclosure supports the scheduling problem of massive tools and improves the processing efficiency of target requests.
[0067] In some embodiments, the tool distribution system can input the tool description information corresponding to this set of candidate tools and the target request (311) to the target model 120 (312). The target model 120 (312) can process the target request 301 and output the processing result. The processing result and the target request 301 can constitute the dialogue history 313.
[0068] The tool distribution system can obtain user-side input feedback data based on the dialogue history 313, such as whether the feedback data can be used to determine the accuracy of the results. The tool distribution system can also determine information such as the dialogue success rate 314 based on the dialogue history 313. Based on the feedback information and the dialogue success rate, the tool distribution system can update the information of the first and second tools used in multiple tool pairs within the tool set.
[0069] The embodiments of this disclosure can solve the tool scheduling problem in large-scale scenarios. Specifically, the embodiments of this disclosure can accurately and efficiently select suitable tools for handling target requests from a large number of tools through a two-stage tool screening process.
[0070] Example devices and equipment
[0071] Embodiments of this disclosure also provide corresponding apparatus for implementing the methods or processes described above. FIG4 shows a schematic structural block diagram of an apparatus 400 for request processing according to certain embodiments of this disclosure. The apparatus 400 may be implemented as or included in the electronic device 110 discussed above. The various modules / components in the apparatus 400 may be implemented by hardware, software, firmware, or any combination thereof.
[0072] As shown in Figure 4, the apparatus 400 includes a first determining module 410 configured to determine a set of candidate tools that match a received target request from a set of tools associated with a target model; and a providing module 420 configured to provide the target model with tool description information of the set of candidate tools and the target request, so as to use the target model to process the target request. The target model is configured to: invoke at least one tool from the set of candidate tools to process the target request based on the tool description information.
[0073] In some embodiments, the first determining module 410 is further configured to: determine the matching degree between the target request and a plurality of tools in the toolset; and determine a set of candidate tools from the toolset that match the target request based on the matching degree.
[0074] In some embodiments, the first determining module 410 is further configured to: obtain first tool information of a plurality of tools in a toolset; and determine the matching degree between the target request and the plurality of tools in the toolset based on the target request and the first tool information.
[0075] In some embodiments, the first tool information includes evaluation information corresponding to the tool, and the device 400 further includes an acquisition module configured to: acquire feedback data, the feedback data indicating whether the processing result obtained by the target model calling the tool to process the candidate request is accurate; and a second determination module configured to: determine the evaluation information corresponding to the tool based on the feedback data.
[0076] In some embodiments, the first determining module 410 is further configured to: determine a first set of tools matching the target request from a toolset based on the matching degree; sort the first set of tools based on second tool information of the first set of tools and user information of the target user associated with the target request; determine a predetermined number of third sets of tools from the sorted first set of tools; and determine a set of candidate tools matching the target request based on the third set of tools.
[0077] In some embodiments, the second tool information indicates at least one of the following: the recommendation priority of the corresponding tool, wherein the recommendation priority indicates whether the tool is preferentially recommended; and / or the activation status of the corresponding tool, wherein the activation status indicates whether the tool is allowed to be used.
[0078] In some embodiments, the first determining module 410 is further configured to: determine a set of associated tools from the toolset that are associated with the third set of tools; and determine a set of candidate tools that match the target request based on the third set of tools and the set of associated tools.
[0079] In some embodiments, a set of associated tools includes at least one of the following: a tool that has a cooperative relationship with a first tool in a third set of tools, and a tool of the same type as a second tool in a third set of tools.
[0080] In some embodiments, the tool description information indicates at least one of the following: an identifier of the corresponding tool, a set of parameters associated with the corresponding tool, and a parameter description of the set of parameters.
[0081] The units included in device 400 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units may be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to machine-executable instructions, some or all of the units in device 400 may be implemented at least partially by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that may be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chips (SoCs), complex programmable logic devices (CPLDs), and so on.
[0082] Figure 5 shows a block diagram of an electronic device 500 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 500 shown in Figure 5 is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. The electronic device 500 shown in Figure 5 can be used to implement the electronic device 110 shown in Figure 1.
[0083] As shown in Figure 5, the electronic device 500 is in the form of a general-purpose electronic device. Components of the electronic device 500 may include, but are not limited to, one or more processors or processing units 510, memory 520, storage devices 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. The processing unit 510 may be a physical or virtual processor and is capable of performing various processes according to programs stored in the memory 520. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 500.
[0084] Electronic device 500 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 520 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 530 can be a removable or non-removable medium and can include machine-readable media, such as flash drives, disks, or any other media that can be used to store information and / or data (e.g., training data for training) and can be accessed within electronic device 500.
[0085] Electronic device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 5, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks may be provided. In these cases, each drive may be connected to a bus (not shown) via one or more data media interfaces. Memory 520 may include computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.
[0086] Communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functionality of components of electronic device 500 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, electronic device 500 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.
[0087] Input device 550 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 500 can also communicate with one or more external devices (not shown) via communication unit 540 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 500, or with any device that enables electronic device 500 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).
[0088] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.
[0089] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0090] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0091] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0093] Various implementations of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.
Claims
1. A request processing method, comprising: From the set of tools associated with the target model, identify a set of candidate tools that match the received target request; as well as The target model is provided with tool description information of the set of candidate tools and the target request, so as to process the target request using the target model. The target model is configured to: invoke at least one tool from the set of candidate tools to process the target request based on the tool description information.
2. The method of claim 1, wherein determining a set of candidate tools matching the received target request from a toolset associated with the target model comprises: Determine the degree of match between the target request and multiple tools in the toolset; as well as Based on the matching degree, a set of candidate tools that match the target request are determined from the toolset.
3. The method of claim 2, wherein determining the matching degree between the target request and a plurality of tools in the toolset comprises: Obtain the first tool information of the plurality of tools in the tool set; Based on the target request and the first tool information, the matching degree between the target request and the plurality of tools in the tool set is determined.
4. The method according to claim 3, wherein the first tool information includes evaluation information corresponding to the tool, and the method further includes: Obtain feedback data, which indicates whether the processing result obtained by the target model in calling the tool to process the candidate request is accurate; as well as Based on the feedback data, the evaluation information corresponding to the tool is determined.
5. The method of claim 2, wherein determining the set of candidate tools matching the target request from the toolset based on the matching degree comprises: Based on the matching degree, a first set of tools matching the target request is determined from the toolset; Based on the second tool information of the first set of tools and related to the target request The first group of tools is sorted based on the user information of the target users. A predetermined number of tools in a third group are determined from the sorted first group of tools; as well as Based on the third set of tools, the set of candidate tools that match the target request are determined.
6. The method of claim 5, wherein the second tool information indicates at least one of the following: The recommendation priority of the corresponding tools, where the recommendation priority indicates whether the tool is recommended first; and / or The activation status of the corresponding tool, which indicates whether the tool is allowed to be used.
7. The method of claim 5, wherein determining the set of candidate tools matching the target request based on the third set of tools comprises: From the toolset, identify a set of associated tools that are related to the third set of tools; as well as Based on the third set of tools and the set of associated tools, the set of candidate tools that match the target request are determined.
8. The method of claim 7, wherein the set of associated tools comprises at least one of the following: Tools that have a compatibility relationship with the first tool in the third group of tools, Tools of the same type as the second tool in the third group of tools.
9. The method of claim 1, wherein the tool description information indicates at least one of the following: The corresponding tool's identifier, A set of parameters associated with the corresponding tool. A parameter description of the set of parameters.
10. An apparatus for request processing, comprising: The first determining module is configured to determine a set of candidate tools that match the received target request from the toolset associated with the target model; as well as A providing module is configured to provide the target model with tool description information of the set of candidate tools and the target request, so as to process the target request using the target model. The target model is configured to: invoke at least one tool from the set of candidate tools to process the target request based on the tool description information.
11. An electronic device, comprising: At least one processing unit; as well as At least one memory, coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, which, when executed by the at least one processing unit, cause the electronic device to perform the method according to any one of claims 1 to 9.
12. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method according to any one of claims 1 to 9.
13. A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 9.