TopGit
Đánh giá repo GitHub

LiveKit Agents: Framework AI Giọng Nói Thời Gian Thực

livekit/agents
LTopGit review image for livekit/agents
Review by Topgit.dev for livekit/agents, with GitHub repository stats and README context.
Nhận định nhanh

LiveKit Agents là framework Python để xây dựng agent AI giọng nói thời gian thực, chạy như tiến trình server sống lâu dài thay vì các lệnh gọi API đơn lẻ, rời rạc. Chọn nó nếu bạn cần đổi nhà cung cấp STT, LLM, TTS theo từng lần triển khai và sau này còn muốn nhận/gọi điện thoại; bỏ qua nếu một lệnh gọi LLM dạng request/response đơn giản đã đủ cho việc bạn đang làm — mô hình AgentServer/AgentSession là hạ tầng nhiều hơn mức cần thiết cho việc đó.

Sao
★ 14.9k
Fork
⑂ 4.0k
Ngôn ngữ
Python
Giấy phép
Apache-2.0
Chủ đề
—
Cập nhật
Oct 2026
Trang chủ
GitHub

LiveKit Agents Framework Là Gì?

LiveKit Agents là framework Python mã nguồn mở để xây dựng các participant thời gian thực, có thể lập trình được, chạy trên server — nói theo README, đây là các agent hội thoại, đa phương thức, có thể nhìn, nghe và hiểu. Nó xoay quanh ba đối tượng cốt lõi: một Agent giữ instructions và tools, một AgentSession quản lý tương tác với người dùng, và một AgentServer lo việc lên lịch job và khởi chạy agent cho từng session.

Tính Năng Chính Cho AI Hội Thoại

  • ✓Cấu hình session không phụ thuộc nhà cung cấp: một AgentSession nhận bất kỳ tổ hợp VAD, STT, LLM, TTS nào, hoặc một Realtime API duy nhất — ví dụ trong README tự chuyển qua lại giữa LiveKit Inference và các plugin Deepgram/OpenAI/Cartesia trực tiếp chỉ bằng vài dòng comment.
  • ✓Job scheduling và dispatch API định tuyến người dùng cuối tới một instance agent đang chạy, thay vì bạn phải tự viết hàng đợi và tầng định tuyến.
  • ✓Tích hợp điện thoại qua chính SIP stack của LiveKit, nên một agent có thể gọi đi hoặc nhận cuộc gọi mà không cần thêm nhà cung cấp khác.
  • ✓Semantic turn detection dùng một transformer model để nhận biết khi nào người dùng thực sự đã nói xong, thay vì dựa vào một khoảng lặng cố định.
  • ✓Hỗ trợ MCP gốc: một tool từ MCP server cắm vào agent chỉ với một dòng code, theo README.
  • ✓Một test framework tích hợp sẵn — test session dựa trên pytest cộng thêm các 'judge' bằng LLM để kiểm tra câu trả lời của assistant so với một intent đã mô tả.
  • ✓Trao đổi dữ liệu với client đã kết nối qua RPC và các Data API khác của LiveKit, bên cạnh chính session voice/video.
  • ✓Tiếp cận phía client qua hệ sinh thái WebRTC SDK của LiveKit, nên cùng một agent có thể được gọi từ browser, mobile hoặc desktop client.
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao ↗

Ví Dụ Thực Tế Và Use Case

  • •Một agent nhận đặt món hoặc đặt chỗ qua điện thoại — ví dụ chính trong repo có hẳn một flow đặt món và đặt chỗ nhà hàng đầy đủ.
  • •Một outbound caller agent tự gọi đi qua điện thoại, dùng lại đúng phần tích hợp gọi điện đó.
  • •Một assistant có khả năng nhìn, ví dụ Gemini Live vision trong README (kèm app iOS), nơi agent có thể nhìn qua camera của client.
  • •Một flow multi-agent handoff — một agent thu thập thông tin người dùng qua function_tool, rồi chuyển session sang một agent chuyên biệt khác.
  • •Một tích hợp chỉ dùng text, tái sử dụng cùng code agent mà không cần voice, cho các bề mặt chat-first.

Cài Đặt Và Thiết Lập

