Geological software assistant

The geological software assistant addresses complexity and automation gaps by clarifying user inputs and generating program queries, enhancing accessibility and efficiency in geological software systems.

WO2026060238A1PCT designated stage Publication Date: 2026-03-19SCHLUMBERGER TECH CORP +3
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-12
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

Geological software systems face challenges due to high technical expertise requirements, complexity, and lack of automation, limiting accessibility and efficiency for users.

Method used

A geological software assistant that interprets user requests, clarifies unclear inputs, and generates program queries to automate geological software operations, providing accessible and efficient data handling and analysis.

Benefits of technology

Enhances user accessibility and efficiency by automating routine tasks, reducing human error, and improving productivity and accuracy in geological software operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025046147_19032026_PF_FP_ABST
    Figure US2025046147_19032026_PF_FP_ABST
Patent Text Reader

Abstract

A geological software assistant may receive, from a user, an input with a user request regarding geological software. A geological software assistant may identify whether the user request has sufficient details and is compatible with the geological software. A geological software assistant may, when the user request has insufficient details, prepare and provide to the user a follow-up question to clarify the user request. A geological software assistant may, based on the follow-up question, receive additional input including an updated user request. A geological software assistant may, when the updated user request has sufficient details and is compatible with the geological software, generate and input a program query to the geological software, the program query based on the updated user request. A geological software assistant may provide the user an output from the geological software based on the program query, the output responsive to the updated user request.
Need to check novelty before this filing date? Find Prior Art

Description

Docket No. IS24.0950-WO-PCTGEOLOGICAL SOFTWARE ASSISTANTCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims priority to and the benefit of United States Provisional Patent Application Serial No. 63 / 694,510 titled “GEOLOGICAL SOFTWARE ASSISTANT” filed September 13, 2024, the disclosure of which is incorporated herein by reference in its entirety.BACKGROUND

[0002] Geological software are essential tools in the fields of geoscience and petroleum engineering, used for interpreting subsurface data and modelling earth sub surface. These geoscience software systems handle complex datasets that include well and seismic data, geological models, and reservoir simulation inputs. Several present challenges impact the efficiency and effectiveness with which users can leverage these tools.SUMMARY

[0003] In some aspects, the techniques described herein relate to a method, a geological software assistant receives, from a user, an input with a user request regarding geological software. The geological software assistant identifies whether the user request is has sufficient details based on the geological software. When the user request is does not have sufficient details, the geological software assistant prepares and provides to the user a follow-up question to clarify the user request. Based on the follow-up question, the geological software assistant receives additional input including an updated user request. When the updated user request is has sufficient details, the geological software assistant generates and inputs a program query to the geological software. The program query is based on the updated user request. The geological software assistant provides the user an output from the geological software based on the program query, the output responsive to the updated user request.

[0004] In some aspects, the techniques described herein relate to a method. A geological software assistant receives, from a user, an input with a user request regarding a geological software. The geological software assistant prepares, based on the user request, aDocket No. IS24.0950-WO-PCT contextual query for a foundation model. The contextual query includes the user request, program information, and an instruction interface. The geological software assistant inputs the contextual query to the foundation model. The foundation model outputs instructions for the geological software. The geological software assistant inputs the instructions to the geological software.

[0005] In some aspects, the techniques described herein relate to a method. A geological software assistant receives, from a user, an input with a user request. The geological software assistant generates a prompt to guide a foundation model in interpreting text in the user request. The geological software assistant receives, in response to the foundation model using the prompt to process the user request, an output from the foundation model. The output includes an intent of the user request.

[0006] This summary is provided to introduce a selection of concepts that are further described in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. Additional features and aspects of embodiments of the disclosure will be set forth herein, and in part will be obvious from the description, or may be learned by the practice of such embodiments.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] In order to describe the manner in which the above-recited and other features of the disclosure can be obtained, a more particular description will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. For better understanding, the like elements have been designated by like reference numbers throughout the various accompanying figures. While some of the drawings may be schematic or exaggerated representations of concepts, at least some of the drawings may be drawn to scale. Understanding that the drawings depict some example embodiments, the embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

[0008] FIG. 1 is a schematic representation of an example environment for a geological software, according to at least one embodiment of the present disclosure.Docket No. IS24.0950-WO-PCT

[0009] FIG. 2 is a schematic representation of a geological software assistant, according to at least one embodiment of the present disclosure.

[0010] FIG. 3 is a representation of a geological software automation engine, according to at least one embodiment of the present disclosure.

[0011] FIG. 4 is a flowchart of a method implemented at a geological software assistant, according to at least one embodiment of the present disclosure.

[0012] FIG. 5 is a flowchart of a method implemented at a geological software assistant, according to at least one embodiment of the present disclosure.

[0013] FIG. 6 is a flowchart of a method implemented at a geological software assistant, according to at least one embodiment of the present disclosure.

[0014] FIG. 7 is a representation of a computing system, according to at least one embodiment of the present disclosure.DETAILED DESCRIPTION

[0015] This disclosure generally relates to geoscience software automation. Geological software are essential tools in the fields of geoscience and petroleum engineering, used for interpreting and modelling subsurface data. Geoscience software systems typically handle complex datasets that include well and seismic data, geological models, and reservoir simulation inputs. However, several persistent challenges impact the efficiency and effectiveness with which users can leverage these tools in geoscience software systems.

[0016] One challenge is a need for technical expertise. The operation of geological software like typically demands a high level of specialized knowledge, both in terms of the geological sciences and software proficiency. Users often need to understand algorithms and software workflows to perform even routine tasks like data analysis and interpretation. This steep learning curve limits the accessibility of the software to a broader range of professionals and can slow down project progress.

[0017] Another challenge is a complexity of the geological software. Geological software often includes many features for modelling and analysis of subsurface data. Such features may be included in iterative versions of the geological software, with new features being added over time. Some features may have specific use-cases that may be uncommonly applied for some users. Users may not utilize certain features, or indeed have knowledgeDocket No. IS24.0950-WO-PCT of the presence of certain features, in complex geological software. The size of such geological software may result in a reduced utilization by users, particularly for new and / or inexperienced users.

[0018] Another challenge is a lack of automation. Despite advances in technology, many geological software systems still lack comprehensive automation capabilities for routine and complex tasks. This lack of automation forces users to perform repetitive tasks manually, leading to increased chances of human error and inefficiency. Automation significantly enhances productivity by streamlining workflows, reducing the time spent on manual data entry and manipulation, and allowing geoscientists to focus more on analysis and decision-making rather than on operational tasks.

