装完 bl 我对着一百多个模型发呆,后来靠五条命令把家底摸清了

最近在装阿里云百炼的命令行工具。CLI 就是命令行工具的意思:不开网页,在终端里敲一行字让平台干活,百炼那个叫 bl。

装本身没什么可说的,一条 npm 命令的事(安装页在这)。装完我卡住了:Key 领了,--help 翻了两页,模型目录里一百多个家族,不知道从哪个下手,也不知道自己那个 Key 到底通没通。就这么对着终端发了一会儿呆。

后来我把这一小时拆成四个问题:我的凭证配对了没有、我要的模型叫什么名字、能直接跑的代码长什么样、这么多模型我该选哪个。四个问题各有一条命令能回答,其中三条连 Key 都不用。下面按我当时问的顺序记,顺带把踩到的坑写清楚。输出都是 2026-10-12 我在自己电脑上敲出来的,bl 2.1.0;会变的读数我都带了日期,别抄我的快照。

image

一、我配的 Key,可能不在生效的那一档上

第一条命令不花钱、也不联网鉴权,纯看本地配置:

bl auth status

我的输出(Key 自带掩码,可以直接截图贴给别人,不用手工打码):

Config: image
Config file: /Users/chenxiaoru/.bailian/config.json
Authentication Status:
  API key (model):  env  sk-4...8c10
  Console gateway:  config  1d1b...32e1  (cn-beijing, domestic)
  OpenAPI (AK/SK):  not configured (run bl auth login --open-api)

第一行 Config: image 我一开始没在意,后来发现它才是关键:这是当前生效的配置档名字。配置档(profile)就是多套配置并存,我这边有 default、image、token-plan 三个,bl config list 能看清单,带星号的是当前生效的那个。

新手最容易踩的坑就是"我明明配了 Key 怎么不生效"。我第一反应总是去怀疑 Key 本身,方向就错了:多半是生效档不是你配的那档。

每条凭证后面还跟着来源:env 表示读自环境变量,config 表示读自配置文件,not configured 表示没配。三种凭证可以共存,这条命令逐条报,不混在一起,看一眼就知道该去哪儿改。

调模型用的是 API key (model) 那一条,也就是程序调用平台时用的那串密钥,在密钥管理页签领,领完设进环境变量或写进配置文件都行。

再看一眼生效配置的全貌:

bl config show

它把当前档摊平成一张表:base_url(请求发往哪个地址)、timeout、output,甚至还有 watermark: true 这种"我以为没设、其实有默认值"的项。我特意把 base_url 抄了下来,因为下一节的坑跟它有关。

二、搜索返回 0 条,不是我没配好

模型目录靠翻是翻不动的,用搜索:

bl model search --keyword 图像 --limit 10

关键词会去匹配模型 ID、中文名、能力码和描述,按相关度排序返回。还能加过滤器缩小范围,比如"输入是文字、输出也是文字、能做文本生成":

bl model search --keyword 客服 --input-modality Text --output-modality Text --capability TG --limit 5

我在这里白折腾了几分钟。当时想先看看全量长什么样,就把关键词留空敲了一次:

bl model search --keyword ""

返回 total: 0。我以为是自己哪里没配好,把上面那些过滤器全加上,还是 0。后来才明白这条命令是"搜",不是"浏览",必须给一个非空关键词。第一次敲的人看到空结果很容易怀疑人生,其实只是没给词。

想翻全量目录是另一条命令 bl model list 的活,这篇不展开。两条分工不同,别混用。

还有一次空结果真不是我的问题:已经下线并从目录移除的模型,搜索也搜不到。我拿 10 月 10 号那批下线的 qwen3-max 试,加不加"包含已下线"开关都是 0 条,它已经从目录里拿掉了。所以"搜不到"有时候是模型不在了。
image

三、样例代码里的地址是个占位符

知道模型名字之后,别去网上抄代码,bl 自己会给你一份:

bl model code --model qwen3.8-flash