Cài package lõi cùng các plugin nhà cung cấp dưới dạng extras: pip install "livekit-agents[openai,deepgram,cartesia]" kéo theo framework cùng các plugin STT/LLM/TTS được nêu tên. Tài liệu nằm ở docs.livekit.io/agents; README không mô tả chi tiết hơn ngoài trang đó. Nếu bạn build bằng một AI coding agent, README khuyến nghị thêm LiveKit Docs MCP server để có context API mới nhất, cùng gói LiveKit Agent Skill — cài qua npx skills add livekit/agent-skills --skill livekit-agents — để có hướng dẫn kiến trúc về workflow, handoff, task và testing.

Xây Dựng Và Chạy Agent Của Bạn

Một AgentServer bọc quanh app; bạn đăng ký một entrypoint bằng @server.rtc_session(), dựng một AgentSession với vad/stt/llm/tts bạn chọn (hoặc dùng Inference API hợp nhất của chính LiveKit), gắn một Agent với instructions và các tools gắn decorator @function_tool, rồi gọi session.start() và session.generate_reply(). Một session cần ba biến môi trường: LIVEKIT_URL, LIVEKIT_API_KEY và LIVEKIT_API_SECRET. Ba chế độ chạy bao trọn vòng làm việc: python myagent.py console chạy cục bộ với audio I/O qua terminal, không cần server ngoài, dùng để test nhanh; python myagent.py dev khởi động server với hot reload và kết nối tới LiveKit Cloud hoặc một server tự host, test được qua Agents Playground hoặc bất kỳ LiveKit client SDK nào; python myagent.py start chạy nó "with production-ready optimizations" (tối ưu sẵn sàng cho production), theo README. Để test tự động, framework có sẵn tích hợp pytest gốc — một test có thể chạy một session với user_input dựng sẵn và assert trên các event trả về, kể cả một lệnh gọi judge() dựa trên LLM để kiểm tra câu trả lời của assistant so với một intent đã mô tả.

Điểm Mạnh

  • ✓Session không phụ thuộc nhà cung cấp: ví dụ chính trong README chuyển qua lại giữa Inference API hợp nhất của LiveKit và các plugin Deepgram/OpenAI/Cartesia trực tiếp chỉ bằng vài dòng comment, không cần viết lại.
  • ✓Semantic turn detection chạy trên một transformer model thật, không phải một khoảng lặng cố định — một câu trả lời thật cho vấn đề agent nói đè lên người dùng.
  • ✓Gọi đi và nhận cuộc gọi điện thoại là một tích hợp hạng nhất qua chính SIP stack của LiveKit, không phải thứ gắn thêm — README liệt kê hẳn một ví dụ outbound-caller riêng.
  • ✓Hỗ trợ MCP gốc nghĩa là một MCP toolserver có sẵn cắm vào agent chỉ với một dòng code, thay vì tự viết glue code cho tool-calling.
  • ✓Có sẵn một test framework thật sự: test session dựa trên pytest cộng các 'judge' bằng LLM kiểm tra câu trả lời của assistant so với một intent đã nêu — cho một loại phần mềm mà việc khẳng định 'trả lời đúng hay chưa' vốn khó chứng minh.

Những Điều Cần Cân Nhắc Khi Dùng LiveKit Agents

  • △AgentServer, AgentSession và pattern entrypoint là một mô hình tư duy riêng cần học — đây không phải một lệnh gọi chat-completion một dòng, và có kha khá phần khung sườn phải dựng trước khi có phản hồi đầu tiên.
  • △Các luồng gọi điện thoại đầy đủ và Realtime API phụ thuộc vào LiveKit Cloud hoặc một server LiveKit tự host cộng thêm cấu hình SIP — không phải thứ chỉ pip install là có.
  • △Giấy phép Apache-2.0 chỉ áp dụng cho phần code của framework, còn các turn detection model đi kèm được cấp phép riêng theo LiveKit Model License, theo đúng file LICENSE và MODEL_LICENSE của repo.
  • △Python là bản triển khai chính, được tài liệu hoá ở đây — phần hỗ trợ JS/TS nằm ở repo AgentsJS riêng, nên một team dùng Node.js phải theo dõi hai codebase thay vì một.

Các Framework AI Agent Thay Thế