[0019] In accordance with at least one embodiment of the present disclosure, a geological software assistant may include a user interface in which the user may input a user request regarding the geological software. The user request may be related to an aspect or function of the geological software. For example, the user request may be a request regarding how to perform an action. In some examples, the user request may be a request to perform a particular action. In some examples, the user request may be a request regarding whether an action is possible from the geological software.

[0020] The geological software assistant may identify an intent of the user request. For example, the geological software assistant may analyze the user request to identify the what the user intended to ask, or clarify the user request with respect to the capabilities of the program. In some embodiments, the geological software assistant may request additional information from the user. For example, the geological software assistant may analyze the user request and identify that the user request utilizes unclear or indefinite language, provides an incomplete level of detail, provides inaccurate information, provides contradictory statements, and so forth. The geological software assistant may include a foundation model, such as a large language model (LLM) that may analyze the user query to identify the user intent. The geological software assistant may iteratively or recursively request additional information from the user until the user query and / or intent is clear. The user request may include multiple intents. For example, the user request “Tell me about the wells in our system, and list all the wells that are producing.” This request includes an intent to identify the owner’s wells, and a intent to identify producing wells.Docket No. IS24.0950-WO-PCT

[0021] In accordance with at least one embodiment of the present disclosure, the geological software assistant may identify whether the user request (and / or the user intent) is has sufficient details and is compatible with the geological software. For example, when the geological software assistant identifies the content of the user request (e.g., the request for information or request for an action to be performed by the geological software), the geological software assistant may determine whether the information is available and / or the action is capable of being performed on the geological software. As discussed in further detail herein, the geological software assistant may identify whether the user request is has sufficient details and is compatible with the geological software based on user manuals and / or a program verifier. If the user request is does not have sufficient details, then the geological software assistant may prepare a follow-up question to clarify the user request and / or intent. The user may, based on the follow-up question, provide additional input in the form of an updated user request to the geological software assistant. This process may be iteratively or recursively repeated until the updated user request has sufficient details and is compatible with the geological software.

[0022] In accordance with at least one embodiment of the present disclosure, the geological software assistant may generate a program query based on the updated user request. The program query may include a query that is applied to the geological software. In some embodiments, the program query may include a series of instructions to be enacted by the geological software. The instructions may include modular instructions that may be selected, mixed, and matched to cause the software to enact certain processes, including complex processes. In some embodiments, the geological software assistant may include select information derived from one user manuals as part of the program query. The geological software assistant may then provide the output from the program or foundation model back to the user. In this manner, the user may input a plain language user request and receive an answer and / or program operation without or with limited expertise or experience in the program.

[0023] In some embodiments, the geological software assistant may generate a contextual query or contextual prompt to a foundation model. For example, the context of the contextual query or contextual prompt may include program information, such as user manuals, instructional texts, and standard operating procedures. In some examples, theDocket No. IS24.0950-WO-PCT context of the contextual query or contextual prompt may include an instruction interface. The instruction interface may include a low-level series of instructions or programs that may be implemented in and enacted on the geological software and / or related software. As used herein, “geological software” may include any software used in the generating, processing, analysis, communication, or otherwise handling of geological information and information associated with geological systems, resource extraction systems, or other industrial systems. While embodiments of the present disclosure may discuss implementing instructions on geological software, it should be understood that the techniques of the present disclosure may be applied to other software, including analytical software, email and other messaging software, database management software, data retrieval software, and so forth. The instructions in the instruction interface may be modular instructions, or presented a la carte, or instructions that may be selected, mixed, and matched based on the user request. In some embodiments, the context for the contextual query or contextual prompt may be generated using retrieval-augmented generation.

[0024] The geological software assistant may provide the contextual query or contextual prompt to the foundation model. The foundation model may provide an output responsive to the contextual query or contextual prompt. For example, the foundation model may provide an informational response providing information regarding the operation of the geological software. In some example, the foundation model may provide an instructional response providing instruction on how to operate the geological software. In some example, the foundation model may prepare an executable sub-program or instructions executable by the geological software (or an application programming interface (API) that calls the geological software) to perform a particular task or series of tasks. In this manner, the geological software assistant may facilitate improved operation and knowledge of the geological software, particularly for geological software that is large, or has many feature and functions.

[0025] One technical advantage of the systems and methods of the present disclosure is automating geological software knowledge and operation. Another technical advantage of the systems and methods of the present disclosure is a streamlined, efficient approach to identifying and managing features of large, complex geological software system, enhancing productivity and reducing human error. By automating routine tasks andDocket No. IS24.0950-WO-PCT providing increased knowledge and accessibility to the geological software, this system allows geoscientists to focus more on strategic decision-making and less on operational complexities. Another technical advantage of the systems and methods of the present disclosure is improvements in efficiency, accuracy, and user engagement within geosciences.

[0026] The systems and methods integrate advanced automation, improved information recovery and presentation to a user, and improved feature accessibility into the geological software workflow. By addressing these gaps, the systems and methods reduce the barriers to effective data handling and analysis, making sophisticated geological software more accessible and efficient for users across different expertise levels.

[0027] FIG. 1 is a schematic representation of an example environment 100 for a geological software 102. One example of the geological software 102 is PETREL™ by SLB (Houston, Texas). It should be appreciated that any geological software may be used with the environment 100. As discussed herein, the geological software 102 may include multiple features and functionalities. Such features and functions may include data processing, data visualization, project planning, wellbore planning, project management, equipment scheduling, maintenance scheduling, project finances, equipment finances, purchasing information, inventory maintenance, subsurface measurements, subsurface interpretation, geological information, survey information, survey interpretation, reservoir location, reservoir composition, reservoir size, any other feature or function, and combinations thereof. The features and functions of the geological software 102 may be extensive, detailed, and intricate. For example, the geological software 102 may have developed over a period of years for multiple clients, over multiple types of wellbores, with multiple types of equipment, in multiple geological basins or areas. The features and functions of the geological software 102 may become unwieldy for a user to understand and effectively operate.

[0028] A geological software assistant 104 may provide an interface between the geological software 102 and auser. For example, the geological software assistant 104 may be in communication with the geological software 102 and a user device 106. The geological software assistant 104 may be in communication with the geological softwareDocket No. IS24.0950-WO-PCT102 and the user device 106 over a network 108, such as the Internet and / or a local area network (LAN) or wireless area network (WAN).

