Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add generativeDirectAnswer service #263

Merged
merged 14 commits into from
Jun 6, 2024
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions docs/search-core.endpoints.generativedirectanswer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [Endpoints](./search-core.endpoints.md) &gt; [generativeDirectAnswer](./search-core.endpoints.generativedirectanswer.md)

## Endpoints.generativeDirectAnswer property

<b>Signature:</b>

```typescript
generativeDirectAnswer?: string;
```
1 change: 1 addition & 0 deletions docs/search-core.endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export interface Endpoints
| Property | Type | Description |
| --- | --- | --- |
| [filterSearch?](./search-core.endpoints.filtersearch.md) | string | <i>(Optional)</i> |
| [generativeDirectAnswer?](./search-core.endpoints.generativedirectanswer.md) | string | <i>(Optional)</i> |
| [questionSubmission?](./search-core.endpoints.questionsubmission.md) | string | <i>(Optional)</i> |
| [status?](./search-core.endpoints.status.md) | string | <i>(Optional)</i> |
| [universalAutocomplete?](./search-core.endpoints.universalautocomplete.md) | string | <i>(Optional)</i> |
Expand Down
23 changes: 23 additions & 0 deletions docs/search-core.generativedirectanswerrequest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md)

## GenerativeDirectAnswerRequest interface

Options which can be specified for a generative direct answer request.

<b>Signature:</b>

```typescript
export interface GenerativeDirectAnswerRequest extends SearchRequest
```
<b>Extends:</b> [SearchRequest](./search-core.searchrequest.md)

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [results](./search-core.generativedirectanswerrequest.results.md) | [VerticalResults](./search-core.verticalresults.md)<!-- -->\[\] | The complete set of Search Results |
| [searchId](./search-core.generativedirectanswerrequest.searchid.md) | string | The ID of the search request. |
| [searchTerm](./search-core.generativedirectanswerrequest.searchterm.md) | string | The text of the user-written query that prompted Search results. |

13 changes: 13 additions & 0 deletions docs/search-core.generativedirectanswerrequest.results.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md) &gt; [results](./search-core.generativedirectanswerrequest.results.md)

## GenerativeDirectAnswerRequest.results property

The complete set of Search Results

<b>Signature:</b>

```typescript
results: VerticalResults[];
```
13 changes: 13 additions & 0 deletions docs/search-core.generativedirectanswerrequest.searchid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md) &gt; [searchId](./search-core.generativedirectanswerrequest.searchid.md)

## GenerativeDirectAnswerRequest.searchId property

The ID of the search request.

<b>Signature:</b>

```typescript
searchId: string;
```
13 changes: 13 additions & 0 deletions docs/search-core.generativedirectanswerrequest.searchterm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md) &gt; [searchTerm](./search-core.generativedirectanswerrequest.searchterm.md)

## GenerativeDirectAnswerRequest.searchTerm property

The text of the user-written query that prompted Search results.

<b>Signature:</b>

```typescript
searchTerm: string;
```
13 changes: 13 additions & 0 deletions docs/search-core.generativedirectanswerresponse.citations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md) &gt; [citations](./search-core.generativedirectanswerresponse.citations.md)

## GenerativeDirectAnswerResponse.citations property

An array of uids from the relevant [Result.rawData](./search-core.result.rawdata.md) that were used to form the directAnswer.

<b>Signature:</b>

```typescript
citations: string[];
```
13 changes: 13 additions & 0 deletions docs/search-core.generativedirectanswerresponse.directanswer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md) &gt; [directAnswer](./search-core.generativedirectanswerresponse.directanswer.md)

## GenerativeDirectAnswerResponse.directAnswer property

The text of the final generated response.

<b>Signature:</b>

```typescript
directAnswer: string;
```
22 changes: 22 additions & 0 deletions docs/search-core.generativedirectanswerresponse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md)

## GenerativeDirectAnswerResponse interface

A representation of a generative direct answer response.

<b>Signature:</b>

```typescript
export interface GenerativeDirectAnswerResponse
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [citations](./search-core.generativedirectanswerresponse.citations.md) | string\[\] | An array of uids from the relevant [Result.rawData](./search-core.result.rawdata.md) that were used to form the directAnswer. |
| [directAnswer](./search-core.generativedirectanswerresponse.directanswer.md) | string | The text of the final generated response. |
| [resultStatus](./search-core.generativedirectanswerresponse.resultstatus.md) | string | A string representing whether there was a result found within the given invocation. |

13 changes: 13 additions & 0 deletions docs/search-core.generativedirectanswerresponse.resultstatus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md) &gt; [resultStatus](./search-core.generativedirectanswerresponse.resultstatus.md)

## GenerativeDirectAnswerResponse.resultStatus property

A string representing whether there was a result found within the given invocation.

<b>Signature:</b>

```typescript
resultStatus: string;
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerService](./search-core.generativedirectanswerservice.md) &gt; [generateAnswer](./search-core.generativedirectanswerservice.generateanswer.md)