默认给的是 Python + OpenAI 兼容写法(一种通用的接口约定,多数语言的客户端库都认)的完整样例,连流式读取的循环都写好了。深度思考模型还会自动带上开启思考的参数。这条命令也不用 Key,我觉得是这一小时里最省事的一条。

坑在样例里的地址上:

https://[workspace-id].cn-beijing.maas.aliyuncs.com/compatible-mode/v1

方括号那一截是要你自己替换的模板,不是上一节在 config show 里看到的真实地址。我当时整段抄进去,报了个连接错误,回头对照才发现两处地址根本不是一回事。要么把占位符换成你自己的端点,要么干脆删掉 base_url 这一行,让 SDK(平台官方给的调用库)走环境变量里的配置。

想要别的语言或别的接口风格,加参数:--sdk dashscope 换官方库写法,--api responses 换 Responses 接口。不知道支持哪些语言?我用了个笨办法,故意传错一次:

bl model code --model qwen3.8-flash --lang rust

报错信息会把整张语言矩阵打印给你:openai 写法支持 node、curl、python,dashscope 写法支持 curl、python、java。比翻文档快。

四、选模型那条,同一段话问两次不一样

最后一个问题最主观:一百多个模型,我这个需求该用哪个。bl 有一条"用大白话问"的命令:

bl advisor recommend --message "我想做一个中文客服机器人,要能读用户传来的截图,回复要快、成本要低"

这条要 Key(它背后真的在调模型做意图分析),但只调一次、量很小。它返回两块:一块是它对你那句话的理解,一块是排名候选。

我用同一段话问了两次,结果不一样:

第一次 第二次
它理解成的能力需求 看图 + 文本生成 只写了文本生成
它理解成的预算档 低预算、成本优先 中等预算、均衡
排名第一 一个 OCR 专精模型(读图转文字) 一个机器翻译模型

OCR 是读图转文字的意思。第一次它把"读截图"解析成了看图能力,第一名给了一个读图转文字的模型;第二次看图能力从需求里消失了,第一名变成一个翻译模型。两次的第一名都不是"能读图的中文对话模型"。

所以我现在的习惯是别闭眼抄第一名。真正稳定、值得读的是返回里的理解块:它把你那句大白话翻译成四样东西,输入模态(文字还是图片)、输出模态、能力码、预算档。拿这四样回到第二节的搜索命令当过滤条件,比直接信排名可靠得多。排名是参考,理解块是需求说明书。

还有一条我提前说:它给的推荐理由原文里带单价数字。这篇按惯例不转录任何单价,价格会变,抄进文章就是错的。你自己跑的时候看到理由里的金额,以控制台价格页为准。

image

五、记下来的清单,和两件今天查不了的事

把上面串起来,装完之后的第一小时可以这么过:

  1. bl auth status 看三条凭证各自从哪来、生效档是哪个
  2. bl config list 确认带星号的档是你配了 Key 的那个
  3. bl config show 记下真实的 base_url
  4. bl model search --keyword <你的场景词> 找模型名;记住不带词会返回空
  5. bl model code --model <名字> 拿样例;把占位符地址换掉
  6. 拿不准选型就 bl advisor recommend --message <大白话>,读理解块不读第一名

两件如实说的事。用量和额度今天在我这台机器上查不了,那几条命令走控制台会话,我的会话过期了,跑出来是登录提示。想知道自己剩多少额度,直接去控制台的额度页看,别信任何文章里的数字,包括这篇。另一件是跑通第一句不在这篇里,拿到样例代码之后怎么设环境变量、怎么发出第一次调用,是另一篇《第一次调用大模型,卡住我的不是代码》的事。这篇解决的是"跑通之前先搞清楚家底"。

想自己试一遍

六条里前五条都不用 Key,装完就能敲。往下走的话,API Key 在密钥管理页签创建;想先看看平台长什么样,百炼首页在这。

会变的三样:模型目录、选型命令的排名(同一段话问两次就不同)、控制台额度。前两样重跑一遍就有当天读数,额度去控制台看。

posted @ 2026-10-12 18:36  新的白白酱  阅读(21)  评论(0)    收藏  举报