[0029] In some embodiments, the geological software assistant 104 may be a part of the geological software 102. For example, the geological software assistant 104 may be included as a feature or function of the geological software 102. For example, the geological software assistant 104 may include an input box, tab, or other interface from the geological software 102. In this manner, when the user opens the geological software 102, the geological software assistant 104 may be a part of the geological software 102 and accessible when the geological software 102 is open.

[0030] In some embodiments, the geological software assistant 104 may be separate from the geological software 102. For example, the geological software assistant 104 may be an independently operable program. The geological software assistant 104 may interface with the geological software 102 through an API or other interface. The geological software assistant 104 may generate a program query or other call to the geological software 102. As discussed in further detail herein, the program query may cause the geological software 102 to perform one of its features or functions.

[0031] The geological software assistant 104 may be in communication with a program datastore 110. In some embodiments, the program datastore 110 may be a part of the geological software assistant 104. For example, the information in the program datastore 110 may be part of the same application file as the geological software assistant 104. In some embodiments, the program datastore 110 may be separate from the geological software assistant 104. The program datastore 110 may include information related to the geological software 102. For example, the program datastore 110 may include program information, such as user manuals, instructional information, technical papers, user reviews, any other program information, and combinations thereof. In some examples, the program datastore 110 may include an instruction interface. The instruction interface may include a series of modular instructions that may be implemented on the geological software 102. For example, the instructions may include low-level code that the geological software assistant 104 may enact on the geological software 102. In some examples, the instructions may include code or programs that may be included as a call to an API that interfaces between the geological software assistant 104 and the geological software 102.Docket No. IS24.0950-WO-PCTIn some embodiments, the instructions may be modular instructions, or stored or presented a la carte, or in a mix-and-match fashion, such that the geological software assistant 104 or other element may select the instructions related to a user request.

[0032] When a user is operating the geological software 102, the user may provide, via the user device 106, certain inputs and commands to the geological software 102. As discussed herein, the user may not know how to operate (or indeed, the existence of) the features and functions of the geological software 102. The user may input, into the geological software assistant 104, a user request. The user request may be written in natural language. For example, the user may input a question regarding the geological software 102 into the geological software assistant 104. The question may be a request for information, such as a request of how to operate a specific feature or function of the geological software 102. In some examples, the question may be a request that the geological software assistant 104 enacts, without additional user input, the requested feature or function.

[0033] While embodiments of the present disclosure may describe the user input as written input, it should be understood that the techniques of the present disclosure may be applied to any type of input, such as audio input, voice input (e.g., spoken word, words transcribed by speech recognition software), images, videos, audiovisual files, field reports, sensor data, structured data, unstructured data, pdf files, spreadsheets, databases, any other type of input, and combinations thereof. In some embodiments, the user input may include a single modality (e.g., a single input type). In some embodiments, the user input may include multiple modalities (e.g., multiple input types). In some embodiments, different modalities may be representative of the same information, such as voice input and text input transcribed from the voice input. In some embodiments, different modalities may be representative of related information. For example, a first modality, text or speech input may include a description of a dataset or a requested operation to be performed on the dataset, and the dataset may include a second modality. In some embodiments, different modalities may be representative of different information. For example, a first modality may include written text and a second modality may include an audiovisual file. In this manner, the user input may include any type of input and modified input that may be used by the geological software assistant 104.Docket No. IS24.0950-WO-PCT

[0034] The geological software assistant 104 may receive the input including the user request. The geological software assistant 104 may process the user request. For example, the geological software assistant 104 may identify the content of the user request, including the requested information and / or requested implementation of the geological software 102. The geological software assistant 104 may identify the content of the user request in any manner. For example, the geological software assistant 104 may utilize a foundation model, such as an LLM, to interpret the content of the user request.

[0035] In some embodiments, the geological software assistant 104 may clarify the content of the user request through one or more follow-up questions. For example, the geological software assistant 104 may identify that the content of the user request is unclear, inaccurate, or contains insufficient information. The geological software assistant 104 may generate and provide a follow-up question to the user. The user may provide an additional input including an updated user request to the geological software assistant 104. The updated user request may include additional information that may clarify the content of the updated user request. The geological software assistant 104 may further analyze the updated user request and determine whether the content is clear or otherwise sufficient. The geological software assistant 104 may iteratively or recursively request additional input until the updated user request is clear or sufficient.

[0036] In some embodiments, the geological software assistant 104 may determine whether the user request, or the content of the user request, geological software has sufficient details and is compatible with the geological software. Users may request features or functions that are not available, ask questions related to a different software platform, or otherwise provide user input that is does not have sufficient details with respect to the features and functions of the geological software 102.

[0037] The geological software assistant 104 may determine that the user request does not have sufficient details in any manner. For example, the geological software assistant 104 may determine that the user request does not have sufficient details based on program information in the program datastore 110. In some examples, the geological software assistant 104 may determine that the user request does not have sufficient details based on an input of the program query into the geological software 102.Docket No. IS24.0950-WO-PCT

[0038] When the geological software assistant 104 determines that the user request does not have sufficient details geological software, the geological software assistant 104 may request that the user clarify the content of the user request through one or more follow-up questions. The geological software assistant 104 may generate and provide a follow-up question to the user. The user may provide an additional input including an updated user request to the geological software assistant 104. The updated user request may include additional information that may clarify the content of the updated user request. The geological software assistant 104 may further analyze the updated user request and determine whether the content geological software has sufficient details and is compatible with the geological software. The geological software assistant 104 may iteratively or recursively request additional input until the updated user request geological software has sufficient details and is compatible with the geological software.

[0039] The follow-up question may include any type of follow-up question. For example, the follow-up question may include context questions for the user. Such context questions may include questions about the language the user is speaking or writing. In some examples, the context questions may include questions regarding tone, intent (as discussed in further detail herein), or other context for the user. In some examples, the follow-up questions may include follow-up questions regarding the background of the user, including education, experience, technical expertise, and so forth. In some examples, the follow-up questions may include follow-up questions regarding technical tools the user would desire the geological software assistant 104 to utilize, including specific software, types of software, and so forth.

[0040] In accordance with at least one embodiment of the present disclosure, the geological software assistant 104 may identify the intent of the user request. When the user inputs the user request using natural language, the user may utilize specific terminology, slang, or other language that identifies the intent of the user request. The geological software assistant 104 may include or reference a foundation model trained in text recognition. In some embodiments, to identify the intent, the geological software assistant 104 may generate and provide one or more follow-up questions to clarify the intent. The intent may then be used to generate the program query and / or the contextual query, as discussed herein. The geological software assistant 104 may identify multiple intents within the sameDocket No. IS24.0950-WO-PCT user query. For example, a user query may include multiple questions, or questions having multiple intents centered around a primary query. The intents may be sub-grouped, based on subject matter and / or a series of intents to respond to a primary intent.

