Interactive BIM modeling method and system based on large model
Through the interactive BIM modeling method based on large models, natural language input and task splitting technology are used to solve the problems of complexity and high threshold of existing BIM modeling software, and seamless integration with diverse BIM tools and efficient design data generation are achieved.
Patent Information
- Application Number
- CN202510153978.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-12
- Publication Date
- 2025-03-14
AI Technical Summary
The complexity of existing BIM modeling software makes the modeling process time-consuming and labor-intensive, making it difficult to meet the fast-paced and efficient needs of modern construction projects. It also has a high threshold for non-professionals, and the existing tools are cumbersome in handling complex design tasks, requiring a lot of manual intervention and adjustments.
The interactive BIM modeling method based on the big model is adopted. By receiving the user's natural language input, the project-type big model splits the task according to the task intention, and calls the target tool set to generate tool call instructions. After compliance verification, the instructions for the BIM application are executed to ensure that the generated design data complies with engineering specifications.
Accurately understand and perform specific BIM modeling tasks, seamless integration with diverse BIM tools, reduce operational complexity, improve designer work efficiency, and ensure that the generated design data complies with engineering specifications.
Smart Images

Figure CN119622895A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of engineering digitization, and in particular to an interactive BIM modeling method and system based on a large model. Background Art
[0002] Building Information Modeling (BIM) technology has been widely used in the construction industry and is an important tool in the fields of architecture, engineering and civil engineering. BIM builds a virtual three-dimensional model of a building through digital simulation, which can simulate the real information of the building, including the building's structure, mechanical and electrical equipment, construction process, and operation and maintenance data. By integrating information from different fields, BIM technology improves the efficiency of information flow in construction projects, making the coordination between the various stages of building design, construction and operation closer, thereby significantly improving the overall efficiency of the project.
[0003] At present, the commonly used BIM modeling software on the market include Autodesk Revit, Bentley Systems, Graphisoft ArchiCAD, etc. As one of the most commonly used BIM software, Revit is widely used in architecture, structure and electromechanical design. ArchiCAD mainly provides comprehensive functions for architectural design, especially good at detailed modeling of architectural models. Bentley Systems focuses more on the modeling and management of large infrastructure projects.
[0004] However, although BIM applications have powerful modeling capabilities, their complexity often makes the modeling process time-consuming and laborious, making it difficult to meet the fast-paced and high-efficiency requirements of modern construction projects. Secondly, the complex interaction methods and graphical interfaces in BIM applications often form a high threshold for non-professionals. Even users with a certain architectural background need to spend a lot of time to familiarize themselves with different tools and modules. Furthermore, when dealing with complex design tasks, the existing BIM tools have cumbersome and repetitive processes, which often require designers to make a lot of manual intervention and adjustments.
[0005] AI big model technology has shown great potential in simplifying complex design operations and has provided possibilities for the intelligentization of BIM modeling. It can be imagined that AI can complete the setting and modification of BIM modeling tasks through simple natural language input or voice commands, thereby greatly reducing the complexity of operations and helping designers complete design tasks efficiently.
[0006] However, AI big model technology also has various problems. Big model technology may have "hallucination" problems when generating information, that is, the generated results may not be in line with reality or inaccurate, and the output stability of big model technology still faces certain uncertainties in practical applications.
[0007] Compared with applications in other fields, BIM applications themselves are highly professional and complex. There are many types of BIM application tools, and the parameter settings are detailed and cumbersome. The automation of the modeling and design process requires precise definition of design methods and operating steps. Different projects and design requirements require different tools and methods. In this context, AI big model technology faces some core issues: how to accurately understand and perform specific design tasks, how to seamlessly integrate with a variety of BIM tools, and how to ensure that the generated design data complies with engineering specifications. These issues have posed many challenges to the implementation of big model technology in BIM application scenarios. Summary of the invention
[0008] The present disclosure provides an interactive BIM modeling method and system based on a large model, which can accurately understand and execute specific BIM modeling tasks, seamlessly integrate with various BIM tools, and ensure that the generated design data complies with engineering specifications. Users can complete BIM modeling tasks through simple natural language input, which greatly reduces the complexity of operations and helps designers complete modeling tasks more efficiently.
[0009] In a first aspect, the present disclosure provides an interactive BIM modeling method based on a large model, comprising: Step S100, determining the target toolset description document corresponding to the target project class; Step S200, receiving a task instruction input by a user, the project class macro model performs task splitting according to the task intent of the currently executed task, obtains at least one subtask, and executes each subtask in sequence; wherein the task intent of the currently executed task is determined at least based on the integration and analysis of target interactive dialogue information, and the target interactive dialogue information is the dialogue information from the current dialogue statement to the most recent task instruction used to create a new task; Step S300, calling the project class big model to determine the tool calling instruction according to the task intention of the currently executed subtask and the target tool set description document, wherein the task intention of the currently executed subtask is determined at least based on the integration and analysis of the target interactive dialogue information; Step S400, sending the tool calling instruction to the tool calling module, and the tool calling module performs compliance verification on the tool calling instruction; if the verification passes, executing step S500, if the verification fails, executing step S410; Step S410, returning the problem report to the project class big model, the project class big model generates an adjustment request statement according to the problem report, and obtains the task instruction input by the user in response to the adjustment request statement, and returns to step S300; Step S500, calling a tool calling module to process the tool calling instruction and generate an execution instruction of the BIM application; Step S600, sending the execution instruction of the BIM application to the BIM application for execution, receiving the execution result and returning it to the project-type macro model, the project-type macro model presents the execution result of the task completion to the user, and determines whether there are unfinished subtasks. If yes, return to step S300 and execute the next subtask. If not, execute step S700; Step S700, complete task processing and wait for the user's next operation.
[0010] Optionally, in the above method, the compliance check includes at least one of tool parameter integrity, tool parameter type, tool parameter range and tool logic constraint conditions; wherein the tool parameter integrity check includes required parameter verification and non-required parameter verification to ensure that all tool parameters are provided; Tool parameter type verification is used to verify whether the data type of the parameter value is correct; Tool parameter range check is used to check whether the numerical parameters are within a reasonable range; The tool's logical constraint verification includes verification based on the mutual constraint relationship between parameters and the constraint conditions in actual engineering.
[0011] Optionally, after the verification in step S400 is passed and before executing step S500, the following further includes: The tool calling module converts the nouns in the tool calling instructions into the professional terms used by the tools in the BIM application according to the preset mapping relationship.
[0012] Optionally, the project class macro model is obtained according to the following steps: Select a pre-trained large model, use the open source general tool call instruction dataset as the first training set, and fine-tune the pre-trained large model; A tool call instruction dataset for the BIM modeling industry is constructed as the second training set, and the pre-trained large model that has been fine-tuned with the first training set is fine-tuned to obtain a project-type large model; wherein, the sample input data in the second training set includes user task instructions and the toolset description document corresponding to the current project class, and the sample output data includes tool call instructions.
[0013] Optionally, before step S100, the method further includes: Step S000, constructing a BIM modeling tool library, wherein the tool library includes at least one toolset description document corresponding to at least one project class, wherein the toolset description document includes standardized definition descriptions of multiple tools.
[0014] Optionally, the step S200 specifically includes: Step S210, receiving the task instruction input by the user, calling the project class big model to determine whether there is any tool parameter information missing according to the task intent of the currently executed task and the target toolset description document, if not, executing step S250, if yes, executing step S220; Step S220, further determining whether the missing tool parameter is a required parameter, if so, executing step S230, if not, executing step S240; Step S230, the project-type large model generates a query statement according to the determined tool parameter information is missing, obtains the task instruction input by the user in response to the query statement, and returns to execute step S210.
[0015] In step S240, the project class model determines the preset default values of the non-essential parameters according to the target toolset description document, and fills the default values for the task intent of the currently executed task, and then executes step S250.
[0016] Step S250: the project-type large model splits the task according to the task intent of the currently executed task to obtain at least one subtask, and executes each subtask in sequence.
[0017] Optionally, in step S700, after completing the task processing and waiting for the user's next operation, the method further includes: Step S800: When the user inputs a task instruction for adjusting tool parameters, the task instruction for adjusting tool parameters input by the user is received, and then step S200 is executed.
[0018] Optionally, the step S100 of determining the target toolset description document corresponding to the target project class includes: Obtaining a task instruction input by a user and passing it to a project identification model, wherein the project identification model determines a target project class based on the task instruction; Select the corresponding target toolset description document from the tool library according to the target project class.
[0019] Optionally, the step S100 of determining the target toolset description document corresponding to the target project class includes: Obtaining a task instruction input by a user and passing it to a project identification model, wherein the project identification model determines a target project class based on the task instruction; Select the corresponding target toolset description document from the tool library according to the target project class.
[0020] In a second aspect, the present disclosure provides an interactive BIM modeling system based on a large model, the system being used to execute the interactive BIM modeling method based on a large model described in each embodiment, the system comprising: A project class determination module is used to determine the target toolset description document corresponding to the target project class; The task splitting module is used to receive the task instruction input by the user, and the project class large model splits the task according to the task intention of the currently executed task to obtain at least one subtask, and executes each subtask in sequence; wherein the task intention of the currently executed task is determined at least based on the integration and analysis of the target interactive dialogue information, and the target interactive dialogue information is the dialogue information between the current dialogue statement and the most recent task instruction used to create a new task; A tool call instruction generation module, used for calling the project class large model to determine the tool call instruction according to the task intent of the currently executed subtask and the target tool set description document, wherein the task intent of the currently executed subtask is determined at least based on the integration and analysis of the target interactive dialogue information; The verification module includes a first verification module and a first verification feedback module: A first verification module, used for sending the tool calling instruction to the tool calling module, and the tool calling module performs compliance verification on the tool calling instruction; if the verification passes, the execution instruction determination module is called; if the verification fails, the first verification feedback module is called; A first verification feedback module is used to return a problem report to the project class big model, and the project class big model generates an adjustment request statement according to the problem report, obtains a task instruction input by the user in response to the adjustment request statement, and returns it to the tool call instruction generation module; An execution instruction determination module is used to call a tool calling module to process the tool calling instruction and generate an execution instruction for the BIM application; An execution result determination module is used to send the execution instruction of the BIM application to the BIM application for execution, receive the execution result and return it to the project-type large model, and the project-type large model presents the execution result of the task completion to the user, determines whether there are unfinished subtasks, and if so, returns to the tool call instruction generation module, if not, calls the task completion determination module; The task completion confirmation module is used to confirm the completion of task processing and wait for the user's next operation; The tool calling module is used to perform compliance verification on the tool calling instruction, process the tool calling instruction, and generate execution instructions for the BIM application.
[0021] In a third aspect, the present disclosure provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor; Memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method in the present disclosure.
[0022] In a fourth aspect, the present disclosure provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the method of the present disclosure.
[0023] The beneficial effects of the present disclosure are that, compared with the prior art, the present disclosure has the following advantages: 1) In the technical solution disclosed in this disclosure, the complete target tool set description document and the current task intention are combined Figure 1 It is given to the big model, which reduces illusions and outputs answers based on facts, improving the accuracy and reliability of the answers generated by the big model. Through simple big model configuration, accurate and reliable tool calling task execution can be achieved in BIM application scenarios.
[0024] 2) A tool call processing logic is designed to conduct a secondary review of the tool call instructions generated by the large model. It can intelligently handle various complex situations and potential problems. It can not only verify and complete parameters, but also process logical constraints, report abnormal problems to users and receive user adjustment instructions, and conduct real-time feedback loops. At the same time, it can also perform noun conversion and complete specific operations to ensure that tool instructions are reasonable and feasible in practical applications.
[0025] 3) A comprehensive BIM tool library has been built, which provides a "vocabulary" for operating BIM software for large models and also provides a basis for the accuracy and reliability of the system's intelligent decision-making. Through systematic classification and standardized parameter definitions, the system can quickly locate the relevant tool sets, quickly locate the required tools and call them correctly.
[0026] 4) Propose an optimization scheme for the adaptation of AI big models in BIM modeling tasks. The system can understand the natural language task description entered by the user and break it down into multiple subtasks. In addition, when the design task information provided by the user is insufficient or unclear, it will actively ask clarifying questions. At the same time, the system supports dynamic adjustment of task instructions during the dialogue process, allowing users to make modifications, and can maintain the consistency of context in multiple rounds of dialogue, ensuring the accuracy and coherence of task execution, and improving the quality and efficiency of human-computer interaction.
[0027] 5) Use open source tool call instruction datasets and create industry tool call instruction datasets to fine-tune large models, effectively improve the stability of model content output, and improve the accuracy and credibility of large model output tool call instructions.
[0028] In summary, the present disclosure provides an interactive BIM modeling method and system based on a large model, which provides a systematic solution for AI-BIM. The system can accurately understand and execute specific BIM modeling tasks, and seamlessly integrate with a variety of BIM tools. At the same time, it ensures that the generated design data complies with engineering specifications. Users can complete BIM modeling tasks through simple natural language input, which greatly reduces the complexity of operations and helps designers complete modeling tasks more efficiently. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0030] Figure 1 A flowchart of an interactive BIM modeling method based on a large model provided in an embodiment of the present disclosure; Figure 2 A flowchart of another interactive BIM modeling method based on a large model provided in an embodiment of the present disclosure; Figure 3 A schematic diagram of the structure of an interactive BIM modeling system based on a large model is provided in an embodiment of the present disclosure.
[0031] The above drawings show clear embodiments of the present disclosure, which will be described in more detail below. These drawings and text descriptions are not intended to limit the scope of the present disclosure in any way, but to illustrate the concepts of the present disclosure to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0032] The present disclosure is further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present disclosure, and cannot be used to limit the protection scope of the present disclosure.
[0033] Figure 1 This is a flowchart of an interactive BIM modeling method based on a large model provided according to an embodiment of the present disclosure. The method can be executed by an interactive BIM modeling system based on a large model, which can be implemented in software and / or hardware, can be integrated into an existing BIM modeling application as an AI design assistant plug-in, or can be deployed and run independently.
[0034] like Figure 1As shown, the interactive BIM modeling method based on a large model in this embodiment may include: Step S100, determining the target toolset description document corresponding to the target project class.
[0035] In an optional implementation, the step S100 of determining the target toolset description document corresponding to the target project class includes: Obtaining a task instruction input by a user and passing it to a project identification model, wherein the project identification model determines a target project class based on the task instruction; Select the corresponding target toolset description document from the tool library according to the target project class.
[0036] Specifically, the user opens the AI design assistant and uses natural language to input design task instructions in the interactive interface (UI interface). The system will pass the design task instructions entered by the user to the large model and then to the project identification model.
[0037] In some embodiments, user input may be in the form of text or voice, and the present disclosure does not limit the user's input method.
[0038] Taking soil and water conservation engineering design as an example, the task instructions entered by the user are as follows: { "user": "Please set up a grit chamber at the left 3 line end, model grit chamber model 1, and build a 10-meter-long, trapezoidal-section intercepting ditch at its outlet." } The tool set description document corresponding to the soil and water conservation engineering design project class may include standardized definition descriptions of multiple tools. For example, the tool set description document corresponding to the soil and water conservation project class is as follows: {“tools”: [multiple tool descriptions of the soil and water conservation assistant]}, and a tool description example is shown in Table 1.
[0039] Table 1: Example of "Grit Modeling" tool description Field Name value "tool_id" (tool ID) "model_chen_001" "name" (tool name) "Grit Tank Modeling" "description" (tool description) "Used for modeling of sedimentation tanks, called when there is modeling work related to sedimentation tanks" "category" "Soil and Water Conservation" "input_params" (tool input parameters) [{ "name": "Line Name","type": "string","description": "The name of the line where the grit chamber is located. The name is composed of position + number, for example: Left 1, Right 2, Right 3","required": true,"default": null},{ "name": "Type","type":"string","description": "Type of grit chamber","required": true,"default": ""},{ "name": "Ditch section type","type": "string","description": "Ditch section type","required": false,"default":""},{ "name": "Outlet line length","type": "integer","description": "Outlet line length, in meters","required": false,"default": 2}] "output_format" { "type": "string", "description": "Returns a JSON string containing parameter information or error prompts for completed modeling"} "example_usage" (Example Usage) { "tool_name": "Grit chamber modeling","params": "{\"Line name\":\"Left 1\", \"Type\":\"Rectangular grit chamber\",\"Outlet line length\":3}"} "limitations" "The grit chamber type must be provided by the user or the tool will ask the user for that information. All required parameters must be explicitly specified in the user input." "version" (tool version) "1.0" "last_updated" "2024-05-03" Among them, the project identification model is a multi-classification model, which is responsible for determining which design project the task instruction input by the user belongs to.
[0040] In the disclosed embodiment, the project class recognition model is fine-tuned for a specific field based on the current open source project sentence-transformers. Sentence-transformers provides many pre-trained text classification models that can understand the semantics of sentences and perform classification processing. In order to ensure that these models can better understand and process professional terms and expressions related to design work, fine-tuning is performed on the basis of the pre-trained models. During the fine-tuning process, a large amount of text data related to design work is collected, and the model is repeatedly taught this data to improve its accuracy in identifying design-related content.
[0041] Of course, the project recognition model may adopt other deep learning models in the prior art, such as DCNN, YOLO, etc., and the embodiments of the present disclosure do not specifically limit this.
[0042] Next, after determining the target project class, the system will determine the tool set description document corresponding to the target project class (design_type) from the tool library according to the modeling project class (design_type). Each design_type corresponds to several or dozens of tools. These tool descriptions will be passed to the project class model for selection.
[0043] Further optionally, the step S100, determining the target toolset description document corresponding to the target project class, may also be performed by the following steps: Obtaining a task instruction input by a user and transmitting it to an item identification model, the item identification model determining a target item class based on the task instruction and outputting a confidence level of the target item class; If the confidence level is not less than a preset threshold, the corresponding target tool set description document is selected from the tool library according to the target project class; If the confidence level is less than a preset threshold, a report with low confidence level is returned to the project class model. The project class model generates a request for supplementary task information based on the report with low confidence level, obtains the task instructions input by the user in response to the request for supplementary task information, returns to execute the task instructions input by the user and passes them to the project identification model. The project identification model determines the target project class based on the task instructions and outputs the confidence level of the target project class.
[0044] For example, for a soil and water conservation project, the project category identification model will output: { "is_design_work": true / false, "design_type": "Soil and Water Conservation", "confidence": 0.95 } The above output format provides three key pieces of information: 1. "is_design_work" indicates whether the input is judged to be design work; 2. "design_type" indicates the specific project type (valid only when "is_design_work" is true); 3. "confidence" indicates the confidence of the model in its judgment. The closer the value is to 1, the more confident the model is in its judgment.
[0045] This design enables the project identification model to not only give a judgment result, but also provide the degree of confidence of the judgment. If the confidence level is low, the system will ask the user to provide more information to make a more accurate judgment, thus ensuring the accuracy of project class identification.
[0046] In the technical solution of the disclosed embodiment, a fine-tuned project recognition model is used to understand user input, extract key information, determine the type of design project the user wants to use, and select relevant tool descriptions from the tool library and send them to the large model. Through the method of design project classification, the user's design requirements can be understood efficiently and accurately, providing a reliable starting point for the subsequent design process. This not only improves the response speed and accuracy of the system, but also greatly improves the user experience, allowing users to interact with the system more naturally and easily.
[0047] In another optional implementation, the step S100 of determining the target toolset description document corresponding to the target project class may also be performed by the following steps: determining a target item class in response to an item class selected by a user; Select the corresponding target toolset description document from the tool library according to the target project class.
[0048] Specifically, when a user enters the system, the current project category can be determined by selecting different types of AI design assistants.
[0049] Step S200, receiving the task instruction input by the user, the project class large model splits the task according to the task intent of the currently executed task, obtains at least one subtask, and executes each subtask in sequence; wherein, the task intent of the currently executed task is determined at least based on the integration and analysis of the target interactive dialogue information, and the target interactive dialogue information is the dialogue information from the current dialogue statement to the most recent task instruction used to create a new task.
[0050] It is understandable that the current dialogue sentence refers to the last sentence in the ongoing dialogue process in the AI user interaction interface. This sentence can be a task instruction input by the user, or it can be the output of the large model itself, such as an AI answer or an AI question, etc. The target interactive dialogue information includes the current dialogue sentence, and the target interactive dialogue information includes the task instruction input by the user and the output of the large model itself. The output of the large model itself, as part of the dialogue information, participates in the analysis and determination of the task intent of the currently executed task.
[0051] Among them, the task intent of the currently executed task is a natural language task description of the task being processed by the current large model determined based on the integration and analysis of the target interactive dialogue information, including a description of the tools used and a description of the tool parameter settings.
[0052] After determining the task intent of the currently executed task, for tasks involving multiple tool designs, they can be broken down into a series of manageable subtasks, with each subtask executed in turn.
[0053] For example, the following example involves user input from two design tools: { 'user': 'Create a road between K0+000 and K0+598 along branch road 1, and create retaining walls on both sides of branch road 1', 'assistant': 'During the process of creating the road, I need you to confirm the cross-section type. The cross-section type should be one of the following options: New cross-section-3rd and 4th-level road 7.5m (retaining wall slope reduction), New cross-section-3rd and 4th-level road 7.5m, Standard cross-section-3rd-level road in hydropower plant-7.5m roadbed width (retaining wall slope reduction), Standard cross-section-3rd-level road in hydropower plant-7.5m roadbed width. Please tell me which one you choose? During the process of retaining wall layout, the system prompts that the retaining wall type should be selected from the following options: Retaining wall model library\National building standard counterweight shoulder wall\Seismic intensity 6 degrees (0.05g), uniform load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3, Retaining wall model library\National building standard counterweight shoulder wall\Seismic intensity 6 degrees (0.05g), uniform load 30kpa, filler internal friction angle 30°, base friction coefficient 0.3, Retaining wall model library\National building standard counterweight shoulder wall\Seismic intensity 7 degrees (0.1g), uniform load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3, Retaining wall model library\National building standard counterweight shoulder wall\Seismic intensity 7 degrees (0.1g), uniform load 30kpa, filler internal friction angle 30°, base friction coefficient 0.3. Please specify the correct retaining wall type so that we can continue to create the retaining wall.' 'user': 'Road section type is standard horizontal-third-level road in hydropower field-7.5m roadbed width, retaining wall type is retaining wall section type is retaining wall model library\national building standard counterweight shoulder wall\seismic intensity 6 degrees (0.05g), uniform load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3' 'assistant': 'I noticed that this involves creating roads and placing retaining walls. I will call the 'Create Roads' tool and the 'Retaining Walls' tool in sequence.' 'function_call': {'name': 'Create Road', 'arguments': '{ "Operation Type":"Create Road", "Route Name":"Branch Road 1","Starting Stake Number":"K0+000","Ending Stake Number":"K0+598","Is it the whole line": false, "Cross-Section Type":"Standard Horizontal-Level 3 Road in Hydropower Station-7.5m Roadbed Width"}'}, / / Tool processing 'function': 'Complete road creation', 'assistant': 'The task of creating roads is complete. I will continue with the task of laying retaining walls.', 'function_call': {'name': 'Retaining wall layout', 'arguments': '{ "Operation type":"Create retaining wall along the line", "Route name": "Branch road 1", "Retaining wall type": "Retaining wall model library\\National building standard counterweight shoulder wall\\Seismic intensity 6 degrees (0.05g), uniformly distributed load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3","Is the left section laid": true, "Is the right section laid": true, "Minimum value of retaining wall layout": 6}'}, / / Tool processing 'function': 'Complete retaining wall layout', 'assistant': 'Complete creating the road modeling and retaining wall layout modeling. If you need further help or have other tasks, please let me know. '} In this example, the task intent of the currently executed task is the task intent determined by the integrated analysis after the user supplements the tool parameter information, that is, "the task of creating a road between K0+000 and K0+598 along branch road 1 has been completed. The cross-sectional type of the road is standard horizontal-third-level road within the hydropower field-7.5m roadbed width. At the same time, retaining walls are created on both sides of branch road 1. The retaining wall type is retaining wall model library\national building standard counterweight shoulder wall\seismic intensity 6 degrees (0.05g), uniformly distributed load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3".
[0054] Step S300, calling the project class big model to determine the tool calling instruction according to the task intent of the currently executed subtask and the target tool set description document, wherein the task intent of the currently executed subtask is determined at least based on the integration and analysis of the target interactive dialogue information.
[0055] The target interactive dialogue information is the dialogue information from the current dialogue statement to the most recent task instruction for creating a new task. The tool call instruction includes the tool name and tool parameter settings, and adopts a structured data format, such as JSON format. It can be known that the tool name and tool parameter expressions in the generated tool call instruction are all standardized definition descriptions in the target tool set description document.
[0056] For example, referring to the example of "user input involves two design tools" in the above step S200, the value corresponding to the 'function_call' field represents a tool calling instruction.
[0057] In this example, when the system processes the "Create Road" subtask, the task intent of the currently executing subtask is: "The task of creating a road between K0+000 and K0+598 along branch road 1 has been completed. The cross-sectional type of the road is standard horizontal-third-level road within the hydropower plant-7.5m roadbed width". After completing the "Create Road" subtask, continue to process the next subtask, namely the "Retaining Wall Layout" subtask. The large model determines that the task intent of the currently executing subtask can be, for example: "Retaining walls are created on both sides of branch road 1. The retaining wall type is retaining wall model library\national building standard counterweight shoulder wall\seismic intensity 6 degrees (0.05g), uniformly distributed load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3".
[0058] In the disclosed embodiments, the project-type big model used is the self-developed engineering design industry big model - Wendao. The Wendao big model has general basic capabilities and has been retrained in the field of engineering industry to ensure its ability to understand engineering industry-related knowledge and industry terminology. This is the basis for the system to correctly understand and select tools and extract parameters.
[0059] On this basis, in order to ensure the model's ability to call engineering modeling tools, we used an open source tool call instruction dataset and created an industry tool call instruction dataset. Both serve as fine-tuning datasets for the large model to enhance the stability of the model's content output.
[0060] It should be noted that the project-type large model can also use general large language models such as the GPT series and LLaMA series, and the present disclosure is not limited to this.
[0061] It is worth mentioning that the existing big model technology is still not satisfactory in many practical application scenarios, especially in terms of complex task processing, explainability, credibility, etc. Big models still have serious "hallucination" phenomenon when generating content, that is, they are prone to generate knowledge errors, toxic, unreliable and other text content.
[0062] In this regard, in the disclosed embodiment, the system provides the complete target toolset description document corresponding to the current project class and the task intent of the currently executing subtask as input to the project class big model. The big model analyzes the user's task intent of the currently executing subtask based on the tool description in the target toolset description document, and determines the tool calling instructions, so as to require the project class big model to determine the tool calling instructions that match the task intent of the currently executing subtask from the target toolset description document. This can reduce illusions in the big model, output fact-based answers, and improve the accuracy and reliability of the answers generated by the big model, thereby improving the accuracy and reliability of the answers generated by the big model and improving the efficiency of automated BIM tool calls.
[0063] Therefore, the big model can effectively coordinate user needs and design tool instructions, and through simple big model configuration, an accurate, efficient and intelligent design process can be achieved.
[0064] In an optional embodiment, in step S200 and step S300, a first prompt instruction prompt can be input into the project class big model to instruct the project class big model to receive the task instruction input by the user, split the task according to the task intent of the currently executed task to obtain at least one subtask, execute each subtask in sequence, and determine the tool call instruction according to the task intent of the currently executed subtask and the target toolset description document.
[0065] "Prompt" is the prompt word in the big model. "Prompt" is regarded as an important medium for interaction between people and big models. It tells the big model what the task is and what the constraints are, so that the big model knows clearly what task it needs to complete. Users can design corresponding "prompt" (such as CoT technology) to guide the big model to execute a specific task process and give expected output.
[0066] An optional example of the first prompt instruction prompt is shown below: “You are a very careful intelligent assistant, specifically designed to assist users with various design tasks. You have access to multiple specialized tools, each with specific functionality and parameter requirements. You must carefully select tools and derive all parameters from user input. Do not make assumptions or guess at parameter values based on context in order to complete a task. When interacting with users, follow these steps: 1. Carefully analyze the user's request to determine whether a tool is needed to complete the task. Only process the user input without making any extended associations.
[0067] 2. If you need to use a tool, select the most appropriate tool. Carefully review the description and parameter requirements of the selected tool.
[0068] 3. When using a tool, clearly explain what you are doing and why you are doing it.
[0069] 4. If the tool returns results or errors, explain to the user what those results mean.
[0070] 5. If a task requires multiple steps or multiple tools, guide users through the process step by step.
[0071] 6. If problems arise when using the tool or the results are not as expected, provide alternatives or suggest next steps.
[0072] 7. After completing a task, ask the user if they need further help or clarification. The above optimized prompt can make the tool calling instructions generated by large models more rigorous and reliable through some guiding and restrictive requirements.
[0073] In some embodiments, the fine-tuning training of the project-type large model specifically includes: Select a pre-trained large language model, use the open-source general tool call instruction dataset as the first training set, and fine-tune the pre-trained large language model; A tool call instruction dataset for the BIM modeling industry is constructed as the second training set, and the pre-trained large model that has been fine-tuned with the first training set is fine-tuned to obtain a project-type large model; wherein, the sample input data in the second training set includes user task instructions and the toolset description document corresponding to the current project class, and the sample output data includes tool call instructions.
[0074] The present disclosure does not limit the fine-tuning algorithm. In actual operation, a suitable fine-tuning algorithm can be selected for training. In some embodiments, the pre-selected fine-tuning algorithms include: LoRA, Prefix-tuning, P-tuning, Prompt-tuning, and qlora.
[0075] The project-type large model is obtained by fine-tuning the original large language model. On the one hand, the generation efficiency of the project-type large model is improved. On the other hand, fine-tuning of the tool call data set ensures that the system can correctly understand and select tools and extract parameters, thereby improving the accuracy and credibility of the tool call instructions output by the project-type large model.
[0076] Step S400, sending the tool calling instruction to the tool calling module, and the tool calling module performs compliance verification on the tool calling instruction; if the verification passes, executing step S500, if the verification fails, executing step S410; Step S410, returning the problem report to the project class big model, the project class big model generates an adjustment request statement according to the problem report, and obtains the task instruction input by the user in response to the adjustment request statement, and returns to step S300; The compliance check items include at least one of tool parameter integrity, tool parameter type, tool parameter range and tool logic constraint conditions.
[0077] Specifically, tool parameter integrity checks include required parameter validation and non-required parameter validation to ensure that all tool parameters are provided.
[0078] The tool parameter type check is used to verify that the parameter value has the correct data type.
[0079] Tool parameter range check is used to check whether the numerical parameters are within a reasonable range.
[0080] The following is a pseudo code example for tool parameter integrity check, tool parameter type check, and tool parameter range check: The pseudo code is as follows: def check_parameters(params): required_params = get_required_params(self.input_params) for param in required_params: if param not in params: raise ValueError(f"Missing required parameter: {param}") Type checking if not isinstance(params["capacity"], (int, float)): raise TypeError("Capacity must be a number") Range Checking if params["max_height"]<= 0 or params["max_height"]>10: raise ValueError("Max height must be between 0 and 10 meters") # Default value filling params.setdefault("material", get_default(self.input_params)) return params Tool logic constraint verification includes verification based on the mutual constraint relationship between parameters and the constraint conditions in actual engineering. For example, the following provides a pseudo code example for tool logic constraint verification.
[0081] Pseudocode example: def validate_logic(params): volume = params["width"] * params["length"]* params["max_height"] if volume <params["capacity"]: return False, "The specified dimensions cannot accommodate therequired capacity" if params["max_height"]>0.5 * max(params["width"], params["length"]): return False, "The height seems unreasonably tall compared towidth and length" return True, "Parameters are logically valid" # Example is_valid, message = validate_logic(params) if not is_valid: # Report issues to users and request adjustments user_response = request_user_adjustment(message) # Handle the user's response... This pseudocode example shows that in slag modeling, the relationship between parameters such as capacity, maximum pile height, width and length needs to be considered. If the combination of these parameters does not conform to physical laws or engineering practices, the system will warn the user and / or request adjustments.
[0082] In another optional implementation, the tool call instruction compliance check may also be performed according to the following steps: Step S400, sending the tool calling instruction to the tool calling module, and the tool calling module performs compliance verification on the tool calling instruction; if the verification passes, executing step S500, if the verification fails, executing step S420; Step S420, determining whether non-essential tool parameter information is missing, if so, executing step S430; if not, executing step S440; Step S430, filling the tool call instruction with default values according to the preset default values of the non-essential parameters, and then executing step S500; Step S440, returning the problem report to the project class big model, the project class big model generates an adjustment request statement according to the problem report, and obtains the task instruction input by the user in response to the adjustment request statement, and returns to step S300.
[0083] As shown in the above "Pseudocode example of tool parameter integrity check, tool parameter type check and tool parameter range check", a pseudocode example of default value filling is provided.
[0084] It can be understood that in this step, the tool call module is used to conduct a secondary review of the tool call instructions generated by the large model to ensure that the tool instructions are reasonable and feasible in actual applications, that is, there are no missing parameters, non-compliance with tool logic constraints, etc. It can effectively supplement the inspection capabilities of the large model, avoid potential parameter omission problems, thereby improving the accuracy and completeness of the tool call instructions, and ensuring that the generated tool call instructions are reliable and effective in the actual execution process.
[0085] In addition, when using BIM design software for modeling, the terms used, especially many tool parameters, involve industry terms. If the large model is not able to understand them, it will lead to the inability to obtain the correct results. In order to avoid this situation and make up for the lack of model understanding, we will adjust these terms to expressions that are easy for the model to understand when defining the tool. Before calling the BIM tool, these adjusted terms need to be mapped back to ensure that the call will not go wrong.
[0086] Therefore, optionally, after the verification in step S400 is passed and before executing step S500, the method further includes: The tool calling module converts the nouns in the tool calling instructions into the professional terms used by the tools in the BIM application according to the preset mapping relationship.
[0087] In some embodiments, the noun conversion process can be implemented by a predefined mapping dictionary. This dictionary maps the general description of the large model that is easy to understand to the professional terms used by the tools in the BIM application. The pseudo code example of this step for noun mapping conversion is as follows: The pseudo code is as follows term_mapping = { "Common descriptions of large models that are easy to understand": "Specialized terms used by BIM tools", ... ... } def convert_terms(params): converted_params = {} for key, value in params.items(): if key in term_mapping: converted_params[term_mapping[key]] = value else: converted_params[key] = value return converted_params # Example bim_params = convert_terms(params) Through this step, the system will change the professional terms that the large model cannot handle into nouns that are easy for the large model to understand, thereby improving the accuracy of the understanding and generation of the large model. At the same time, the corresponding nouns will be converted back before generating the execution instructions of the BIM application, ensuring that the call of the BIM tool will not go wrong, effectively improving the intelligence and reliability of the system.
[0088] In summary, the configuration of the tool call module ensures reliable execution from user intent to actual modeling operations. It can intelligently handle various complex situations and potential problems, not only verifying and completing parameters, but also detecting and handling abnormal situations (correction of large model results), performing noun conversion, and completing specific operations. The system also implements a real-time feedback loop, which greatly enhances the reliability of operations and user experience.
[0089] Step S500, calling a tool calling module to process the tool calling instruction and generate an execution instruction of the BIM application; The tool calling module converts the tool calling instructions generated by the large model into operations executable by the BIM application, generates execution instructions for the BIM application, and puts them into the execution queue of the BIM application.
[0090] For example, in addition to the tool and tool parameter information in the tool call instruction, the BIM application executable operation instruction also needs to supplement the relevant operating environment parameters and parameter information of the current BIM status. In addition, the data style of some BIM instructions is inconsistent with the tool call instruction, and it is necessary to convert them into the data style of the BIM application executable operation instruction. As shown below, a pseudo code example for generating the execution instruction of the BIM application is provided: def generate_bim_command(tool, params): # Generate corresponding commands according to different tools if tool == "create_dumping_body": command = f"CREATE_DUMPING_BODY(" command += ", ".join([f"{k}={v}" for k, v in params.items()]) command += ")" # Handling other tools... return command # Example bim_command = generate_bim_command("create_dumping_body", bim_params) It is understandable that the tool calling module plays a key role as a bridge between the big model and the BIM application tools. Its main responsibility is to receive the tool calling instructions generated by the big model and convert them into commands that can be directly executed by the BIM application tools. This process ensures the accuracy, security and effectiveness of the instructions.
[0091] Step S600, sending the execution instruction of the BIM application to the BIM application for execution, receiving the execution result and returning it to the project-type large model, the project-type large model presents the execution result of the task completion to the user, and determines whether there are any unfinished subtasks. If so, return to step S300 and execute the next subtask. If not, execute step S700.
[0092] Step S700, complete task processing and wait for the user's next operation.
[0093] Specifically, referring to the example in step S200, if there are multiple tasks, the large model will determine whether there are unfinished subtasks; if so, it returns to step S300 to execute the next subtask.
[0094] The project-based big model will capture and parse the execution results, explain the results in a user-friendly way, and recommend the next action based on these results. If the execution is successful, the system will return a success mark to the big model, and the big model will summarize and interact with the user in the form of natural text for user confirmation. If the execution fails, the system returns a failure mark and specific error information, and the big model summarizes and gives modification suggestions to the user for easy adjustment.
[0095] Here is an example: { 'function': 'Complete the sand trap modeling', 'assistant': 'A grit chamber model 2 has been successfully installed at the end of left line 1, and the outlet line has been extended to 5 meters. If you have any other needs, please feel free to let me know.' } In some embodiments, the system can choose whether to return execution parameters according to business needs. Not returning parameters can improve the user interaction experience and avoid large model nonsense; returning parameters makes it easier for users to confirm the execution results.
[0096] For example, when receiving the execution result, the project class model will output: { 'function': 'Complete sand trap modeling', / / No return parameters 'function': 'Complete the modeling of the sedimentation tank, the parameters are {"Tool Name": "Sedimentation Tank Modeling", "Operation Type": "Sedimentation Tank Modeling", "Ditch Section Type": "", "Outlet Line Length": 5, "Line Name": "Left 3","Type": "abc"}', / / Return parameters } In some embodiments, before step S100, the following steps are included: Step S000, constructing a BIM modeling tool library, wherein the tool library includes at least one tool set description document corresponding to at least one project class, wherein the tool set description document includes standardized definition descriptions of multiple tools; Specifically, the step S000 includes the following steps: 1. Determine the tool grouping; In this step, the tools in the tool library are grouped according to different project categories, where the modeling project category includes all available modeling project types in BIM applications, such as road design, soil and water conservation engineering, water conservancy engineering, construction engineering, power engineering, and environmental engineering.
[0097] It can be understood that the toolsets in the tool library are grouped according to different project categories. This grouping method allows you to quickly locate the relevant toolsets after determining the specific modeling project, and the corresponding toolset description documents will be dynamically passed to the large model.
[0098] 2. Determine the standardized definition description of the tools, and combine the standardized definition descriptions of the tools of the same project class into a tool set description document corresponding to the project class; The standard definition of each tool includes function description, tool parameter definition, usage instructions, constraints and association rules; it may also include tool information output format, version information, etc. Functional description is used to enable the large model to accurately understand the purpose and function of each tool through detailed description fields; Tool parameter definition is used to define the input parameters in detail so that the large model can correctly prepare and transfer the required data; Instructions for use are used to describe the instructions on how to use the tool correctly. Example usage and limitation descriptions help large models better apply these tools and avoid potential misuse; Constraints are rules or boundaries that limit the use of tools, as well as reasonable specifications for tool parameters, such as numerical requirements, industry standards and specifications, etc. Association rules are used to describe how tools connect and interact with other systems, tools, or data, and define the data input and output formats during connection and interaction; Tool information output format is used to define the output format so that the large model can correctly interpret and process the return results of the tool.
[0099] Further optionally, the step S000 may also include: 3. Build tool library extension interface; Specifically, a tool library extension interface is constructed to allow third-party developers or users to extend tool functionality. For example, users can customize constraints, associations, and extend tools.
[0100] It should be pointed out that the BIM applications include but are not limited to BIM desktop software, BIM Web applications, BIM mobile applications and BIM cloud platforms.
[0101] The following shows a standardized tool definition structure: { "tool_id": "unique_identifier", "name": "Tool name", "description": "Detailed description of tool functions", "category": "The design category to which the tool belongs", "input_params": [ { "name": "Parameter name", "type": "Parameter type (such as string, number, boolean, etc.)", "description": "Detailed description of the parameter", "required": true / false, "default": "Default value (if any)" }, / / There may be multiple input parameters ], "output_format": { "type": "Output data type", "description": "Detailed description of the output data" }, "example_usage": "Example code or instructions for tool usage", "limitations": "Limitations or precautions for using the tool", "version": "Tool version number", "last_updated": "Last updated date" } As shown above, this tool definition structure has the following characteristics: 1) Clear functional description: Through detailed description fields, the big model can accurately understand the purpose and function of each tool; 2) Clear parameters: The detailed definition of input parameters enables the big model to correctly prepare and pass the required data; 3) Output expectations: By defining the output format, the big model can correctly interpret and process the return results of the tool; 4) Usage guidance: Example usage and limitation descriptions help the big model better apply these tools and avoid potential incorrect use; 5) Version control: Version information and update date ensure that the big model uses the latest and most suitable tool version.
[0102] In the technical solution disclosed in the present invention, by constructing a BIM modeling tool library, a "vocabulary" for operating BIM applications is provided for the large model, and a basis for the intelligent decision-making of the system is also provided. It not only covers nearly 100 modeling tools for different types of design projects in traditional BIM applications, but also performs intelligent packaging and expansion. Through systematic classification and standardized tool definitions, the system can quickly locate the required tools and call them correctly, ensuring that the large model can access the most relevant and applicable tools at any time. The design of the extension interface ensures the scalability of the system and its ability to keep pace with the times.
[0103] Furthermore, in an optional implementation, the large model can proactively ask questions when the design task information provided by the user is insufficient or unclear. Figure 2 As shown, the step S200 receives the task instruction input by the user, and the project class large model splits the task according to the task intention of the currently executed task to obtain at least one subtask, and executes each subtask in sequence; wherein the task intention of the currently executed task is determined at least based on the integration and analysis of the target interactive dialogue information, and the target interactive dialogue information is the dialogue information between the task instruction for creating a new task and the current dialogue statement, which can be executed by the following steps: Step S210, receiving the task instruction input by the user, calling the project class big model to determine whether there is any tool parameter information missing according to the task intent of the currently executed task and the target toolset description document, if not, executing step S250, if yes, executing step S220; Step S220, further determining whether the missing tool parameter is a required parameter, if so, executing step S230, if not, executing step S240; In step S230, the project-type large model generates a query statement according to the determined missing tool parameter information, obtains the task instruction input by the user in response to the query statement, and returns to execute step S210.
[0104] In step S240, the project class model determines the preset default values of the non-essential parameters according to the target toolset description document, and fills the default values for the task intent of the currently executed task, and then executes step S250.
[0105] Step S250: the project-type large model splits the task according to the task intent of the currently executed task to obtain at least one subtask, and executes each subtask in sequence.
[0106] The task intention of the currently executed task is determined at least based on the integration and analysis of target interactive dialogue information, where the target interactive dialogue information is dialogue information traced back from the current dialogue statement to the most recent task instruction used to create a new task.
[0107] For example, continuing to take the above step S200 "user input involves two design tools" as an example, the current dialogue sentence is the task instruction input by the user in response to the question sentence "road section type is standard horizontal-third-level road in the hydropower plant-7.5m roadbed width, retaining wall type is retaining wall section type is retaining wall model library\national building standard counterweight shoulder wall\seismic intensity 6 degrees (0.05g), uniformly distributed load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3", and the most recent task instruction for creating a new task is the task instruction used by the user for creating a new task "create a road along branch road 1 between K0+000 and K0+598, and create retaining walls on both sides of branch road 1", The target interactive dialogue information is the dialogue information traced back from the current dialogue statement to the most recent task instruction used to create a new task. The large model can determine the task intent of the current task based on the integration and analysis of the target interactive dialogue information, that is, "the task of creating a road between K0+000 and K0+598 along branch road 1 has been completed, and the cross-sectional type of the road is standard horizontal-third-level road within the hydropower field-7.5m roadbed width. At the same time, retaining walls are created on both sides of branch road 1, and the retaining wall type is retaining wall model library\national building standard counterweight shoulder wall\seismic intensity 6 degrees (0.05g), uniformly distributed load 10kpa, filler internal friction angle 30°, base friction coefficient 0.3". Subsequently, after confirming that the tool parameter information is complete, the tool call instruction is determined according to the task intent of the current task and the target tool set description document.
[0108] Optionally, this step can be implemented by adding the following prompt statement to the first prompt instruction prompt in the above example: “8. If the information provided by the user is incomplete and any parameter is missing, politely ask for the missing information.
[0109] 9. Clearly state what information you need and why it is important to use the tool.
[0110] 10. If a parameter has a default value, use the default value unless the context indicates that a different value should be used. Do not assume or guess parameter values based on context.
[0111] 11. If any parameter is uncertain, be sure to confirm with the user. " It should be noted that in some embodiments, the big model guides the interactive dialogue with the user through the chain of thought (CoT technology) to obtain complete information of the task instruction. When the big model has multiple rounds of dialogue with the user, the content of each round of dialogue with the user can be stored through the memory unit, sorted from the beginning to the end in time, so that the big model can use the historical dialogue as a new context in the subsequent dialogue to generate answers, such as follow-up statements, or generate tool call instructions.
[0112] Through the above design, the big model receives the user input and the tool set description document corresponding to the design_type. Based on this information, the appropriate tool is selected and the corresponding information is extracted according to the tool parameter description. If a parameter is missing, the user is asked. After receiving the complete information from the user, the big model can understand the user's needs and call these tools correctly, which improves the accuracy and efficiency of the tool call instructions output by the big model.
[0113] In an optional implementation, after completing the task processing and waiting for the next operation of the user in step S700, the following further steps are included: Step S800: When the user inputs a task instruction for adjusting tool parameters, the task instruction for adjusting tool parameters input by the user is received, and then step S200 is executed.
[0114] Using the example of sand trap modeling, the following are examples of task instructions for adjusting tool parameters: { 'user': 'Arrange a grit chamber at the end of left line 1. The model is grit chamber model 2. The outlet line needs to be extended to 5 meters', / / Previous design instructions { 'user': 'Change the model to sedimentation tank model 3, and increase the water outlet line by 5 meters', 'function_call': {'name': 'Sand Tank Modeling', 'arguments': '{"Line Name": "Left 1", "Type": "Sand Tank Model 3", "Outlet Line Length": 10}'} } Thus, based on user feedback or new needs, the large model can remember previous task instructions, understand the user's new requirements, and flexibly adjust the selected tools.
[0115] It should be noted that, in some embodiments, after step S700, when the user starts a new project task, non-project task or a new conversation, the system will start execution from step S100 or step S010. In subsequent conversations under the same project task, when the user enters a task instruction for creating a new task, execution will start from step S200.
[0116] Among them, new sessions include re-entering the system, users triggering the selection to start a new session, or session timeout.
[0117] In an optional implementation, before step S100, or before step S100 and after step S000, the following execution steps are further included: Step S010: Obtain the task instruction input by the user and pass it to the routing recognition model. The routing recognition model determines whether the user is performing a design task based on the task instruction. If so, execute step S100; if not, execute step S020: call the non-project type large model; The route identification model is a binary classification model that is responsible for determining whether the user's input is related to design work. The binary classification model gives a "yes" or "no" answer and can quickly filter out design-related requests.
[0118] If it is determined that it is not a design task, the non-project type large model is called to directly conduct daily questions and answers with the user. If it is a design task, step S100 is further executed to determine which project type it is.
[0119] Among them, the non-project large model is used to process the user's daily conversations. When the user inputs non-design task instructions, the large model can understand and respond to various general conversations of the user.
[0120] It should be noted that the project-based large models that process design instructions have a certain ability for daily conversations, but because they have been trained for tool call tasks, they will lose some ability for daily conversations. Therefore, non-project-based large models are generally industry large models that have not been fine-tuned for instructions / tasks, such as the Wendao large model, or general-purpose large language models such as the GPT series and LLaMA series that have been fine-tuned with industry data.
[0121] Through this design, the system can dynamically select the appropriate processing method based on the specific intention of the user's instructions, optimize the efficiency of task execution, and ensure that the system can accurately respond and effectively complete the corresponding tasks in both scenarios (designed tasks and non-designed tasks).
[0122] Furthermore, combined with the project class identification method in step S100, the system can efficiently and accurately understand the user's task requirements through the dual classification method, providing a reliable starting point for the subsequent design process. This not only improves the system's response speed and accuracy, but also greatly improves the user experience, allowing users to interact with the system more naturally and easily.
[0123] Figure 3 1 is a schematic diagram of a large-model-based interactive BIM modeling system according to an embodiment of the present disclosure. The system is used to run the large-model-based interactive BIM modeling method in the above-mentioned embodiments. Figure 3 , the system may include: The project class determination module 1001 is used to determine the target toolset description document corresponding to the target project class.
[0124] The task splitting module 1002 is used to receive task instructions input by the user. The project class large model splits the task according to the task intent of the currently executed task, obtains at least one subtask, and executes each subtask in sequence; wherein, the task intent of the currently executed task is determined at least based on the integration and analysis of the target interactive dialogue information, and the target interactive dialogue information is the dialogue information from the current dialogue statement to the most recent task instruction used to create a new task.
[0125] The tool call instruction generation module 1003 is used to call the project class large model to determine the tool call instruction according to the task intent of the currently executed subtask and the target toolset description document, wherein the task intent of the currently executed subtask is determined at least based on the integration and analysis of the target interactive dialogue information.
[0126] Verification module 1004, in an optional implementation, the verification module 1004 includes: The first verification module is used to send the tool calling instruction to the tool calling module 1008, and the tool calling module 1008 performs compliance verification on the tool calling instruction; if the verification passes, the execution instruction determination module 1005 is called; if the verification fails, the first verification feedback module is called.
[0127] The first verification feedback module is used to return a problem report to the project-type big model. The project-type big model generates an adjustment request statement based on the problem report, obtains the task instruction input by the user in response to the adjustment request statement, and returns to the tool call instruction generation module 1003.
[0128] The execution instruction determination module 1005 is used to call the tool calling module 1008 to process the tool calling instruction and generate an execution instruction for the BIM application.
[0129] The execution result determination module 1006 is used to send the execution instruction of the BIM application to the BIM application for execution, receive the execution result and return it to the project-type big model, and the project-type big model presents the execution result of the task completion to the user, and determines whether there are any unfinished subtasks. If so, it returns to the tool call instruction generation module 1003, if not, it calls the task completion determination module 1007.
[0130] The task completion confirmation module 1007 is used to confirm the completion of task processing and wait for the next operation of the user.
[0131] The tool calling module 1008 is used to perform compliance verification on the tool calling instruction, and process the tool calling instruction to generate an execution instruction for the BIM application.
[0132] In another alternative implementation, the verification module 1004 includes: The second verification module is used to send the tool calling instruction to the tool calling module 1008, and the tool calling module 1008 performs compliance verification on the tool calling instruction; if the verification passes, the execution instruction determination module 1005 is called; if the verification fails, the parameter type determination module is called.
[0133] The parameter type determination module is used to determine whether non-essential tool parameter information is missing. If so, the default value filling module is called; if not, the second verification feedback module is called.
[0134] The default value filling module is used to fill the default value of the tool calling instruction according to the preset default value of the non-essential parameter, and return to the execution instruction determination module 1005.
[0135] The second verification feedback module is used to return a problem report to the project-type large model. The project-type large model generates an adjustment request statement based on the problem report, obtains the task instruction input by the user in response to the adjustment request statement, and returns to the tool call instruction generation module 1003.
[0136] In an optional embodiment, the system further includes: The noun conversion module is used to call the tool calling module after passing the verification in the verification module 1004 and before calling the execution instruction determination module 1005 to convert the noun in the tool calling instruction into the professional terminology used by the tool in the BIM application according to the preset mapping relationship.
[0137] In an optional implementation, the project type determination module 1001 includes: The first determination module is used to obtain the task instruction input by the user and pass it to the project identification model, and the project identification model determines the target project class based on the task instruction.
[0138] The first toolset determination module is used to select a corresponding target toolset description document from a tool library according to a target project type.
[0139] In another alternative implementation, the project type determination module 1001 includes: The second determination module is used to obtain the task instructions input by the user and pass them to the project identification model. The project identification model determines the target project class based on the task instructions and outputs the confidence of the target project class; if the confidence is not less than the preset threshold, the second toolset determination module is called; if the confidence is less than the preset threshold, the confidence feedback module is called.
[0140] The confidence feedback module is used to return a report with low confidence to the project-type large model. The project-type large model generates a request for supplementary task information based on the report with low confidence, obtains the task instructions input by the user in response to the request for supplementary task information, and returns to the second determination module.
[0141] The second toolset determination module is used to select a corresponding target toolset description document from the tool library according to the target project class.
[0142] In another alternative implementation, the project type determination module 1001 includes: The third determination module is used to determine the target project class in response to the project class selected by the user.
[0143] The third toolset determination module is used to select a corresponding target toolset description document from the tool library according to the target project class.
[0144] In an optional embodiment, the system further includes: The tool library construction module 1001 is used to construct a BIM modeling tool library and define at least one tool set description document corresponding to at least one project class, wherein the tool set description document includes standardized definition descriptions of multiple tools.
[0145] In an optional implementation, the task splitting module 1002 may specifically include: The parameter missing judgment module is used to call the project class large model to receive the task instructions input by the user, and determine whether there is any tool parameter information missing based on the task intent of the current task and the target toolset description document. If not, the task splitting determination module is called, and if so, the first parameter type determination module is called.
[0146] The first parameter type determination module is used to further determine whether the missing tool parameter is a required parameter. If so, the parameter missing feedback module is called; if not, the first default value filling module is called.
[0147] The parameter missing feedback module is used for the project-type large model to generate a follow-up statement according to the determined tool parameter information missing, obtain the task instruction input by the user in response to the follow-up statement, and return to the parameter missing determination module.
[0148] The first default value filling module is used for the project class large model to determine the preset default values of the non-essential parameters according to the target tool set description document, and to fill the default values of the task intent of the currently executed subtask, and then call the task splitting determination module.
[0149] The task splitting and determination module is used to call the project class large model to split the task according to the task intent of the current task to obtain at least one subtask and execute each subtask in turn.
[0150] In an optional embodiment, the system further includes: The task adjustment module is used to receive the task instruction for adjusting the tool parameters input by the user after the task completion determination module 1007 is executed, and then call the task splitting module 1002 when the user inputs the task instruction for adjusting the tool parameters.
[0151] In an optional embodiment, the system further includes: The routing determination module is used to obtain the task instructions input by the user and pass them to the routing identification model before the project class determination module 1001 is executed. The routing identification model determines whether the user performs a design task based on the task instructions. If so, the project class determination module 1001 is called; if not, the non-project class module is called.
[0152] Non-project module, used to call non-project large models.
[0153] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, which may include: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus. The processor may call logic instructions in the memory to execute an interactive BIM modeling method based on a large model.
[0154] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on such an understanding, the technical solution of the present disclosure is essentially 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, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0155] On the other hand, the present disclosure also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the large-model-based interactive BIM modeling method provided by the above-mentioned methods.
[0156] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0157] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0158] It should be understood that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. An interactive BIM modeling method based on a large model, characterized in that: The method comprises: Step S100, determining the target toolset description document corresponding to the target project class; Step S200, receiving a task instruction input by a user, the project class macro model performs task splitting according to the task intent of the currently executed task, obtains at least one subtask, and executes each subtask in sequence; wherein the task intent of the currently executed task is determined at least based on the integration and analysis of target interactive dialogue information, and the target interactive dialogue information is the dialogue information from the current dialogue statement to the most recent task instruction used to create a new task; Step S300, calling the project class big model to determine the tool calling instruction according to the task intention of the currently executed subtask and the target tool set description document, wherein the task intention of the currently executed subtask is determined at least based on the integration and analysis of the target interactive dialogue information; Step S400, sending the tool calling instruction to the tool calling module, and the tool calling module performs compliance verification on the tool calling instruction; if the verification passes, executing step S500, if the verification fails, executing step S410; Step S410, returning the problem report to the project class big model, the project class big model generates an adjustment request statement according to the problem report, and obtains the task instruction input by the user in response to the adjustment request statement, and returns to step S300; Step S500, calling a tool calling module to process the tool calling instruction and generate an execution instruction of the BIM application; Step S600, sending the execution instruction of the BIM application to the BIM application for execution, receiving the execution result and returning it to the project-type macro model, the project-type macro model presents the execution result of the task completion to the user, and determines whether there are unfinished subtasks. If yes, return to step S300 and execute the next subtask. If not, execute step S700; Step S700, complete task processing and wait for the user's next operation.
2. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: The compliance check includes at least one of tool parameter integrity, tool parameter type, tool parameter range, and tool logic constraint conditions; wherein the tool parameter integrity check includes required parameter verification and non-required parameter verification to ensure that all tool parameters are provided; Tool parameter type verification is used to verify whether the data type of the parameter value is correct; Tool parameter range check is used to check whether the numerical parameters are within a reasonable range; The tool's logical constraint verification includes verification based on the mutual constraint relationship between parameters and the constraint conditions in actual engineering.
3. The interactive BIM modeling method based on a large model according to claim 2, characterized in that: After the verification in step S400 is passed and before executing step S500, the method further includes: The tool calling module converts the nouns in the tool calling instructions into the professional terms used by the tools in the BIM application according to the preset mapping relationship.
4. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: Before step S100, the method includes: Step S000, constructing a BIM modeling tool library, wherein the tool library includes at least one toolset description document corresponding to at least one project class, wherein the toolset description document includes standardized definition descriptions of multiple tools.
5. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: The project class model is obtained according to the following steps: Select a pre-trained large model, use the open source general tool call instruction dataset as the first training set, and fine-tune the pre-trained large model; A tool call instruction dataset for the BIM modeling industry is constructed as the second training set, and the pre-trained large model that has been fine-tuned with the first training set is fine-tuned to obtain a project-type large model; wherein, the sample input data in the second training set includes user task instructions and the toolset description document corresponding to the current project class, and the sample output data includes tool call instructions.
6. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: The step S200 includes: Step S210, receiving the task instruction input by the user, calling the project class big model to determine whether there is any tool parameter information missing according to the task intent of the currently executed task and the target toolset description document, if not, executing step S250, if yes, executing step S220; Step S220, further determining whether the missing tool parameter is a required parameter, if so, executing step S230, if not, executing step S240; Step S230, the project model generates a follow-up question according to the determined missing tool parameter information, obtains the task instruction input by the user in response to the follow-up question, and returns to execute step S210; Step S240, the project class big model determines the preset default values of the non-essential parameters according to the target toolset description document, and fills the default values for the task intent of the currently executed task, and then executes step S250; Step S250: the project-type large model splits the task according to the task intent of the currently executed task to obtain at least one subtask, and executes each subtask in sequence.
7. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: After the task processing is completed in step S700 and the user is waiting for the next operation, the following steps are also included: Step S800: When the user inputs a task instruction for adjusting tool parameters, the task instruction for adjusting tool parameters input by the user is received, and then step S200 is executed.
8. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: The step S100, determining the target toolset description document corresponding to the target project class, includes: Obtaining a task instruction input by a user and passing it to a project identification model, wherein the project identification model determines a target project class based on the task instruction; Select the corresponding target toolset description document from the tool library according to the target project class.
9. The interactive BIM modeling method based on a large model according to claim 1, characterized in that: The step S100, determining the target toolset description document corresponding to the target project class, can also be performed by the following steps: determining a target item class in response to an item class selected by a user; Select the corresponding target toolset description document from the tool library according to the target project class.
10. An interactive BIM modeling system based on a large model, characterized in that: The system is used to execute the interactive BIM modeling method based on a large model as described in any one of claims 1 to 9, and the system includes: A project class determination module is used to determine the target toolset description document corresponding to the target project class; The task splitting module is used to receive the task instruction input by the user, and the project class large model splits the task according to the task intention of the currently executed task to obtain at least one subtask, and executes each subtask in sequence; wherein the task intention of the currently executed task is determined at least based on the integration and analysis of the target interactive dialogue information, and the target interactive dialogue information is the dialogue information between the current dialogue statement and the most recent task instruction used to create a new task; A tool call instruction generation module, used for calling the project class large model to determine the tool call instruction according to the task intent of the currently executed subtask and the target tool set description document, wherein the task intent of the currently executed subtask is determined at least based on the integration and analysis of the target interactive dialogue information; The verification module includes a first verification module and a first verification feedback module: A first verification module, used for sending the tool calling instruction to the tool calling module, and the tool calling module performs compliance verification on the tool calling instruction; if the verification passes, the execution instruction determination module is called; if the verification fails, the first verification feedback module is called; A first verification feedback module is used to return a problem report to the project class big model, and the project class big model generates an adjustment request statement according to the problem report, obtains a task instruction input by the user in response to the adjustment request statement, and returns it to the tool call instruction generation module; An execution instruction determination module is used to call a tool calling module to process the tool calling instruction and generate an execution instruction for the BIM application; An execution result determination module is used to send the execution instruction of the BIM application to the BIM application for execution, receive the execution result and return it to the project-type large model, and the project-type large model presents the execution result of the task completion to the user, determines whether there are unfinished subtasks, and if so, returns to the tool call instruction generation module, if not, calls the task completion determination module; The task completion confirmation module is used to confirm the completion of task processing and wait for the user's next operation; The tool calling module is used to perform compliance verification on the tool calling instruction, process the tool calling instruction, and generate execution instructions for the BIM application.
Citation Information
Patent Citations
Parameter verification method, parameter verification device and electronic equipment
CN113126999A
Large language model training method and interaction method oriented to multi-task dialogue
CN116821290A
Building information modeling method and device and electronic equipment
CN116861507A
Method and system for realizing industrial digital intelligence based on artificial intelligence
CN118228694A
Code development method and related equipment
CN118860350A
Cited By
BIM intelligent building modeling method and system based on large language model
CN120088414A
Multi-round interactive AI Agent agent based on multi-module collaboration and implementation method thereof
CN121009985A
Business global processing system, method and equipment based on large model and storage medium
CN121301557A
Interactive intelligent service processing method, server and system
CN122472458A