Ngày xuất bản: 11 tháng 11 năm 2024
Hãy tưởng tượng bạn có thể cung cấp cho người dùng khả năng tóm tắt các bài viết dài, tài liệu phức tạp hoặc thậm chí là cuộc trò chuyện sôi nổi thành bản tóm tắt ngắn gọn và sâu sắc.
Bạn có thể sử dụng API Tóm tắt để tạo nhiều loại bản tóm tắt với nhiều độ dài và định dạng, chẳng hạn như câu, đoạn văn, danh sách dấu đầu dòng, v.v. Chúng tôi tin rằng API này sẽ hữu ích trong các trường hợp sau:
- Tóm tắt các điểm chính của một bài viết hoặc cuộc trò chuyện.
- Đề xuất tiêu đề và tiêu mục cho bài viết.
- Tạo bản tóm tắt ngắn gọn và đầy đủ thông tin về một văn bản dài.
- Tạo đoạn giới thiệu cho một cuốn sách dựa trên bài đánh giá sách.
Phạm vi cung cấp
- Tham gia bản dùng thử theo nguyên gốc Summarizer API, chạy từ Chrome 131 đến Chrome 136. Bản dùng thử theo nguyên gốc cho phép bạn cung cấp tính năng cho người dùng thực trên nguyên gốc của bạn, trên Chrome.
- Hãy làm theo cách triển khai của chúng tôi trong phần Trạng thái Chrome.
- Đề xuất API tóm tắt là một phần của bộ API viết và bạn có thể thảo luận về đề xuất này.
- Tham gia chương trình xem trước sớm để xem trước các API AI tích hợp mới và tham gia thảo luận trên danh sách gửi thư của chúng tôi.
Đăng ký bản dùng thử theo nguyên gốc
Để bắt đầu sử dụng API Tóm tắt, hãy làm theo các bước sau:
- Xác nhận Chính sách về các hành vi bị cấm khi sử dụng AI tạo sinh của Google.
- Truy cập vào bản dùng thử theo nguyên gốc Summarizer API.
- Nhấp vào Đăng ký rồi điền thông tin vào biểu mẫu.
- Trong trường Nguồn gốc web, hãy cung cấp nguồn gốc hoặc mã tiện ích,
chrome-extension://YOUR_EXTENSION_ID
.
- Trong trường Nguồn gốc web, hãy cung cấp nguồn gốc hoặc mã tiện ích,
- Để gửi, hãy nhấp vào Đăng ký.
- Sao chép mã thông báo được cung cấp rồi thêm mã đó vào mọi trang web trên nguồn gốc hoặc
tệp của Tiện ích mà bạn muốn bật bản dùng thử.
- Nếu bạn đang tạo một Tiện ích, hãy làm theo hướng dẫn dùng thử nguồn gốc của Tiện ích
- Bắt đầu sử dụng API Tóm tắt.
Tìm hiểu thêm về cách bắt đầu sử dụng bản dùng thử theo nguồn gốc.
Giới hạn trong thời gian dùng thử nguồn gốc
Trong giai đoạn thử nghiệm theo nguyên gốc, Summarizer API chỉ hỗ trợ việc tóm tắt văn bản bằng tiếng Anh, vì chất lượng của mô hình chỉ được kiểm thử kỹ lưỡng trên nội dung bằng tiếng Anh. Chúng tôi dự định sẽ gỡ bỏ giới hạn này sau khi kiểm thử các ngôn ngữ bổ sung về chất lượng và độ an toàn, đồng thời API được cung cấp rộng rãi.
Thêm tính năng hỗ trợ cho máy chủ cục bộ
Để truy cập vào Summarizer API trên localhost
trong thời gian chạy bản dùng thử theo nguyên gốc, bạn phải có Chrome Canary. Sau đó, hãy làm theo các bước sau:
- Mở Chrome Canary trên một trong các nền tảng sau: Windows, Mac hoặc Linux.
- Chuyển đến
chrome://flags/#summarization-api-for-gemini-nano
. - Chọn Bật.
- Nhấp vào Chạy lại hoặc khởi động lại Chrome.
Sử dụng API Tóm tắt
Trước tiên, hãy chạy tính năng phát hiện tính năng để xem trình duyệt có hỗ trợ API Tóm tắt hay không.
if ('ai' in self && 'summarizer' in self.ai) {
// The Summarizer API is supported.
}
Tải mô hình xuống
Summarizer API sử dụng một mô hình AI mạnh mẽ được huấn luyện để tạo bản tóm tắt chất lượng cao. Mặc dù API được tích hợp vào Chrome, nhưng mô hình sẽ được tải xuống riêng trong lần đầu tiên một trang web sử dụng API.
Để xác định xem mô hình đã sẵn sàng để sử dụng hay chưa, hãy gọi hàm ai.summarizer.capabilities()
không đồng bộ. Phương thức này trả về một đối tượng AISummarizerCapabilities
có trường available
có thể nhận ba giá trị:
no
: Trình duyệt hiện tại hỗ trợ API Tóm tắt, nhưng hiện không thể sử dụng API này. Điều này có thể là do một số lý do, chẳng hạn như không có đủ dung lượng ổ đĩa để tải mô hình xuống.readily
: Trình duyệt hiện tại hỗ trợ API Tóm tắt và bạn có thể sử dụng ngay.after-download
: Trình duyệt hiện tại hỗ trợ API Tóm tắt, nhưng trước tiên, trình duyệt cần tải mô hình xuống.
Để kích hoạt quá trình tải mô hình xuống và tạo trình tóm tắt, hãy gọi hàm ai.summarizer.create()
không đồng bộ. Nếu phản hồi cho capabilities()
là after-download
, thì tốt nhất bạn nên theo dõi tiến trình tải xuống. Bằng cách này, bạn có thể thông báo cho người dùng trong trường hợp quá trình tải xuống mất nhiều thời gian.
const summarizer = await ai.summarizer.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded} of ${e.total} bytes.`);
});
}
});
Hàm API
Hàm create()
cho phép bạn định cấu hình một đối tượng tóm tắt mới theo nhu cầu của mình. Phương thức này nhận một đối tượng options
không bắt buộc với các tham số sau:
sharedContext
: Ngữ cảnh dùng chung bổ sung có thể giúp trình tóm tắt.type
: Loại tóm tắt, với các giá trị được phép làkey-points
(mặc định),tl;dr
,teaser
vàheadline
.format
: Định dạng của bản tóm tắt, với các giá trị được phép làmarkdown
(mặc định) vàplain-text
.length
: Độ dài của bản tóm tắt, với các giá trị được phép làshort
,medium
(mặc định) vàlong
. Ý nghĩa của các độ dài này thay đổi tuỳ thuộc vàotype
được yêu cầu. Ví dụ: trong quá trình triển khai của Chrome, bản tóm tắt ngắn về các điểm chính bao gồm 3 dấu đầu dòng và bản tóm tắt ngắn là một câu; bản tóm tắt dài về các điểm chính là 7 dấu đầu dòng và bản tóm tắt dài là một đoạn văn.
Ví dụ sau đây minh hoạ cách khởi tạo trình tóm tắt.
const options = {
sharedContext: 'This is a scientific article',
type: 'key-points',
format: 'markdown',
length: 'medium',
};
const available = (await self.ai.summarizer.capabilities()).available;
let summarizer;
if (available === 'no') {
// The Summarizer API isn't usable.
return;
}
if (available === 'readily') {
// The Summarizer API can be used immediately .
summarizer = await self.ai.summarizer.create(options);
} else {
// The Summarizer API can be used after the model is downloaded.
summarizer = await self.ai.summarizer.create(options);
summarizer.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
await summarizer.ready;
}
Chạy trình tóm tắt
Có hai cách để chạy trình tóm tắt: truyền trực tuyến và không truyền trực tuyến.
Tóm tắt không phát trực tuyến
Với tính năng tóm tắt không theo luồng, mô hình sẽ xử lý toàn bộ dữ liệu đầu vào rồi tạo ra kết quả.
Để nhận bản tóm tắt không theo luồng, hãy gọi hàm summarize()
không đồng bộ của trình tóm tắt. Đối số đầu tiên của hàm là văn bản bạn muốn tóm tắt. Đối số thứ hai (không bắt buộc) là một đối tượng có trường context
.
Trường này cho phép bạn thêm thông tin chi tiết về bối cảnh có thể cải thiện bản tóm tắt.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
context: 'This article is intended for a tech-savvy audience.',
});
Tóm tắt nội dung phát trực tuyến
Tính năng tóm tắt trực tuyến cung cấp kết quả theo thời gian thực. Kết quả sẽ liên tục cập nhật khi dữ liệu đầu vào được thêm và điều chỉnh.
Để nhận bản tóm tắt trực tuyến, hãy gọi hàm summarizeStreaming()
của trình tóm tắt. Sau đó, lặp lại các đoạn văn bản có sẵn trong luồng.
let result = '';
let previousChunk = '';
for await (const chunk of stream) {
const newChunk = chunk.startsWith(previousChunk)
? chunk.slice(previousChunk.length) : chunk;
console.log(newChunk);
result += newChunk;
previousChunk = chunk;
}
console.log(result);
summarizeStreaming()
trả về một ReadableStream
, trong đó các phân đoạn phản hồi được tạo lần lượt dựa trên nhau. Điều này có nghĩa là mỗi phản hồi chứa toàn bộ nội dung tóm tắt được tạo cho đến thời điểm đó, chứ không chỉ phân đoạn tiếp theo. Đây không phải là hành vi dự kiến.
Chúng tôi dự định điều chỉnh cho phù hợp với các API truyền trực tuyến khác trên nền tảng, trong đó các phân đoạn là các phần liên tiếp của một luồng dài duy nhất. Hiện tại, để đạt được hành vi dự kiến, bạn có thể triển khai những nội dung sau:
let result = '';
let previousLength = 0;
for await (const segment of stream) {
const newContent = segment.slice(previousLength);
console.log(newContent);
previousLength = segment.length;
result += newContent;
}
console.log(result);
Bản minh hoạ
Bạn có thể dùng thử API Tóm tắt trong Summarizer API Playground (Sân chơi API Tóm tắt).
Nỗ lực chuẩn hoá
Chúng tôi đang nỗ lực chuẩn hoá API Tóm tắt để đảm bảo khả năng tương thích trên nhiều trình duyệt.
Đề xuất API của chúng tôi đã nhận được sự hỗ trợ của cộng đồng và đã chuyển sang Nhóm cộng đồng ươm tạo web của W3C để thảo luận thêm. Nhóm Chrome đã yêu cầu ý kiến phản hồi từ Nhóm cấu trúc kỹ thuật W3C, đồng thời yêu cầu Mozilla và WebKit đưa ra quan điểm về các tiêu chuẩn.
Tham gia và chia sẻ ý kiến phản hồi
Bắt đầu kiểm thử API Tóm tắt ngay bằng cách tham gia dùng thử phiên bản gốc và chia sẻ ý kiến phản hồi của bạn. Ý kiến đóng góp của bạn có thể tác động trực tiếp đến cách chúng tôi xây dựng và triển khai các phiên bản trong tương lai của API này cũng như tất cả các API AI tích hợp.
- Để gửi ý kiến phản hồi về việc triển khai Chrome, hãy gửi báo cáo lỗi hoặc yêu cầu về tính năng.
- Thảo luận về thiết kế API Tóm tắt trên GitHub bằng cách bình luận về một Vấn đề hiện có hoặc mở một vấn đề mới.
- Tham gia nỗ lực xây dựng tiêu chuẩn bằng cách tham gia Nhóm cộng đồng về ươm tạo web.