[0041] In accordance with at least one embodiment of the present disclosure, the geological software assistant 104 may provide the user request, the content of the user request, and / or the intent of the user request, to a foundation model 112. The foundation model 112 may analyze the content of the user request and prepare a response to the user request. For example, the foundation model 112 may analyze the content of the user request and respond to the informational request. In some examples, the foundation model 112 may analyze the content of the request and prepare an executable program that may be run on the geological software 102. For example, the foundation model 112 may prepare a series of instructions that may be enacted on the geological software 102 to perform the action requested in the user request.

[0042] In some embodiments, the geological software assistant 104 may query multiple foundation models 112, or different foundation model agents. For example, the output from the foundation model 112 may be applied to a code verifier foundation model or LLM agent. In some examples, the output from the foundation model 112 may be applied to a documentation cross-referencer agent that may add references or highlight parts of the response that may be a hallucination of the foundation model 112. In some embodiments, the output from instructions generated by the foundation model 112 may be applied to an interpretation or execution error feedback agent. An agent may analyze the feedback to improve the instructions.

[0043] In some embodiments, the geological software assistant 104 may generate a contextual query (and / or a contextual prompt) for the foundation model 112 based on the user request. For example, the geological software assistant 104 may generate a contextual query that may be used by the foundation model 112 to generate a more accurate and / or more relevant response to the user request. The geological software assistant 104 may generate context for the contextual query using information from the program datastore 110. For example, the context may include information relevant to the geological software 102 from the program datastore 110, including the program information and / or the instruction interface in the program datastore 110. The geological software assistant 104Docket No. IS24.0950-WO-PCT may provide the contextual query to the foundation model 112, and the context in the contextual query may facilitate the generation of an accurate and / or relevant response. In some embodiments, the geological software assistant 104 may generate the context for the contextual query for each query submitted to the foundation model 112.

[0044] In some embodiments, the foundation model 112 may not be trained or fined-tuned using information from the program datastore 110 and / or the geological software 102. Put another way, the foundation model 112 may be agnostic to the operation and / or content of the geological software 102. In this manner, the foundation model 112 may be any foundation model. This may enable the use of models out-of-the-box without requiring training, reduce the cost and / or effort of maintaining a specially trained model, isolate the owner of the foundation model from access to a trained, thereby enabling the geological software assistant 104 to utilize any foundation model 112 and / or use different foundation models and compare results.

[0045] In some embodiments, the geological software assistant 104 may send all of the available information from the program datastore 110 to the foundation model 112 as context in the contextual prompt. In some embodiments, the geological software assistant 104 may select the context for the contextual query based on the user request. For example, the geological software assistant 104 may analyze the content and / or intent of the user request and generate the context based on a selection of the program information and / or instructions from the instruction interface that is related to the content and / or intent of the user request. In some embodiments, the geological software assistant 104 may utilize retrieval-augmented generation (RAG) to generate the context for the contextual query. For example, the geological software assistant 104 may utilize RAG to select the information and / or instructions from the program datastore 110 as context for the contextual query. Generating a contextual query may reduce the processing time and / or resources of the foundation model 112 and / or improve the accuracy and relevance of the resulting response.

[0046] FIG. 2 is a schematic representation of a geological software assistant 204, according to at least one embodiment of the present disclosure. Each of the components of the geological software assistant 204 can include software, hardware, or both. For example, the components can include one or more instructions stored on a computer-readable storageDocket No. IS24.0950-WO-PCT medium and executable by processors of one or more computing devices, such as a client device or server device. When executed by the one or more processors, the computerexecutable instructions of the geological software assistant 204 can cause the computing device(s) to perform the methods described herein. Alternatively, the components can include hardware, such as a special -purpose processing device to perform a certain function or group of functions. Alternatively, the components of the geological software assistant 204 can include a combination of computer-executable instructions and hardware.

[0047] Furthermore, the components of the geological software assistant 204 may, for example, be implemented as one or more operating systems, as one or more stand-alone applications, as one or more modules of an application, as one or more plug-ins, as one or more library functions or functions that may be called by other applications, and / or as a cloud-computing model. Thus, the components may be implemented as a stand-alone application, such as a desktop or mobile application. Furthermore, the components may be implemented as one or more web-based applications hosted on a remote server. The components may also be implemented in a suite of mobile device applications or “apps.”

[0048] As discussed herein, the geological software assistant 204 may receive a plain language input from the user including a user request regarding geological software. The geological software assistant 204 may include a user interface 214. The user may provide the input including the user request at the user interface 214. Put another way, the geological software assistant 204 may receive the input including the user request at the user interface 214. The user interface 214 may be any type of interface for any type of input. For example, the geological software assistant 204 may receive, at the user interface 214, text input, voice input, data input, any other input, and combinations thereof. The user interface 214 may be included as a tab or other interface in the geological software, and / or may be an independent input or other interface that opens in a new window.

[0049] As discussed herein, the user request may include a request for information regarding the geological software and / or a request for the geological software assistant 204 to perform an action on the geological software. The geological software assistant 204 may include a program interface 216. The program interface 216 may facilitate interaction of the geological software assistant 204 with the geological software. For example, the program interface 216 may include an API or other interface with the geological softwareDocket No. IS24.0950-WO-PCT assistant 204. In some examples, the geological software assistant 204 may be a part of the geological software, and the program interface 216 may include a control panel or other control element that may allow the geological software assistant 204 to input instructions or other control elements to the geological software.

[0050] The geological software assistant 204 may include an intention identifier 218. The intention identifier 218 may analyze the plain language input of the user request and identify an intent in the user request. For example, the intention identifier 218 may include a foundation model trained on text interpretation, such as an LLM. In some examples, the intention identifier 218 may prepare a prompt or query for an external foundation model. The intention identifier 218 may identify an intent and / or other content from the user request.

[0051] In some embodiments, the intention identifier 218 may identify that the intent in the user request is unclear and / or has insufficient details. The geological software assistant 204 may, through the user interface 214, prepare one or more follow-up questions. The follow-up questions may be generated with the purpose of requesting additional information that may clarify the user request. For example, a follow-up question may include a request for additional information. In some examples, a follow-up question may include a request to re-state the request or a portion of the request. In some examples, a follow-up question may include information that the user may use to clarify his or her response.

