Theo mặc định, Gemini API trả về các phản hồi dưới dạng văn bản không có cấu trúc. Tuy nhiên, một số trường hợp sử dụng yêu cầu văn bản có cấu trúc, chẳng hạn như JSON. Ví dụ: bạn có thể đang sử dụng phản hồi cho các tác vụ hạ nguồn khác yêu cầu một giản đồ dữ liệu đã được thiết lập.
Để đảm bảo đầu ra do mô hình tạo ra luôn tuân thủ một giản đồ cụ thể, bạn có thể xác định giản đồ phản hồi. Giản đồ này hoạt động như một sơ đồ thiết kế cho các phản hồi của mô hình. Sau đó, bạn có thể trực tiếp trích xuất dữ liệu từ đầu ra của mô hình với ít quá trình xử lý sau hơn.
Sau đây là một số ví dụ:
Đảm bảo rằng phản hồi của mô hình tạo ra JSON hợp lệ và phù hợp với giản đồ mà bạn cung cấp.
Ví dụ: mô hình có thể tạo các mục có cấu trúc cho các công thức nấu ăn luôn bao gồm tên công thức, danh sách nguyên liệu và các bước chế biến. Sau đó, bạn có thể dễ dàng phân tích cú pháp và hiển thị thông tin này trong giao diện người dùng của ứng dụng.Giới hạn cách một mô hình có thể phản hồi trong các tác vụ phân loại.
Ví dụ: bạn có thể yêu cầu mô hình chú thích văn bản bằng một tập hợp nhãn cụ thể (ví dụ: một tập hợp enum cụ thể nhưpositive
vànegative
), thay vì các nhãn do mô hình tạo ra (có thể thay đổi một mức độ nhưgood
,positive
,negative
hoặcbad
).
Hướng dẫn này chỉ cho bạn cách tạo đầu ra JSON bằng cách cung cấp responseSchema
trong lệnh gọi đến generateContent
. Gemini cũng tập trung vào việc nhập văn bản thuần tuý, nhưng Gemini cũng có thể tạo câu trả lời có cấu trúc cho các yêu cầu đa phương thức, trong đó có hình ảnh, video và âm thanh làm dữ liệu đầu vào.
Ở cuối trang này, bạn có thể xem các ví dụ khác, chẳng hạn như cách tạo các giá trị enum làm đầu ra. Để xem thêm các ví dụ về cách tạo đầu ra có cấu trúc, vui lòng tham khảo danh sách Ví dụ về giản đồ và phản hồi của mô hình trong tài liệu Google Cloud.
Trước khi bắt đầu
Hãy xem hết hướng dẫn bắt đầu sử dụng SDK Vertex AI in Firebase nếu bạn chưa thực hiện. 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 của mình 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 Gemini API.
Bước 1: Xác định giản đồ phản hồi
Xác định giản đồ phản hồi để chỉ định cấu trúc của đầu ra của mô hình, tên trường và loại dữ liệu dự kiến cho mỗi trường.
Khi tạo phản hồi, mô hình sẽ sử dụng tên trường và ngữ cảnh từ câu lệnh của bạn. Để ý định của bạn rõ ràng, bạn nên sử dụng cấu trúc rõ ràng, tên trường rõ ràng và thậm chí là nội dung mô tả nếu cần.
Những điểm cần lưu ý đối với giản đồ phản hồi
Khi viết giản đồ phản hồi, hãy lưu ý những điều sau:
Kích thước của giản đồ phản hồi được tính vào giới hạn mã thông báo đầu vào.
Tính năng giản đồ phản hồi hỗ trợ các loại MIME phản hồi sau:
application/json
: JSON đầu ra như được xác định trong giản đồ phản hồi (hữu ích cho các yêu cầu về đầu ra có cấu trúc)text/x.enum
: xuất ra một giá trị enum như được xác định trong giản đồ phản hồi (hữu ích cho các tác vụ phân loại)
Tính năng giản đồ phản hồi hỗ trợ các trường giản đồ sau:
enum
items
maxItems
nullable
properties
required
Nếu bạn sử dụng một trường không được hỗ trợ, mô hình đó vẫn có thể xử lý yêu cầu của bạn nhưng sẽ bỏ qua trường đó. Xin lưu ý rằng danh sách ở trên là một tập hợp con của đối tượng giản đồ OpenAPI 3.0 (xem Tham chiếu giản đồ Vertex AI).
Theo mặc định, đối với SDK Vertex AI in Firebase, tất cả các trường đều được coi là bắt buộc, trừ phi bạn chỉ định các trường đó là không bắt buộc trong mảng
optionalProperties
. Đối với các trường không bắt buộc này, mô hình có thể điền sẵn các trường hoặc bỏ qua các trường đó.Xin lưu ý rằng hành vi này trái ngược với hành vi mặc định của Vertex AI Gemini API.
Bước 2: Gửi câu lệnh kèm theo giản đồ phản hồi để tạo JSON
Ví dụ sau đây cho thấy cách tạo đầu ra JSON có cấu trúc.
Để tạo đầu ra có cấu trúc, bạn cần chỉ định trong quá trình khởi chạy mô hình responseMimeType
thích hợp (trong ví dụ này là application/json
) cũng như responseSchema
mà bạn muốn mô hình sử dụng.
Gemini 1.5 Pro và Gemini 1.5 Flash hỗ trợ việc sử dụng responseSchema
.
Tìm hiểu cách chọn một 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ác ví dụ khác
Để xem thêm các ví dụ về cách bạn có thể sử dụng và tạo đầu ra có cấu trúc, vui lòng xem danh sách Ví dụ về giản đồ và phản hồi của mô hình trong tài liệu Google Cloud.
Tạo giá trị enum dưới dạng đầu ra
Ví dụ sau đây cho thấy cách sử dụng giản đồ phản hồi cho một tác vụ phân loại. Mô hình được yêu cầu xác định thể loại của một bộ phim dựa trên nội dung mô tả. Kết quả là một giá trị enum văn bản thuần tuý mà mô hình chọn trong danh sách các giá trị được xác định trong giản đồ phản hồi được cung cấp.
Để thực hiện nhiệm vụ phân loại có cấu trúc này, bạn cần chỉ định responseMimeType
thích hợp (trong ví dụ này là text/x.enum
) cũng như responseSchema
mà bạn muốn mô hình sử dụng trong quá trình khởi chạy mô hình.
Tìm hiểu cách chọn một 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ác lựa chọn khác để kiểm soát việc tạo nội dung
- Tìm hiểu thêm về thiết kế câu lệnh để bạn có thể tác động đến mô hình này nhằm tạo đầu ra phù hợp với nhu cầu của mình.
- Định cấu hình các thông số mô hình để kiểm soát cách mô hình tạo phản hồi. Các tham số này bao gồm mã thông báo đầu ra tối đa, nhiệt độ, topK và topP.
- Sử dụng chế độ cài đặt an toàn để điều chỉnh khả năng nhận được những phản hồi có thể bị coi là gây hại, bao gồm cả lời nói hận thù và nội dung khiêu dâm.
- Đặt hướng dẫn của hệ thống để định hướng hành vi của mô hình. Tính năng này giống như một "lời mở đầu" mà bạn thêm vào trước khi mô hình hiển thị bất kỳ hướng dẫn nào khác từ người dùng cuối.
Gửi ý kiến phản hồi về trải nghiệm của bạn với Vertex AI in Firebase