Hubungkan ke model dan aplikasi Realtime API melalui protokol AOQ, WebRTC, dan WebSocket. Topik ini mencakup alur koneksi, diagram sekuens, serta contoh kode untuk masing-masing protokol.
Gunakan demo Android dari Alibaba Cloud Model Studio untuk memverifikasi konektivitas AOQ secara cepat. Unduh APK dan konfigurasikan Kunci API serta workspaceId untuk mencoba model yang dipilih.Pindai kode QR berikut untuk mengunduh demo:
AOQ merupakan kustomisasi mendalam di atas protokol QUIC. Protokol ini cocok untuk aplikasi mobile native, mendukung transmisi campuran audio, video, dan data, serta memiliki ketahanan bawaan terhadap jaringan lemah. Contoh berikut menggunakan demo iOS Real-time omni (Omni) untuk menjelaskan alur koneksi AOQ. Untuk detail API SDK AOQ, lihat SDK client AOQ.
Penting: SDK AOQ secara default mengirim data media setelah koneksi berhasil dibangun. Contoh ini menonaktifkan pengiriman media saat menghubungkan ke model dan hanya mengaktifkannya setelah sesi siap.
Setelah koneksi berhasil, kirim event session.update. Untuk detailnya, lihat Event client:
Copy
func onConnectionStatusChange(_ status: AoqConnectionStatus) { if status == .connected { sendSessionUpdate() }}private func sendSessionUpdate() { let json = """ { // ID event ini, dihasilkan oleh client "event_id": "event_ToPZqeobitzUJnt3QqtWg", // Jenis event, tetap sebagai session.update "type": "session.update", // Konfigurasi sesi "session": { // Modalitas output. Atur ke ["text"] (hanya teks) atau ["text","audio"] (teks dan audio). "modalities": [ "text", "audio" ], // Voice untuk output audio "voice": "Ethan", // Format audio input. Hanya pcm yang didukung. Audio input adalah aliran audio PCM dengan laju sampel 16 kHz. "input_audio_format": "pcm", // Format audio output. Hanya pcm yang didukung. Audio output adalah aliran audio PCM dengan laju sampel 24 kHz. "output_audio_format": "pcm", // Pesan sistem yang menetapkan tujuan atau peran model. "instructions": "Anda adalah agen layanan pelanggan AI di hotel bintang lima. Jawab pertanyaan pelanggan secara akurat dan sopan mengenai tipe kamar, fasilitas, harga, dan kebijakan pemesanan. Selalu tanggapi dengan cara profesional dan membantu, serta jangan pernah memberikan informasi yang tidak diverifikasi atau di luar cakupan layanan hotel.", // Apakah akan mengaktifkan deteksi aktivitas suara. Untuk mengaktifkannya, kirim objek konfigurasi; server kemudian secara otomatis mendeteksi kapan ucapan dimulai dan dihentikan. // Atur ke null agar client yang menentukan kapan memicu respons model. "turn_detection": { // Jenis VAD: server_vad atau semantic_vad. semantic_vad direkomendasikan untuk model seri qwen3.5-omni-realtime. "type": "semantic_vad", // Ambang batas deteksi VAD. Tingkatkan nilainya di lingkungan bising dan turunkan di lingkungan tenang. "threshold": 0.5, // Durasi diam untuk mendeteksi akhir ucapan. Respons model dipicu setelah durasi ini terlampaui "silence_duration_ms": 800 } } } """ let msg = AoqDataMsg() msg.data = json.data(using: .utf8)! engine.send(msg)}
WebRTC tidak memiliki SDK khusus. Di web, hubungkan langsung menggunakan API JavaScript native browser. Di client lain, hubungkan melalui library WebRTC open source atau layanan RTC pihak ketiga yang mendukung protokol WebRTC standar. Contoh berikut menggunakan JavaScript di web.
Browser modern yang mendukung WebRTC (seperti Chrome, Edge, Firefox, atau Safari).
Izin mikrofon telah diberikan ke browser.
Browser tidak dapat mengirim permintaan koneksi langsung ke server karena kebijakan keamanan cross-origin. Jalankan perintah curl di terminal untuk membangun koneksi.
Buat file HTML bernama webrtc_demo.html dan salin kode berikut ke dalamnya:webrtc_demo.html.Buka file tersebut di browser dan ikuti langkah-langkah berikut:
Klik Start session. Halaman secara otomatis menghasilkan Offer SDP dan perintah curl yang sesuai.
Klik Copy curl command dan jalankan perintah tersebut di terminal. Perintah tersebut akan mengembalikan Answer SDP.
Tempel Answer SDP ke kotak teks Answer SDP di halaman, lalu klik Set Answer untuk membangun koneksi dan memulai percakapan suara.