[0052] In accordance with at least one embodiment of the present disclosure, with the content and intent of the user clear and has sufficient details and is compatible with the geological software, a query builder 220 may generate a contextual query to submit to a foundation model. The contextual query may be based on the user request and / or the content and intent identified by the intention identifier 218. The query builder 220 may generate the context for the query using information from a program datastore 210.

[0053] As discussed herein, the program datastore 210 may include related to the geological software. For example, the program datastore 210 may include one or more user manuals 222 for the geological software. The user manuals 222 may include the manuals, instructions, tutorials, frequently asked questions (FAQs), best practices, workarounds, customer-specific content, and other program information associated with the geologicalDocket No. IS24.0950-WO-PCT software. The user manuals 222 may be produced from any source. For example, the user manuals 222 may be produced by the manufacturer of the geological software. In some examples, the user manuals 222 may be produced by one or more users of the geological software. In some examples, the user manuals 222 may be sourced from user reviews, social media, and other online sources.

[0054] The program datastore 210 may include other data referenced by the geological software or with implied relationship to data in or referenced by the software. For example, the geological software may be part of a wider client oil and gas management network. The program datastore 210 may further incorporate public data sources, or other private sources accessible to the user at the time (such as documents and emails on a user’s desktop or cloud storage). The instruction set of the geological software assistant 204 may interact with these, including draw data from and act on that data. Further, the contextual query discussed herein may be enriched with data related to this wider information. For example, the contextual query may add an email as summary information connected with an opaque identifier. For example, a limited local LLM may summarize recent emails the user has (summarization tuned to avoid sensitive details such as actual production numbers). One recent email may appear likely to have the latest porosity range of uncertainty. The LLM may prompt back “should I look for the porosity range in the email #925292238.” The user may see the exact email title and other identifying information, but not the LLM. The exact information on porosity ranges may extracted locally (such as by a limited local LLM), and never available to the LLM.

[0055] The program datastore 210 may further include an instruction interface 224. The instruction interface 224 may include a list of instructions that may cause the geological software to perform actions. For example, the program interface 216 may input or apply one or more instructions from the instruction interface 224 to the geological software. The instruction interface 224 may include modular instructions. The modular instructions from the instruction interface 224 may be modular instructions, which may be selected a la carte, or mixed and matched to cause the geological software to perform a series or a sequence of actions.

[0056] The query builder 220 may generate context for the contextual query using the information in the program datastore 210, including the user manuals 222 and theDocket No. IS24.0950-WO-PCT instruction interface 224. In some embodiments, as discussed herein, the query builder 220 may generate context using the entire program datastore 210. In some embodiments, the query builder 220 may select certain aspects of the program datastore 210 for context. For example, the query builder 220 may select portions of the program datastore 210 that are related to the content and / or intent of the user request. This may reduce the size of the contextual query and / or reduce the processing time of the foundation model to which the geological software assistant 204 sends the contextual query.

[0057] The geological software assistant 204 may submit or input the contextual query to a foundation model. As discussed herein, the foundation model may not be trained on the geological software, or may be agnostic to the geological software or version of the geological software. The foundation model may process the contextual query and generate an output. The output may include an answer to the question or questions posed in the user request. In some embodiments, the output may include one or more instructions that the geological software assistant 204 may apply to the geological software. The instructions may be in the form of an executable program, or the call for an API in communication with the geological software.

[0058] The geological software assistant 204 may receive the output from the foundation model and provide the output to the user via the user interface 214. For example, the geological software assistant 204 may provide the answer to the question in the user request. In some embodiments, when the geological software assistant 204 receives the output from the foundation model, the program interface 216 may apply the instructions from the foundation model to the geological software. The geological software may perform the inputted instructions, with the result of the inputted instructions displayed or otherwise available for the user in the geological software. For example, the program interface 216 may input the instructions to the geological software while the geological software is open and running on the user device. In this manner, the geological software assistant 204 may automatically convert the user request to action in the geological software, thereby reducing the amount of detailed knowledge the user may need to operate the geological software.

[0059] In accordance with at least one embodiment of the present disclosure, the geological software assistant 204 may include an ID removal engine 226. In some situations, a userDocket No. IS24.0950-WO-PCT may include, in the user request, identifying information for one or more elements of a project. Such identifying information may include geological information, reserve information, pricing information, personnel information, any other identifying information, and combinations thereof. The user may desire to maintain confidentiality of the elements of the project. In some embodiments, the ID removal engine 226 may remove identifying information from the user request prior to the query builder 220 generating the contextual query. In some embodiments, the ID removal engine 226 may remove the identifying information by asking one or more follow-up questions to the user. In some embodiments, the ID removal engine 226 may remove the identifying information without input from the user.

[0060] The ID removal engine 226 may remove the identifying information in any manner. For example, the ID removal engine 226 may apply a pseudonym for a particular element of a project. In some examples, the ID removal engine 226 may genericize the information in the user request, such as by formation type, reserve type, general basin location, equipment type, and so forth. In some examples, the ID removal engine 226 may completely remove any identifying information.

[0061] FIG. 3 is a representation of a geological software automation engine 328, according to at least one embodiment of the present disclosure. The geological software automation engine 328 includes a geological software assistant 304. The geological software assistant 304 may receive an input from a user device 306. The input may include a user request regarding geological software 302. The geological software assistant 304 may process the user request to prepare a prompt to guide a foundation model 312 in interpreting text in the user request, for example, the geological software assistant 304 may prepare a contextual prompt to guide the foundation model 312 to answer the interpreted content and / or intent within the user request.

[0062] The geological software assistant 304 may prepare the prompt in any manner. For example, as discussed herein, the geological software assistant 304 may prepare the prompt to guide the foundation model 312 to identify the content and / or intent of the user request. In some examples, the geological software assistant 304 may prepare the prompt to answer the question from the user request and / or prepare an executable program or set of instructions to be performed on the geological software 302.Docket No. IS24.0950-WO-PCT

[0063] The foundation model 312 may receive the prompt and interpret the text of the user request. In some embodiments, the foundation model 312 may request a clarification of the user request. For example, the foundation model 312 may not be able to interpret the user request, the interpretation of the user request may be unclear, or the foundation model 312 may identify that the user request has insufficient details. The foundation model 312 may, in combination with the geological software assistant 304, generate a follow-up question for the user to clarify the user request. The geological software assistant 304 may provide the follow-up question to the user, and the user may provide additional information in the form of an updated user request. In some embodiments, the foundation model 312 and / or the geological software assistant 304 may recursively or iteratively request additional information, and the user may provide updated user requests until the geological software assistant 304 and the foundation model 312 determine that the updated user request is clear and / or has sufficient details and is compatible with the geological software.