## GenerativeDirectAnswerService.generateAnswer() method

Generates an answer to a search query.

<b>Signature:</b>

```typescript
generateAnswer(request: GenerativeDirectAnswerRequest): Promise<GenerativeDirectAnswerResponse>;
```

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| request | [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md) | |

<b>Returns:</b>

Promise&lt;[GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md)<!-- -->&gt;

20 changes: 20 additions & 0 deletions docs/search-core.generativedirectanswerservice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [GenerativeDirectAnswerService](./search-core.generativedirectanswerservice.md)

## GenerativeDirectAnswerService interface

A service for generative direct answer requests.

<b>Signature:</b>

```typescript
export interface GenerativeDirectAnswerService
```

## Methods

| Method | Description |
| --- | --- |
| [generateAnswer(request)](./search-core.generativedirectanswerservice.generateanswer.md) | Generates an answer to a search query. |

3 changes: 3 additions & 0 deletions docs/search-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@
| [FieldValueStaticFilter](./search-core.fieldvaluestaticfilter.md) | A [FieldValueFilter](./search-core.fieldvaluefilter.md) with the kind of filter specified to discriminate between static filter types. |
| [FilterSearchRequest](./search-core.filtersearchrequest.md) | Options for a filtersearch request. |
| [FilterSearchResponse](./search-core.filtersearchresponse.md) | The response of a filtersearch request. |
| [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md) | Options which can be specified for a generative direct answer request. |
| [GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md) | A representation of a generative direct answer response. |
| [GenerativeDirectAnswerService](./search-core.generativedirectanswerservice.md) | A service for generative direct answer requests. |
| [HighlightedValue](./search-core.highlightedvalue.md) | A field value and its substring matches as emphasized by the Search API. |
| [HolidayHours](./search-core.holidayhours.md) | An interface for holiday hours to use in [BaseFieldValueDirectAnswer.value](./search-core.basefieldvaluedirectanswer.value.md)<!-- -->. |
| [Hours](./search-core.hours.md) | An interface for hours fields to use in [BaseFieldValueDirectAnswer.value](./search-core.basefieldvaluedirectanswer.value.md)<!-- -->. |
Expand Down
3 changes: 2 additions & 1 deletion docs/search-core.searchcore._constructor_.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Constructs a new instance of the `SearchCore` class
<b>Signature:</b>

```typescript
constructor(searchService: SearchService, questionSubmissionService: QuestionSubmissionService, autoCompleteService: AutocompleteService);
constructor(searchService: SearchService, questionSubmissionService: QuestionSubmissionService, autoCompleteService: AutocompleteService, generativeDirectAnswerService: GenerativeDirectAnswerService);
```

## Parameters
Expand All @@ -19,4 +19,5 @@ constructor(searchService: SearchService, questionSubmissionService: QuestionSub
| searchService | [SearchService](./search-core.searchservice.md) | |
| questionSubmissionService | [QuestionSubmissionService](./search-core.questionsubmissionservice.md) | |
| autoCompleteService | [AutocompleteService](./search-core.autocompleteservice.md) | |
| generativeDirectAnswerService | [GenerativeDirectAnswerService](./search-core.generativedirectanswerservice.md) | |

28 changes: 28 additions & 0 deletions docs/search-core.searchcore.generativedirectanswer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@yext/search-core](./search-core.md) &gt; [SearchCore](./search-core.searchcore.md) &gt; [generativeDirectAnswer](./search-core.searchcore.generativedirectanswer.md)

## SearchCore.generativeDirectAnswer() method

Performs a generative direct answer request.

<b>Signature:</b>

```typescript
generativeDirectAnswer(request: GenerativeDirectAnswerRequest): Promise<GenerativeDirectAnswerResponse>;
```

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| request | [GenerativeDirectAnswerRequest](./search-core.generativedirectanswerrequest.md) | Generative direct answer request options |

<b>Returns:</b>

Promise&lt;[GenerativeDirectAnswerResponse](./search-core.generativedirectanswerresponse.md)<!-- -->&gt;

## Remarks

If rejected, the reason will be an [SearchError](./search-core.searcherror.md)<!-- -->.

3 changes: 2 additions & 1 deletion docs/search-core.searchcore.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@ export declare class SearchCore

| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(searchService, questionSubmissionService, autoCompleteService)](./search-core.searchcore._constructor_.md) | | Constructs a new instance of the <code>SearchCore</code> class |
| [(constructor)(searchService, questionSubmissionService, autoCompleteService, generativeDirectAnswerService)](./search-core.searchcore._constructor_.md) | | Constructs a new instance of the <code>SearchCore</code> class |

## Methods

| Method | Modifiers | Description |
| --- | --- | --- |
| [filterSearch(request)](./search-core.searchcore.filtersearch.md) | | Performs a filtersearch request against specified fields within a single vertical. |
| [generativeDirectAnswer(request)](./search-core.searchcore.generativedirectanswer.md) | | Performs a generative direct answer request. |
| [submitQuestion(request)](./search-core.searchcore.submitquestion.md) | | Submits a custom question to the Search API. |
| [universalAutocomplete(request)](./search-core.searchcore.universalautocomplete.md) | | Performs an autocomplete request across all verticals. |
| [universalSearch(request)](./search-core.searchcore.universalsearch.md) | | Performs a search across all verticals. |
Expand Down
24 changes: 23 additions & 1 deletion etc/search-core.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,8 @@ export interface Endpoints {
// (undocumented)
filterSearch?: string;
// (undocumented)
generativeDirectAnswer?: string;
// (undocumented)
questionSubmission?: string;
// (undocumented)
status?: string;
Expand Down Expand Up @@ -377,6 +379,25 @@ export interface FilterSearchResponse {
uuid: string;
}

// @public
export interface GenerativeDirectAnswerRequest extends SearchRequest {
results: VerticalResults[];
searchId: string;
searchTerm: string;
}

// @public
export interface GenerativeDirectAnswerResponse {
citations: string[];
directAnswer: string;
resultStatus: string;
}

// @public
export interface GenerativeDirectAnswerService {
generateAnswer(request: GenerativeDirectAnswerRequest): Promise<GenerativeDirectAnswerResponse>;
}

// @public
export type HighlightedFields = {
[fieldId: string]: HighlightedValue | HighlightedValue[] | HighlightedFields | HighlightedFields[];
Expand Down Expand Up @@ -649,8 +670,9 @@ export interface SearchConfigWithToken extends BaseSearchConfig {

// @public
export class SearchCore {
constructor(searchService: SearchService, questionSubmissionService: QuestionSubmissionService, autoCompleteService: AutocompleteService);
constructor(searchService: SearchService, questionSubmissionService: QuestionSubmissionService, autoCompleteService: AutocompleteService, generativeDirectAnswerService: GenerativeDirectAnswerService);
filterSearch(request: FilterSearchRequest): Promise<FilterSearchResponse>;
generativeDirectAnswer(request: GenerativeDirectAnswerRequest): Promise<GenerativeDirectAnswerResponse>;
submitQuestion(request: QuestionSubmissionRequest): Promise<QuestionSubmissionResponse>;
universalAutocomplete(request: UniversalAutocompleteRequest): Promise<AutocompleteResponse>;
universalSearch(request: UniversalSearchRequest): Promise<UniversalSearchResponse>;
Expand Down
19 changes: 18 additions & 1 deletion src/SearchCore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ import { UniversalAutocompleteRequest, VerticalAutocompleteRequest, FilterSearch
import { AutocompleteResponse, FilterSearchResponse } from './models/autocompleteservice/AutocompleteResponse';
import { AutocompleteService } from './services/AutocompleteService';

import { GenerativeDirectAnswerRequest } from './models/generativedirectanswer/GenerativeDirectAnswerRequest';
import { GenerativeDirectAnswerResponse } from './models/generativedirectanswer/GenerativeDirectAnswerResponse';
import { GenerativeDirectAnswerService } from './services/GenerativeDirectAnswerService';

/**
* Provides methods for executing searches, submitting questions, and performing autocompletes.
*
Expand All @@ -21,7 +25,8 @@ export class SearchCore {
constructor(
private searchService: SearchService,
private questionSubmissionService: QuestionSubmissionService,
private autoCompleteService: AutocompleteService
private autoCompleteService: AutocompleteService,
private generativeDirectAnswerService: GenerativeDirectAnswerService,
) {}

/**
Expand Down Expand Up @@ -102,4 +107,16 @@ export class SearchCore {
filterSearch(request: FilterSearchRequest): Promise<FilterSearchResponse> {
return this.autoCompleteService.filterSearch(request);
}

/**
* Performs a generative direct answer request.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Generative direct answer request options
*/
generativeDirectAnswer(request: GenerativeDirectAnswerRequest): Promise<GenerativeDirectAnswerResponse> {
return this.generativeDirectAnswerService.generateAnswer(request);
}
}
Loading
Loading