2 poin oleh GN⁺ 2024-05-14 | 1 komentar | Bagikan ke WhatsApp
  • Pipecat adalah framework Python open source untuk membuat agen percakapan suara real-time dan multimodal, mendukung mulai dari satu agen suara hingga sistem dengan beberapa agen spesialis yang dikoordinasikan melalui handoff, eksekusi paralel, dan shared bus
  • Desain intinya adalah menggabungkan pengenalan suara, text-to-speech, pemrosesan percakapan, layanan AI, dan lapisan transport ke dalam pipeline yang dapat dikomposisi, sehingga developer dapat fokus pada logika unik agen
  • Hal yang dapat dibuat mencakup Voice Assistants, sistem multi-agen, AI companion, antarmuka multimodal berbasis suara/video/gambar, interactive storytelling, bot penerimaan dan dukungan pelanggan, hingga sistem percakapan terstruktur
  • SDK klien resmi mendukung JavaScript, React, React Native, Swift, Kotlin, C++, dan ESP32, sementara layanan sisi server diperluas ke STT, LLM, TTS, Speech-to-Speech, transport WebRTC/WebSocket, video, memori, vision/gambar, pemrosesan audio, dan alat analitik
  • Quick start dapat dilakukan dengan pipecat init quickstart atau pipecat init; instalasi dasarnya dijaga tetap ringan, dan dukungan layanan AI pihak ketiga dikonfigurasi dengan menambahkan extras yang diperlukan

Peran Pipecat

  • Pipecat adalah framework Python open source untuk membangun agen percakapan suara real-time dan multimodal
  • Selain satu agen suara, Anda dapat membuat sistem multi-agen tempat agen-agen spesialis melakukan handoff satu sama lain, fan-out paralel, eksekusi sidecar, dan koordinasi berbasis shared bus
  • Dirancang untuk mengorkestrasi audio, video, layanan AI, lapisan transport, dan pipeline percakapan bersama-sama, sehingga Anda dapat fokus mengimplementasikan perilaku unik agen
  • Untuk mulai cepat, jalankan pipecat init quickstart atau ikuti quickstart guide

Yang dapat dibuat

  • Voice Assistants: asisten suara untuk melakukan percakapan streaming secara alami dengan AI
  • Multi-Agent Systems: struktur tempat agen spesialis melakukan handoff, fan-out secara paralel, atau berjalan sebagai sidecar di atas shared bus
  • AI Companions: coach, asisten rapat, karakter
  • Multimodal Interfaces: antarmuka yang menangani suara, video, gambar, dan lainnya
  • Interactive Storytelling: alat kreasi berbasis media generatif
  • Business Agents: penerimaan pelanggan, bot dukungan, alur terpandu
  • Complex Dialog Systems: sistem yang merancang logika melalui percakapan terstruktur

Karakteristik desain

  • Mengintegrasikan pengenalan suara, text-to-speech, dan pemrosesan percakapan dalam struktur voice-first
  • Menyediakan struktur pluggable untuk menghubungkan berbagai layanan dan alat AI
  • Mendukung pipeline yang dapat dikomposisi untuk membangun perilaku kompleks dari komponen modular
  • Memperlakukan tiap pipeline sebagai agen, dan dapat dikombinasikan melalui handoff, fan-out paralel, worker sidecar, dan deployment terdistribusi
  • Menargetkan interaksi real-time dengan latensi sangat rendah melalui lapisan transport seperti WebSockets atau WebRTC

Ekosistem dan alat

  • SDK klien resmi disediakan untuk terhubung ke Pipecat dari berbagai platform
  • Pipecat Flows memungkinkan Anda menyusun jalur percakapan yang sudah ditentukan sebelumnya atau dinamis, termasuk manajemen state, di dalam Pipecat
  • Voice UI Kit adalah kumpulan komponen, hook, dan template untuk membuat aplikasi AI suara dengan cepat
  • Pipecat CLI disertakan bersama pipecat-ai, dan diinstal dengan uv tool install "pipecat-ai[cli]"
    • pipecat init memulai proyek baru dan mengaturnya agar asisten coding AI seperti Claude Code atau Codex dapat membuat proyek
    • Bot yang dapat dijalankan bisa di-scaffold dalam waktu kurang dari 1 menit, lalu CLI dapat digunakan untuk memantau agen dan men-deploy-nya ke produksi
  • Whisker adalah debugger real-time untuk pipeline dan processor Pipecat
  • Tail adalah dashboard terminal untuk Pipecat
  • Pipecat Skills mendukung scaffolding proyek, deployment Pipecat Cloud, dan lainnya bersama Claude Code
    • Perintah instalasi: claude plugin marketplace add pipecat-ai/skills

