🚀 transformers.js
transformers.js 是一個 JavaScript 庫,可用於處理音頻文本到文本的轉換任務,支持多種語言,基於特定模型實現強大功能。
🚀 快速開始
如果你還未安裝 Transformers.js JavaScript 庫,可以通過以下命令從 NPM 進行安裝:
npm i @huggingface/transformers
💻 使用示例
基礎用法
import { UltravoxProcessor, UltravoxModel, read_audio } from "@huggingface/transformers";
const processor = await UltravoxProcessor.from_pretrained(
"onnx-community/ultravox-v0_5-llama-3_2-1b-ONNX",
);
const model = await UltravoxModel.from_pretrained(
"onnx-community/ultravox-v0_5-llama-3_2-1b-ONNX",
{
dtype: {
embed_tokens: "q8",
audio_encoder: "q4",
decoder_model_merged: "q4",
},
},
);
const audio = await read_audio("http://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/mlk.wav", 16000);
const messages = [
{
role: "system",
content: "You are a helpful assistant.",
},
{ role: "user", content: "Transcribe this audio:<|audio|>" },
];
const text = processor.tokenizer.apply_chat_template(messages, {
add_generation_prompt: true,
tokenize: false,
});
const inputs = await processor(text, audio);
const generated_ids = await model.generate({
...inputs,
max_new_tokens: 128,
});
const generated_texts = processor.batch_decode(
generated_ids.slice(null, [inputs.input_ids.dims.at(-1), null]),
{ skip_special_tokens: true },
);
console.log(generated_texts[0]);
📄 許可證
本項目採用 MIT 許可證。
📋 信息表格
屬性 |
詳情 |
支持語言 |
阿拉伯語(ar)、白俄羅斯語(be)、保加利亞語(bg)、孟加拉語(bn)、捷克語(cs)、威爾士語(cy)、丹麥語(da)、德語(de)、希臘語(el)、英語(en)、西班牙語(es)、愛沙尼亞語(et)、波斯語(fa)、芬蘭語(fi)、法語(fr)、加利西亞語(gl)、印地語(hi)、匈牙利語(hu)、意大利語(it)、日語(ja)、格魯吉亞語(ka)、立陶宛語(lt)、拉脫維亞語(lv)、馬其頓語(mk)、馬拉地語(mr)、荷蘭語(nl)、波蘭語(pl)、葡萄牙語(pt)、羅馬尼亞語(ro)、俄語(ru)、斯洛伐克語(sk)、斯洛文尼亞語(sl)、塞爾維亞語(sr)、瑞典語(sv)、斯瓦希里語(sw)、泰米爾語(ta)、泰語(th)、土耳其語(tr)、烏克蘭語(uk)、烏爾都語(ur)、越南語(vi)、中文(zh) |
庫名稱 |
transformers.js |
評估指標 |
BLEU |
任務類型 |
音頻文本到文本 |
基礎模型 |
fixie-ai/ultravox-v0_5-llama-3_2-1b |