一、为什么试这个模型

最近商汤科技开源了 SenseNova U1 系列,主打"理解与生成统一"。这个方向我关注了很久——市面上大多数多模态模型要么偏重理解,要么偏重生成,两者能力是割裂的。SenseNova U1 基于自研的 NEO-unify 架构,号称把语言和视觉信息放在同一个表示空间里建模。

光看介绍没用,我决定自己注册账号调一遍。本文记录的是完整的操作过程,包括踩的坑,不做任何美化。


二、注册与控制台

进入 platform.sensenova.cn,用邮箱注册后登录,进入控制台的"账户总览"页面。

页面右侧可以看到当前账号下可用的模型额度,公测期间完全免费,每个模型独立计量,5 小时窗口独立计数。我账号下显示了三个模型,额度全部 100% 剩余:

  • sensenova-6.7-flash-lite
  • sensenova-u1-fast
  • deepseek-v4-flash

我们重点关注 sensenova-u1-fast,这就是 SenseNova U1 的在线调用版本。


三、创建 API Key

点击左侧 API Keys” 进入管理页面,点击 “新增 API Key” 创建一个 Key。

创建完成后,记录下以下两个信息,后面代码里要用:

  • API** Key**:sk-xxxxxxxxxxxxxxxx(自行替换为你创建的 Key)

  • **Base **URLhttps://token.sensenova.cn/v1

这里有一个细节值得记录:SenseNova 的 API 兼容 OpenAI SDK 格式,Base URL 是 https://token.sensenova.cn/v1

这个地址和我之前用过的其他 OpenAI 兼容服务(比如 Azure OpenAI)的 Base URL 格式不太一样,容易写错成 https://api.sensenova.cn/compatible-mode/v1 之类的。


四、环境准备

本机环境:Windows 10,Python 3.14,无需本地部署任何模型。

安装依赖只需一行:

pip install openai

SenseNova 的 API 完全兼容 OpenAI SDK,不需要额外安装其他包,这对已有 OpenAI 使用经验的开发者来说几乎没有迁移成本。


五、第一步:查询可用模型

在正式调用之前,我习惯先查一下账号下实际可用的模型列表,避免因为模型名称写错而报错。新建 test_u1.py,写入以下代码:

from openai import OpenAI

# 初始化客户端, 指向 SenseNova 的 API 地址
client = OpenAI(
    api_key="your_api_key_here",
    base_url="https://token.sensenova.cn/v1"
)

# 列出当前账号下所有可用模型
models = client.models.list()
for model in models.data:
    print(model.id)

运行:

python test_u1.py

输出了三个模型 ID:

sensenova-6.7-flash-lite
deepseek-v4-flash
sensenova-u1-fast

这一步确认了模型名称是 sensenova-u1-fast,也验证了 API Key 和 Base URL 配置正确。

这步看起来多余,但我在调试过程中先后遇到了 403(Base URL 错误)、404(模型名不存在)两个错误,才意识到"先查模型列表"是个好习惯,能快速定位问题出在哪一层。


六、文本对话调用

确认配置无误后,正式发起对话请求。把 test_u1.py 改为以下内容:

from openai import OpenAI

client = OpenAI(
    base_url="https://token.sensenova.cn/v1",
    api_key="{your key}",
)

resp = client.chat.completions.create(
    model="sensenova-6.7-flash-lite",
    messages=[{"role": "user", "content": "Hello!"}],
)

print(resp.choices[0].message.content)

运行后模型正常响应。

响应速度比较快,延迟在可接受范围内。模型在介绍自己时特别提到了视觉理解和生成能力,这正是 SenseNova U1 区别于普通语言模型的核心卖点。


七、图片生成

SenseNova U1 Fast 基于 SenseNova U1 的加速版本,专供信息图(Infographics)生成场景。

注意: U1 Fast 使用独立的图像生成接口 POST /v1/images/generations,不是 Chat Completions;不支持图像输入。

from openai import OpenAI

client = OpenAI(
    base_url="https://token.sensenova.cn/v1",
    api_key="XXXXX",
)

resp = client.images.generate(
    model="sensenova-u1-fast",
    prompt="生成一张村落风景图片,清晨薄雾环绕古朴山间村落,青瓦白墙农家小院,溪流穿村而过,稻田层层叠叠,炊烟袅袅,国风水墨治愈风,高清写实,唯美氛围感",
    size="2752x1536",
    n=1,
)

print(resp.data[0].url)

这是生成的图片的效果图:

在这里插入图片描述


