POST
/
api
/
chunk_group
/
recommend

Authorizations

Authorization
string
headerrequired

Headers

TR-Dataset
string
required

The dataset id or tracking_id to use for the request. We assume you intend to use an id if the value is a valid uuid.

X-API-Version
enum<string>

The API version to use for this request. Defaults to V2 for orgs created after July 12, 2024 and V1 otherwise.

Available options:
V1,
V2

Body

application/json
filters
object

ChunkFilter is a JSON object which can be used to filter chunks. This is useful for when you want to filter chunks by arbitrary metadata. Unlike with tag filtering, there is a performance hit for filtering on metadata.

group_size
integer | null

The number of chunks to fetch for each group. This is the number of chunks which will be returned in the response for each group. The default is 3. If this is set to a large number, we recommend setting slim_chunks to true to avoid returning the content and chunk_html of the chunks so as to reduce latency due to content download and serialization.

Required range: x > 0
limit
integer | null

The number of groups to return. This is the number of groups which will be returned in the response. The default is 10.

Required range: x > 0
negative_group_ids
string[] | null

The ids of the groups to be used as negative examples for the recommendation. The groups in this array will be used to filter out similar groups.

negative_group_tracking_ids
string[] | null

The ids of the groups to be used as negative examples for the recommendation. The groups in this array will be used to filter out similar groups.

positive_group_ids
string[] | null

The ids of the groups to be used as positive examples for the recommendation. The groups in this array will be used to find similar groups.

positive_group_tracking_ids
string[] | null

The ids of the groups to be used as positive examples for the recommendation. The groups in this array will be used to find similar groups.

recommend_type
enum<string>

The type of recommendation to make. This lets you choose whether to recommend based off of semantic or fulltext similarity. The default is semantic.

Available options:
semantic,
fulltext,
bm25
slim_chunks
boolean | null

Set slim_chunks to true to avoid returning the content and chunk_html of the chunks. This is useful for when you want to reduce amount of data over the wire for latency improvement (typicall 10-50ms). Default is false.

strategy
enum<string>

Strategy to use for recommendations, either "average_vector" or "best_score". The default is "average_vector". The "average_vector" strategy will construct a single average vector from the positive and negative samples then use it to perform a pseudo-search. The "best_score" strategy is more advanced and navigates the HNSW with a heuristic of picking edges where the point is closer to the positive samples than it is the negatives.

Available options:
average_vector,
best_score
user_id
string | null

The user_id is the id of the user who is making the request. This is used to track user interactions with the rrecommendation results.

Response

200 - application/json
id
string
required
results
object[]
required