Loading

B站Index-Translate开源:35B免费翻译API,OpenAI兼容,Python调用教程

B站Index-Translate开源:35B免费翻译API,OpenAI兼容,Python调用教程

SEO关键词:B站 Index-Translate、Index-Translate-35B-A3B、35B 免费 API、OpenAI 兼容 API、AI 翻译 API、Python 翻译脚本、沉浸式翻译

文章摘要:B站最近开源了 Index-Translate 翻译模型项目,并提供免费的公网 API。官方仓库还直接给出了一个零依赖 Python 调用脚本,无需安装 requests 等第三方库,就可以直接调用 Index-Translate-35B-A3B。本文记录一下这个 API 的地址、Python 调用方式,以及如何接入沉浸式翻译。

大家好 这里是「代码简单说」

一个专注开发、AI工具和实用技术分享的公众号。

今天记录一个比较有意思的项目:B站开源的 Index-Translate。

一、B站开源 Index-Translate

在这里插入图片描述

最近 Bilibili 开源了 Index-Translate,一个面向翻译场景的模型项目。

这次比较值得关注的地方,是除了开源项目本身之外,现在还提供了免费的公网 API,而且接口直接兼容 OpenAI 风格。

官方 Python 脚本里已经写死了默认 API 地址:

https://index-translate.bilibili.com/v1

默认模型则是:

Index-Translate-35B-A3B

也就是说,对于开发者来说,不需要自己先部署模型,直接通过 HTTP API 就可以测试。官方提供的调用脚本也明确说明这是一个 Free Public API,并且默认使用 35B 模型。

项目地址:

https://github.com/bilibili/Index-Translate

官方调用脚本:

https://github.com/bilibili/Index-Translate/blob/main/inference/llm/call_api.py

二、最方便的是:Python 零依赖调用

官方这个 call_api.py 很适合直接拿来测试。

它没有依赖 requests、httpx 之类的第三方库,而是直接使用 Python 标准库里的 urllib.request 发起请求,所以基本安装 Python 后就能运行。脚本本身也明确采用 stdlib-only 设计。

下载代码后,最简单的调用方式:

python call_api.py "技术赋能创作,让交流跨越语言的界限。"

默认就是翻译成英语。

指定目标语言:

python call_api.py "Hello, world!" -t zh

也可以明确指定模型:

python call_api.py "Hello, world!" -t zh -m Index-Translate-35B-A3B

官方脚本默认目标语言是 en,默认模型就是 Index-Translate-35B-A3B。

三、接口本身兼容 OpenAI

这个 API 的调用格式比较熟悉。

核心请求地址:

https://index-translate.bilibili.com/v1/chat/completions

请求体采用 OpenAI 常见的:

{
  "model": "Index-Translate-35B-A3B",
  "messages": [
    {
      "role": "user",
      "content": "你好,世界!"
    }
  ],
  "temperature": 0,
  "max_tokens": 1024
}

官方脚本实际上就是向 /chat/completions 发送这种结构,并设置:

"chat_template_kwargs": {
  "enable_thinking": false
}

这里关闭 thinking 很关键,因为这个项目主要是翻译任务,脚本注释也特别说明了,开启推理后可能让思考文本替代最终译文。

因此如果你本身已经在使用 OpenAI SDK 或其他 OpenAI 兼容客户端,接入思路会比较简单。

四、还支持流式输出

官方脚本支持 SSE 流式返回。

直接加:

python call_api.py "今天天气真好,我们去公园散步吧。" -t ja --stream

就可以看到翻译内容逐步输出,而不是等待整个结果生成完成。脚本对 SSE 的 data: 数据进行解析,并持续输出 delta.content。

对于网页翻译、实时字幕以及长文本场景,这种方式会更加友好。

五、不只是普通翻译,还支持术语约束

Index-Translate 的一个实用功能,是可以给模型额外的翻译约束。

例如指定术语:

python call_api.py "碳纤维的好处就是它抗裂缝。" \
  -t en \
  --glossary "碳纤维:carbon fiber, 抗裂缝:crack resistance"

脚本会把术语转换成统一的 A→B 格式,再加入翻译提示词。

也就是说,遇到专业文档、产品说明书、技术文章时,可以人为规定一些专有名词的翻译结果。

同时还支持 instruction,可以对 JSON 等结构化内容提出约束:

python call_api.py '{"title":"用户协议","version":"1.0.0"}' \
  -t en \
  --instruction "严格保留合法 JSON 语法格式,仅翻译 value 文本"

官方脚本针对 JSON 还专门做了格式保护处理。

六、还能直接接入沉浸式翻译

这个功能我觉得非常实用。

官方脚本甚至内置了一个轻量级 OpenAI 兼容本地桥接服务:

python call_api.py --serve

默认监听:

127.0.0.1:8080

启动后,本地地址就是:

http://127.0.0.1:8080/v1

然后在沉浸式翻译里选择“自定义(OpenAI 兼容)”,填写:

接口地址:
http://127.0.0.1:8080/v1

模型:
Index-Translate-35B-A3B

API Key 按官方脚本说明可以随意填写,例如:

index

这个本地桥接服务本质上是把浏览器扩展的 OpenAI 请求转发到 B站的 Index-Translate 公网 API。

七、写在最后

这次 Index-Translate 比较吸引人的地方,并不只是“开源了一个翻译模型”,而是直接把开发者最关心的一整套调用方式准备好了:

开源模型
   ↓
免费公网 API
   ↓
OpenAI 兼容接口
   ↓
官方零依赖 Python 脚本
   ↓
本地 OpenAI Bridge
   ↓
沉浸式翻译

对于前端开发者、AI 应用开发者来说,最大的优势就是测试成本很低。

不用先折腾模型部署,也不用专门安装 Python 第三方依赖,直接拿官方 call_api.py 就能开始测试。除了普通文本翻译,还提供流式输出、术语表、指令约束以及 OpenAI 兼容桥接。

目前这个项目最值得关注的入口,就是:

API:
https://index-translate.bilibili.com/v1

模型:
Index-Translate-35B-A3B

GitHub:
https://github.com/bilibili/Index-Translate

对于平时经常使用 AI 翻译、网页翻译、技术文档翻译的人来说,这个项目可以先收藏起来。

posted @ 2026-10-06 23:17  代码简单说  阅读(2)  评论(0)    收藏  举报