Search a knowledge store

The KnowledgeStoresClient class provides the search method to search across the items in a knowledge store using natural language.

Methods

Search a knowledge store

Description: This method searches a knowledge store using natural language and returns matching video clips and images ranked by relevance.

Provide your natural-language query in the query.text field. Use the filter parameter to choose which items to search: by type of item (the asset_type field) or by specific items (the item_id field). Use the optional search_options parameter to control how videos are matched (by visual content, audio, or both). If you omit it, videos are matched on their visual content. Images are always matched on their visual content.

By default, each result is an individual match: a video clip or an image. Set the group_by parameter to item to group clips under their parent item.

Note

This method is rate-limited. For details, see the Rate limits page.

Function signature and example:

1def search(
2 self,
3 knowledge_store_id: str,
4 *,
5 query: KnowledgeStoreSearchQuery,
6 filter: typing.Optional[SearchKnowledgeStoreFilter] = OMIT,
7 search_options: typing.Optional[SearchKnowledgeStoreOptions] = OMIT,
8 group_by: typing.Optional[SearchKnowledgeStoreRequestGroupBy] = OMIT,
9 page_size: typing.Optional[int] = OMIT,
10 page_token: typing.Optional[str] = OMIT,
11 include_metadata: typing.Optional[bool] = OMIT,
12 request_options: typing.Optional[RequestOptions] = None,
13) -> SearchKnowledgeStoreResponse:

Parameters

NameTypeRequiredDescription
knowledge_store_idstrYesThe unique identifier of the knowledge store.
queryKnowledgeStore
SearchQuery
YesThe search query.
filtertyping.
Optional
[SearchKnowledge
StoreFilter]
NoNarrows results to specific items in the knowledge store. Omit the filter to search all items.
search_optionstyping.
Optional
[SearchKnowledge
StoreOptions]
NoSpecifies how videos are matched. If you omit this field, videos are matched on their visual content. Images are always matched on their visual content and have no options to configure.
group_bytyping.
Optional
[SearchKnowledge
StoreRequestGroupBy]
NoControls how the platform groups matches in the response.
- none: Returns individual matches ordered by relevance.
- item: Groups matches under their parent item. Default: none.
page_sizetyping.
Optional[int]
NoThe maximum number of results per page. A result is one entry in the data array. With the group_by parameter set to its default of none, each result is an individual match: a video clip or an image. When set to item, each result is one item: a video with all its matching clips, or an image. Default: 10. Max: 50.
page_tokentyping.
Optional[str]
NoPagination token used to retrieve the next page of results. Omit it on the first request. To fetch the next page, set it to the next_page_token field returned in the previous response and send the request again. A malformed or unrecognized token returns a 400 error. A token that has expired returns a 410 error (make a new search request to obtain a fresh page token).
include_metadatatyping.
Optional[bool]
NoSet to true to include metadata in each result. Each result includes a metadata object with a system field (platform-derived file properties such as duration and resolution) and a user field (metadata you attached to the item).
request_optionstyping.
Optional
[RequestOptions]
NoPer-call SDK settings such as timeout, retries, and headers. For all fields, see Request options.

The KnowledgeStoreSearchQuery class contains the following property:

NameTypeRequiredDescription
textstrYesDescribe what you’re searching for in natural language (Examples: A person cooking pasta or aerial shots of a city at night).

The SearchKnowledgeStoreFilter class narrows results to specific items in the knowledge store. Filter by type of item or by specific identifiers. When you specify both fields, the platform applies all conditions together. It contains the following properties:

NameTypeRequiredDescription
asset_typeOptional
[AssetTypeFilter]
NoNarrows results by type of item. Provide exactly one operator: eq (a KnowledgeStoreItemAssetType) to match one type, or in_ (a list) to match any of the listed types. Values: video, image.
item_idOptional
[ItemIdFilter]
NoNarrows results to specific items. Provide exactly one operator: eq (a str) to match one item, or in_ (a list) to match any of the listed items.

The SearchKnowledgeStoreOptions class contains the following property:

NameTypeRequiredDescription
videoOptional
[VideoSearchOptions]
NoOptions that control how videos are matched. By default, videos are matched on their visual content.

The VideoSearchOptions class contains the following properties:

NameTypeRequiredDescription
modalitiesList
[VideoSearch
Modality]
YesThe video modalities used for searching.
- visual: Searches visual content.
- audio: Searches audio content, including speech and non-speech sounds.
You can combine multiple modalities to broaden your search. For guidance, see Search options.

Return value

Returns a SearchKnowledgeStoreResponse object. The SearchKnowledgeStoreResponse class contains the following properties:

NameTypeDescription
dataList
[SearchKnowledge
StoreHit]
Search results, ordered by relevance.
next_page_tokenOptional[str]Pagination token for the next page. Pass this value as the page_token parameter in your next request to retrieve more results. Absent when no more pages exist.
effective_search_optionsSearchKnowledge
StoreOptions
The video options applied to this search, including any defaults. When the search includes videos, this object contains a video field with the modalities used. When the search is limited to images, this object is empty.

Each entry in the data array is a SearchKnowledgeStoreHit. The fields present depend on the asset_type field:

NameTypeDescription
asset_typeLiteral
["video",
"image"]
The type of item that matched.
rankintThe relevance ranking assigned by the model.
item_idstrThe unique identifier of the matching item.
metadataOptional
[KnowledgeStore
SearchItemMetadata]
Metadata for the item. Returned when the include_metadata parameter is set to true.
matchesList
[VideoMatch]
The matching clips within the video. Present only when asset_type is video.

The VideoMatch class contains the following properties:

NameTypeDescription
start_secfloatThe clip start offset, in seconds, within the source video.
end_secfloatThe clip end offset, in seconds, within the source video.
modalitiesList
[VideoSearch
Modality]
The modalities that matched in this clip.
transcriptionOptional[str]The spoken words in the clip. Returned when spoken-word data is available for the clip, regardless of which modalities matched.

API Reference

Search a knowledge store.