Gemini Live API cho phép tương tác bằng văn bản và giọng nói hai chiều có độ trễ thấp với Gemini. Khi sử dụng Live API, bạn có thể mang đến cho người dùng cuối trải nghiệm trò chuyện tự nhiên, giống như con người, với khả năng ngắt lời phản hồi của mô hình bằng lệnh văn bản hoặc lệnh thoại. Mô hình này có thể xử lý dữ liệu đầu vào là văn bản và âm thanh (video sắp ra mắt!) và có thể cung cấp dữ liệu đầu ra là văn bản và âm thanh.
Bạn có thể tạo nguyên mẫu bằng câu lệnh và Live API trong Vertex AI Studio.
Live API là một API có trạng thái tạo kết nối WebSocket để thiết lập phiên giữa ứng dụng và máy chủ Gemini. Để biết thông tin chi tiết, hãy xem tài liệu tham khảo về Live API.
Trước khi bắt đầu
Nếu bạn chưa hoàn tất, hãy hoàn thành hướng dẫn bắt đầu sử dụng. Hướng dẫn này mô tả cách thiết lập dự án Firebase, kết nối ứng dụng với Firebase, thêm SDK, khởi chạy dịch vụ Vertex AI và tạo một thực thể LiveModel
.
Lưu ý rằng để sử dụng Live API:
Đảm bảo rằng bạn đang sử dụng ít nhất các phiên bản thư viện Firebase sau:
iOS+: chưa được hỗ trợ | Android: v16.3.0+ (BoM: v33.12.0+) | Web: chưa được hỗ trợ | Flutter: v1.5.0+ (BoM: v3.9.0+)Tạo một thực thể
LiveModel
(không phải thực thểGenerativeModel
).
Các mẫu hỗ trợ tính năng này
Live API chỉ được gemini-2.0-flash-live-preview-04-09
hỗ trợ (không phải gemini-2.0-flash
).
Sử dụng các tính năng tiêu chuẩn của Live API
Phần này mô tả cách sử dụng các tính năng tiêu chuẩn của Live API, cụ thể là để truyền trực tuyến nhiều loại dữ liệu đầu vào và đầu ra:
- Gửi và nhận tin nhắn văn bản
- Gửi và nhận âm thanh
- Gửi âm thanh và nhận văn bản
- Gửi văn bản và nhận âm thanh
Gửi và nhận tin nhắn văn bản
Bạn có thể gửi dữ liệu đầu vào văn bản dạng luồng và nhận dữ liệu đầu ra văn bản dạng luồng. Hãy nhớ tạo một thực thể liveModel
và đặt phương thức phản hồi thành Text
.
Tìm hiểu cách chọn một mô hình và tuỳ ý chọn một vị trí phù hợp với trường hợp sử dụng và ứng dụng của bạn.
Gửi và nhận âm thanh
Bạn có thể gửi đầu vào âm thanh trực tuyến và nhận đầu ra âm thanh trực tuyến. Hãy nhớ tạo một thực thể LiveModel
và đặt phương thức phản hồi thành Audio
.
Tìm hiểu cách định cấu hình và tuỳ chỉnh giọng nói phản hồi (ở phần sau của trang này).
Tìm hiểu cách chọn một mô hình và tuỳ ý chọn một vị trí phù hợp với trường hợp sử dụng và ứng dụng của bạn.
Tạo trải nghiệm hấp dẫn và có tính tương tác hơn
Phần này mô tả cách tạo và quản lý các tính năng tương tác hoặc hấp dẫn hơn của Live API.
Thay đổi giọng nói phản hồi
Live API sử dụng Chirp 3 để hỗ trợ các câu trả lời bằng lời nói được tổng hợp. Khi sử dụng Vertex AI in Firebase, bạn có thể gửi âm thanh bằng 5 giọng nói HD và 31 ngôn ngữ.
Nếu bạn không chỉ định giọng nói, giá trị mặc định sẽ là Puck
. Ngoài ra, bạn có thể định cấu hình mô hình để phản hồi bằng giọng nói bất kỳ trong số các giọng nói sau:
Aoede (nữ)Charon (nam) |
Fenrir (nam)Kore (nữ) |
Puck (nam) |
Để xem bản minh hoạ về âm thanh của các giọng nói này và danh sách đầy đủ các ngôn ngữ có sẵn, hãy xem bài viết Chirp 3: Giọng nói HD.
Để chỉ định giọng nói, hãy đặt tên giọng nói trong đối tượng speechConfig
như một phần của cấu hình mô hình:
Để có kết quả tốt nhất khi nhắc và yêu cầu mô hình phản hồi bằng ngôn ngữ không phải tiếng Anh, hãy đưa nội dung sau vào hướng dẫn hệ thống:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
Duy trì ngữ cảnh trên các phiên và yêu cầu
Bạn có thể sử dụng cấu trúc trò chuyện để duy trì ngữ cảnh trên các phiên và yêu cầu. Xin lưu ý rằng tính năng này chỉ hoạt động đối với dữ liệu đầu vào và đầu ra dạng văn bản.
Phương pháp này phù hợp nhất với ngữ cảnh ngắn; bạn có thể gửi các lượt tương tác từng bước để thể hiện trình tự chính xác của các sự kiện . Đối với ngữ cảnh dài hơn, bạn nên cung cấp một bản tóm tắt tin nhắn để giải phóng cửa sổ ngữ cảnh cho các lượt tương tác tiếp theo.
Xử lý các hoạt động gián đoạn
Vertex AI in Firebase chưa hỗ trợ việc xử lý các sự cố gián đoạn. Vui lòng kiểm tra lại sớm!
Sử dụng lệnh gọi hàm (công cụ)
Bạn có thể xác định các công cụ (chẳng hạn như các hàm có sẵn) để sử dụng với Live API giống như cách bạn có thể sử dụng với các phương thức tạo nội dung tiêu chuẩn. Phần này mô tả một số điểm khác biệt khi sử dụng API Trực tiếp với lệnh gọi hàm. Để biết nội dung mô tả đầy đủ và ví dụ về cách gọi hàm, hãy xem hướng dẫn gọi hàm.
Từ một câu lệnh duy nhất, mô hình có thể tạo nhiều lệnh gọi hàm và mã cần thiết để tạo chuỗi đầu ra. Mã này thực thi trong môi trường hộp cát, tạo ra các thông báo BidiGenerateContentToolCall
tiếp theo. Quá trình thực thi sẽ tạm dừng cho đến khi có kết quả của từng lệnh gọi hàm, đảm bảo quá trình xử lý tuần tự.
Ngoài ra, việc sử dụng API trực tiếp với lệnh gọi hàm đặc biệt hiệu quả vì mô hình có thể yêu cầu người dùng cung cấp thông tin tiếp theo hoặc làm rõ thông tin. Ví dụ: nếu không có đủ thông tin để cung cấp giá trị tham số cho một hàm mà mô hình muốn gọi, thì mô hình có thể yêu cầu người dùng cung cấp thêm hoặc làm rõ thông tin.
Ứng dụng sẽ phản hồi bằng BidiGenerateContentToolResponse
.
Giới hạn và yêu cầu
Hãy lưu ý các giới hạn và yêu cầu sau đây của Live API.
Bản ghi âm
Vertex AI in Firebase chưa hỗ trợ bản chép lời. Vui lòng kiểm tra lại sớm!
Ngôn ngữ
- Ngôn ngữ nhập: Xem danh sách đầy đủ các ngôn ngữ nhập được hỗ trợ cho các mẫu Gemini
- Ngôn ngữ đầu ra: Xem danh sách đầy đủ các ngôn ngữ đầu ra có sẵn trong Chirp 3: HD voices
Định dạng âm thanh
Live API hỗ trợ các định dạng âm thanh sau:
- Định dạng âm thanh đầu vào: Âm thanh PCM thô 16 bit ở 16 kHz little-endian
- Định dạng âm thanh đầu ra: Âm thanh PCM thô 16 bit ở 24 kHz little-endian
Giới hạn tốc độ
Các giới hạn tốc độ sau đây sẽ được áp dụng:
- 10 phiên đồng thời cho mỗi dự án Firebase
- 4 triệu mã thông báo mỗi phút
Thời lượng phiên
Thời lượng mặc định của một phiên là 30 phút. Khi thời lượng phiên vượt quá giới hạn, kết nối sẽ bị chấm dứt.
Mô hình cũng bị giới hạn bởi kích thước ngữ cảnh. Việc gửi các phần lớn dữ liệu đầu vào có thể dẫn đến việc kết thúc phiên sớm hơn.
Phát hiện hoạt động giọng nói (VAD)
Mô hình này tự động thực hiện tính năng phát hiện hoạt động giọng nói (VAD) trên luồng đầu vào âm thanh liên tục. VAD được bật theo mặc định.
Tính số mã thông báo
Bạn không thể sử dụng API CountTokens
với Live API.