Xây dựng cuộc trò chuyện nhiều lượt (trò chuyện) bằng API Gemini


Khi sử dụng API Gemini, bạn có thể tạo các cuộc trò chuyện dạng tự do ở nhiều lượt. SDK Vertex AI cho Firebase đơn giản hoá quy trình bằng cách quản lý trạng thái cuộc trò chuyện. Do đó, không giống như generateContentStream() hoặc generateContent(), bạn không phải tự lưu trữ nhật ký trò chuyện.

Trước khi bắt đầu

Nếu bạn chưa thực hiện, hãy xem qua hướng dẫn bắt đầu sử dụng Vertex AI cho Firebase SDK. Hãy đảm bảo rằng bạn đã hoàn thành tất cả các bước sau:

  • Thiết lập một dự án Firebase mới hoặc hiện có, bao gồm cả việc sử dụng Gói giá linh hoạt và bật các API bắt buộc.

  • Kết nối ứng dụng của bạn với Firebase, bao gồm cả việc đăng ký ứng dụng và thêm cấu hình Firebase vào ứng dụng.

  • Thêm SDK và khởi chạy dịch vụ Vertex AI cũng như mô hình tạo sinh trong ứng dụng của bạn.

Sau khi kết nối ứng dụng với Firebase, thêm SDK và khởi chạy dịch vụ Vertex AI cũng như mô hình tạo sinh, bạn có thể gọi API Gemini.

Gửi yêu cầu lời nhắc trò chuyện

Để tạo một cuộc trò chuyện nhiều lượt (như cuộc trò chuyện), hãy bắt đầu bằng cách khởi động cuộc trò chuyện bằng cách gọi startChat(). Sau đó, sử dụng sendMessageStream() (hoặc sendMessage()) để gửi tin nhắn cho người dùng mới. Thao tác này cũng sẽ thêm tin nhắn và câu trả lời vào nhật ký trò chuyện.

Có 2 tuỳ chọn cho role liên kết với nội dung trong cuộc trò chuyện:

  • user: vai trò đưa ra lời nhắc. Giá trị này là giá trị mặc định cho các lệnh gọi đến sendMessageStream() (hoặc sendMessage()). Hàm sẽ gửi một ngoại lệ nếu có một vai trò khác được truyền.

  • model: vai trò đưa ra câu trả lời. Bạn có thể dùng vai trò này khi gọi startChat() bằng history hiện có.

Chọn xem bạn muốn truyền phản hồi (sendMessageStream) hay chờ phản hồi cho đến khi toàn bộ kết quả được tạo (sendMessage).

Truyền trực tuyến

Bạn có thể đạt được tương tác nhanh hơn bằng cách không đợi toàn bộ kết quả từ quá trình tạo mô hình, mà thay vào đó sử dụng phương thức truyền trực tuyến để xử lý một phần kết quả.

Ví dụ này cho biết cách sử dụng sendMessageStream() để truyền trực tuyến phản hồi từ mô hình:

Không phát trực tuyến

Ngoài ra, bạn có thể đợi toàn bộ kết quả thay vì truyền trực tuyến; kết quả chỉ được trả về sau khi mô hình hoàn tất toàn bộ quá trình tạo.

Dưới đây là ví dụ minh hoạ cách dùng sendMessage() để gửi thông báo cho người dùng mới:

Tìm hiểu cách chọn mô hình Gemini và một vị trí phù hợp với trường hợp sử dụng và ứng dụng của bạn (không bắt buộc).

Còn điều gì khác bạn có thể làm không?

  • Tìm hiểu cách đếm mã thông báo trước khi gửi lời nhắc dài đến mô hình.
  • Thiết lập Cloud Storage cho Firebase để bạn có thể đưa các tệp lớn vào các yêu cầu đa phương thức bằng cách sử dụng các URL của Cloud Storage. Các tệp có thể chứa hình ảnh, PDF, video và âm thanh.
  • Hãy bắt đầu cân nhắc việc chuẩn bị cho quá trình phát hành chính thức, bao gồm cả việc thiết lập tính năng Kiểm tra ứng dụng Firebase để bảo vệ API Gemini khỏi hành vi lạm dụng của các ứng dụng không được phép.

Hãy thử các chức năng khác của API Gemini

Tìm hiểu cách kiểm soát việc tạo nội dung

Bạn cũng có thể thử nghiệm với các câu lệnh và cấu hình mô hình bằng Vertex AI Studio.

Tìm hiểu thêm về các mô hình Gemini

Tìm hiểu về các mô hình có sẵn cho nhiều trường hợp sử dụng cũng như hạn mức và giá của các mô hình đó.


Gửi ý kiến phản hồi về trải nghiệm của bạn khi sử dụng Vertex AI cho Firebase