Pipecat — một framework Python mã nguồn mở khác cho agent voice và multimodal thời gian thực, một đối thủ chức năng khá gần với LiveKit Agents.Vocode — một framework mã nguồn mở để xây voice agent, thiên về chat/hội thoại hơn là thiên về gọi điện.Dùng thẳng OpenAI Realtime API — bỏ qua tầng AgentServer/AgentSession/dispatch, cho team chỉ cần endpoint voice thời gian thực của một model duy nhất.LangChain — framework agent LLM đa dụng, không có sẵn tầng voice session, WebRTC hay gọi điện. ↗langgraph — một framework agent orchestration dựa trên đồ thị, đa dụng chứ không chuyên về voice. ↗

Câu Hỏi Thường Gặp

Giấy phép của LiveKit Agents là gì?

LiveKit Agents (phần code framework) được cấp phép theo Apache-2.0. Các turn detection model đi kèm được cấp phép riêng, theo LiveKit Model License, đúng theo file LICENSE và MODEL_LICENSE của repo.

LiveKit Agents được viết bằng ngôn ngữ lập trình nào?

LiveKit Agents được viết bằng Python, đúng như ngôn ngữ chính được liệt kê của repository. Một bản triển khai JS/TS riêng, tên AgentsJS, tồn tại như một repository độc lập cho team dùng Node.js.

LiveKit Agents có tích hợp được với nhiều LLM và nhà cung cấp STT/TTS khác nhau không?

LiveKit Agents hỗ trợ trộn và ghép STT, LLM, TTS, hoặc một Realtime API theo từng session thông qua các plugin nhà cung cấp — chỉ riêng ví dụ install trong README đã gộp sẵn openai, deepgram và cartesia như các extra tuỳ chọn.

LiveKit Agents xử lý turn detection thời gian thực như thế nào?

LiveKit Agents dùng một transformer model cho semantic turn detection, nhận biết khi nào người dùng thực sự đã nói xong thay vì dựa vào một khoảng lặng cố định, điều mà README nói là giúp giảm tình trạng bị ngắt lời.

LiveKit Agents có phù hợp để triển khai production không?

LiveKit Agents có sẵn một lệnh start mà README mô tả là chạy agent "with production-ready optimizations" (tối ưu sẵn sàng cho production), tách biệt với các lệnh console và dev dùng để test cục bộ và phát triển với hot reload.

LiveKit Agents có hỗ trợ tích hợp điện thoại không?

LiveKit Agents tích hợp với chính hệ thống điện thoại của LiveKit nên một agent có thể gọi đi hoặc nhận cuộc gọi, và các ví dụ của chính dự án có hẳn một outbound-caller agent riêng.

Vấn đề nó giải quyết

Xây một agent AI giọng nói tốt nghĩa là phải giải quyết nhiều vấn đề nằm ngoài một lệnh gọi API tới LLM cùng lúc: nhận biết khi nào người gọi thực sự nói xong (chứ không chỉ đang ngừng lại) thay vì cắt ngang họ, giữ session sống xuyên suốt một cuộc gọi điện thoại hay một room WebRTC, đổi tổ hợp STT/LLM/TTS theo từng lần triển khai mà không phải viết lại app, và test kết quả khi LLM trong vòng lặp không xác định (non-deterministic). LiveKit Agents đóng gói sẵn đúng những mảnh đó — semantic turn detection, một abstraction tên AgentSession, các tích hợp nhà cung cấp có thể cắm được, và một framework test tích hợp sẵn dựa trên pytest kèm judges — thay vì để một developer tự nối một thư viện VAD, một SDK nhà cung cấp, và một script định tuyến cuộc gọi lại với nhau bằng tay.

Ai nên dùng — và ai nên bỏ qua

Chọn LiveKit Agents nếu bạn đang xây một voice agent cần chạy liên tục như một tiến trình server, cắm được nhiều nhà cung cấp STT/LLM/TTS khác nhau theo từng use case, và sau này còn muốn nhận cuộc gọi điện thoại hoặc đưa lên một WebRTC client thật. Bỏ qua nếu bạn chỉ cần một lệnh gọi LLM dạng request/response từ một script hay một serverless function — mô hình AgentServer/AgentSession, cùng LiveKit Cloud hoặc server tự host mà nó cần bên dưới, là hạ tầng nhiều hơn mức một chatbot text dùng một lần cần tới.

Repo liên quan

Nguồn & ghi công

Thông tin và trích dẫn lấy từ repository GitHub livekit/agents và README của nó.

Dữ liệu GitHub · đồng bộ lần cuối 10 thg 8, 2026Đánh giá bởi Henry
← Về TopGit

Muốn nghe thêm một ý kiến về agents?

Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về agents.

GitHub