九、在 OpenClaw 中接入 SenseNova

除了直接写代码调用 API,我还尝试了把 SenseNova 接入 OpenClaw 的方式。OpenClaw 是一个开源 AI 助手框架(GitHub 30 万星),支持微信、钉钉、飞书等 20+ 平台,本地自托管部署,数据完全自控。它本身不绑定任何模型,可以灵活配置自定义模型提供商,SenseNova 的 OpenAI 兼容接口天然适合接入。

9.1 安装与启动

OpenClaw 提供桌面版自动部署工具,通过 npm 一键安装后,用桌面 GUI 启动网关服务,无需手动配置环境变量。

启动后通过浏览器访问本地控制界面(默认 ws://127.0.0.1:18789),首次访问需要设备授权,在终端执行授权命令后即可进入。

9.2 配置 SenseNova 模型提供商

进入控制界面后,依次点击 设置 → AI 与代理 → Models 标签,找到 Model Providers 区域,点击 “+ Add Entry” 添加自定义提供商。

关键字段填写如下:

字段 填写内容
名称(Provider ID) sensenova
API 适配器 openai-completions
API 密钥 你的 SenseNova API Key
授权模式 API 密钥
基础网址(Base URL) https://token.sensenova.cn/v1

在底部 模型列表 区域点"新增",添加模型条目:

  • 模型 ID(参数):sensenova-6.7-flash-lite
  • 名称:sensenova-6.7-flash-lite

这是保存成功后 openclaw.json文件的内容,也可以直接修改配置文件。

填写完成后点顶部 “Save” 保存,然后点 “Apply” 或重启网关使配置生效。

9.3 在 OpenClaw 中对话

回到聊天界面,顶部模型下拉框选择刚配置好的 SenseNova U1 Fast,发送一条消息测试。

9.4 OpenClaw 接入的价值

相比直接调用 API,通过 OpenClaw 接入 SenseNova 的优势在于:

  • 多平台覆盖:一次配置,微信、钉钉、飞书等渠道同时可用,不需要为每个平台单独开发

  • 技能扩展:OpenClaw 内置 100+ Skill,可以直接给 SenseNova 挂载搜索、代码执行等工具能力

  • 数据自托管:对话数据完全在本地,适合对数据合规有要求的场景

对于个人开发者来说,这条路的上手成本比直接写代码略高,但一旦配置好,接入即用的体验要流畅得多。


十、踩坑记录与经验总结

这次从零调通 API 的过程,踩了几个坑,记录下来给后来者参考。

坑1:Base URL 写错

最初我按照文档的直觉填了 https://api.sensenova.cn/compatible-mode/v1,结果直接 403 Forbidden。正确的地址是 https://token.sensenova.cn/v1,需要去控制台的文档或快速接入页面里找,不要靠猜。

坑2:模型名称格式

控制台界面上显示的模型名和 API 里实际用的 model ID 完全一致,但建议始终通过 client.models.list() 先查一遍,避免出错。

坑3:AI工具接入,卡死情况

起初我使用的官方文档中 AI工具接入里面OpenClaw示例接入,但是执行openclaw onboard --install-daemon 后后输入yes后会有卡死的情况出现,在网上搜索一通没解决,最后还是直接在openclaw上配置的。


十一、个人思考

9.1 OpenAI 兼容模式的价值

SenseNova U1 选择完全兼容 OpenAI API 格式,这个决策我觉得非常务实。对于已经在用 OpenAI 或其他兼容接口的开发者来说,切换成本几乎为零——改两行代码(api_keybase_url)就能跑通,不需要学新的 SDK,不需要改业务逻辑。这种"用户不需要为切换付出代价"的思路,比自造一套 SDK 要聪明得多。

9.2 适合哪些场景

结合这次体验,我认为 sensenova-u1-fast 当前比较适合:

  • 需要快速验证多模态能力的原型开发
  • 已有 OpenAI 接口的项目想做多供应商备份
  • 对国产模型合规性有要求的企业场景

对于需要图像生成的场景,建议等完整版 U1 的能力进一步释放后再做评估。


十二、总结

这次体验的核心结论:SenseNova U1 的 API 接入门槛很低,OpenAI 兼容模式让迁移成本几乎为零,对于想在项目里集成国产多模态模型的开发者来说是个值得关注的选项。


参考文献:

> - GitHub:https://github.com/OpenSenseNova/SenseNova-U1

> - HuggingFace: https://huggingface.co/collections/sensenova/sensenova-u1

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