ONNX 模型库
返回模型

说明文档

🎯 Namo 话轮检测器 v1 - 土耳其语

<div align="center">

License ONNX Model Size Inference Speed

🚀 面向土耳其语的 Namo 话轮检测模型

</div>


📋 概述

Namo 话轮检测器是一个专门的 AI 模型,旨在解决对话式 AI 中最具挑战性的问题之一:判断用户何时结束发言

这个土耳其语专用模型使用先进的自然语言理解技术来区分:

  • 完整话语(用户已说完)
  • 🔄 不完整话语(用户将继续发言)

该模型基于 DistilBERT 架构构建,并采用量化 ONNX 格式进行优化,以最小的延迟提供企业级性能。

🔑 主要特性

  • 话轮检测专家:检测土耳其语语音转录中的话轮结束与延续。
  • 低延迟:采用量化 ONNX 优化,推理时间 <14ms。
  • 稳健性能:在多样化土耳其语话语上达到 96.8% 的准确率。
  • 易于集成:兼容 Python、ONNX Runtime 和 VideoSDK Agents SDK。
  • 企业级就绪:支持实时对话式 AI 和语音助手。

📊 性能指标

<div>

指标 分数
🎯 准确率 96.79%
📈 F1 分数 96.73%
🎪 精确率 97.04%
🎭 召回率 96.42%
⚡ 延迟 <14ms
💾 模型大小 ~135MB

</div> <img src="./confusion_matrices.png" alt="Alt text" width="600" height="400"/>

📊 在来自不同对话场景的 900+ 条土耳其语话语上进行评估

⚡️ 速度分析

<img src="./performance_analysis.png" alt="Alt text" width="600" height="400"/>

🔧 训练与测试脚本

<div align="center">

Train Script Test Script

</div>

🛠️ 安装

要使用此模型,您需要安装以下库。

pip install onnxruntime transformers huggingface_hub

🚀 快速开始

您可以直接从 Hugging Face 仓库运行推理。

import numpy as np
import onnxruntime as ort
from transformers import AutoTokenizer
from huggingface_hub import hf_hub_download

class TurnDetector:
    def __init__(self, repo_id="videosdk-live/Namo-Turn-Detector-v1-Turkish"):
        """
        通过从 Hugging Face Hub 下载模型和分词器
        来初始化检测器。
        """
        print(f"Loading model from repo: {repo_id}")
        
        # 从 Hub 下载模型和分词器
        # 如果您已登录,身份验证将自动处理
        model_path = hf_hub_download(repo_id=repo_id, filename="model_quant.onnx")
        self.tokenizer = AutoTokenizer.from_pretrained(repo_id)
        
        # 设置 ONNX Runtime 推理会话
        self.session = ort.InferenceSession(model_path)
        self.max_length = 512
        print("✅ Model and tokenizer loaded successfully.")

    def predict(self, text: str) -> tuple:
        """
        预测给定的文本话语是否是话轮的结束。
        返回 (predicted_label, confidence),其中:
        - predicted_label: 0 表示"非话轮结束",1 表示"话轮结束"
        - confidence: 0 到 1 之间的置信度分数
        """
        # 对输入文本进行分词
        inputs = self.tokenizer(
            text,
            truncation=True,
            max_length=self.max_length,
            return_tensors="np"
        )
        
        # 为 ONNX 模型准备输入字典
        feed_dict = {
            "input_ids": inputs["input_ids"],
            "attention_mask": inputs["attention_mask"]
        }
        
        # 运行推理
        outputs = self.session.run(None, feed_dict)
        logits = outputs[0]

        probabilities = self._softmax(logits[0])
        predicted_label = np.argmax(probabilities)
        confidence = float(np.max(probabilities))

        return predicted_label, confidence

    def _softmax(self, x, axis=None):
        if axis is None:
            axis = -1
        exp_x = np.exp(x - np.max(x, axis=axis, keepdims=True))
        return exp_x / np.sum(exp_x, axis=axis, keepdims=True)

# --- 示例用法 ---
if __name__ == "__main__":
    detector = TurnDetector()
    
    sentences = [
        "Böbrek ağrıları, şeybele yayılır.",      # 预期:话轮结束
        "Friedrich Perrault'un Ağrı Dağı araştırma keşif ama", # 预期:非话轮结束
    ]
    
    for sentence in sentences:
        predicted_label, confidence = detector.predict(sentence)
        result = "End of Turn" if predicted_label == 1 else "Not End of Turn"
        print(f"'{sentence}' -> {result} (confidence: {confidence:.3f})")
        print("-" * 50)

🤖 VideoSDK Agents 集成

将此话轮检测器直接与 VideoSDK Agents 集成,用于生产级对话式 AI 应用。

from videosdk_agents import NamoTurnDetectorV1, pre_download_namo_turn_v1_model

#下载模型
pre_download_namo_turn_v1_model(language="tr")

# 为 VideoSDK Agents 初始化土耳其语话轮检测器
turn_detector = NamoTurnDetectorV1(language="tr")

📚 完整集成指南 - 了解如何在 VideoSDK Agents 中使用 NamoTurnDetectorV1

📖 引用

@model{namo_turn_detector_tr_2025,
  title={Namo Turn Detector v1: Turkish},
  author={VideoSDK Team},
  year={2025},
  publisher={Hugging Face},
  url={https://huggingface.co/videosdk-live/Namo-Turn-Detector-v1-Turkish},
  note={ONNX-optimized DistilBERT for turn detection in Turkish}
}

📄 许可证

本项目采用 Apache License 2.0 许可 - 详情请参见 LICENSE 文件。

<div align="center">

由 VideoSDK 团队用 ❤️ 制作

VideoSDK

</div>

videosdk-live/Namo-Turn-Detector-v1-Turkish

作者 videosdk-live

voice-activity-detection onnxruntime
↓ 1 ♥ 0

创建时间: 2025-09-26 11:10:20+00:00

更新时间: 2025-10-15 07:39:37+00:00

在 Hugging Face 上查看

文件 (12)

.gitattributes
LICENSE
README.md
config.json
confusion_matrices.png
model.onnx ONNX
model_quant.onnx ONNX
performance_analysis.png
special_tokens_map.json
tokenizer.json
tokenizer_config.json
vocab.txt