IP Library › Granted Patent US 12,699,693
Granted Patent B2
US 12,699,693 · App. 18/657,464 · Granted Aug 4, 2026

Framework for language model copilot development

Inventors: Sara Malvar Maua (Brasilia, BR); Renato Luiz De Freitas Cunha (São Paulo, BR); Leonardo de Oliveira Nunes (Rio de Janeiro, BR); Ranveer Chandra (Kirkland, WA); Rafael Soares Padilha (Campinas, BR); Roberto De Moura Estevão Filho (Teresópolis, BR); Bruno Silva (Recife, BR); Morris Eli Sharp (Seattle, WA); Maria Angels De Luis Balaguer (Redmond, WA); Swati Sharma (Hayward, CA); Vinamra Benara (Berkeley, CA); Riyaz Mohamed Pishori (Sammamish, WA); Jessica Kristan Wolk (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/24522
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,699,693
App. No.
18/657,464
Filed
May 7, 2024
Granted
Aug 4, 2026
Kind
B2
Examiner
YEN, ERIC L
Art Unit
2658
USPC
704/9
Abstract

The present disclosure relates to systems and methods for creating a copilot. The copilot uses plugins to provide additional features and functionalities to the copilot. The systems and methods use a large language model (LLM) pipeline to generate a knowledge resource used by the plugins and/or an LLM in the copilot to answer queries from a user.

Claims (48)

1 . A method comprising:

receiving, at a large language model (LLM), a query and a description of a plurality of tools available for use with the LLM;

determining, by the large language model, to use a tool of the plurality of tools in response to a description of the tool of the plurality of tools matching a portion of the query;

providing a call to the tool with the query;

receiving information from the tool in response to the call;

using, by the LLM, the information in providing a response to the query; and

outputting the response to the query.

2 . The method of claim 1 , wherein each tool of the plurality of tools performs a function that provides the LLM additional capabilities in providing a response to the query and the description of the plurality of tools describes functions provided by the plurality of tools.

3 . The method of claim 1 , wherein the call includes a subquery generated by the LLM to aid the LLM in responding to the query.

4 . The method of claim 1 , further comprising:

determining to use a set of tools of the plurality of tools in response to a description of the set of tools matching a portion of the query;

providing a call to each tool of the set of tools with the query;

receiving information from each tool of the set of tools in response to the call to each tool of the set of tools; and

using, by the LLM, the information from each tool to provide a response to the query.

5 . The method of claim 1 , wherein the plurality of tools are included in a plugin that is remote from a copilot hosting the LLM and the copilot accesses the plugin via a network.

6 . The method of claim 1 , wherein the plurality of tools are included in a plurality of plugins remote from a copilot hosting the LLM and the copilot accesses the plurality of plugins via a network.

7 . The method of claim 6 , wherein the plurality of plugins use a standard format and are created by a user for use with the copilot.

8 . The method of claim 1 , wherein the LLM uses a custom dataset for a context of a user that provided the query in generating a tailored response to the context of the user.

9 . The method of claim 1 , wherein the tool of the plurality of tools is a specialized model trained using a LLM pipeline to answer specific questions by retrieving the information from a custom dataset by searching an index of embeddings of the custom dataset and provides the information to the LLM to use in responding to the query.

10 . The method of claim 9 , wherein the LLM pipeline includes:

creating a dataset to train the specialized model by generating questions and answers from a custom dataset;

using the questions and answers to train the specialized model; and

using metrics to evaluate a quality of the questions and answers and a quality of the specialized model.

11 . A device comprising:

a memory to store data and instructions; and

a processor operable to communicate with the memory, wherein the processor is operable to:

receive, at a large language model (LLM), a query and a description of a plurality of tools available for use with the LLM;

determine, by the large language model, to use a tool of the plurality of tools in response to a description of the tool matching a portion of the query;

provide a call to the tool with the query;

receive information from the tool in response to the call;

use, by the LLM, the information in providing a response to the query; and

output the response to the query.

12 . The device of claim 11 , wherein each tool of the plurality of tools performs a function that provides the LLM additional capabilities in providing a response to the query and the description of the plurality of tools describes functions provided by the plurality of tools.

13 . The device of claim 11 , wherein the call includes a subquery generated by the LLM to aid the LLM in responding to the query.

14 . The device of claim 11 , wherein the processor is further operable to:

determine to use a set of tools of the plurality of tools in response to a description of the set of tools matching a portion of the query;

provide a call to each tool of the set of tools with the query;

receive information from each tool of the set of tools in response to the call to each tool of the set of tools; and

use, by the LLM, the information from each tool to provide a response to the query.

15 . The device of claim 11 , wherein the plurality of tools are included in a plugin that is remote from a copilot hosting the LLM and the copilot accesses the plugin via a network.

16 . The device of claim 11 , wherein the plurality of tools are included in a plurality of plugins remote from a copilot hosting the LLM and the copilot accesses the plurality of plugins via a network.

17 . The device of claim 16 , wherein the plurality of plugins use a standard format and are created by a user for use with the copilot.

18 . The device of claim 11 , wherein the LLM uses a custom dataset for a context of a user that provided the query in generating a tailored response to the context of the user.

19 . The device of claim 11 , wherein the tool of the plurality of tools is a specialized model trained using a LLM pipeline to answer specific questions by retrieving the information from a custom dataset by searching an index of embeddings of the custom dataset and provides the information to the LLM to use in responding to the query.

20 . The device of claim 19 , wherein the LLM pipeline includes:

creating a dataset to train the specialized model by generating questions and answers from a custom dataset;

using the questions and answers to train the specialized model; and

using metrics to evaluate a quality of the questions and answers and a quality of the specialized model.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2024
From: SILVA, BRUNO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 069512/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2024
From: CHANDRA, RANVEER
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 068780/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: MALVAR MAUA, SARA; DE FREITAS CUNHA, RENATO LUIZ; NUNES, LEONARDO DE OLIVEIRA; PADILHA, RAFAEL SOARES; DE MOURA ESTEVÃO FILHO, ROBERTO; SHARP, MORRIS ELI; DE LUIS BALAGUER, MARIA ANGELS; SHARMA, SWATI; BENARA, VINAMRA; PISHORI, RIYAZ MOHAMED; WOLK, JESSICA KRISTAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 067342/0071 →
Continuity (1)
Related Publication 20250348483A1 · Nov 13, 2025
References Cited (14)
US 12141134B1 · Powar · 2024 [cited by examiner]
US 12456020B1 · Mishra · 2025 [cited by examiner]
US 20250036887A1 · Sukhija · 2025 [cited by examiner]
US 20250053582A1 · Yao · 2025 [cited by examiner]
US 20250078823A1 · Fan · 2025 [cited by examiner]
US 20250104693A1 · Papayiannis · 2025 [cited by examiner]
US 20250156413A1 · Barkan · 2025 [cited by examiner]
US 20250200293A1 · Liu · 2025 [cited by examiner]
US 20250298970A1 · Khosla · 2025 [cited by examiner]
WO WO2024207009A1 · 2024 [cited by examiner]
Sahil Girhepuje, Siva Sankar Sajeev, Purvam Jain, Arya Sikder, Adithya Rama Varma, Ryan George, Akshay Govind Srinivasan, Mahendra Kurup, Ashmit Sinha, Sudip Mondal, “Re-gains & EnCHANT: Intelligent Tool Manipulation Sy… [cited by examiner]
Minghao Li, Yingxiu Zhao, Bowen Yu, Feifan Song, Hangyu Li, Haiyang Yu, Zhoujun Li, Fei Huang, Yongbin Li, “API-Bank: A Comprehensive Benchmark for Tool-Augmented LLMs”, 2023, https://arxiv.org/abs/2304.08244 (Year: 202… [cited by examiner]
Yuchen Zhuang, Yue Yu, Kuan Wang, Haotian Sun, Chao Zhang, “ToolQA: A Dataset for LLM Question Answering with External Tools”, 2023, https://arxiv.org/abs/2306.13304 (Year: 2023). [cited by examiner]
Balaguer, et al., “Ragvs Fine-Tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture”, Computer Science, 2024, 33 pages. [cited by applicant]