最近更新时间:2024.04.17 14:21:05
首次发布时间:2024.04.17 14:21:05
max_marginal_relevance_search_by_vector 用于根据向量搜索相似的文本,并把结果根据 mmr(max marginal relevance)重新排序。
参数 | 子参数 | 类型 | 是否必选 | 默认值 | 参数说明 |
---|---|---|---|---|---|
embedding | List[float] | 是 | 文本转化的向量。 | ||
k | string | 是 | 重新排序数量。 | ||
lambda_mult | float | 是 | mmr 计算值参数。 | ||
params | filter | map | 否 | 过滤条件,详见 filter 表达式说明。
| |
limit | int | 否 | 10 | 检索结果数量,最大5000个。 | |
output_fields | list<string> | 否 | 过滤标量字段,指定要返回的标量字段列表。
| ||
partition | string/int | 否 | "default" | 子索引名称,类型与 partition_by 的 field_type 一致,字段值对应 partition_by 的 field_value。
|
算子 | 算子说明 | 示例 |
---|---|---|
must | 针对指定字段名生效,语义为必须在 [...] 之中,即 "must in"。 |
|
must_not | 针对指定字段名生效,语义为必须不在 [...] 之中,即 "must not in"。 |
|
range | 针对指定字段名生效,语义为必须在指定范围内。 |
|
range_out | 针对指定字段名生效,语义为必须在指定范围外。配置使用 |
|
georange | 支持地理距离范围筛选 。 |
|
and | 逻辑算子,针对逻辑查询需求,对多个条件取交集。 |
|
or | 逻辑算子,针对逻辑查询需求,对多个条件取并集。 |
|
query = "What did the president say about Ketanji Brown Jackson" vector = embedding.embed_query(query) docs = db.max_marginal_relevance_search_by_vector(embedding.embed_query(query)) for i, doc in enumerate(docs): print(f"{i + 1}.", doc.page_content)
调用执行上面的任务,返回 List[Document]。