feat(cli): 优化知识检索命令的rerank参数支持和请求构造

This commit is contained in:
zeyu.fz
2026-06-10 14:19:17 +08:00
parent 3395858c96
commit f90ed8a0cc
3 changed files with 38 additions and 21 deletions
@@ -31,27 +31,27 @@ export default defineCommand({
{ flag: "--query <text>", description: "Search query (required)", required: true },
{
flag: "--dense-similarity-top-k <n>",
description: "Dense retrieval top K (API-KEY only)",
description: "Dense retrieval top K",
type: "number",
},
{
flag: "--sparse-similarity-top-k <n>",
description: "Sparse retrieval top K (API-KEY only)",
description: "Sparse retrieval top K",
type: "number",
},
{ flag: "--rerank", description: "Enable reranking" },
{ flag: "--rerank-top-n <n>", description: "Rerank top N results", type: "number" },
{
flag: "--rerank-model <name>",
description: "Rerank model, e.g. qwen3-rerank-hybrid (API-KEY only)",
description: "Rerank model, e.g. qwen3-rerank-hybrid",
},
{
flag: "--rerank-mode <mode>",
description: "Rerank mode: qa, similar, or custom (API-KEY only)",
description: "Rerank mode: qa, similar, or custom",
},
{
flag: "--rerank-instruct <text>",
description: "Custom rerank instruction, when mode=custom (API-KEY only)",
description: "Custom rerank instruction, when mode=custom",
},
{
flag: "--top-k <n>",
@@ -205,6 +205,19 @@ async function runWithAkSk(
if (flags.topK !== undefined) body.TopK = flags.topK as number;
if (flags.rerank) body.EnableReranking = true;
if (flags.rerankTopN !== undefined) body.RerankTopN = flags.rerankTopN as number;
if (flags.denseSimilarityTopK !== undefined)
body.DenseSimilarityTopK = flags.denseSimilarityTopK as number;
if (flags.sparseSimilarityTopK !== undefined)
body.SparseSimilarityTopK = flags.sparseSimilarityTopK as number;
if (flags.rerankModel) {
const rerank: { ModelName: string; RerankMode?: string; RerankInstruct?: string } = {
ModelName: flags.rerankModel as string,
};
if (flags.rerankMode) rerank.RerankMode = flags.rerankMode as string;
if (flags.rerankInstruct) rerank.RerankInstruct = flags.rerankInstruct as string;
body.Rerank = rerank;
}
const pathname = `/${workspaceId}/index/retrieve`;
+5 -1
View File
@@ -363,7 +363,11 @@ export interface KnowledgeRetrieveRequest {
EnableRewrite?: boolean;
RerankTopN?: number;
TopK?: number;
Rerank?: boolean;
Rerank?: {
ModelName?: string;
RerankMode?: string;
RerankInstruct?: string;
};
RerankTopN_legacy?: number;
SearchFilters?: Array<{
Key: string;
+15 -15
View File
@@ -23,21 +23,21 @@ Index: [index.md](index.md)
#### Options
| Flag | Type | Required | Description |
| ------------------------------- | ------- | -------- | ---------------------------------------------------------- |
| `--index-id <id>` | string | yes | Knowledge base index ID (required) |
| `--query <text>` | string | yes | Search query (required) |
| `--dense-similarity-top-k <n>` | number | no | Dense retrieval top K (API-KEY only) |
| `--sparse-similarity-top-k <n>` | number | no | Sparse retrieval top K (API-KEY only) |
| `--rerank` | boolean | no | Enable reranking |
| `--rerank-top-n <n>` | number | no | Rerank top N results |
| `--rerank-model <name>` | string | no | Rerank model, e.g. qwen3-rerank-hybrid (API-KEY only) |
| `--rerank-mode <mode>` | string | no | Rerank mode: qa, similar, or custom (API-KEY only) |
| `--rerank-instruct <text>` | string | no | Custom rerank instruction, when mode=custom (API-KEY only) |
| `--top-k <n>` | number | no | Number of results (deprecated, use --rerank-top-n) |
| `--workspace-id <id>` | string | no | Bailian workspace ID (required for AK/SK auth) |
| `--access-key-id <key>` | string | no | Alibaba Cloud Access Key ID (deprecated) |
| `--access-key-secret <key>` | string | no | Alibaba Cloud Access Key Secret (deprecated) |
| Flag | Type | Required | Description |
| ------------------------------- | ------- | -------- | -------------------------------------------------- |
| `--index-id <id>` | string | yes | Knowledge base index ID (required) |
| `--query <text>` | string | yes | Search query (required) |
| `--dense-similarity-top-k <n>` | number | no | Dense retrieval top K |
| `--sparse-similarity-top-k <n>` | number | no | Sparse retrieval top K |
| `--rerank` | boolean | no | Enable reranking |
| `--rerank-top-n <n>` | number | no | Rerank top N results |
| `--rerank-model <name>` | string | no | Rerank model, e.g. qwen3-rerank-hybrid |
| `--rerank-mode <mode>` | string | no | Rerank mode: qa, similar, or custom |
| `--rerank-instruct <text>` | string | no | Custom rerank instruction, when mode=custom |
| `--top-k <n>` | number | no | Number of results (deprecated, use --rerank-top-n) |
| `--workspace-id <id>` | string | no | Bailian workspace ID (required for AK/SK auth) |
| `--access-key-id <key>` | string | no | Alibaba Cloud Access Key ID (deprecated) |
| `--access-key-secret <key>` | string | no | Alibaba Cloud Access Key Secret (deprecated) |
#### Examples