IP Library Granted Patent US 12681930
Granted Patent B1
US 12681930 · App. 19/003,448 · Granted Jul 14, 2026

Retrieval augmented generation

Inventors: Lei Gu (Bedford, MA); Iskander Sanchez Rola (Redwood City, CA)
Assignee: GEN DIGITAL INC.
G06F16/24539G06F16/2358
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 12681930
App. No.
19/003,448
Granted
Jul 14, 2026
Kind
B1
Abstract

In one embodiment, a method may include receiving a first input query from a client device, generating a first set of related queries based on the first input query, executing a search to generate a first response to the first input query, storing the first response, the first input query, and the first set of related queries in a cache such that the first response is associated with the first input query and the first set of related queries, and providing, in response to receiving the first input query, the first response to the client device.

Claims (98)

1 . A computer-implemented method for retrieval augmented generation, the method comprising:

receiving a first input query from a client device;

generating a first set of related queries based on the first input query, each related query in the first set of related queries being a variation of the first input query;

executing a search to generate a first response to the first input query;

storing the first response, the first input query, and the first set of related queries in a cache, wherein the first response is associated with the first input query and the first set of related queries;

providing, in response to receiving the first input query, the first response to the client device;

receiving a second input query from the client device or a different client device; and

determining that the second input query matches at least one of the first input query or a related query in the first set of related queries stored in the cache.

2 . The computer-implemented method of claim 1 , further comprising:

providing, in response to receiving the second input query, the first response without executing a second search.

3 . The computer-implemented method of claim 1 , further comprising:

receiving a third input query from the client device or a different client device;

determining that the third input query does not match the first input query and any of the related queries in the first set of related queries stored in the cache;

generating a second set of related queries based on the third input query, each related query in the second set of related queries being a variation of the third input query; and

executing a second search to generate a second response to the third input query.

4 . The computer-implemented method of claim 3 , further comprising:

comparing the second response to the first response;

determining that the second response provides information that is the same as the first response;

storing the third input query and the second set of related queries in the cache, wherein the first response is associated with the third input query and the second set of related queries; and

providing, in response to receiving the third input query, the first response or the second response.

5 . The computer-implemented method of claim 3 , further comprising:

comparing the second response to the first response;

determining that the second response provides information that is different than the first response;

storing the second response, the third input query, and the second set of related queries in the cache, wherein the second response is associated with the third input query and the second set of related queries; and

providing, in response to receiving the third input query, the second response.

6 . The computer-implemented method of claim 1 , further comprising:

determining that the first response is current; and

providing, in response to receiving the second input query, the first response without executing a second search.

7 . The computer-implemented method of claim 6 , wherein the determination that the first response is current is based on a determination that a reference location has not been updated, the reference location being a source of information utilized to generate the first response.

8 . The computer-implemented method of claim 6 , wherein the determination that the first response is current is based on a determination that a reference location has not expired, the reference location being a source of information utilized to generate the first response.

9 . The computer-implemented method of claim 1 , further comprising:

determining that the first response is not current;

executing a second search to generate an updated first response to the second input query;

storing the updated first response in the cache, wherein the updated first response is associated with the first input query and the first set of related queries stored in the cache; and

providing, in response to receiving the second input query, the updated first response.

10 . One or more non-transitory computer-readable media comprising one or more computer-readable instructions that, when executed by one or more processors of a computing device, cause the computing device to perform a method for retrieval augmented generation, the method comprising:

receiving a first input query from a client device;

generating a first set of related queries based on the first input query, each related query in the first set of related queries being a variation of the first input query;

executing a search to generate a first response to the first input query;

storing the first response, the first input query, and the first set of related queries in a cache, wherein the first response is associated with the first input query and the first set of related queries;

providing, in response to receiving the first input query, the first response to the client device;

receiving a second input query from the client device or a different client device; and

determining that the second input query matches at least one of the first input query or a related query in the first set of related queries stored in the cache.

11 . The one or more non-transitory computer-readable media of claim 10 , wherein the method further comprises:

providing, in response to receiving the second input query, the first response without executing a second search.

12 . The one or more non-transitory computer-readable media of claim 10 , wherein the method further comprises:

receiving a third input query from the client device or a different client device;

determining that the third input query does not match the first input query and any of the related queries in the first set of related queries stored in the cache;

generating a second set of related queries based on the third input query, each related query in the second set of related queries being a variation of the third input query; and

executing a second search to generate a second response to the third input query.

13 . The one or more non-transitory computer-readable media of claim 12 , wherein the method further comprises:

comparing the second response to the first response;

determining that the second response provides information that is the same as the first response;

storing the third input query and the second set of related queries in the cache, wherein the first response is associated with the third input query and the second set of related queries; and

providing, in response to receiving the third input query, the first response or the second response.

14 . The one or more non-transitory computer-readable media of claim 12 , wherein the method further comprises:

comparing the second response to the first response;

determining that the second response provides information that is different than the first response;

storing the second response, the third input query, and the second set of related queries in the cache, wherein the second response is associated with the third input query and the second set of related queries; and

providing, in response to receiving the third input query, the second response.

15 . The one or more non-transitory computer-readable media of claim 10 , wherein the method further comprises:

determining that the first response is current; and

providing, in response to receiving the second input query, the first response without executing a second search.

16 . The one or more non-transitory computer-readable media of claim 10 , wherein the method further comprises:

determining that the first response is not current;

executing a second search to generate an updated first response to the second input query;

storing the updated first response in the cache, wherein the updated first response is associated with the first input query and the first set of related queries stored in the cache; and

providing, in response to receiving the second input query, the updated first response.

17 . A computing device comprising:

one or more processors; and

one or more non-transitory computer-readable media comprising one or more computer-readable instructions that, when executed by the one or more processors, cause the computing device to perform a method for retrieval augmented generation, the method comprising:

receiving a first input query from a client device;

generating a first set of related queries based on the first input query, each related query in the first set of related queries being a variation of the first input query;

executing a search to generate a first response to the first input query;

storing the first response, the first input query, and the first set of related queries in a cache, wherein the first response is associated with the first input query and the first set of related queries;

providing, in response to receiving the first input query, the first response to the client device;

receiving a second input query from the client device or a different client device; and

determining that the second input query matches at least one of the first input query or a related query in the first set of related queries stored in the cache.

18 . The computing device of claim 17 , wherein the method further comprises

providing, in response to receiving the second input query, the first response without executing a second search.

19 . The computing device of claim 17 , wherein the method further comprises:

receiving a third input query from the client device or a different client device;

determining that the third input query does not match the first input query and any of the related queries in the first set of related queries stored in the cache;

generating a second set of related queries based on the third input query, each related query in the second set of related queries being a variation of the third input query;

executing a second search to generate a second response to the third input query;

comparing the second response to the first response;

determining that the second response provides information that is the same as the first response;

storing the third input query and the second set of related queries in the cache, wherein the first response is associated with the third input query and the second set of related queries; and

providing, in response to receiving the third input query, the first response or the second response.

20 . The computing device of claim 17 , wherein the method further comprises:

receiving a third input query from the client device or a different client device;

determining that the third input query does not match the first input query and any of the related queries in the first set of related queries stored in the cache;

generating a second set of related queries based on the third input query, each related query in the second set of related queries being a variation of the third input query;

executing a second search to generate a second response to the third input query;

comparing the second response to the first response;

determining that the second response provides information that is different than the first response;

storing the second response, the third input query, and the second set of related queries in the cache, wherein the second response is associated with the third input query and the second set of related queries; and

providing, in response to receiving the third input query, the second response.