[0064] In some embodiments, the geological software assistant 304 may generate a contextual prompt to guide the foundation model 312 to interpret the text of the user request. For example, the geological software assistant 304 may access a program datastore 310 to generate context for the prompt. The geological software assistant 304 may provide the contextual prompt to the foundation model 312, and the contextual prompt may guide the foundation model 312 to more accurately and / or more relevantly interpret the text of the user request.

[0065] In accordance with at least one embodiment of the present disclosure, the program datastore 310 may include prompt templates. A prompt template may include prompt language that has been previously generated and known to generate a desired outcome from the foundation model 312. Such prompt templates may be used to create responses to queries for specific sets of data. For example, a user may generate a prompt to answer a query based on client-specific data. The query may be one that is often asked, albeit with different data, or data from different clients. The geological software assistant 304 may generate a prompt template by abstracting the data in the prompt to remove client identifiers and / or removing superfluous system prompts, templates, or inputs. The prompt template may include a fillable entry to enter the data to be analyzed. In this manner, the geological software assistant 304 may generate a library of prompt templates for commonlyDocket No. IS24.0950-WO-PCT asked queries or routine queries. This may increase the consistency and / or reliability of responses from the foundation model 312.

[0066] As a specific, non-limiting example, the starting instruction or prompt from the user may include “Make me a map of the geological horizon alpha using data from wells beta, gamma, and delta,” where alpha is a specific geological horizon in a specific basin or geological stratigraphic section, and wells beta, gamma, and delta are client-specific wells that include proprietary or confidential data. The geological software assistant 304 may abstract the starting prompt to a prompt template that states “Make me a map of the geological horizon [input horizon here] using data from wells [input wells here].” The user may then input the requested data. As discussed herein, the geological software assistant 304 may provide follow-up questions to ensure that the prompt is clear, including followup questions regarding the location of the horizon, the location of the data for the input wells, and so forth. In this manner, the user may generate reliable, repeatable output from the foundation model 312 using the prompt template (and any associated follow-up questions).

[0067] The foundation model 312 may interpret the text of the user request to generate an output that is responsive to the user request. The output may be different based on the content of the user request. For example, the output may include a text response in natural language that is responsive to a question in the user request (or content or intent of the user request that is interpreted by the geological software assistant 304 and / or the foundation model 312 as a question). Such a natural language response may include any type of text output, such as an ordered list, a numbered list, a bullet list, a sentence, a paragraph, any other natural language response, and combinations thereof. In some examples, the output may include a graphical or image-based response to the user request. In some examples, the output may include a series of instructions implementable on the geological software 302. The geological software assistant 304 may input or apply the instructions in the geological software 302. The geological software 302 may execute the instructions.

[0068] In some embodiments, the user may observe the output of the instructions executed on the geological software 302. For example, the geological software assistant 304 may implement the instructions on the geological software 302 while the geological software 302 is open or running on the user device 306.Docket No. IS24.0950-WO-PCT

[0069] As a specific, non-limiting example, the user may prepare a visualization of a wellbore trajectory using the geological software 302. The user may have a question regarding a particular aspect of the visualization, such as how to add or modify elements of the visualization, how to prepare the visualization, how to scale the visualization, how to export the visualization, how to select data for the visualization, how to access data for the visualization, and so forth. As discussed herein, the geological software 302 may include many features and functions that the user may not know how to perform. In some situations, the user may not know a particular feature or function exists, but may desire that it exists.

[0070] The user may, in the geological software assistant 304, input a request related to the desired feature or function. For example, the user may input the text input “How do I change the color of the north arrow?”. The geological software assistant 304 may process the user request and generate a prompt for the foundation model 312 to interpret the text input. In some embodiments, the geological software assistant 304 and / or the foundation model 312 may identify the intent of the user input. For example, in the example provided above, the geological software assistant 304 and / or the foundation model 312 may identify that the intent includes a request for information regarding the steps to change the color of the north arrow. The foundation model 312 may interpret the intent, and the output of the foundation model 312 may include a text description of steps that explain how to change the color of the north arrow.

[0071] In some embodiments, the user may, in the geological software assistant 304, input the text input “Please change the color of the north arrow.” In this example, the geological software assistant 304 and / or the foundation model 312 may identify that the intent of this user request includes automatically changing the color of the north arrow. Based on this intent and the text of the user request, the foundation model 312 may generate a series of instructions to change the color of the north arrow. The geological software assistant 304 may implement the instructions of the geological software 302, and the geological software 302 may change the color of the north arrow. The user may, on the user device 306, see the change in the color of the north arrow, without additional input, or without receiving text instructions regarding how to change the color of the north arrow. In this manner, theDocket No. IS24.0950-WO-PCT geological software automation engine 328 may prepare a response to the user input that both interprets and is responsive to the user intent.

[0072] While the examples provided above are related to changing the color of the north arrow, it should be understood that the techniques of the present disclosure may be applied to any feature or function of the geological software 302. In some embodiments, the user request may be related to complex features and functions, that may involve tens, hundreds, thousands, or more instructions to the geological software 302. In this manner, the geological software assistant 304 may facilitate improved accessibility and use of the geological software 302.

