python+qwen3-omni-flash-realtime实现实时音视频ai聊天助手千问qwen示例代码

代码语言:python

所属分类:其他

代码描述:python+qwen3-omni-flash-realtime实现实时音视频ai聊天助手千问qwen示例代码

代码标签: python qwen3-omni-flash-realtime 实时 音视频 ai 聊天 助手 q

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
# -- coding: utf-8 --
import asyncio
import websockets
import json
import base64
import time
import os
import pyaudio
import queue
import threading
import cv2
from typing import Optional, Callable, Dict, Any
from enum import Enum

class TurnDetectionMode(Enum):
    SERVER_VAD = "server_vad"
    MANUAL = "manual"

class OmniRealtimeClient:
    def __init__(
        self,
        base_url,
        api_key: str,
        model: str = "",
        voice: str = "Ethan",
        instructions: str = "You are a helpful assistant.",
        turn_detection_mode: TurnDetectionMode = TurnDetectionMode.SERVER_VAD,
        on_text_delta: Optional[Callable[[str], None]] = None,
        on_audio_delta: Optional[Callable[[bytes], None]] = None,
        on_interruption: Optional[Callable[[], None]] = None,  # 新增:打断回调
        on_input_transcript: Optional[Callable[[str], None]] = None,
        on_output_transcript: Optional[Callable[[str], None]] = None,
        extra_event_handlers: Optional[Dict[str, Callable[[Dict[str, Any]], None]]] = None
    ):
        self.base_url = base_url
        self.api_key = api_key
        self.model = model
        self.voice = voice
        self.instructions = instructions
        self.ws = None
        self.on_text_delta = on_text_delta
        self.on_audio_delta = on_audio_delta
        self.on_interruption = on_interruption # 保存打断回调
        self.on_input_transcript = on_input_transcript
        self.on_output_transcript = on_output_transcript
        self.turn_detection_mode .........完整代码请登录后点击上方下载按钮下载查看

网友评论0