Cakupan layanan yang didukung

  • Speech-to-Text mendukung berbagai layanan seperti AssemblyAI, AWS, Azure, Deepgram, Google, Groq Whisper, Mistral, NVIDIA, OpenAI Whisper, Whisper, xAI, dan lainnya
  • LLM mencakup Anthropic, AWS, Azure, Cerebras, DeepSeek, Gemini, Grok, Groq, Mistral, NVIDIA NIM, Ollama, OpenAI, OpenAI Responses, OpenRouter, Perplexity, Qwen, Together AI, dan lainnya
  • Text-to-Speech terhubung dengan AWS, Azure, Cartesia, Deepgram, ElevenLabs, Google, Groq, Hume, Kokoro, Mistral, NVIDIA, OpenAI, Piper, Resemble, Rime, Together, XTTS, dan lainnya
  • Speech-to-Speech mendukung AWS Nova Sonic, Gemini Multimodal Live, Grok Voice Agent, OpenAI Realtime, dan Ultravox
  • Lapisan transport mencakup Daily WebRTC, FastAPI Websocket, LiveKit WebRTC, SmallWebRTCTransport, Vonage WebRTC, WebSocket Server, WhatsApp, dan Local
  • Selain itu, Pipecat mendukung serializer seperti Twilio, Telnyx, dan Vonage; video seperti HeyGen, Tavus, dan Simli; memori mem0; vision/gambar berbasis fal, Google Imagen, dan Moondream; pemrosesan audio seperti Silero VAD, Krisp Viva, dan RNNoise; serta alat analitik OpenTelemetry dan Sentry
  • Daftar lengkap dapat dilihat di full services documentation

Instalasi dan mulai menggunakan

  • Setelah menjalankan Pipecat di mesin lokal, Anda dapat memindahkan proses agen ke cloud saat sudah siap
  • Sebelum mulai, Anda perlu menginstal uv
curl -LsSf https://astral.sh/uv/install.sh | sh
  • Quick start berbasis CLI dilakukan dengan menginstal Pipecat CLI, lalu melakukan scaffolding bot phone atau web/mobile baru secara interaktif
uv tool install "pipecat-ai[cli]"
pipecat init
  • Instalasi manual menggunakan uv init dan uv add pipecat-ai pada proyek baru, atau menambahkan uv add pipecat-ai ke proyek yang sudah ada
uv init my-pipecat-app
cd my-pipecat-app
uv add pipecat-ai
uv add pipecat-ai
  • File environment diatur dengan cp env.example .env
  • Paket dasar hanya mencakup core framework, dan jika membutuhkan layanan AI pihak ketiga, tambahkan extras
uv add "pipecat-ai[option,...]"
  • Pengguna pip dapat menginstal dengan pip install pipecat-ai dan pip install "pipecat-ai[option,...]"

Contoh dan pengembangan

  • Focused examples adalah contoh agen kecil yang menunjukkan 1–2 layanan atau konsep tertentu
  • Example apps adalah aplikasi lengkap yang dapat digunakan sebagai titik awal pengembangan
  • Pengembangan Pipecat membutuhkan minimal Python 3.11, dan versi yang direkomendasikan adalah Python 3.12 atau lebih baru
  • Lingkungan pengembangan repository disiapkan dengan uv sync --group dev --all-extras --no-extra gstreamer --no-extra local
    • Beberapa extras seperti local dan gstreamer mungkin memerlukan dependensi sistem
  • Pengujian dijalankan dari root repository dengan uv run pytest, dan pengujian tertentu dijalankan dengan uv run pytest tests/test_name.py

Kontribusi dan bantuan

  • Bug dibuka sebagai GitHub issue, dan ide fitur dimulai dari Discord discussion
  • Kontribusi kode mengikuti panduan CONTRIBUTING.md, dan perbaikan dokumentasi dapat diterima melalui PR ke Docs
  • Jalur untuk mendapatkan bantuan adalah Discord, docs, dan X

