diff --git a/packages/cli/src/commands/knowledge/retrieve.ts b/packages/cli/src/commands/knowledge/retrieve.ts index d3c147b..f46b120 100644 --- a/packages/cli/src/commands/knowledge/retrieve.ts +++ b/packages/cli/src/commands/knowledge/retrieve.ts @@ -31,27 +31,27 @@ export default defineCommand({ { flag: "--query ", description: "Search query (required)", required: true }, { flag: "--dense-similarity-top-k ", - description: "Dense retrieval top K (API-KEY only)", + description: "Dense retrieval top K", type: "number", }, { flag: "--sparse-similarity-top-k ", - description: "Sparse retrieval top K (API-KEY only)", + description: "Sparse retrieval top K", type: "number", }, { flag: "--rerank", description: "Enable reranking" }, { flag: "--rerank-top-n ", description: "Rerank top N results", type: "number" }, { flag: "--rerank-model ", - description: "Rerank model, e.g. qwen3-rerank-hybrid (API-KEY only)", + description: "Rerank model, e.g. qwen3-rerank-hybrid", }, { flag: "--rerank-mode ", - description: "Rerank mode: qa, similar, or custom (API-KEY only)", + description: "Rerank mode: qa, similar, or custom", }, { flag: "--rerank-instruct ", - description: "Custom rerank instruction, when mode=custom (API-KEY only)", + description: "Custom rerank instruction, when mode=custom", }, { flag: "--top-k ", @@ -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`; diff --git a/packages/core/src/types/api.ts b/packages/core/src/types/api.ts index c99fee8..19aebff 100644 --- a/packages/core/src/types/api.ts +++ b/packages/core/src/types/api.ts @@ -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; diff --git a/skills/bailian-cli/reference/knowledge.md b/skills/bailian-cli/reference/knowledge.md index b63b0de..0cd6971 100644 --- a/skills/bailian-cli/reference/knowledge.md +++ b/skills/bailian-cli/reference/knowledge.md @@ -23,21 +23,21 @@ Index: [index.md](index.md) #### Options -| Flag | Type | Required | Description | -| ------------------------------- | ------- | -------- | ---------------------------------------------------------- | -| `--index-id ` | string | yes | Knowledge base index ID (required) | -| `--query ` | string | yes | Search query (required) | -| `--dense-similarity-top-k ` | number | no | Dense retrieval top K (API-KEY only) | -| `--sparse-similarity-top-k ` | number | no | Sparse retrieval top K (API-KEY only) | -| `--rerank` | boolean | no | Enable reranking | -| `--rerank-top-n ` | number | no | Rerank top N results | -| `--rerank-model ` | string | no | Rerank model, e.g. qwen3-rerank-hybrid (API-KEY only) | -| `--rerank-mode ` | string | no | Rerank mode: qa, similar, or custom (API-KEY only) | -| `--rerank-instruct ` | string | no | Custom rerank instruction, when mode=custom (API-KEY only) | -| `--top-k ` | number | no | Number of results (deprecated, use --rerank-top-n) | -| `--workspace-id ` | string | no | Bailian workspace ID (required for AK/SK auth) | -| `--access-key-id ` | string | no | Alibaba Cloud Access Key ID (deprecated) | -| `--access-key-secret ` | string | no | Alibaba Cloud Access Key Secret (deprecated) | +| Flag | Type | Required | Description | +| ------------------------------- | ------- | -------- | -------------------------------------------------- | +| `--index-id ` | string | yes | Knowledge base index ID (required) | +| `--query ` | string | yes | Search query (required) | +| `--dense-similarity-top-k ` | number | no | Dense retrieval top K | +| `--sparse-similarity-top-k ` | number | no | Sparse retrieval top K | +| `--rerank` | boolean | no | Enable reranking | +| `--rerank-top-n ` | number | no | Rerank top N results | +| `--rerank-model ` | string | no | Rerank model, e.g. qwen3-rerank-hybrid | +| `--rerank-mode ` | string | no | Rerank mode: qa, similar, or custom | +| `--rerank-instruct ` | string | no | Custom rerank instruction, when mode=custom | +| `--top-k ` | number | no | Number of results (deprecated, use --rerank-top-n) | +| `--workspace-id ` | string | no | Bailian workspace ID (required for AK/SK auth) | +| `--access-key-id ` | string | no | Alibaba Cloud Access Key ID (deprecated) | +| `--access-key-secret ` | string | no | Alibaba Cloud Access Key Secret (deprecated) | #### Examples