Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and

[中文版](CHANGELOG.zh.md) · [README](README.md) · [Contributing](CONTRIBUTING.md)

## [2.8.5] - 2026-11-10

### Fixed

- **Fine-tune creation**: Query the authoritative hyper-parameter schema before uploads, validate only explicit constrained overrides, and stop before uploading or submitting when the schema lookup or validation fails. Unspecified parameters are no longer filled or clamped locally.
- **Deployment deletion**: Prefer the explicit deployment plan over stale PTU-shaped fields and refuse deletion when the plan cannot be determined safely.
- **Thinking control**: Allow `bl text chat --enable-thinking=false` while preserving the existing omitted and bare-flag behavior; a disabled request no longer sends `thinking_budget`.
- **Model sample code**: Require an exact model match instead of returning sample code from another model in the same family.
- **Dataset upload help**: Remove the unsupported `evaluation` purpose example while keeping `fine-tune` as the default.

## [2.8.4] - 2026-11-06

### Added
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@

[English](CHANGELOG.md) · [README](README.zh.md) · [参与贡献](CONTRIBUTING.zh.md)

## [2.8.5] - 2026-11-10

### 修复

- **精调任务创建**:上传前查询权威超参配置,只校验用户显式覆盖且有明确约束的参数;查询或校验失败时不上传数据、不提交任务,未指定参数不再由本地填充或裁剪。
- **部署删除**:显式部署计划优先于残留的 PTU 特征字段;无法可靠判断计划类型时拒绝提交删除请求。
- **思考模式控制**:`bl text chat` 支持 `--enable-thinking=false`,同时保持省略参数和裸参数的原有行为;关闭思考时不再发送 `thinking_budget`。
- **模型调用示例**:仅返回精确匹配型号的示例代码,不再回退到同系列其他型号。
- **数据集上传帮助**:删除不受支持的 `evaluation` purpose 示例,默认值仍为 `fine-tune`。

## [2.8.4] - 2026-11-06

### 新增
Expand Down
2 changes: 1 addition & 1 deletion packages/bailian-kb-dsh/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bailian-kb-dsh",
"version": "2.8.4",
"version": "2.8.5",
"description": "Bailian knowledge-base tools for DeepSeek Harness: kb_search and kb_chat over the DashScope RAG API, plus the bl CLI management skill.",
"keywords": [
"alibaba-cloud",
Expand Down
2 changes: 1 addition & 1 deletion packages/bailian-memo-dsh/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bailian-memo-dsh",
"version": "2.8.4",
"version": "2.8.5",
"description": "Bailian personal memory for DeepSeek Harness: automatic recall, silent curation, and user-controlled remember/forget.",
"keywords": [
"alibaba-cloud",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bailian-cli",
"version": "2.8.4",
"version": "2.8.5",
"description": "CLI for Aliyun Model Studio (DashScope) AI Platform.",
"keywords": [
"agent",
Expand Down
2 changes: 1 addition & 1 deletion packages/commands/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bailian-cli-commands",
"version": "2.8.4",
"version": "2.8.5",
"description": "Command library for bailian-cli products (knowledge, memory, media, …). See https://www.npmjs.com/package/bailian-cli for usage.",
"homepage": "https://bailian.console.aliyun.com/cli",
"bugs": {
Expand Down
6 changes: 3 additions & 3 deletions packages/commands/src/commands/dataset/list.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ const LIST_FLAGS = {
type: "string",
valueHint: "<name>",
description: {
"en-US": 'Filter by purpose (e.g. "fine-tune", "evaluation"). Omit to list all.',
"zh-CN": '按用途筛选(例如 "fine-tune"、"evaluation")。省略时列出全部。',
"en-US": 'Filter by purpose (e.g. "fine-tune"). Omit to list all.',
"zh-CN": '按用途筛选(例如 "fine-tune")。省略时列出全部。',
},
},
} satisfies FlagsDef;
Expand All @@ -30,7 +30,7 @@ export default defineCommand({
auth: "apiKey",
usageArgs: "[--page <n>] [--page-size <n>] [--purpose <name>]",
flags: LIST_FLAGS,
exampleArgs: ["", "--purpose fine-tune", "--purpose evaluation --page-size 20", "--output json"],
exampleArgs: ["", "--purpose fine-tune", "--page-size 20", "--output json"],
async run(ctx) {
const { settings, flags } = ctx;

Expand Down
5 changes: 2 additions & 3 deletions packages/commands/src/commands/dataset/upload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ const UPLOAD_FLAGS = {
type: "string",
valueHint: "<name>",
description: {
"en-US": 'Dataset purpose tag (default: "fine-tune"; e.g. "evaluation")',
"zh-CN": '数据集用途标签(默认:"fine-tune";例如 "evaluation")',
"en-US": 'Dataset purpose tag (default: "fine-tune")',
"zh-CN": '数据集用途标签(默认:"fine-tune")',
},
},
schema: {
Expand Down Expand Up @@ -76,7 +76,6 @@ export default defineCommand({
"--file cpt.jsonl --schema cpt",
"--file decision.jsonl --schema decision",
"--file audio.zip --schema tts",
"--file eval.jsonl --purpose evaluation",
"--file train.jsonl --full-validate",
"--file train.jsonl --no-validate",
],
Expand Down
23 changes: 18 additions & 5 deletions packages/commands/src/commands/deploy/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,24 @@ export default defineCommand({
const response = await getDeployment(ctx.client, deployedModel);
const deployment = response.output ?? response.data;
const status = (deployment?.status ?? "").toUpperCase();
const isPtu =
deployment?.plan === "ptu" ||
deployment?.plan === "ptu_v2" ||
deployment?.ptu_capacity !== undefined ||
deployment?.ptu_service_tier !== undefined;
const plan = typeof deployment?.plan === "string" ? deployment.plan.trim().toLowerCase() : "";
const knownPtuPlan = plan === "ptu" || plan === "ptu_v2";
const knownNonPtuPlan = plan === "mu" || plan === "cu" || plan === "lora";
const hasMeaningfulPtuTier =
typeof deployment?.ptu_service_tier === "string" &&
deployment.ptu_service_tier.trim().length > 0;
const hasMeaningfulPtuCapacity =
typeof deployment?.ptu_capacity === "object" &&
deployment.ptu_capacity !== null &&
!Array.isArray(deployment.ptu_capacity) &&
Object.keys(deployment.ptu_capacity).length > 0;
const isPtu = knownPtuPlan || (!plan && (hasMeaningfulPtuTier || hasMeaningfulPtuCapacity));
if (!isPtu && !knownNonPtuPlan) {
throw new BailianError(
"Cannot determine deployment plan safely; deletion was not submitted. / 无法可靠判断部署计划类型;未提交删除请求。",
ExitCode.USAGE,
);
}
if (isPtu) {
if (status !== "STOPPED") {
throw new BailianError(
Expand Down
Loading
Loading