[0073] Additional, non-limiting examples of user requests (including multi-modal requests) may include a user asking how a map visualization could be made more accessible to a color-blind user; a user asking what the key differences are between two maps / visualizations; a user asking for additional input or analysis while including a PDF document or an email sent by their boss with additional instructions (such a question may include, for example, “Is this graph effected by the updated drilling strategy?”); a user asking for a summary of a workflow script object inside of the geological software data store (the workflow script object may include a specific type of object in a geological software that contains a script-like series of steps for program execution; a user asks for the relationship between an existing workflow script object and another data object or document, and possibly alterations in response as required.

[0074] In some embodiments, the geological software assistant 304 may include a foundation model that is trained on oil and gas terminology. For example, the foundation model may be trained on a glossary. The glossary may include oil and gas terminology, or terminology that has specific meaning in the oil and gas industry. Such terminology may include regional terminology, company-specific terminology, slang, short-hand, and other information. In some embodiments, the program datastore 310 may include the glossary of oil and gas terminology. The geological software assistant 304 may generate the context for the prompt using the oil and gas glossary or dictionary. This may help to guide the foundation model 312 to interpret the user request, including the content and / or intent in the user request.Docket No. IS24.0950-WO-PCT

[0075] FIG. 4-6, the corresponding text, and the examples provide a number of different methods, systems, devices, and computer-readable media of the geological software assistant. In addition to the foregoing, one or more embodiments can also be described in terms of flowcharts comprising acts for accomplishing a particular result, as shown in FIG. 4-6. FIG. 4-6 may be performed with more or fewer acts. Further, the acts may be performed in differing orders. Additionally, the acts described herein may be repeated or performed in parallel with one another or parallel with different instances of the same or similar acts.

[0076] As mentioned, FIG. 4 illustrates a flowchart of a series of acts or a method 400 for assisting in the operation of geological software, according to at least one embodiment of the present disclosure. While FIG. 4 illustrates acts according to one embodiment, alternative embodiments may omit, add to, reorder, and / or modify any of the acts shown in FIG. 4. The acts of FIG. 4 can be performed as part of a method. Alternatively, a computer-readable medium can comprise instructions that, when executed by one or more processors, cause a computing device to perform the acts of FIG. 4. In some embodiments, a system can perform the acts of FIG. 4.

[0077] A geological software assistant may receive, from a user, an input with a user request regarding geological software at 401. The geological software assistant may identify whether the user request has sufficient details and is compatible with the geological software. The geological software assistant may, when the user request has insufficient details, prepare and provide the user a follow-up question to clarify the user request at 403. Based on the follow-up question, the geological software assistant may receive additional input including an updated user request at 404. As discussed herein, the geological software assistant may iteratively or recursively generate additional follow-up questions to further clarify the response.

[0078] When the updated user request has sufficient details and is compatible with the geological software, the geological software assistant may generate and input a program query to the geological software at 405. The program query may be based on the updated user request. The geological software assistant may provide the user an output from the geological software based on the program query at 406. The output may be responsive to the updated user request.Docket No. IS24.0950-WO-PCT

[0079] As mentioned, FIG. 5 illustrates a flowchart of a series of acts or a method 500 for assisting in the operation of geological software, according to at least one embodiment of the present disclosure. While FIG. 5 illustrates acts according to one embodiment, alternative embodiments may omit, add to, reorder, and / or modify any of the acts shown in FIG. 5. The acts of FIG. 5 can be performed as part of a method. Alternatively, a computer-readable medium can comprise instructions that, when executed by one or more processors, cause a computing device to perform the acts of FIG. 5. In some embodiments, a system can perform the acts of FIG. 5.

[0080] A geological software assistant may receive, from a user, an input with a user request regarding geological software at 501. The geological software assistant may prepare, based on the user request, a contextual query for a foundation model at 502. The contextual query includes the user request, program information, and an instruction interface. The geological software assistant may input the contextual query to the foundation model at 503. And the foundation model may output instructions for the geological software. The geological software assistant may input the instructions to the geological software at 504.

[0081] As mentioned, FIG. 6 illustrates a flowchart of a series of acts or a method 600 for assisting in the operation of geological software, according to at least one embodiment of the present disclosure. While FIG. 6 illustrates acts according to one embodiment, alternative embodiments may omit, add to, reorder, and / or modify any of the acts shown in FIG. 6. The acts of FIG. 6 can be performed as part of a method. Alternatively, a computer-readable medium can comprise instructions that, when executed by one or more processors, cause a computing device to perform the acts of FIG. 6. In some embodiments, a system can perform the acts of FIG. 6.

[0082] The geological software assistant may receive, from a user, an input with a user request at 601. The geological software assistant may generate a prompt to guide a foundation model in interpreting text in the user request at 602. The geological software assistant may receive an output from the foundation model at 603. The output includes an intent of the user request.Docket No. IS24.0950-WO-PCT

[0083] FIG. 7 illustrates certain components that may be included within a computer system 700. One or more computer systems 700 may be used to implement the various devices, components, and systems described herein.

[0084] The computer system 700 includes a processor 701. The processor 701 may be a general-purpose single or multi-chip microprocessor (e.g., an Advanced RISC (Reduced Instruction Set Computer) Machine (ARM)), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor 701 may be referred to as a central processing unit (CPU). Although just a single processor 701 is shown in the computer system 700 of FIG. 7, in an alternative configuration, a combination of processors (e.g., an ARM and DSP) could be used.

[0085] The computer system 700 also includes memory 703 in electronic communication with the processor 701. The memory 703 may be any electronic component capable of storing electronic information. For example, the memory 703 may be embodied as random access memory (RAM), read-only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included with the processor, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) memory, registers, and so forth, including combinations thereof.

[0086] Instructions 705 and data 707 may be stored in the memory 703. The instructions 705 may be executable by the processor 701 to implement some or all of the functionality disclosed herein. Executing the instructions 705 may involve the use of the data 707 that is stored in the memory 703. Any of the various examples of modules and components described herein may be implemented, partially or wholly, as instructions 705 stored in memory 703 and executed by the processor 701. Any of the various examples of data described herein may be among the data 707 that is stored in memory 703 and used during execution of the instructions 705 by the processor 701.

[0087] A computer system 700 may also include one or more communication interfaces 709 for communicating with other electronic devices. The communication interface(s) 709 may be based on wired communication technology, wireless communication technology, or both. Some examples of communication interfaces 709 include a Universal Serial Bus (USB), an Ethernet adapter, a wireless adapter that operates in accordance with an InstituteDocket No. IS24.0950-WO-PCT of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, a Bluetooth® wireless communication adapter, and an infrared (IR) communication port.

[0088] A computer system 700 may also include one or more input devices 711 and one or more output devices 713. Some examples of input devices 711 include a keyboard, mouse, microphone, remote control device, button, joystick, trackball, touchpad, and lightpen. Some examples of output devices 713 include a speaker and a printer. One specific type of output device that is typically included in a computer system 700 is a display device 715. Display devices 715 used with embodiments disclosed herein may utilize any suitable image projection technology, such as liquid crystal display (LCD), light-emitting diode (LED), gas plasma, electroluminescence, or the like. A display controller 717 may also be provided, for converting data 707 stored in the memory 703 into text, graphics, and / or moving images (as appropriate) shown on the display device 715.

[0089] The various components of the computer system 700 may be coupled together by one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For the sake of clarity, the various buses are illustrated in FIG. 7 as a bus system 719.

[0090] The embodiments of geological software assistant have been primarily described with reference to wellbore drilling operations; the geological software assistants described herein may be used in applications other than the drilling of a wellbore. In other embodiments, geological software assistants according to the present disclosure may be used outside a wellbore or other downhole environment used for the exploration or production of natural resources. For instance, geological software assistants of the present disclosure may be used in a borehole used for placement of utility lines. Accordingly, the terms “wellbore,” “borehole” and the like should not be interpreted to limit tools, systems, assemblies, or methods of the present disclosure to any particular industry, field, or environment.