1 komentar

 
GN⁺ 2024-05-14
Pendapat di Hacker News
  • Senang melihat implementasi open source muncul, dan saya sudah melihat banyak startup seperti https://www.retellai.com/, https://fixie.ai/ masuk ke area ini
    Pada akhirnya, yang selalu dibutuhkan adalah model suara-ke-suara, sementara pendekatan saat ini biasanya terlihat seperti suara→teks→teks→suara, dengan beberapa agen menangani 1 untuk mendengarkan + 1 untuk berbicara
    Menarik untuk melihat bagaimana ini akan berpadu dengan gpt-4o yang baru-baru ini diumumkan

    • https://vapi.ai juga layak ditambahkan ke daftar. Tool-nya cukup bagus
      Saya sedang berusaha terus mengikuti berbagai lapisan dan pemain di bidang ini
    • Di fixie.ai, mereka sedang mengerjakan SLM, yaitu model bahasa suara, dan akan segera merilis sesuatu yang bisa dicoba
    • Saya penasaran bagaimana model suara-ke-suara bekerja. Apakah caranya memakai jauh lebih banyak token untuk menangkap nuansa ucapan?
  • Bagus, tetapi sisi open source juga benar-benar membutuhkan model audio-ke-audio seperti yang terlihat di demo. Saya penasaran apakah ada yang tahu sesuatu yang mirip
    Sunting: seseorang menemukan satu: https://news.ycombinator.com/item?id=40346992

    • Sebagian besar contoh Pipecat yang sedang dikerjakan saat ini berfokus pada suara-ke-suara. Contoh-contohnya memandu cara mengimplementasikannya, dan contoh storytelling yang di-hosting juga bisa langsung dicoba: https://storytelling-chatbot.fly.dev/
      Akan bagus jika contoh di README diperbarui agar hal ini lebih terlihat
    • Model audio-ke-audio jelas merupakan satu langkah maju, dan secara umum sepertinya arahnya akan ke sana
      Dalam konteks AI suara real-time, ketika latensi turun hingga sekitar di bawah 800 ms, responsnya terasa alami bagi kebanyakan orang dan use case
      Halaman pengumuman GPT-4o menyebutkan rata-rata sekitar 320 ms dari prompt audio hingga token pertama, dan ini jelas merupakan tahap berikutnya sehingga sangat menarik. Saat ini sulit mencapai 800 ms dengan pipeline apa pun yang melibatkan GPT-4 Turbo, jadi ini berarti besar
      Jika model transkripsi, inferensi, dan sintesis suara tercepat saat ini dirangkai dalam sebuah pipeline, sekitar 500 ms hingga token pertama bisa dicapai. Contohnya kombinasi transkripsi Deepgram, Groq Llama-3, dan suara Deepgram Aura
  • Siri keluar pada Oktober 2011, Amazon Alexa pada November 2014, dan speaker suara Google Assistant pada Mei 2016
    Menurut saya Siri masih berantakan dan tidak ada yang ingin memakainya, Alexa sulit saya komentari karena belum pernah memakainya langsung, tetapi di speaker Google Home dan ponsel Android saya tidak melihat peningkatan besar selama bertahun-tahun. Malah memburuk, sehingga tidak bisa lagi menambahkan item langsung ke AnyList[0] seperti dulu dan hanya bisa memakai Google Keep
    Bahkan contoh yang sangat sederhana, yang dulu saya kira sudah lama akan bisa dilakukan, seperti “ulangi yang barusan kamu katakan dengan lebih keras” atau permintaan dua langkah seperti “matikan lampu dapur dan ruang makan”, masih belum bisa ditafsirkan
    Asisten suara cukup berguna saat mengemudi, berbaring di tempat tidur, memasak, atau sibuk dengan hal lain, tetapi rasanya hampir stagnan sejak masa awal peluncurannya. Mungkin belum ada yang menemukan cara untuk memonetisasinya
    Apa yang diperlukan agar kita mendapatkan asisten suara yang lebih baik untuk konsumen? Willow[1] juga tampaknya tidak terlalu melejit
    [0] https://help.anylist.com/articles/google-assistant-overview/
    [1] https://heywillow.io/
    Tambahan, sepertinya saya membajak thread karena sedang mencurahkan hal yang akhir-akhir ini ada di kepala. Pipecat terlihat sangat keren dan saya berharap sukses; semoga ada waktu untuk bereksperimen dengannya akhir pekan ini

    • Saya terutama memakai Google Home, tetapi juga punya Echo Frames sehingga cukup rutin memakai Alexa. Use case utama saya adalah otomasi rumah, dan dalam skenario ini Alexa jauh lebih responsif daripada Google Home
      Saya setuju bahwa Google Home tampaknya memburuk dalam banyak hal. Sebagai pengguna AnyList yang cukup aktif, perubahan itu sangat membuat frustrasi
    • Untuk beberapa tugas, Siri juga oke. Misalnya hal-hal seperti “kirim SMS ke x”, “ingatkan saya untuk melakukan x ketika sampai rumah”
      Cukup baik bahkan tanpa koneksi internet. Namun dikte adalah pengecualian; jauh lebih baik ketika ada internet
    • Ada lompatan kualitatif yang harus dilampaui asisten suara, dan saya merasa itu tidak mungkin sebelum 18 bulan terakhir. Jadi memang benar produknya sendiri juga stagnan
      Namun dari sudut pandang Amazon, tidak jelas apakah mereka sudah menarik garis pada tingkat teknologi di suatu titik dalam setahun terakhir lalu mulai mengembangkan produk secara iteratif di atasnya
    • Saya memakai Siri dan Alexa, tetapi dengan patokan penggunaan fitur yang terbatas, meski lebih sering memakai Alexa, saya tetap menganggap Alexa lebih buruk daripada Siri
      Meski begitu, Alexa bisa menangani dua hal sekaligus seperti “nyalakan X dan matikan Y”, “nyalakan X selama Y detik”
      Saya merasa kualitasnya memburuk seiring waktu, dan setelah membaca tulisan bahwa debu yang menumpuk di mikrofon bisa memperburuk penangkapan suara, saya mencoba alat pembersih debu, tetapi itu tidak menyelesaikan masalah
      Saat mendengarkan audio yang benar-benar ditangkap Alexa di aplikasi, kualitas mikrofon Echo maupun Echo Dot generasi ke-4 benar-benar buruk. Bulan lalu saya banyak menguji Whisper dengan audio berkualitas rendah, dan rasanya model seperti itu akan menafsirkan suara saya jauh lebih baik daripada yang dipakai Amazon
    • Saya memakai Alexa, yaitu Amazon Echo Show, untuk briefing berita, mengecek cuaca, memutar musik, dan mengatur timer
      Alexa berantakan dan terus makin bodoh. Ia sepenuhnya mengabaikan pengaturan, bahkan menyalakan kembali pengaturan yang sudah dimatikan
      Sering kali ia tidak menjawab pertanyaan dan malah bertanya apakah saya mau mencoba fitur baru lain, dan kadang menambahkan kembali secara sembarangan kanal berita yang sudah saya hapus secara eksplisit dari daftar Flash Briefing
      Saya terus tidak habis pikir bagaimana bisa seburuk ini
  • https://feycher.com juga baru saja saya buat, mirip, tetapi juga mendukung lip-sync real-time. Kalau tertarik, kita bisa ngobrol

  • bolna, sebuah orkestrasi suara open source, juga sedang dibuat: https://github.com/bolna-ai/bolna

  • LiveKit Agents yang digunakan OpenAI dalam mode suara juga open source:
    https://github.com/livekit/agents

  • Deteksi aktivitas suara (VAD) secara keseluruhan sangat menarik, dan khususnya ingin belajar lebih banyak tentang cara kerjanya ketika ada beberapa pembicara

  • Bagaimana sebaiknya memulai jika ingin menggunakan ini untuk penerjemahan real-time panggilan telepon?

    • Daily sekarang mendukung panggilan keluar dan masuk: https://docs.daily.co/guides/products/dial-in-dial-out#main
      Artinya, Anda bisa menghubungkan bot ke panggilan lalu memerintahkannya untuk menelepon nomor telepon, dan itu benar-benar berfungsi seperti itu
    • Penasaran mengapa ingin menerjemahkan panggilan telepon secara real-time. Dan ada Whisper
  • Penasaran bagaimana suara real-time GPT-4o yang baru saja diumumkan akan memengaruhi proyek-proyek seperti ini
    Demo percakapan terjemahan multibahasa real-time benar-benar luar biasa

    • Di Pipecat ada demo terjemahan yang menggunakan GPT-4 Turbo, yang sekarang sudah menjadi model kuno dan renta :-) https://github.com/pipecat-ai/pipecat/tree/main/examples/tra...
      Begitu input audio GPT-4o tersedia lewat API, dukungan 4o akan ditambahkan ke Pipecat. Untuk audio real-time dua arah, sepertinya akan diperlukan endpoint WebSocket atau WebRTC baru
    • Saya juga punya rasa penasaran yang sama
      Membuat pipeline yang menghubungkan model bahasa besar dengan model text-to-speech dan speech-to-text dengan latensi rendah memang bagus, tetapi dibandingkan dengan model multimodal native seperti GPT-4o, jelas terlihat kalah
      Masa depannya adalah model native suara yang bisa memahami nuansa suara dan gaya bicara, dan masa depan itu sepertinya tidak terlalu jauh