A conversation processing method, device, computer equipment and program product
By performing multi-dimensional analysis and splitting of user sessions and selecting the most suitable model and server for processing, we can solve the problem of unreasonable AI model and server scheduling and provide the session results that best meet user expectations on the basis of load balancing.
Patent Information
- Application Number
- CN202510740479.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-04
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-06-04
AI Technical Summary
In an environment with multiple AI models and servers, how to reasonably schedule AI models and select servers for session processing to avoid problems such as unreasonable server scheduling and model usage, and the inability to provide session results that meet user expectations.
By performing multi-dimensional analysis on user sessions, we obtain multi-dimensional features and session complexity, use the model resource pool to screen the initial model and candidate servers, split them based on the number of models and session complexity, select the most matching target model and server for processing, and integrate the sub-session results.
It realizes the rational use of model capabilities and resources on the basis of server resource load balancing, and provides the session results that best meet user expectations. It solves the problems of server scheduling and model scheduling and the rational use of model means, and solves the problems of unreasonable server scheduling and model use, and provides the session results that best meet user expectations.
Smart Images

Figure CN120256591B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence technology, and in particular to a conversation processing method, apparatus, computer device, and program product. Background Art
[0002] With the rapid development of artificial intelligence (AI) technology, a variety of large AI models have emerged and are widely used in fields such as natural language processing, question answering, and task processing. However, because AI models can be selected from one or more servers, and different AI models have different areas of expertise, when a user initiates a session request, how to properly schedule the AI model and select the server that provides the AI model with service resources for session processing has become a technical issue worthy of attention. Summary of the Invention
[0003] The embodiments of the present disclosure at least provide a session processing method, apparatus, computer device, and program product.
[0004] In a first aspect, an embodiment of the present disclosure provides a session processing method, including:
[0005] Using a conversation analysis model, perform multi-dimensional analysis on user conversations to obtain multi-dimensional features and conversation complexity corresponding to the user conversations;
[0006] Based on the multi-dimensional features, searching for each initial model that matches the user session and each candidate server that can be used by the initial model from the latest model resource pool; wherein the model resource pool is constructed based on model capability information of each session model and resource information of the initial server that supports the session model;
[0007] If the number of the initial models and the session complexity indicate that the user session requires multi-model processing, split the user session into multiple sub-sessions, and screen out a target model matching each sub-session and a target server required to be used by the target model from the initial models and the candidate servers;
[0008] Each of the target servers is scheduled to run the target model to process each of the sub-sessions, obtain a sub-session result corresponding to each of the sub-sessions, and determine a session result corresponding to the user session based on each of the sub-session results.
[0009] In a possible implementation, the multiple dimensions include at least a conversation domain dimension, a conversation question type dimension, and a conversation question expertise dimension.
[0010] In a possible implementation, the model resource pool is constructed according to the following steps:
[0011] For any conversation model, collect resource information of each initial server that supports the conversation model in real time, and determine the availability score of the conversation model on each initial server based on the resource information, reserved resource requirements, resource usage requirements corresponding to the conversation model, and historical resource usage information;
[0012] Obtaining model capability information corresponding to the conversation model from a model capability tag library; the model capability information includes capability indication tags and capability proficiency levels of various capabilities possessed by the conversation model;
[0013] The model resource pool is constructed according to the availability score of each conversation model on each initial server and the model capability information.
[0014] In a possible implementation, searching, based on the multi-dimensional features, for each initial model that matches the user session and each candidate server that can be used by the initial model from the latest model resource pool includes:
[0015] Determining a first weighted weight for each dimensional feature in the multi-dimensional feature;
[0016] Determining a first matching degree between each conversation model on each initial server and the user session based on the availability score and model capability information of each conversation model in the latest model resource pool on each initial server and the first weighted weight of each dimensional feature;
[0017] The initial models and the candidate servers that can be used by the initial models are screened out according to the first matching degree.
[0018] In a possible implementation, screening the initial models and the candidate servers that can be used by the initial models according to the first matching degree includes:
[0019] determining a second weighted weight of each of the session models relative to the initiating user based on user attribute information of the initiating user of the user session and a weight mapping relationship between user attributes and session models;
[0020] Using the second weighted weight of each of the conversation models, weighted processing is performed on the first matching degree between the conversation model on each of the initial servers and the user session to obtain a second matching degree;
[0021] The initial models and the candidate servers that can be used by the initial models are screened out according to the second matching degree.
[0022] In a possible implementation, screening the initial models and the candidate servers that can be used by the initial models according to the first matching degree includes:
[0023] Determining, based on historical sessions of each of the conversation models on each of the initial servers, an expected success rate of the conversation model for the user session on each of the initial servers;
[0024] Determining whether the user session is a new session initiated by the initiating user;
[0025] If not, determining a model switching loss of each session model for the user session on each initial server based on the correlation between the user session and the historical session of the initiating user, and the historical session model and historical server used by the historical session;
[0026] The initial models and the candidate servers that can be used by the initial models are screened out according to the model switching loss, the expected success rate and the first matching degree.
[0027] In a possible implementation, determining a session result corresponding to the user session based on each of the sub-session results includes:
[0028] Determining the target model corresponding to each sub-session and model capability information in the session domain to which the sub-session belongs;
[0029] determining a third weighted weight of a subsession result corresponding to each subsession based on the model capability information in the session domain and the importance of the subsession relative to the user session;
[0030] The text integration model is used to perform multiple rounds of conversation integration on each of the sub-conversation results according to the third weighted weight of each of the sub-conversation results to obtain the conversation result.
[0031] In a possible implementation, after determining the session result corresponding to the user session, the method further includes:
[0032] Obtaining initial feedback data of the session result; the initial feedback data includes interaction data and usage data for the session result;
[0033] Determine a feedback score for the session result based on the initial feedback data, combine the feedback score and a timestamp into intermediate feedback data, and store the intermediate feedback data in a feedback data pool;
[0034] For each of the conversation models, obtaining first target feedback data of conversation results of the conversation model in different conversation domains from the feedback data pool according to the timestamps and preset time ranges of the intermediate feedback data in the feedback data pool;
[0035] The model capability information of the conversation model is updated according to the first target feedback data of the conversation results of the conversation model in different conversation fields.
[0036] In a possible implementation, updating the model capability information of the conversation model according to the first target feedback data of the conversation results of the conversation model in different conversation domains includes:
[0037] For any conversation domain, determining a first capability score of the conversation model in the conversation domain based on first target feedback data of a conversation result of the conversation model in the conversation domain;
[0038] determining a second capability score of the conversation model in the conversation domain according to each first capability score of the conversation model within an update time range in the conversation domain;
[0039] The model capability information of the conversation model is updated according to the second capability score of the conversation model in each of the conversation fields.
[0040] In one possible implementation, the method further includes:
[0041] Obtaining, from the feedback data pool, second target feedback data corresponding to processed user sessions of different conversation models in different conversation domains;
[0042] The weight mapping relationship between the user attributes and the session model is updated according to the second target feedback data and the user attribute information of the initiating user of the processed user session.
[0043] In a second aspect, an embodiment of the present disclosure further provides a session processing device, including:
[0044] An analysis module is used to perform multi-dimensional analysis on user conversations using a conversation analysis model to obtain multi-dimensional features and conversation complexity corresponding to the user conversations;
[0045] a search module configured to search, based on the multi-dimensional features, from an up-to-date model resource pool for each initial model that matches the user session and each candidate server that can be used by the initial model; wherein the model resource pool is constructed based on model capability information of each session model and resource information of the initial server that supports the session model;
[0046] a splitting module, configured to split the user session into multiple subsessions if the number of the initial models and the session complexity indicates that the user session requires multi-model processing, and to screen a target model matching each subsession and a target server required to be used by the target model from the initial models and the candidate servers;
[0047] The determination module is used to schedule each of the target servers to run the target model to process each of the sub-sessions, obtain a sub-session result corresponding to each of the sub-sessions, and determine a session result corresponding to the user session based on each of the sub-session results.
[0048] In a third aspect, an optional implementation of the present disclosure further provides a computer device, a processor, and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is used to execute the machine-readable instructions stored in the memory, and when the machine-readable instructions are executed by the processor, the steps of the above-mentioned first aspect or any possible implementation of the first aspect are performed.
[0049] In a fourth aspect, an optional implementation of the present disclosure further provides a computer program product, including a computer program, which, when executed, implements the above-mentioned first aspect, or the steps in any possible implementation of the first aspect.
[0050] The session processing method, apparatus, computer device, and program product provided by the embodiments of the present disclosure perform multi-dimensional analysis of user sessions, thereby obtaining dimensional features of user sessions from different perspectives and achieving a reasonable estimate of session complexity. Leveraging these multi-dimensional features and resource information and model capability information of the initial server supporting the session model, it is possible to preliminarily screen out various initial models suitable for session processing and candidate servers suitable for use by the initial models while ensuring balanced server resource load. By splitting user sessions based on the number of models and session complexity, complex sessions can be finely divided into sub-sessions, where supported by the session model. By then selecting the target model and target server that best matches each sub-session from the initial model, the model capabilities of each target model and server resources can be rationally utilized, avoiding issues with inappropriate server scheduling and model usage. Finally, by integrating the results of each sub-session, a session result that best matches the user session can be obtained. In the entire solution, by parsing and splitting user sessions, and combining the resource information and model capability information of each session model, the session model and the initial server are scheduled. This allows the capabilities of each available model and server resources to be reasonably utilized to process the session, thereby ensuring a relatively balanced server load and obtaining the session results that best meet user expectations.
[0051] For a description of the effects of the above-mentioned session processing apparatus, computer device, and computer program product, please refer to the description of the above-mentioned session processing method, which will not be repeated here.
[0052] In order to make the above-mentioned objectives, features and advantages of the present disclosure more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments. The drawings herein are incorporated into and constitute a part of the specification. These drawings illustrate embodiments consistent with the present disclosure and, together with the specification, are used to illustrate the technical solutions of the present disclosure. It should be understood that the following drawings only illustrate certain embodiments of the present disclosure and should not be regarded as limiting the scope. For those of ordinary skill in the art, other relevant drawings can be obtained based on these drawings without inventive effort.
[0054] Figure 1 A flow chart of a session processing method provided by an embodiment of the present disclosure is shown;
[0055] Figure 2 A specific implementation flow chart of a session processing method provided by an embodiment of the present disclosure is shown;
[0056] Figure 3 A schematic diagram of a session processing device provided by an embodiment of the present disclosure is shown;
[0057] Figure 4 A schematic structural diagram of a computer device provided by an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. The components of the embodiments of the present disclosure generally described and shown here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure is not intended to limit the scope of the present disclosure for protection, but merely represents the selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present disclosure.
[0059] In addition, the terms "first," "second," and the like in the description and claims of the embodiments of the present disclosure and in the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, such that the embodiments described herein can be practiced in an order other than that shown or described herein.
[0060] In this document, "multiple or several" refers to two or more. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0061] Research has found that with the continuous development of large AI model technology, large models of various sizes and capabilities are constantly emerging. Common examples include large models with 7 billion (7B) parameters, 32B parameters, 70B parameters, 617B parameters, 1.56-bit dynamic quantization, and Q4 standard quantization. In the early days of large AI model applications, when users needed to use an AI model, they typically manually selected the most suitable target AI from a large pool of models. The target AI then input session information into the target AI to obtain the desired results. However, this approach relies on the user's understanding of the model, often resulting in the user's selected model not providing accurate answers. Consequently, some inference scheduling systems for multi-model environments have emerged. These systems take into account the two main deployment methods for large AI models: full graphics processing unit (GPU) inference and hybrid central processing unit (CPU) / GPU inference. Upon receiving an external request from the user, they typically schedule the model to process the request based on the inference engine's priority and device status. However, this model scheduling strategy is too simple, which may lead to unreasonable scheduling of both the model server and the session model, and fail to provide users with the answer results that meet their expectations.
[0062] Based on the above research, the present disclosure provides a session processing method, apparatus, computer device, and program product. By performing multi-dimensional analysis of user sessions, dimensional features of user sessions from different perspectives can be obtained, and session complexity can be reasonably estimated. Leveraging these multi-dimensional features and resource information and model capability information of the initial server supporting the session model, it is possible to preliminarily screen out initial models suitable for session processing and candidate servers suitable for use by the initial models, while ensuring balanced server resource load. By splitting user sessions based on the number of models and session complexity, complex sessions can be finely divided into sub-sessions, where supported by the session model. By then selecting the target model and target server that best matches each sub-session from the initial model, the model capabilities of each target model and server resources can be rationally utilized, avoiding issues with inappropriate server scheduling and model usage. Finally, by integrating the results of each sub-session, a session result that best matches the user session can be obtained. In the entire solution, by parsing and splitting user sessions, and combining the resource information and model capability information of each session model, the session model and the initial server are scheduled. This allows the capabilities of each available model and server resources to be reasonably utilized to process the session, thereby ensuring a relatively balanced server load and obtaining the session results that best meet user expectations.
[0063] The defects in the above solutions are the results obtained by the inventors after practice and careful research. Therefore, the process of discovering the above problems and the solutions proposed by the present disclosure for the above problems below should be the contributions made by the inventors to the present disclosure during the disclosure process.
[0064] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.
[0065] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0066] To facilitate understanding of this embodiment, a session processing method disclosed in an embodiment of the present disclosure is first introduced in detail. The execution subject of the session processing method provided in the embodiment of the present disclosure is generally a terminal device or other processing device with certain computing capabilities, where the terminal device can be a user equipment (UE), a mobile device, a user terminal, a terminal, a personal digital assistant (PDA), a handheld device, a computer device, etc.; in some possible implementations, the session processing method can be implemented by a processor calling computer-readable instructions stored in a memory.
[0067] The session processing method provided by the embodiment of the present disclosure is described below by taking the execution subject as the server as an example.
[0068] like Figure 1 FIG. 1 is a flow chart of a session processing method provided by an embodiment of the present disclosure, which may include the following steps:
[0069] S101: Utilize a conversation analysis model to perform multi-dimensional analysis on the user conversation to obtain multi-dimensional features and conversation complexity corresponding to the user conversation.
[0070] Here, user conversations are questions submitted by users to be answered. The conversation analysis model can be a lightweight analysis model that performs multi-dimensional parsing and complexity analysis on user conversations to obtain multi-dimensional features and conversation complexity. For example, the conversation analysis model can be fine-tuned based on a distillation model and used to identify and classify user conversations, thereby breaking down user conversations into the information required for subsequent steps.
[0071] The multi-dimensional features may include at least a conversation domain dimension, a conversation question type dimension, and a conversation question professionalism dimension. The multi-dimensional features may specifically include conversation features under each dimension, wherein the dimensional features under the conversation domain dimension are used to characterize the domain attributes of the user conversation, such as the technical field, management field, creative field, document production field, drawing field, scientific field, engineering field, official document writing field, solution generation field, news field, knowledge retrieval field, etc. The dimensional features under the conversation question type dimension are used to characterize the question types of the user conversation, such as analysis type, decision-making type, question-and-answer type, creative type, etc. The dimensional features under the conversation question professionalism dimension are used to characterize the professionalism of the user conversation, such as entry-level, elementary level, intermediate level, advanced level, professional level, etc.
[0072] The dimensional features within each dimension can be specifically the dimensional feature vectors output by the conversation analysis model, and the multidimensional features can be the multidimensional feature vectors output by the conversation analysis model. Conversation complexity characterizes the computational complexity of user conversations. Higher computational complexity indicates a greater difficulty in processing user conversations, and therefore requires a more capable conversation model.
[0073] In specific implementations, the server can receive user conversations submitted by users and then schedule a conversation analysis model to perform multi-dimensional parsing and complexity analysis on the user conversations, obtaining multi-dimensional features and conversation complexity. For example, based on the analysis results of the conversation analysis model, a multi-dimensional feature vector can be obtained. This vector contains the core feature information of the question and uses a standardized format to facilitate subsequent processing. For example: [Domain: Technical Field: Confidence 0.9; Sub-Domain: AI Architecture Field: Confidence 0.8; Question Type: Analysis Type: Confidence 0.75; Conversation Complexity: Medium, Confidence 0.6; Expertise: Advanced: Confidence 0.8; Computational Amount: Medium: Confidence 0.5] This multi-dimensional feature vector will serve as an important basis for subsequent model selection and task decomposition.
[0074] Optionally, the session processing method provided by the embodiment of the present disclosure may be executed using an agent set up on the server side.
[0075] S102: Based on multi-dimensional features, search for each initial model that matches the user session and each candidate server that can be used by the initial model from the latest model resource pool; wherein the model resource pool is constructed based on the model capability information of each session model and the resource information of the initial server that supports the session model.
[0076] Here, the server can call multiple AI conversation models. Different conversation models have different processing capabilities, and the deployment scheme of the conversation model can include two main methods: full GPU inference and CPU / GPU hybrid inference. The initial server can be understood as a server that supports the operation of the conversation model. A conversation model can have one or more initial servers that support its operation, and a server can support the operation of one or more conversation models. When there are multiple initial servers supporting the conversation model, when it is determined that the conversation model needs to be used, one server can be selected from the multiple initial servers as the server required for the conversation model to be used this time.
[0077] The initial model is a portion of session models selected for this user session from the session models included in the model resource pool, and the candidate server is a portion of servers selected from the initial server for this user session that can be used to run the initial model.
[0078] The model resource pool may include at least one conversation model and at least one initial server currently supporting the conversation model. Each conversation model and initial server included in the pool is constructed based on the resource information of all initial servers supporting the conversation model and the model capability information of the conversation model. Resource information is used to represent the operational status data of the initial servers supporting the conversation model. This operational status data may include, but is not limited to, the initial server's CPU utilization, GPU load, memory usage, and network bandwidth usage. GPU load specifically includes information such as computational load and video memory usage.
[0079] To facilitate the collection of resource information for each conversation model, a distributed monitoring probe network can be used. This network can include lightweight monitoring agents configured for servers supporting each conversation model, and real-time resource information collection can be achieved based on these agents. Optionally, to improve the real-time nature of resource information collection, the distributed monitoring probe network can utilize a low-latency message queue mechanism for information collection. The information collection interval can be a preset interval, which can be set based on experience and is not specifically limited in the present embodiment. For example, the preset interval can be 0.5 seconds, 1 second, etc.
[0080] Model capability information may include basic parameter information for the conversation model, capability indicators, and the model capability proficiency level for each capability indicator. Basic parameter information may include the model's parameter count, model quantization type, and performance metrics (such as concurrency, token count per second, and the number of tokens thought, answered, and output). This basic parameter information can also be collected in real time using a distributed monitoring probe network. A conversation model may include at least one capability indicator, and the capability proficiency level may be expressed using a standardized score ranging from 0 to 1. For example, the capability indicator tags for a conversation model may include [Main domain: Computer Science, capability proficiency level 0.9; Subdomain: Operating Systems, capability proficiency level 0.9; Subdomain: AI Architecture, capability proficiency level 0.85; Subdomain: Compiler Principles, capability proficiency level 0.95]. The capability indicator tags and capability proficiency levels for each conversation model can be dynamically updated. The update process will be described in detail below. For example, the server may maintain a dynamically updated model capability tag library that records each conversation model's capability indicator tag and the capability proficiency level associated with that tag.
[0081] In specific implementations, the server can determine the currently available session models and the available initial servers for these session models based on the collected resource information of each initial server supporting each session model, basic parameter information of the session model, and the capability indicator tags and capability proficiency levels of each session model recorded in the model capability tag library. A model resource pool can then be constructed based on these session models and these available initial servers. For example, for each session model, the server can determine the initial servers whose resource information meets the set conditions based on the resource information of each initial server supporting the session model. If the computing capacity of the session model meets the set capability of the session model, the session model and the initial server that meets the conditions will be included in the model resource pool as the session model and the initial server supporting the session model. Because the resource information of each initial server supporting the session model, the capability indicator tags of the session model, and the capability proficiency levels of the session model are all updateable information, the session models and the initial servers supporting the session models included in the model resource pool also change dynamically, and the number of session models included in the model resource pool and the number of initial servers supporting the session model also change dynamically. For example, the number of session models in the model resource pool can range from 0 to N, where N is the number of session models that can be scheduled by the server. The number of initial servers supporting each session model can range from 1 to M, where M is the maximum number of initial servers supporting the session model. When the number of session models and initial servers in the model resource pool is 0, the system can wait for a set period of time and then re-determine whether session models and initial servers exist in the latest model resource pool. If so, initial models and candidate servers can be screened for these session models and initial servers. If not, the system can return to the waiting step for a set period of time until the number of returns reaches a preset number, and provide the user with feedback indicating that there are currently no available resources for session processing.
[0082] The initial model is a session model in the model resource pool that matches at least one of the multi-dimensional features. The candidate server is a server that matches at least one of the multi-dimensional features among the initial servers indicated by the model resource pool as supporting the initial model. For example, a multi-dimensional matching calculation can be performed on the multi-dimensional feature vector and the model capability label to obtain a calculation result under each capability indication label. The calculation results are then weighted using the proficiency of the capability under the capability indication label to determine the degree of match between the session model and the user session. The session model with a matching degree greater than a set matching degree is selected as the initial model that matches the user session. Alternatively, the session models are sorted in order of matching degree from highest to lowest, and the session model whose sorting order satisfies the set order is selected as the initial model. While determining the initial model, candidate servers that can be used by the initial model can also be selected from the initial servers based on the resource information of the initial servers supporting the initial model and the matching of the multi-dimensional features, with the goal of balancing the load of each server and supporting the processing of user sessions.
[0083] Exemplarily, after obtaining the multi-dimensional features, the various session models included in the latest model resource pool and the initial server corresponding to each session model can be determined. Then, based on the resource information of the initial server corresponding to each session model, the first server whose resource information can meet the session complexity is determined. Based on the model capability information and multi-dimensional features of the session models supported by each first server, the matching degree between these session models and the user session is calculated, and the session model whose matching degree meets the set matching degree is used as the initial model, and the first server corresponding to the initial model is used as the candidate server. Here, the number of initial models screened out and the number of candidate servers corresponding to each initial model can both include at least one.
[0084] In one embodiment, the model resource pool can be constructed according to the following steps 1 to 3:
[0085] Step 1: For any conversation model, the resource information of each initial server that supports the conversation model is obtained, and the availability score of the conversation model on each initial server is determined based on the resource information, reserved resource requirements, resource usage requirements corresponding to the conversation model, and historical resource usage information.
[0086] Here, the reserved resource requirement indicates the various resources that the server needs to reserve when running the session model on the server. The resource usage requirement indicates the various resources required to use the session model when running. The historical resource usage information indicates the resource usage of the session model when processing historical sessions. Based on the historical resource usage information, the historical load trend and historical resource usage trend of the session model can be determined. The availability score indicates the availability of the session model on the initial server. A higher availability score indicates a stronger availability of the session model on the initial server and a better model usage effect; a lower availability score indicates a lower availability of the session model on the initial server and a worse model usage effect.
[0087] During specific implementation, the server can collect resource information of each initial server that supports the operation of each callable conversation model in real time based on a distributed monitoring probe network. For example, the computing load and video memory occupancy, memory usage, network bandwidth occupancy, CPU usage by core statistics, etc. of each initial server that supports the operation of the conversation model can be collected. For each conversation model, the availability score of the conversation model on each initial server can be calculated based on the comparison information between the resource information of each initial server that supports the operation of the conversation model and the resource usage requirements corresponding to the conversation model, whether the remaining resources after the initial server allocates the required resources to the conversation model meet the reserved resource requirements, and whether the resource information meets the historical load trend represented by the historical resource usage information. Exemplarily, a preset calculation formula can be used to calculate the availability score of the conversation model on each initial server based on the resource information, reserved resource requirements, resource usage requirements corresponding to the conversation model, and historical resource usage information.
[0088] For example, if a conversation model requires 8GB of video memory and an initial server currently has only 6GB of video memory left, the availability score of the conversation model on the initial server will be significantly reduced.
[0089] Step 2: Obtain model capability information corresponding to the conversation model from the model capability label library; the model capability information includes capability indication labels and capability proficiency levels of various capabilities possessed by the conversation model.
[0090] During specific implementation, for each callable conversation model, information such as capability indication labels and capability proficiency levels of various capabilities possessed by the conversation model can be obtained from the current model capability label library.
[0091] Step 3: Build a model resource pool based on the availability score and model capability information of each conversation model on each initial server.
[0092] In specific implementations, each session model and the initial server supporting it can be added to a model resource pool, and each session model can be associated with its availability score on each initial server, model capability information, basic parameter information, resource information, and so on. Alternatively, based on the availability score of each session model on each initial server, session models and initial servers with availability scores greater than a set score can be screened out, and a model resource pool can be constructed based on these session models and initial servers. Each session model in the model resource pool is associated with at least the following information: basic parameter information (such as parameter quantity, quantization type, etc.), a set of capability tags and capability proficiency levels, the current availability score on each initial server, and resource information.
[0093] As you can understand, the model resource pool is dynamically updated and supports hot swapping of models. The included session models and initial servers are updated in real time as the resource information of the initial servers supporting the session models changes, providing a comprehensive set of candidate models and servers for model and server scheduling. When a new model is deployed for scheduling, the model resource pool is automatically updated to add the new model to the model resource pool for scheduling.
[0094] In one embodiment, the step of searching for the initial model and candidate servers in S102 may be implemented as follows:
[0095] S102 - 1 : Determine a first weighted weight of each dimensional feature in the multi-dimensional feature.
[0096] During specific implementation, each dimensional feature may be set with a default weighting weight, and the default weighting weight may be directly used as the first weighting weight.
[0097] Alternatively, for different user conversations, different weightings can be set for different dimensional features based on the conversation question type and conversation domain. For example, for user conversations related to technical analysis, the default weights for dimensional features under the conversation question expertise dimension can be increased, while the default weights for the remaining dimensional features remain unchanged. For user conversations related to creativity and innovation, the default weights for dimensional features under the conversation question expertise dimension can be decreased, while the default weights for dimensional features under the conversation domain dimension can be increased.
[0098] Exemplarily, the method for adjusting the default weight of each dimensional feature can be determined based on the conversation problem type and conversation domain indicated by the multi-dimensional features of the user conversation, and the first weighted weight of each dimensional feature can be obtained by adjusting it according to the adjustment method.
[0099] S102-2: Determine a first degree of match between each conversation model on each initial server and the user session based on the availability score and model capability information of each conversation model in the latest model resource pool on each initial server and the first weighted weight of each dimensional feature.
[0100] In a specific implementation, for each dimensional feature in the multi-dimensional features, the cosine similarity between the capability indication tag in the model capability information of the session model and the dimensional feature can be calculated separately. The cosine similarity is weighted according to the first weighted weight of the dimensional feature and the degree of proficiency of the capability indication tag, thereby obtaining the weighted similarity between the capability indication tag and the dimensional feature. The capability indication tag with the highest weighted similarity is used as the capability indication tag that matches the dimensional feature. Furthermore, the first degree of matching between the session model and the user session on each initial server can be determined based on the weighted similarity between the capability indication tag matching the session model and each dimensional feature and the availability score of the session model on each initial server. For example, the availability score can be used to weight the average of the weighted similarities between the capability indication tags matching the session model and each dimensional feature to obtain the first degree of matching. Alternatively, the maximum similarity can be determined from the weighted similarities between the capability indication tags matching the session model and each dimensional feature, and the maximum similarity can be weighted using the availability score to obtain the first degree of matching.
[0101] Alternatively, based on a preset matching formula, the availability score, capability indication label, capability proficiency, and first weighted weight of each dimension feature of the session model on each initial server in the latest model resource pool can be substituted into the matching formula to obtain the first matching degree between the session model and the user session on each initial server.
[0102] S102-3: Filtering out initial models and candidate servers that can be used by the initial models according to the first matching degree.
[0103] For example, the conversation models and initial servers whose first matching degrees are greater than a set matching degree can be used as the selected initial models and candidate servers. Alternatively, the first matching degrees of the conversation models on the initial servers can be sorted in descending order of matching degree, and the initial models and candidate servers can be screened based on the relationship between the sorting order and the set number of matches.
[0104] In one embodiment, the above S102-3 may also be implemented according to the following steps:
[0105] S102-3-1: Determine a second weighted weight of each session model relative to the initiating user based on user attribute information of the initiating user of the user session and a weight mapping relationship between the user attribute and the session model.
[0106] Here, the initiating user is the user who initiates the user session, and the user attribute information is used to indicate the user group to which the initiating user belongs. User groups may include, for example, software developers, algorithm engineers, product managers, cartographers, and everyday users. The user attribute information may be proactively submitted to the server by the initiating user, or obtained by the server, with the user's authorization, through cluster analysis of the initiating user's historical interaction data. This historical interaction data may include, but is not limited to, the initiating user's historical session records, the user's preference model, and user ratings for different session models.
[0107] For example, after the initiating user logs in, the server can, with the initiating user's authorization, obtain the initiating user's historical interaction data within a set time range and perform cluster analysis on the historical interaction data to classify the initiating user into predefined group types. For example, if the initiating user's historical interaction data indicates that the user has initiated a large number of historical conversations about software programming, the initiating user can be classified as a software developer.
[0108] The weight mapping relationship between user attributes and session models is used to indicate the preference weights of user groups with different attributes for different session models. The higher the preference weight, the higher the user group's preference, satisfaction, and usage of the session model. For example, the R&D engineer group may rate a model for a specific professional domain significantly higher than the general model. This preference is quantified as a preference weight and stored in the weight mapping relationship between the R&D engineer group and the model for that professional domain. The weight mapping relationship between user attributes and session models can be determined based on the satisfaction and usage of each user with the user attributes. The server can maintain the weight mapping relationship between user attributes and session models using a multidimensional matrix.
[0109] For example, after obtaining the first degree of match, the latest weight mapping relationship between the user attributes and the session model can be obtained. Based on the weight mapping relationship, the preference weight associated with each session model and the user attribute information of the initiating user is determined, and the preference weight is used as the second weighted weight of each session model relative to the initiating user.
[0110] S102-3-2: Using the second weighted weight of each conversation model, weighted processing is performed on the first matching degree between the conversation model on each initial server and the user conversation to obtain a second matching degree.
[0111] Exemplarily, for any session model, the second weighted weight of the session model can be multiplied by the first matching degree between the session model and the user session on each initial server to obtain the second matching degree of the session model on each initial server.
[0112] S102-3-3: Filter out each initial model and each candidate server that can be used by the initial model according to the second matching degree.
[0113] For example, the conversation models and initial servers whose second matching degrees are greater than the set matching degree can be used as the selected initial models and candidate servers. Alternatively, the second matching degrees of the conversation models on the initial servers can be sorted in descending order of matching degree, and the initial models and candidate servers can be screened based on the relationship between the sorting order and the set number of matches.
[0114] In another embodiment, the above S102-3 may also be implemented according to the following steps A to D:
[0115] Step A: Based on the historical sessions of each session model on each initial server, determine the expected success rate of the session model for the user session on each initial server.
[0116] Here, historical session data indicates each historical user session processed by the session model when running the session model on the initial server, as well as the processing results for these historical user sessions. The processing results indicate whether the historical user session was successfully answered. The expected success rate indicates the probability that the session model will successfully process the user session and output a valid session result on the initial server.
[0117] In specific implementation, for any session model and any initial server that supports the operation of the session model, target historical sessions similar to the current user session can be determined from the historical sessions of the session model on the initial server. Based on the computational complexity and processing results of each target historical session and the computational complexity of the current user session, a Bayesian probability model is used to calculate the expected success rate of the session model for the user session on the initial server.
[0118] Step B: Determine whether the user session is a new session initiated by the initiating user.
[0119] In specific implementation, after obtaining the user session, the server may further determine whether the user session is a continuation of a historical session of the initiating user and / or a new session established by the user, thereby determining whether the user session is a new session.
[0120] For example, if no historical sessions exist for the current user session, the user session is determined to be a new session. If historical sessions exist, whether it is a new session can be determined based on the correlation between each historical session and the user session. For example, the semantic similarity between the user session and each historical session can be calculated, and a different fourth weighting can be assigned to each historical session based on the chronological order of initiation of the historical sessions. Using the fourth weighting, the semantic similarities are weighted and summed to obtain the correlation between the user session and the historical sessions. If the correlation is greater than the set correlation, the user session is determined not to be a new session initiated by the initiating user; conversely, if the correlation is not greater than the set correlation, the user session is determined to be a new session.
[0121] In the case where the user session is a new session, the initial model and candidate server can be directly screened out based on the expected success rate and the first matching degree. For example, a session model and initial server that simultaneously meet the conditions that the expected success rate is greater than the preset success rate and the first matching degree is greater than the set matching degree can be used as the initial model and candidate server. Alternatively, a session model and initial server for which the product of the expected success rate of the session model on the initial server and the first matching degree of the session model on the initial server is greater than the set value can be used as the initial model and candidate server. Alternatively, the first matching degree can be used to determine the second matching degree according to S102-3-1 to S102-3-3 above, and the initial model and candidate server can be screened out based on the second matching degree and the expected success rate.
[0122] If the user session is not a new session, the following step C may be executed instead.
[0123] Step C: If not, determine the model switching loss of each session model for the user session on each initial server based on the correlation between the user session and the historical session of the initiating user, and the historical session model and historical server used by the historical session.
[0124] Here, the model switching loss of the session model for the user session on the initial server is used to represent the loss information that may be caused when switching to the initial server to run the session model to process the user session.
[0125] For example, when the user session is not a new session, the server can perform a consistency evaluation on the user session, where the evaluation indicators include but are not limited to the knowledge system coherence of the session model for the user session, the user session's requirements for answer consistency, and the context understanding ability of the session model. In addition, the server can determine the model switching loss of switching to different initial servers to run different session models for session processing based on the correlation between the user session and the initiating user's historical session, the historical session model and historical server used in the latest historical session, and the consistency evaluation results. The historical session model used in the latest historical session can be a single model or a combination of multiple session models.
[0126] Step D: Filter out each initial model and each candidate server that can be used by the initial model based on the model switching loss, the expected success rate, and the first matching degree.
[0127] For example, a conversation model and initial server with a model switching loss less than a set loss, an expected success rate greater than a preset success rate, and a first matching degree greater than a set matching degree can be used as the initial model and candidate server. Alternatively, a conversation model and initial server with a model switching loss, an expected success rate, and a first matching degree multiplied by a value greater than a set value can be used as the initial model and candidate server. Alternatively, the first matching degree can be used to determine a second matching degree according to S102-3-1 to S102-3-3 above, and the initial model and candidate server can be screened based on the second matching degree, the model switching loss, and the expected success rate.
[0128] S103: When the number of initial models and the session complexity indicate that the user session requires multi-model processing, the user session is split into multiple sub-sessions, and a target model matching each sub-session and a target server required to be used by the target model are screened from the initial models and candidate servers.
[0129] Here, a subsession can correspond to at least one target model, and a target model corresponds to a target server. A target server is a server running the target model required to process the current user session. If a subsession corresponds to multiple target models, when subsequently integrating subsession results, a preliminary integration of the subsession results output by different target models for the same subsession can be performed to obtain a consolidated subsession result. After the preliminary integration is completed, a secondary integration of the subsession results corresponding to each subsession (using a consolidated subsession result, if available) can be performed to obtain the final session result.
[0130] In specific implementations, if the number of models is 1, it indicates that only one model is currently available. In this case, it can be determined not to split the user session. If there is only one available candidate server for this unique initial model, the initial model can be run using this candidate server, and the user session can be processed to obtain a session result. If there are multiple available candidate servers for this unique initial model, the candidate server with the most sufficient resource information can be selected as the target server, and the initial model can be run using this target server to process the user session and obtain a session result.
[0131] If the number of models exceeds one, whether the initial servers available for each initial model completely overlap determines whether to split the user session. If so, the user session can be left unsplit, as a single server cannot easily support multiple models simultaneously. The initial model with the highest degree of match between its model capability and the user session is then selected as the target model. From the candidate servers supporting the target model, the one with the most abundant resources is selected as the target server. The target server is then called to run the target model, processing the user session and obtaining the session result.
[0132] If the initial servers available for each initial model do not completely overlap, the session complexity can be used to determine whether to split the session. For example, the session complexity sum can be determined based on whether it exceeds a preset complexity. If not, the initial model whose model capability information best matches the user session can be selected as the target model. The candidate server with the most abundant resources, among those that support the target model, can then be selected as the target server. The target server is then invoked to run the target model, process the user session, and obtain the session result. If so, a multi-model collaborative processing approach can be determined. Based on the knowledge graph decomposition algorithm, the user session can be split into multiple relatively independent sub-sessions based on the multi-dimensional characteristics of the user session and the model capability information of each initial model. For example, a technology evaluation session might be broken down into sub-sessions such as "Technical Principle Analysis," "Application Scenario Evaluation," and "Pros and Cons Comparison." When splitting the sub-sessions and matching them to target models, the server can use a task planning algorithm to specify the target model, execution order, and data exchange method for each sub-session to ensure that dependencies between sub-tasks are properly handled and optimize overall execution efficiency. Furthermore, based on the multi-dimensional characteristics of each subsession and the model capability information of each initial model, the server can select a target model that matches the subsession from the initial models, and select the candidate server with the richest resources from the candidate servers that support the operation of the target model as the target server. In addition, the server can establish a session task dependency graph, clearly marking the sequence and data dependencies between each subsession. The server can then initiate parallel session scheduling, using a directed acyclic graph to manage each subsession, supporting maximum parallel execution that meets the dependencies. Each subsession is encapsulated into a standard request package containing a task description, context information, output requirements, etc. The system distributes these subsession requests to the target servers corresponding to each selected target model through asynchronous message queues and monitors the execution progress in real time.
[0133] S104: Schedule each target server to run the target model to process each sub-session, obtain a sub-session result corresponding to each sub-session, and determine a session result corresponding to the user session based on each sub-session result.
[0134] Here, the session result is used to indicate the answer result of the user session, and the result is used to feed back to the initiating user.
[0135] During specific implementation, the server can schedule each target server to run the corresponding target model according to the execution order and data interaction method, and use each running target model to process the matching sub-sessions separately to obtain the session results corresponding to each sub-session. Then, the server can schedule the text integration model to perform session integration and optimization on the results of each sub-session to obtain the final session result.
[0136] In one embodiment, the step of determining the session result in S104 may be implemented according to the following steps P1 to P3:
[0137] P1: Determine the target model corresponding to each sub-session and the model capability information under the session domain to which the sub-session belongs.
[0138] In specific implementation, each subsession also has a session domain to which it belongs. For each subsession, the model capability information of the target model used to process the subsession in the session domain can be determined based on the session domain to which the subsession belongs.
[0139] P2: Determine the third weight of the subsession result corresponding to each subsession based on the model capability information in the session domain and the importance of the subsession relative to the user session.
[0140] Here, the importance of the sub-session relative to the user session can be determined when the server splits the user session.
[0141] In specific implementation, the product of the target model's proficiency in the model capability information in the session field and the importance of the sub-session relative to the user session can be determined, and the product can be used as the third weighted weight of the sub-session result corresponding to the sub-session.
[0142] Alternatively, it is also possible to obtain the user group indicated by the user attribute information, the degree of preference for the answer result in the conversation field to which the sub-session belongs, and then determine the product of the preference degree, the ability proficiency of the target model in the model ability information in the conversation field, and the importance of the sub-session relative to the user session, and use the product of the three as the third weighted weight of the sub-session result corresponding to the sub-session.
[0143] P3: Using the text integration model, perform multiple rounds of conversation integration on each sub-conversation result according to the third weighted weight of each sub-conversation result to obtain the conversation result.
[0144] Here, the text integration model is a pre-trained text processing model that has text integration and text optimization capabilities.
[0145] During specific implementation, the server can schedule a pre-trained text integration model and input each sub-session result and its corresponding third weighted weight into the text integration model. The text integration model performs multiple rounds of refinement and coherent conversation integration on each sub-session result to output an overall conversation result. It should be noted here that the conversation integration process disclosed in the present invention is not a simple text splicing, but an intelligent fusion process. The text integration model will combine each sub-session result according to the third weighted weight and generate a coherent and complete conversation result through multiple rounds of refinement. Moreover, during the integration process, the text integration model will pay special attention to the logical coherence of the result content, the consistency of professional terminology, and the uniformity of the overall writing style, and selectively add appropriate transition sentences as needed to ensure that the final conversation result not only integrates the content of each sub-session result, but also has readability.
[0146] In this way, by performing multi-dimensional analysis of user sessions, we can obtain dimensional features of user sessions from different perspectives and achieve a reasonable estimate of session complexity. Leveraging these multi-dimensional features, along with resource information and model capability information about the initial servers supporting the session model, we can preliminarily screen out suitable initial models and candidate servers for use with the initial models while ensuring balanced server resource load. By splitting user sessions based on the number of models and session complexity, we can achieve fine-grained segmentation of complex sessions, yielding refined subsessions, if supported by the session model. By then selecting the target model and target server that best matches each subsession from the initial model, we can rationally utilize the model capabilities of each target model and server resources, avoiding issues with inappropriate server scheduling and model usage. Finally, by integrating the results of each subsession, we can obtain the session result that best matches the user session. In the entire solution, by parsing and splitting user sessions, and combining the resource information and model capability information of each session model, the session model and the initial server are scheduled. This allows the capabilities of each available model and server resources to be reasonably utilized to process the session, thereby ensuring a relatively balanced server load and obtaining the session results that best meet user expectations.
[0147] In one embodiment, after determining the session result corresponding to the user session, the model capability information of the session model may be updated according to the following steps T1 to T4:
[0148] T1: Obtain initial feedback data for the session results; the initial feedback data includes interaction data and usage data for the session results.
[0149] Here, the server can adopt a multi-channel user feedback collection mechanism to simultaneously capture explicit and implicit feedback data and update model capability information based on this data. Specifically, explicit feedback data can include interaction data. Interaction data can include, for example, the initiating user's rating data and comment operation data on the session results. Comment operation data can include likes / dissatisfactions, text and image evaluation data, etc. Implicit feedback data can include usage data. Usage data can include, for example, the reading time of the answer, scrolling heat maps for the session results, copying behavior, re-question data for the session results, secondary usage data of the session results, etc. Secondary usage data includes data such as whether it was copied, shared, and cited.
[0150] For example, after the session result is fed back to the initiating user, various interaction data and usage data of the initiating user with respect to the session result may be obtained, and all of these data may be used as initial feedback data.
[0151] T2: Based on the initial feedback data, determine the feedback score of the session result, and combine the feedback score and timestamp into intermediate feedback data, which is stored in the feedback data pool.
[0152] Here, a feedback data pool may be provided for each conversation model, and the feedback data pool is used to store the intermediate feedback data of the conversation model for each user conversation. The intermediate feedback data includes the feedback score of the conversation result and the timestamp corresponding to the determination time of the feedback score.
[0153] In specific implementations, the server can normalize the initial feedback data and, based on the normalization results, convert the feedback score corresponding to the initial feedback data. The user session, session result, feedback score for the session result, timestamp corresponding to the feedback score determination time, and session domain corresponding to the session result are all stored as associated intermediate feedback data in the feedback data pool corresponding to the session model.
[0154] T3: For each conversation model, according to the timestamps and preset time ranges of the intermediate feedback data in the feedback data pool, obtain the first target feedback data of the conversation results of the conversation model in different conversation fields from the feedback data pool.
[0155] Here, the preset time range can be set based on experience, for example, the preset time range can be the past three days, the past day, the past week, the past 12 hours, etc.
[0156] In specific implementations, for each conversation model, the target feedback data items that meet a preset time range can be screened from the intermediate feedback data included in the feedback data pool corresponding to the conversation model based on the timestamp of the intermediate feedback data and the current time. Furthermore, based on the conversation domains in each target feedback data item, the first target feedback data representing the conversation results of the conversation model in different conversation domains can be determined from the target feedback data. Here, for any conversation model, the target feedback data corresponding to the conversation model can be the feedback data obtained by processing different conversations using different initial servers running the conversation model.
[0157] T4: Update the model capability information of the conversation model based on the first target feedback data of the conversation results of the conversation model in different conversation fields.
[0158] Exemplarily, for each conversation domain, the comprehensive feedback score of the conversation model in the conversation domain can be determined based on the feedback scores of the conversation model in each piece of first target feedback data in the conversation domain. For example, the comprehensive feedback score can be determined based on the mean / variance / extreme value / standard deviation of the feedback scores in each piece of first target feedback data. Then, when the comprehensive feedback score is greater than the set feedback score, the comprehensive feedback score is used as the new ability proficiency of the conversation model in the conversation domain. When the comprehensive feedback score is not greater than the set feedback score, it is determined that the conversation model is not good at the conversation domain, and the ability indication label and ability proficiency of the conversation model in the conversation domain are cancelled; alternatively, the ability proficiency of the conversation model in the conversation domain can be updated to a default value, and when the number of consecutive times that the ability proficiency of the conversation model in the conversation domain is the default value reaches a preset number, the ability indication label and ability proficiency of the conversation model in the conversation domain are cancelled.
[0159] In one embodiment, the above T4 can also be implemented according to the following steps:
[0160] T4-1: For any conversation domain, determine the first capability score of the conversation model in the conversation domain based on the first target feedback data of the conversation result of the conversation model in the conversation domain.
[0161] In specific implementations, for any conversation domain, a decay score corresponding to the feedback score of the conversation model in the first target feedback data for that conversation domain can be determined using a time decay function. The first capability score of the conversation model in that conversation domain is then obtained based on the average of the decay scores corresponding to the feedback scores in each first target feedback data.
[0162] The decay score corresponding to any feedback score can be determined according to the following formula 1:
[0163] ; (Formula 1)
[0164] in, represents the decay score, Indicates the feedback rating, The attenuation coefficient is adjustable and can be determined according to the knowledge update speed of different conversation fields. For example, for the rapidly developing AI field, The value will be set to a large value, and the older feedback scores will decay quickly; and for the basic mathematical field, The value is relatively small, and the decay of historical feedback scores will not be too fast, ensuring the lasting impact of historical session results. t represents the current time, Indicates the timestamp in the first target feedback data to which the feedback score belongs.
[0165] T4-2: Determine the second capability score of the conversation model in the conversation domain based on the first capability scores of the conversation model within the update time range in the conversation domain.
[0166] Here, the size of the update time range can be set based on experience and is not specifically limited in the embodiment of the present disclosure. For example, a finer time range can be two weeks, half a month, one month, etc. However, the length of the set update time range needs to be greater than the length of the above-mentioned preset time range.
[0167] In a specific implementation, the ability scores to be used can be screened from the first ability scores of the conversation model in the conversation domain based on the time corresponding to each first ability score, the current time, and the update time range. Then, based on each ability score to be used, the second ability score of the conversation model in the conversation domain is determined. The time corresponding to the first ability score can be the time when the first ability score was determined, or the time when the feedback score corresponding to the first ability score was determined.
[0168] For example, the second ability score may be determined according to the following formula 2:
[0169] ; (Formula 2)
[0170] in, Indicates the second ability score, Indicates the ability score to be used closest to the current time. Indicates except The average of the scores of all capabilities to be used except . Indicates the preset stability coefficient, usually set between 0.7 and 0.9, and can be set selectively according to different conversation areas .
[0171] T4-3: Update the model capability information of the conversation model based on the second capability score of the conversation model in each conversation field.
[0172] Exemplarily, for each conversation domain, the comprehensive score of the conversation model in the conversation domain can be determined based on the second ability scores of the conversation model in the conversation domain. For example, the comprehensive score can be determined based on the mean / variance / extreme value / standard deviation of the second ability scores. Then, when the comprehensive score is greater than a preset threshold, the comprehensive score is used as the new ability proficiency of the conversation model in the conversation domain. When the comprehensive score is not greater than the preset threshold, it is determined that the conversation model is not good at the conversation domain, and the ability indication label and ability proficiency of the conversation model in the conversation domain are cancelled; alternatively, the ability proficiency of the conversation model in the conversation domain can be updated to a default value, and when the number of consecutive times that the ability proficiency of the conversation model in the conversation domain is the default value reaches a preset number, the ability indication label and ability proficiency of the conversation model in the conversation domain are cancelled.
[0173] In this way, the model capability information is updated regularly based on the evaluation results accumulated within the update time range, and the update process adopts a gradual approach to avoid drastic changes in capability evaluation due to short-term fluctuations.
[0174] In one embodiment, the disclosed embodiment can not only update the model capability information, but also update the weight mapping relationship between user attributes and session models. Specifically, the weight mapping relationship can be updated according to the following steps:
[0175] From the feedback data pool, obtain the second target feedback data corresponding to the processed user sessions under different session domains of different session models; based on the second target feedback data and the user attribute information of the initiating user of the processed user session, update the weight mapping relationship between the user attributes and the session model.
[0176] In a specific implementation, for any conversation model, second target feedback data corresponding to user sessions processed by the conversation model in different conversation domains can be periodically obtained from the feedback data pool according to a set update cycle. The user sessions processed by the conversation model in different conversation domains can include user sessions in different domains processed by each initiating user using the conversation model. For example, for any conversation domain and any conversation model, second target feedback data corresponding to user sessions processed by the conversation model in that conversation domain can be obtained. Then, based on the user attribute information of the initiating users of each processed user session and the feedback scores in the second target feedback data, the preference of the initiating users with various user attribute information for the conversation model in different conversation domains can be determined. For example, for each conversation domain of any conversation model, the user attribute information of different initiating users can be used to identify initiating users with the same user attribute information. Then, for each user attribute information, the preference of the user group with that user attribute information for the conversation model in that conversation domain can be determined based on the average feedback score of each initiating user with that user attribute information for the processed user sessions in that conversation domain. Afterwards, the weight mapping relationship between different user attributes and different conversation models can be updated based on the preference level of each conversation model in different conversation domains by the user groups under different user attribute information. For example, for any user attribute and any conversation model, the model preference level of the user group under that user attribute for that conversation model in different domains is determined based on the average of the preference levels of the user group under that user attribute for that conversation model. The model preference level is converted into a preference weight, and the preference weight is used to update the weight mapping relationship between the user attribute and the conversation model. For example, incremental learning can be used to weightedly fuse the new preference weight with the historical preference weight to achieve an update of the weight mapping relationship.
[0177] In this way, a multidimensional matrix is maintained to record the preferences of different user groups (such as developers, researchers, and students) for each conversation model. During the optimization process, collaborative filtering algorithms are used to update these preferences. Furthermore, group characteristics can be regularly re-clustered to adapt to dynamic changes in user group characteristics. For example, if a user group begins to develop new usage patterns, the server can automatically adjust the group divisions to ensure that the preference matrix accurately reflects actual usage scenarios. This dynamic optimization mechanism continuously improves the accuracy of model scheduling and provides more personalized services for different user groups.
[0178] To facilitate understanding of the embodiments of the present disclosure, the session processing method of the present disclosure will be described below using a specific embodiment:
[0179] Suppose a senior software architect submits a user session: "Please analyze the performance bottlenecks of Service A and Service B in a high-concurrency microservice architecture and provide optimization suggestions."
[0180] First, the server receives the user session and determines that the initiating user belongs to the "Architect" user group. Historical data shows that the initiating user prefers in-depth technical analysis and frequently discusses distributed systems. The conversation analysis model quickly parses the user session, generating a feature vector: [Domain: Distributed Architecture: 0.95; Subdomain: Microservices: 0.9; Complexity: Advanced: 0.8; Analysis Dimension: Multidimensional: 0.85], and detects that this is a new session, regardless of historical context.
[0181] In the model resource pool, there are currently three session models available:
[0182] General architecture model (with a proficiency level of 0.88 in the field of distributed systems); microservice specialization model (with a proficiency level of 0.92 in the field of microservices); performance optimization model (with a proficiency level of 0.85 in the field of system performance analysis).
[0183] Each of these three conversation models has a server that supports its operation. Monitoring probes show that the servers supporting these three conversation models have sufficient resources, CPU usage is below 50%, and GPU load is moderate. These models are used as initial models, and the servers that support the initial models are used as candidate servers.
[0184] Entering the intelligent scheduling decision-making phase, the server noticed that the user session involved multiple professional dimensions (microservice architecture, performance analysis, and optimization suggestions) and decided to adopt a multi-model collaboration strategy. By calculating the matching degree and combining the weight mapping relationship of the architect group, the system developed a collaboration plan:
[0185] The microservice-specific model is responsible for architecture comparison and analysis; the performance optimization model is responsible for bottleneck analysis; the general architecture model is responsible for integration recommendations; and the candidate servers of each session model are directly used as target servers.
[0186] During the multi-model collaborative processing phase, the user session is decomposed into three sub-sessions:
[0187] "Comparison of the architectural principles of Service A and Service B"; "Analysis of performance bottlenecks of the two architectures in high-concurrency scenarios"; "Integration of optimization suggestions based on actual scenarios".
[0188] The target servers corresponding to the three conversation models are scheduled to run the three conversation models respectively, and the three conversation models are used to process the corresponding sub-conversations in parallel. For example, the target server corresponding to the microservice specialization model is scheduled to run the microservice specialization model, and the microservice specialization model is used to focus on analyzing the implementation differences between the two architectures in terms of service discovery, load balancing, circuit breaking and degradation; the target server corresponding to the performance optimization model is scheduled to run the performance optimization model, and the performance optimization model is used to focus on evaluating performance indicators such as network proxy overhead, memory usage, and CPU consumption; the target server corresponding to the general architecture model is scheduled to run the general architecture model, and the general architecture model is used to generate targeted optimization suggestions based on the outputs of the first two models and combined with actual application scenarios. The text integration model is used to perform multiple rounds of conversation integration on the results of each sub-conversation to obtain the conversation results.
[0189] Finally, we enter the dynamic optimization and feedback learning phase. The initiating user commented that they were "very satisfied" with the results of the session and that the suggestions were very helpful for the actual project. The server can record this positive feedback and update the proficiency of each session model using a time decay function:
[0190] The proficiency of the microservices expertise model in the "microservices architecture" field increased from 0.92 to 0.925; the proficiency of the performance optimization model in the "performance analysis" field increased from 0.85 to 0.855; and the proficiency of the general architecture model in the distributed systems field increased from 0.88 to 0.885.
[0191] Update the weight mapping relationship between the architect group and the three conversation models: This feedback also affects the weight mapping relationship between the architect group and the three conversation models. The server determines that the architect group is particularly satisfied with the multi-model collaboration solution. Therefore, when dealing with similar complex technical problems, they will be more inclined to adopt a multi-model collaboration strategy.
[0192] This completes a closed-loop process, where feature vectors are obtained through pre-analysis and intelligently scheduled for conversational models in the model resource pool. After scheduling, multi-model collaborative processing generates conversational results, and user feedback is fed back into the model capability evaluation system, ultimately achieving continuous system optimization.
[0193] like Figure 2 FIG. 1 is a flowchart of a specific implementation of a session processing method provided by an embodiment of the present disclosure, which may include the following steps:
[0194] S201: Utilize the conversation analysis model to perform multi-dimensional analysis on the user conversation to obtain multi-dimensional features and conversation complexity corresponding to the user conversation.
[0195] S202: Determine the first weighted weight of each dimensional feature in the multi-dimensional features, and determine the first matching degree between each session model on each initial server and the user session based on the availability score and model capability information of each session model on each initial server in the latest model resource pool and the first weighted weight of each dimensional feature.
[0196] S203: Determine a second weighted weight of each session model relative to the initiating user based on user attribute information of the initiating user of the user session and a weight mapping relationship between the user attributes and the session model; and use the second weighted weight of each session model to perform weighted processing on the first matching degree between the session model and the user session on each initial server to obtain a second matching degree.
[0197] S204: Determine the expected success rate of the session model for the user session on each initial server based on the historical sessions of each session model.
[0198] S205: When the user session is a new session, determine the model switching loss of each session model for the user session on each initial server based on the correlation between the user session and the historical session of the initiating user, and the historical session model and historical server used by the historical session.
[0199] S206: Filter out each initial model and each candidate server that can be used by the initial model according to the model switching loss, the expected success rate, and the second matching degree.
[0200] S207: When the number of initial models and the session complexity indicate that multi-model processing is required, the user session is split into multiple sub-sessions, and a target model matching each sub-session and a target server required to be used by the target model are screened from the initial models and candidate servers.
[0201] S208: Schedule each target server to run the target model to process each sub-session, and obtain a sub-session result corresponding to each sub-session.
[0202] S209: Determine the target model corresponding to each sub-session, the model capability information under the session domain to which the sub-session belongs, and determine the third weighted weight of the sub-session result corresponding to each sub-session based on the model capability information under the session domain and the importance of the sub-session relative to the user session.
[0203] S210: Using the text integration model, perform multiple rounds of conversation integration on each sub-conversation result according to the third weighted weight of each sub-conversation result to obtain a conversation result.
[0204] S211: Based on the session result, update the model capability information of the session model and the weight mapping relationship between the user attributes and the session model.
[0205] Here, the specific implementation process of S211 can refer to the specific steps of T1 to T4 and the specific steps of updating the weight mapping relationship, which will not be repeated here.
[0206] Regarding the specific implementation process of the above S201 to S211, reference can be made to the above embodiments, which will not be repeated here.
[0207] In this way, the present disclosure realizes a full-link closed-loop adaptive scheduling system, builds a complete link from user session analysis, model selection, collaborative processing to feedback optimization, and realizes continuous improvement of system performance. Through a multi-dimensional intelligent scheduling decision-making mechanism, multiple dimensions such as model professional capabilities, server resource status, user feedback, and group characteristics are taken into consideration in decision-making to improve the scheduling accuracy of servers and models. At the same time, based on the dynamic capability evaluation of time decay, a time decay function is introduced to process user feedback, so that the model capability evaluation is more in line with actual performance changes. Taking into account the consistency guarantee of the session-level model, the user experience fluctuations caused by model switching are reduced through session status tracking and consistency evaluation. Utilizing personalized services driven by group characteristics, a preference matrix is constructed based on user group characteristics to implement differentiated model scheduling strategies.
[0208] Those skilled in the art will understand that in the above-mentioned method of the specific implementation method, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0209] Based on the same inventive concept, a session processing device corresponding to the session processing method is also provided in the embodiment of the present disclosure. Since the principle of solving the problem by the device in the embodiment of the present disclosure is similar to the above-mentioned session processing method in the embodiment of the present disclosure, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0210] like Figure 3 FIG. 1 is a schematic diagram of a session processing device provided by an embodiment of the present disclosure, including:
[0211] The parsing module 301 is configured to perform multi-dimensional analysis on the user session using a conversation analysis model to obtain multi-dimensional features and conversation complexity corresponding to the user session;
[0212] A search module 302 is configured to search, based on the multi-dimensional features, for each initial model that matches the user session and each candidate server that can be used by the initial model from the latest model resource pool; wherein the model resource pool is constructed based on model capability information of each session model and resource information of the initial server that supports the session model;
[0213] a splitting module 303 configured to split the user session into multiple subsessions if the number of the initial models and the session complexity indicates that the user session requires multi-model processing, and to screen a target model matching each subsession and a target server required to be used by the target model from the initial models and the candidate servers;
[0214] The determination module 304 is configured to schedule each target server to run the target model to process each sub-session, obtain a sub-session result corresponding to each sub-session, and determine a session result corresponding to the user session based on each sub-session result.
[0215] In a possible implementation, the multiple dimensions include at least a conversation domain dimension, a conversation question type dimension, and a conversation question expertise dimension.
[0216] In a possible implementation, the apparatus further includes a construction module 305 configured to construct the model resource pool according to the following steps:
[0217] For any conversation model, collect resource information of each initial server that supports the conversation model in real time, and determine the availability score of the conversation model on each initial server based on the resource information, reserved resource requirements, resource usage requirements corresponding to the conversation model, and historical resource usage information;
[0218] Obtaining model capability information corresponding to the conversation model from a model capability tag library; the model capability information includes capability indication tags and capability proficiency levels of various capabilities possessed by the conversation model;
[0219] The model resource pool is constructed according to the availability score of each conversation model on each initial server and the model capability information.
[0220] In a possible implementation, the search module 302, when searching for each initial model matching the user session and each candidate server available for the initial model from the latest model resource pool based on the multi-dimensional features, is configured to:
[0221] Determining a first weighted weight for each dimensional feature in the multi-dimensional feature;
[0222] Determining a first matching degree between each conversation model on each initial server and the user session based on the availability score and model capability information of each conversation model in the latest model resource pool on each initial server and the first weighted weight of each dimensional feature;
[0223] The initial models and the candidate servers that can be used by the initial models are screened out according to the first matching degree.
[0224] In a possible implementation, the search module 302, when screening the initial models and the candidate servers that can be used by the initial models according to the first matching degree, is configured to:
[0225] determining a second weighted weight of each of the session models relative to the initiating user based on user attribute information of the initiating user of the user session and a weight mapping relationship between user attributes and session models;
[0226] Using the second weighted weight of each of the conversation models, weighted processing is performed on the first matching degree between the conversation model on each of the initial servers and the user session to obtain a second matching degree;
[0227] The initial models and the candidate servers that can be used by the initial models are screened out according to the second matching degree.
[0228] In a possible implementation, the search module 302, when screening the initial models and the candidate servers that can be used by the initial models according to the first matching degree, is configured to:
[0229] Determining, based on historical sessions of each of the conversation models on each of the initial servers, an expected success rate of the conversation model for the user session on each of the initial servers;
[0230] Determining whether the user session is a new session initiated by the initiating user;
[0231] If not, determining a model switching loss of each session model for the user session on each initial server based on the correlation between the user session and the historical session of the initiating user, and the historical session model and historical server used by the historical session;
[0232] The initial models and the candidate servers that can be used by the initial models are screened out according to the model switching loss, the expected success rate and the first matching degree.
[0233] In a possible implementation, the determining module 304, when determining the session result corresponding to the user session based on each of the sub-session results, is configured to:
[0234] Determining the target model corresponding to each sub-session and model capability information in the session domain to which the sub-session belongs;
[0235] determining a third weighted weight of a subsession result corresponding to each subsession based on the model capability information in the session domain and the importance of the subsession relative to the user session;
[0236] The text integration model is used to perform multiple rounds of conversation integration on each of the sub-conversation results according to the third weighted weight of each of the sub-conversation results to obtain the conversation result.
[0237] In a possible implementation, the apparatus further includes a first updating module 306, which, after determining a session result corresponding to the user session, is configured to:
[0238] Obtaining initial feedback data of the session result; the initial feedback data includes interaction data and usage data for the session result;
[0239] Determine a feedback score for the session result based on the initial feedback data, combine the feedback score and a timestamp into intermediate feedback data, and store the intermediate feedback data in a feedback data pool;
[0240] For each of the conversation models, obtaining first target feedback data of conversation results of the conversation model in different conversation domains from the feedback data pool according to the timestamps and preset time ranges of the intermediate feedback data in the feedback data pool;
[0241] The model capability information of the conversation model is updated according to the first target feedback data of the conversation results of the conversation model in different conversation fields.
[0242] In a possible implementation, the first updating module 306, when updating the model capability information of the conversation model according to the first target feedback data of the conversation results of the conversation model in different conversation domains, is configured to:
[0243] For any conversation domain, determining a first capability score of the conversation model in the conversation domain based on first target feedback data of a conversation result of the conversation model in the conversation domain;
[0244] determining a second capability score of the conversation model in the conversation domain according to each first capability score of the conversation model within an update time range in the conversation domain;
[0245] The model capability information of the conversation model is updated according to the second capability score of the conversation model in each of the conversation fields.
[0246] In a possible implementation, the apparatus further includes a second updating module 307, configured to:
[0247] Obtaining, from the feedback data pool, second target feedback data corresponding to processed user sessions of different conversation models in different conversation domains;
[0248] The weight mapping relationship between the user attributes and the session model is updated according to the second target feedback data and the user attribute information of the initiating user of the processed user session.
[0249] For descriptions of the processing flow of each module in the device and the interaction flow between each module, reference can be made to the relevant descriptions in the above method embodiment, which will not be described in detail here.
[0250] Based on the same technical concept, the embodiment of the present application also provides a computer device. Figure 4 FIG. 1 is a schematic diagram of a computer device according to an embodiment of the present invention, comprising:
[0251] Processor 401, memory 402 and bus 403. The memory 402 stores machine-readable instructions executable by the processor 401, and the processor 401 is used to execute the machine-readable instructions stored in the memory 402. When the machine-readable instructions are executed by the processor 401, the processor 401 performs the following steps: S101: using the conversation analysis model, multi-dimensionally analyze the user conversation to obtain the multi-dimensional features and conversation complexity corresponding to the user conversation; S102: based on the multi-dimensional features, search for each initial model that matches the user conversation and each candidate server that can be used by the initial model from the latest model resource pool; wherein the model resource pool is based on each The model capability information of the session model and the resource information of the initial server supporting the session model are constructed; S103: when the number of initial models and the session complexity indicate that the user session requires multi-model processing, the user session is split into multiple sub-sessions, and the target model matching each sub-session and the target server required to be used by the target model are screened from the initial models and candidate servers; and S104: each target server is scheduled to run the target model to process each sub-session, obtain the sub-session result corresponding to each sub-session, and determine the session result corresponding to the user session based on the results of each sub-session.
[0252] The above-mentioned memory 402 includes internal memory 4021 and external memory 4022; the memory 4021 here is also called internal memory, which is used to temporarily store the calculation data in the processor 401, as well as the data exchanged with the external memory 4022 such as the hard disk. The processor 401 exchanges data with the external memory 4022 through the memory 4021. When the computer device is running, the processor 401 and the memory 402 communicate through the bus 403, so that the processor 401 executes the execution instructions mentioned in the above method embodiment.
[0253] The present disclosure also provides a computer-readable storage medium having a computer program stored thereon. When executed by a processor, the computer program executes the steps of the session processing method described in the above method embodiment. The storage medium may be a volatile or non-volatile computer-readable storage medium.
[0254] The embodiments of the present disclosure also provide a computer program product, which carries program code. The instructions included in the program code can be used to execute the steps of the software update method described in the above method embodiment. For details, please refer to the above method embodiment and will not be repeated here.
[0255] The computer program product may be implemented in hardware, software, or a combination thereof. In one embodiment, the computer program product is implemented as a computer storage medium. In another embodiment, the computer program product is implemented as a software product, such as a software development kit (SDK).
[0256] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems and devices described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. In the several embodiments provided in the present disclosure, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0257] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0258] In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0259] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0260] If the technical solution of this application involves personal information, the product that applies the technical solution of this application has clearly informed the personal information processing rules and obtained the individual's voluntary consent before processing personal information. If the technical solution of this application involves sensitive personal information, the product that applies the technical solution of this application has obtained the individual's separate consent before processing sensitive personal information, and at the same time meets the "explicit consent" requirement. For example, on personal information collection devices such as cameras, a clear and prominent sign is set to inform that the personal information collection scope has been entered and personal information will be collected. If the individual voluntarily enters the collection scope, it is deemed that they agree to the collection of their personal information; or on the personal information processing device, when the personal information processing rules are notified by obvious signs / information, the individual's authorization is obtained through pop-up information or by asking the individual to upload their personal information; among which, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the type of personal information processed.
[0261] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present disclosure, which are used to illustrate the technical solutions of the present disclosure, rather than to limit them. The scope of protection of the present disclosure is not limited thereto. Although the present disclosure has been described in detail with reference to the above-mentioned embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-mentioned embodiments within the technical scope disclosed in the present disclosure, or replace some of the technical features therein with equivalents. Such modifications, changes, or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.
Claims
1. A session processing method, characterized in that: include: Using a conversation analysis model, perform multi-dimensional analysis on user conversations to obtain multi-dimensional features and conversation complexity corresponding to the user conversations; Based on the multi-dimensional features, searching for each initial model that matches the user session and each candidate server that can be used by the initial model from the latest model resource pool; wherein the model resource pool is constructed based on model capability information of each session model and resource information of the initial server that supports the session model; If the number of the initial models and the session complexity indicate that the user session requires multi-model processing, split the user session into multiple sub-sessions, and screen out a target model matching each sub-session and a target server required to be used by the target model from the initial models and the candidate servers; Scheduling each target server to run the target model to process each subsession, obtaining a subsession result corresponding to each subsession, and determining a session result corresponding to the user session based on each subsession result; searching, based on the multi-dimensional features, from the latest model resource pool for each initial model that matches the user session and each candidate server that can be used by the initial model, including: Determining a first weighted weight for each dimensional feature in the multi-dimensional feature; Determining a first degree of match between each conversation model on each initial server and the user session based on the availability score of each conversation model on each initial server in the latest model resource pool, the model capability information, and the first weighted weight of each dimensional feature; the availability score is used to indicate the usability of the conversation model on the initial server; The initial models and the candidate servers that can be used by the initial models are screened out according to the first matching degree.
2. The method according to claim 1, characterized in that The multiple dimensions include at least a conversation domain dimension, a conversation question type dimension, and a conversation question expertise dimension.
3. The method according to claim 1, characterized in that The model resource pool is constructed according to the following steps: For any conversation model, collect resource information of each initial server that supports the conversation model in real time, and determine the availability score of the conversation model on each initial server based on the resource information, reserved resource requirements, resource usage requirements corresponding to the conversation model, and historical resource usage information; Obtaining model capability information corresponding to the conversation model from a model capability tag library; the model capability information includes capability indication tags and capability proficiency levels of various capabilities possessed by the conversation model; The model resource pool is constructed according to the availability score of each conversation model on each initial server and the model capability information.
4. The method according to claim 1, wherein The screening of the initial models and the candidate servers that can be used by the initial models according to the first matching degree includes: determining a second weighted weight of each of the session models relative to the initiating user based on user attribute information of the initiating user of the user session and a weight mapping relationship between user attributes and session models; Using the second weighted weight of each of the conversation models, weighted processing is performed on the first matching degree between the conversation model on each of the initial servers and the user session to obtain a second matching degree; The initial models and the candidate servers that can be used by the initial models are screened out according to the second matching degree.
5. The method according to claim 1 or 4, characterized in that The screening of the initial models and the candidate servers that can be used by the initial models according to the first matching degree includes: Determining, based on historical sessions of each of the conversation models on each of the initial servers, an expected success rate of the conversation model for the user session on each of the initial servers; Determining whether the user session is a new session initiated by the initiating user; If not, determining a model switching loss of each session model for the user session on each initial server based on the correlation between the user session and the historical session of the initiating user, and the historical session model and historical server used by the historical session; The initial models and the candidate servers that can be used by the initial models are screened out according to the model switching loss, the expected success rate and the first matching degree.
6. The method according to claim 1, characterized in that Determining a session result corresponding to the user session according to each of the sub-session results includes: Determining the target model corresponding to each sub-session and model capability information in the session domain to which the sub-session belongs; determining a third weighted weight of a subsession result corresponding to each subsession based on the model capability information in the session domain and the importance of the subsession relative to the user session; The text integration model is used to perform multiple rounds of conversation integration on each of the sub-conversation results according to the third weighted weight of each of the sub-conversation results to obtain the conversation result.
7. The method according to claim 1, characterized in that After determining the session result corresponding to the user session, the method further includes: Obtaining initial feedback data of the session result; the initial feedback data includes interaction data and usage data for the session result; Determine a feedback score for the session result based on the initial feedback data, combine the feedback score and a timestamp into intermediate feedback data, and store the intermediate feedback data in a feedback data pool; For each of the conversation models, obtaining first target feedback data of conversation results of the conversation model in different conversation domains from the feedback data pool according to the timestamps and preset time ranges of the intermediate feedback data in the feedback data pool; The model capability information of the conversation model is updated according to the first target feedback data of the conversation results of the conversation model in different conversation fields.
8. The method according to claim 7, characterized in that The updating of the model capability information of the conversation model according to the first target feedback data of the conversation results of the conversation model in different conversation domains includes: For any conversation domain, determining a first capability score of the conversation model in the conversation domain based on first target feedback data of a conversation result of the conversation model in the conversation domain; determining a second capability score of the conversation model in the conversation domain according to each first capability score of the conversation model within an update time range in the conversation domain; The model capability information of the conversation model is updated according to the second capability score of the conversation model in each of the conversation fields.
9. The method according to claim 4, characterized in that The method further comprises: Obtaining, from the feedback data pool, second target feedback data corresponding to processed user sessions of different conversation models in different conversation domains; The weight mapping relationship between the user attributes and the session model is updated according to the second target feedback data and the user attribute information of the initiating user of the processed user session.
10. A conversation processing device, characterized in that: include: An analysis module is used to perform multi-dimensional analysis on user conversations using a conversation analysis model to obtain multi-dimensional features and conversation complexity corresponding to the user conversations; a search module configured to search, based on the multi-dimensional features, from an up-to-date model resource pool for each initial model that matches the user session and each candidate server that can be used by the initial model; wherein the model resource pool is constructed based on model capability information of each session model and resource information of the initial server that supports the session model; a splitting module, configured to split the user session into multiple subsessions if the number of the initial models and the session complexity indicates that the user session requires multi-model processing, and to screen a target model matching each subsession and a target server required to be used by the target model from the initial models and the candidate servers; The determination module is configured to schedule each target server to run the target model to process each subsession, obtain a subsession result corresponding to each subsession, and determine a session result corresponding to the user session based on each subsession result. The search module, when searching for each initial model matching the user session and each candidate server available for the initial model from the latest model resource pool based on the multi-dimensional features, is configured to: Determining a first weighted weight for each dimensional feature in the multi-dimensional feature; Determining a first degree of match between each conversation model on each initial server and the user session based on the availability score of each conversation model on each initial server in the latest model resource pool, the model capability information, and the first weighted weight of each dimensional feature; the availability score is used to indicate the usability of the conversation model on the initial server; The initial models and the candidate servers that can be used by the initial models are screened out according to the first matching degree.
11. A computer device, characterized in that: include: A processor and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is configured to execute the machine-readable instructions stored in the memory. When the machine-readable instructions are executed by the processor, the processor performs the steps of the session processing method according to any one of claims 1 to 9.
12. A computer program product comprising a computer program, characterized in that When the computer program is executed by a computer device, the computer device executes the steps of the session processing method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Information feedback method and device, terminal and storage medium
CN113157876A
Session service configuration method and device based on multiple NLPs, equipment and medium
CN116016780A