[0091] One or more specific embodiments of the present disclosure are described herein. These described embodiments are examples of the presently disclosed techniques. Additionally, in an effort to provide a concise description of these embodiments, not all features of an actual embodiment may be described in the specification. It should beDocket No. IS24.0950-WO-PCT appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous embodiment-specific decisions will be made to achieve the developers’ specific goals, such as compliance with system-related and business-related constraints, which may vary from one embodiment to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.

[0092] Additionally, it should be understood that references to “one embodiment” or “an embodiment” of the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features. For example, any element described in relation to an embodiment herein may be combinable with any element of any other embodiment described herein. Numbers, percentages, ratios, or other values stated herein are intended to include that value, and also other values that are “about” or “approximately” the stated value, as would be appreciated by one of ordinary skill in the art encompassed by embodiments of the present disclosure. A stated value should therefore be interpreted broadly enough to encompass values that are at least close enough to the stated value to perform a desired function or achieve a desired result. The stated values include at least the variation to be expected in a suitable manufacturing or production process, and may include values that are within 5%, within 1%, within 0.1%, or within 0.01% of a stated value.

[0093] A person having ordinary skill in the art should realize in view of the present disclosure that equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations may be made to embodiments disclosed herein without departing from the spirit and scope of the present disclosure. Equivalent constructions, including functional “means-plus-function” clauses are intended to cover the structures described herein as performing the recited function, including both structural equivalents that operate in the same manner, and equivalent structures that provide the same function. It is the express intention of the applicant not to invoke means-plus-function or other functional claiming for any claim except for those in which the words ‘means for’ appear together with an associated function. Each addition,Docket No. IS24.0950-WO-PCT deletion, and modification to the embodiments that falls within the meaning and scope of the claims is to be embraced by the claims.

[0094] The terms “approximately,” “about,” and “substantially” as used herein represent an amount close to the stated amount that is within standard manufacturing or process tolerances, or which still performs a desired function or achieves a desired result. For example, the terms “approximately,” “about,” and “substantially” may refer to an amount that is within less than 5% of, within less than 1% of, within less than 0.1% of, and within less than 0.01% of a stated amount. Further, it should be understood that any directions or reference frames in the preceding description are merely relative directions or movements. For example, any references to “up” and “down” or “above” or “below” are merely descriptive of the relative position or movement of the related elements.

[0095] The present disclosure may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered as illustrative and not restrictive. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. Changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

Docket No. IS24.0950-WO-PCTCLAIMSWhat is claimed is:

1. A method, comprising: receiving, from a user, an input with a user request regarding geological software; identifying whether the user request has sufficient details and is compatible with the geological software; when the user request has insufficient details, preparing and providing to the user a follow-up question to clarify the user request; based on the follow-up question, receiving additional input including an updated user request; when the updated user request has sufficient details and is compatible with the geological software, generating and inputting a program query to the geological software, the program query based on the updated user request; and providing the user an output from the geological software based on the program query, the output responsive to the updated user request.

2. The method of Claim 1, further comprising identifying a user intent from the user request, and wherein identifying whether the user request has sufficient details and is compatible with the geological software includes identifying whether the user intent has sufficient details and is compatible with the geological software.

3. The method of Claim 2, wherein the user intent includes at least one of a request for information or a request to perform an action.

4. The method of Claim 2, wherein identifying the user intent includes applying the input to a foundation model.Docket No. IS24.0950-WO-PCT5. The method of Claim 1 , wherein identifying whether the user request has sufficient details and is compatible with the geological software includes applying the user request and program information associated with the geological software to a foundation model.

6. The method of Claim 1, further comprising, based on the updated user request, generating and submitting a contextual query to a foundation model, the contextual query including program information and an instruction interface, the foundation model generating the program query based on the contextual query.

7. The method of Claim 6, wherein generating the contextual query includes generating the contextual query with the program information and the instruction interface based on the updated user request.

8. The method of Claim 7, wherein generating the contextual query includes generating the contextual query using retrieval -augmented generation.

9. The method of Claim 6, wherein generating and inputting the contextual query includes removing identifying information and / or sensitive information about the user from the contextual query.

10. The method of Claim 6, wherein the contextual query includes a series of instructions to be performed by the geological software.

11. The method of Claim 6, wherein the foundation model is not trained on the geological software.

12. A system, comprising: a processor and memory, the memory including instructions that cause the processor to perform the acts of:Docket No. IS24.0950-WO-PCT receiving, from a user, an input with a user request regarding a geological software; preparing, based on the user request, a contextual query for a foundation model, the contextual query including the user request, program information, and an instruction interface; inputting the contextual query to the foundation model, the foundation model outputting instructions for the geological software; and inputting the instructions to the geological software.

13. The system of Claim 12, wherein inputting the instructions to the geological software includes inputting the instructions to the geological software without additional input from the user.

14. The system of Claim 12, wherein the foundation model further outputs a natural language response to the user request.

15. The system of Claim 12, wherein the input includes identifying information for the user, and wherein preparing the contextual query includes removing the identifying information from the contextual query.

16. The system of Claim 12, wherein the foundation model is not trained on the geological software.

17. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising: receiving, from a user, an input with a user request; generating a prompt to guide a foundation model in interpreting text in the user request; and receiving, in response to the foundation model using the prompt to process the user request, an output from the foundation model, wherein the output includes an intent of the user request.Docket No. IS24.0950-WO-PCT18. The non-transitory computer-readable storage medium of Claim 17, wherein the foundation model is trained on oil and gas terminology.

19. The non-transitory computer-readable storage medium of Claim 17, wherein the operations further comprise: preparing, based on the intent, a contextual query for the foundation model, the contextual query including the user request, program information, and an instruction interface; inputting the contextual query to the foundation model, the foundation model outputting instructions for geological software; and inputting the instructions to the geological software.

20. The non-transitory computer-readable storage medium of Claim 17, wherein the operations further comprise: identifying whether the intent has sufficient details and is compatible with geological software; when the user request has insufficient details, preparing and providing to the user a follow-up question to clarify the user request; based on the follow-up question, receiving additional input including an updated user request; and when the updated user request has sufficient details and is compatible with the geological software, generating and inputting a program query to the geological software, the program query based on the updated user request.

Citation Information

Patent Citations

  • Iterative and interactive context based searching

    US20100057728A1

  • Artificial intelligence application in human machine interface for advanced information processing and task managing

    US20110231353A1

  • Interactive search engine

    US20170243107A1

  • Machine learning instancing

    US20240202584A1