1. Sebelum memulai
Dalam codelab ini, Anda akan mempelajari cara mengotomatiskan tugas Google Workspace dengan fitur pemanggilan fungsi dan multi-modalitas Gemini API.
Prasyarat
- Pemahaman dasar tentang Apps Script, JavaScript, atau bahasa pemrograman serupa
Yang Anda pelajari
- Cara memanfaatkan fitur panggilan fungsi dan multi-modalitas Gemini API.
- Cara menggabungkan beberapa panggilan Gemini API.
- Cara mengotomatiskan tugas Google Workspace dengan Gemini API.
Yang Anda perlukan
- Browser web.
- Akun Gmail. Atau, Akun Google Workspace yang telah menerapkan penyiapan khusus Gemini API.
- Koneksi dari wilayah yang didukung untuk Gemini API.
- Opsional: Antarmuka command line dengan program
curluntuk menguji permintaan API langsung.
Kode lengkap untuk codelab ini tersedia di Gemini API Cookbook di GitHub. Lihat jika Anda memerlukan kode yang telah selesai.
2. Menyiapkan Gemini API
Tentang Gemini
Model Gemini adalah serangkaian model AI terbesar dan tercanggih dari Google. Untuk memanfaatkan model ini di aplikasi Anda, Anda dapat menggunakan Gemini API. Anda juga dapat mencoba Gemini API di Google AI Studio, antarmuka web untuk API tempat Anda dapat mencoba perintah, menyesuaikan setelan model, dan menyetel model kustom tanpa menulis kode apa pun.
Dapatkan kunci
- Untuk menggunakan Gemini API, buat kunci API di Google AI Studio.
Opsional: Menguji kunci Anda
Jika Anda memiliki akses ke command line dengan curl, tambahkan kunci Anda ke baris pertama blok berikut, lalu jalankan di terminal untuk menguji kunci API.
export GOOGLE_API_KEY=Paste_your_API_key_here
curl "https://generativelanguage.googleapis.com/v1beta/models?key=${GOOGLE_API_KEY}"
Anda akan melihat daftar model dalam format JSON, seperti models/gemini-1.0-pro. Ini berarti berhasil.
3. Opsional: Buat permintaan ke Gemini API
Pada langkah opsional ini, Anda membuat permintaan ke Gemini API untuk lebih memahami cara kerja pembuatan konten sebelum menambahkannya ke aplikasi Apps Script.
Tentang model
Gemini API menyediakan sejumlah model yang memiliki kemampuan dan batasan yang berbeda. Setiap model dicantumkan beserta kemampuannya di halaman model Gemini.
Membuat permintaan pertama Anda
Agar Gemini API melengkapi perintah teks, Anda membuat permintaan JSON dan mengirimkannya ke endpoint REST API.
Untuk melakukannya, ikuti langkah-langkah berikut:
- Dalam file baru, masukkan permintaan JSON berikut:
{
contents: [
{
parts: [
{ text: 'The most important aspects of a persuasive presentation are:' }
]
}
]
}
Permintaan JSON mencakup perintah berikut: The most important aspects of a persuasive presentation are:. Model akan menyelesaikan petunjuk ini dan memberikan hasilnya secara langsung kepada Anda.
Permintaan JSON memiliki tiga kolom tingkat teratas yang harus diisi: contents, generationConfig, dan safetySettings. Hanya contents yang diperlukan. Yang lainnya menyediakan mekanisme untuk mengontrol output.
- Simpan JSON ini dalam file
presentation.txt, lalu teruskan langsung kecurlseperti ini:
curl -H 'Content-Type: application/json' -X POST -d @presentation.txt \
'https://generativelanguage.googleapis.com/v1beta/models/gemini-1.0-pro-latest:generateContent?key='${GOOGLE_API_KEY}
Dalam contoh ini, Anda menetapkan nilai berikut di URL:
v1betamenentukan versi API.gemini-1.0-pro-latestmenentukan Gemini 1.0 Pro sebagai model dan menggunakan snapshot terbaru.generateContentmenentukan metode API yang Anda panggil.
Anda akan melihat hasil yang mirip dengan berikut ini:
{
"candidates": [
{
"content": {
"parts": [
{
"text": "* **Credibility:** The audience must trust that you are an expert on the subject matter and that you have their best interests at heart.\n* **Clearness:** Your message must be easy to understand and follow. Avoid using jargon or technical terms that your audience may not be familiar with.\n* **Concreteness:** Use specific examples and data to support your arguments. Avoid making vague or general claims.\n* **Emotional appeal:** In addition to appealing to the audience's logical side, you should also try to connect with them on an emotional level. Use storytelling, humor, and personal anecdotes to make your points more memorable and engaging.\n* **Strong closing:** End your presentation with a strong call to action. Tell the audience what you want them to do and why it is important for them to do it."
}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": [...]
}
],
"promptFeedback": {
"safetyRatings": [...]
}
}
Agar mudah dibaca, berikut output terminal yang diformat secara teratur:
- Kredibilitas: Audiens harus percaya bahwa Anda adalah pakar di bidang tersebut dan Anda memiliki niat baik untuk mereka.
- Kejelasan: Pesan Anda harus mudah dipahami dan diikuti. Hindari penggunaan jargon atau istilah teknis yang mungkin tidak dipahami audiens Anda.
- Konkret: Gunakan contoh dan data spesifik untuk mendukung argumen Anda. Hindari membuat klaim yang tidak jelas atau umum.
- Daya tarik emosional: Selain menarik perhatian audiens dari sisi logis, Anda juga harus mencoba terhubung dengan mereka dari sisi emosional. Gunakan penceritaan, humor, dan anekdot pribadi untuk membuat poin Anda lebih berkesan dan menarik.
- Penutup yang kuat: Akhiri presentasi Anda dengan pesan ajakan yang kuat. Beri tahu audiens apa yang ingin Anda mereka lakukan dan mengapa penting bagi mereka untuk melakukannya.
Untuk mempelajari lebih lanjut setelan lainnya, termasuk generationConfig dan safetySettings, lihat panduan perintah dan keamanan.
4. Memanggil Gemini API dari Apps Script
- Buka script.new dan file Apps Script
code.gsakan dibuat secara otomatis untuk Anda. - Arahkan kursor ke file
code.gs, lalu klik
> Ganti nama. - Ubah nama file menjadi
utils.gs. - Di file, hapus fungsi
myFunctionsehingga file kosong.
Tambahkan kunci API Anda ke project
- Di menu navigasi, pilih Setelan project.
- Di bagian Properti skrip, klik Tambahkan properti skrip.
- Di bagian Property, masukkan
GOOGLE_API_KEY. - Di bagian Nilai, masukkan kunci API Anda dari Google AI Studio.

- Klik Simpan properti skrip.
- Kembali ke editor.
Menambahkan kode Gemini API
Di file utils.gs, ikuti langkah-langkah berikut:
Siapkan kunci API dan endpoint:
const properties = PropertiesService.getScriptProperties().getProperties();
const geminiApiKey = properties['GOOGLE_API_KEY'];
const geminiEndpoint = `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.0-pro-latest:generateContent?key=${geminiApiKey}`;
- Tambahkan fungsi berikut yang memanggil Gemini API dengan perintah tertentu:
function callGemini(prompt, temperature=0) {
const payload = {
"contents": [
{
"parts": [
{
"text": prompt
},
]
}
],
"generationConfig": {
"temperature": temperature,
},
};
const options = {
'method' : 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(geminiEndpoint, options);
const data = JSON.parse(response);
const content = data["candidates"][0]["content"]["parts"][0]["text"];
return content;
}
- Tambahkan fungsi berikut yang menetapkan perintah:
function testGemini() {
const prompt = "The best thing since sliced bread is";
const output = callGemini(prompt);
console.log(prompt, output);
}
Melakukan pengujian
- Klik
Simpan. - Pilih
testGeminidi menu dropdown fungsi, lalu klik
. - Setujui izin yang diperlukan. Kode Anda akan berjalan dan Anda akan melihat beberapa output konsol dengan hasil di log eksekusi.

Berhasil!
5. Memanggil Gemini API dengan gambar
Salah satu fitur paling canggih dari rangkaian model Gemini adalah dukungan untuk input multi-modal, yang berarti Anda dapat memberikan lebih dari sekadar teks. Di bagian ini, Anda akan menambahkan fungsi yang memanggil Gemini API dengan gambar.
- Di bagian atas file
utils.gssetelah deklarasiconst geminiEndpointyang ada, tambahkan baris berikut:
const geminiProVisionEndpoint = `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.0-pro-vision-latest:generateContent?key=${geminiApiKey}`;
Menambahkan kode Gemini Vision
- Tambahkan fungsi ke file
utils.gsuntuk memanggil endpoint yang baru ditambahkan ini:
function callGeminiProVision(prompt, image, temperature=0) {
const imageData = Utilities.base64Encode(image.getAs('image/png').getBytes());
const payload = {
"contents": [
{
"parts": [
{
"text": prompt
},
{
"inlineData": {
"mimeType": "image/png",
"data": imageData
}
}
]
}
],
"generationConfig": {
"temperature": temperature,
},
};
const options = {
'method' : 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(geminiProVisionEndpoint, options);
const data = JSON.parse(response);
const content = data["candidates"][0]["content"]["parts"][0]["text"];
return content;
}
- Tambahkan fungsi pengujian berikut:
function testGeminiVision() {
const prompt = "Provide a fun fact about this object.";
const image = UrlFetchApp.fetch('https://storage.googleapis.com/generativeai-downloads/images/instrument.jpg').getBlob();
const output = callGeminiProVision(prompt, image);
console.log(prompt, output);
}
Fungsi ini memuat gambar pengujian dari internet dan meneruskannya ke fungsi yang Anda tentukan. Selanjutnya, Anda akan menghubungkannya untuk menggunakan diagram dari spreadsheet, jadi ini hanya pengujian.
Melakukan pengujian
- Simpan dan jalankan fungsi
testGeminiVision, lalu periksa output-nya.

6. Memanggil Gemini API dengan alat
Selain teks dan gambar, Anda juga dapat memberikan akses ke alat dalam perintah Anda.
Tambahkan kode penanganan alat
- Tambahkan fungsi ke file
utils.gsyang menerima spesifikasi alat:
function callGeminiWithTools(prompt, tools, temperature=0) {
const payload = {
"contents": [
{
"parts": [
{
"text": prompt
},
]
}
],
"tools" : tools,
"generationConfig": {
"temperature": temperature,
},
};
const options = {
'method' : 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(geminiEndpoint, options);
const data = JSON.parse(response);
const content = data["candidates"][0]["content"]["parts"][0]["functionCall"];
return content;
}
Untuk mengetahui informasi selengkapnya tentang skema ini dan kolom yang tersedia, lihat referensi API FunctionDeclaration.
Melakukan pengujian
- Tentukan alat yang dapat digunakan model untuk menemukan tanggal dan waktu saat ini:
function testGeminiTools() {
const prompt = "Tell me how many days there are left in this month.";
const tools = {
"function_declarations": [
{
"name": "datetime",
"description": "Returns the current date and time as a formatted string.",
"parameters": {
"type": "string"
}
}
]
};
const output = callGeminiWithTools(prompt, tools);
console.log(prompt, output);
}
Format yang digunakan di sini adalah skema FunctionDeclaration. Anda sebenarnya tidak memanggil fungsi tanggal dan waktu. Anda hanya menerima indikasi bahwa model meminta panggilan fungsi. Anda akan menangani panggilan fungsi di langkah berikutnya.
- Simpan dan jalankan fungsi
testGeminiToolsuntuk melihat output.

7. Ringkasan integrasi demo dengan Google Workspace
Setelah memahami cara kerja panggilan fungsi, Anda dapat dengan mudah memperluas kemampuan model Gemini ke layanan lain. Dalam beberapa bagian berikutnya, Anda akan membuat integrasi dengan produk Google Workspace, seperti Google Drive, Google Slide, dan Google Spreadsheet. Berikut diagram sederhananya:

Secara umum, saat kueri pengguna masuk, Anda menggunakan panggilan fungsi Gemini API untuk menentukan alat mana yang akan digunakan. Anda akan membuat tiga alat yang dapat melakukan hal berikut:
- Menyiapkan rapat. Fungsi
setupMeeting()dalam diagram memanggil Gemini 1.0 Pro API untuk meringkas blog di Google Drive dan menambahkan ringkasan ke rapat yang baru dibuat di Google Kalender. - Buat draf email berdasarkan insight dari diagram. Fungsi
draftEmail()dalam diagram memanggil Gemini 1.0 Pro Vision untuk menganalisis diagram di Google Spreadsheet dan menulis email di Gmail berdasarkan analisis tersebut. - Buat slide kerangka. Fungsi
createDeck()dalam diagram memanggil Gemini 1.0 Pro untuk mencari ide poin-poin untuk presentasi di Google Slide.
Untuk setiap alat, Anda perlu melakukan tiga hal berikut:
- Tentukan apakah respons panggilan fungsi Gemini API meminta untuk memanggil alat tertentu tersebut dalam blok
if...else. - Tambahkan fungsi sebenarnya untuk menerapkan fungsi alat.
- Deklarasikan alat dengan Gemini API agar model Gemini mengetahui keberadaan alat tersebut dan dapat menampilkan respons panggilan fungsi yang benar.
8. Menyiapkan rapat dengan Apps Script
Pertama, Anda mengotomatiskan penyiapan rapat di Google Kalender, tetapi Anda juga menambahkan deskripsi, yang merupakan ringkasan file di Google Drive.
Untuk melakukannya, ikuti langkah-langkah berikut:
- Download file teks ini, yang merupakan salinan teks dari blog peluncuran Gemini 1.5 Pro.
- Upload file ke folder root Anda di Google Drive.
- Di editor, buat file
main.gs, lalu tambahkan kode berikut:
function main() {
const userQuery = "Set up a meeting at 10AM tomorrow with Helen to discuss the news in the Gemini-blog.txt file.";
var tool_use = callGeminiWithTools(userQuery, WORKSPACE_TOOLS);
Logger.log(tool_use);
if(tool_use['name'] == "setupMeeting") {
setupMeeting(tool_use['args']['time'], tool_use['args']['recipient'], tool_use['args']['filename']);
Logger.log("Your meeting has been set up.");
}
else
Logger.log("no proper tool found");
}
Di sini, Anda memanggil kemampuan panggilan fungsi Gemini API. Selanjutnya, Anda perlu menentukan fungsi alat.
- Di sebelah kiri editor, di samping Layanan, klik + Tambahkan layanan > Google Calendar API > Tambahkan. Hal ini akan mengaktifkan layanan Google Kalender lanjutan, yang harus Anda gunakan untuk beberapa API lanjutan nanti.

- Di file
utils.gs, tambahkan kode berikut:
function attachFileToMeeting(event, file, fileName) {
// Get the iCal ID for the event.
const iCalEventId = event.getId();
// Log the ID and title for debugging.
console.log(`iCal event ID: ${iCalEventId}`);
console.log(`event Title: ${event.getTitle()}`);
// Set up the options for listing the event with the advanced Google Calendar service.
const options = {
iCalUID: iCalEventId,
};
// Use the primary calendar as the calendar ID to list events.
const calendarId = 'primary';
// Use the advanced Google Calendar service to list the event.
const calEvents = Calendar.Events.list(calendarId, options);
// Get the Calendar ID used by the advanced Google Calendar service.
const eventId = calEvents.items[0].id;
// Get the file URL for the attachment.
const fileUrl = file.getUrl();
// Set up the patch options to add the file.
var patch = {
attachments: [{
'fileUrl': fileUrl,
'title': fileName
}]
};
// Patch the event to add the file as an attachment.
Calendar.Events.patch(patch, 'primary', eventId, {"supportsAttachments": true});
}
function setupMeeting(time, recipient, filename) {
const files = DriveApp.getFilesByName(filename);
const file = files.next();
const blogContent = file.getAs("text/*").getDataAsString();
var geminiOutput = callGemini("Give me a really short title of this blog and a summary with less than three sentences. Please return the result as a JSON with two fields: title and summary. \n" + blogContent);
// The Gemini model likes to enclose the JSON with ```json and ```
geminiOutput = JSON.parse(geminiOutput.replace(/```(?:json|)/g, ""));
const title = geminiOutput['title'];
const fileSummary = geminiOutput['summary'];
const event = CalendarApp.getDefaultCalendar().createEventFromDescription(`meet ${recipient} at ${time} to discuss "${title}"`);
event.setDescription(fileSummary);
attachFileToMeeting(event, file, filename);
}
Kode ini melakukan hal berikut:
- Fungsi
setupMeeting()akan memeriksa Google Drive Anda dan menemukan fileGemini-blog.txt. Nama file ini otomatis ditampilkan oleh panggilan fungsi Gemini API di langkah #3. - Fungsi
setupMeeting()memanggil Gemini API untuk meringkas konten file, menyiapkan rapat dengan CalendarApp menggunakan deskripsi bentuk bebas, dan menambahkan ringkasan ke rapat. - Fungsi
setupMeeting()memanggil fungsiattachFileToMeeting()untuk menggunakan layanan Google Kalender lanjutan guna melampirkan file blog ke rapat.
- Di bagian atas file
utils.gs, tambahkan kode berikut:
const WORKSPACE_TOOLS = {
"function_declarations": [
{
"name": "setupMeeting",
"description": "Sets up a meeting in Google Calendar.",
"parameters": {
"type": "object",
"properties": {
"time": {
"type": "string",
"description": "The time of the meeting."
},
"recipient": {
"type": "string",
"description": "The name of the recipient."
},
"filename": {
"type": "string",
"description": "The name of the file."
},
},
"required": [
"time",
"recipient",
"filename"
]
}
},
// You add tools here.
]
};
- Di editor, kembali ke file
main.gs, lalu klik
. - Jika Google Workspace meminta izin untuk menjalankan skrip, klik Oke.
Dalam beberapa detik, log eksekusi akan menampilkan pesan yang memberi tahu Anda bahwa rapat telah disiapkan.
- Di Google Kalender, cari rapat dengan ringkasan dan lampiran.

9. Membuat draf email dengan Apps Script
Selanjutnya, Anda akan mengotomatiskan pembuatan draf email di Gmail. Berikut skenarionya: Misalkan Anda melakukan analisis data di Google Spreadsheet. Anda menempatkan semua angka dan membuat diagram. Anda ingin menggunakan Gemini Pro Vision API untuk membuat draf email berdasarkan diagram.
Untuk melakukannya, ikuti langkah-langkah berikut:
- Buka spreadsheet ini, lalu klik File -> Buat salinan.
- Di kotak teks Nama pada dialog Salin dokumen, ganti nama default
Copy of CollegeExpensesdenganCollegeExpenses. - Di file
main.gs, ganti kueri pengguna sebelumnya dengan kueri baru, lalu tambahkan kode berikut ke pernyataanif...else:
function main() {
// const userQuery = "Set up a meeting at 5PM with Helen to discuss the news in the Gemini-1.5-blog.txt file.";
const userQuery = "Draft an email for Mary with insights from the chart in the CollegeExpenses sheet.";
if(...) {...}
// Add this code
else if(tool_use['name'] == "draftEmail") {
draftEmail(tool_use['args']['sheet_name'], tool_use['args']['recipient']);
Logger.log("Check your Gmail to review the draft");
}
else {...}
}
- Di file
utils.gs, tambahkan kode berikut:
function draftEmail(sheet_name, recipient) {
const prompt = `Compose the email body for ${recipient} with your insights for this chart. Use information in this chart only and do not do historical comparisons. Be concise.`;
var files = DriveApp.getFilesByName(sheet_name);
var sheet = SpreadsheetApp.openById(files.next().getId()).getSheetByName("Sheet1");
var expenseChart = sheet.getCharts()[0];
var chartFile = DriveApp.createFile(expenseChart.getBlob().setName("ExpenseChart.png"));
var emailBody = callGeminiProVision(prompt, expenseChart);
GmailApp.createDraft(recipient+"@demo-email-provider.com", "College expenses", emailBody, {
attachments: [chartFile.getAs(MimeType.PNG)],
name: 'myname'
});
}
Fungsi ini mengambil diagram biaya kuliah dari spreadsheet dan mengirimkannya ke Gemini Pro Vision untuk membuat draf email. Gemini Pro Vision mengekstrak informasi dari diagram dan membuat draf isi email atas nama Anda.
- Di file
utils.gs, tambahkan kode berikut ke objekWORKSPACE_TOOLSsetelah komentarYou add tools here:
WORKSPACE_TOOLS = {
"function_declarations": [
// You add tools here.
{
"name": "draftEmail",
"description": "Write an email by analyzing data or charts in a Google Sheets file.",
"parameters": {
"type": "object",
"properties": {
"sheet_name": {
"type": "string",
"description": "The name of the sheet to analyze."
},
"recipient": {
"type": "string",
"description": "The name of the recipient."
},
},
"required": [
"sheet_name",
"recipient"
]
}
},
]
};
- Di editor, kembali ke file
main.gs, lalu klik
. - Setelah 10-20 detik, buka Gmail Anda. Anda akan melihat draf email seperti ini:
Anda dapat merevisi draf email sebelum mengirimkannya. Email ini sepenuhnya ditulis oleh Gemini Pro Vision setelah Anda memberinya perintah singkat dan diagram.
10. Membuat draf presentasi dengan Apps Script
Selanjutnya, Anda akan mengotomatiskan pembuatan draf presentasi di Google Slide dengan Apps Script.
Untuk melakukannya, ikuti langkah-langkah berikut:
- Di file
main.gs, ganti kueri pengguna sebelumnya dengan kueri baru dan tambahkan kode berikut ke pernyataanif...else:
function main() {
// const userQuery = "Draft an email for Mary with insights from the chart in the CollegeExpenses sheet.";
const userQuery = "Help me put together a deck about water conservation.";
if(...) {...}
// Add this code
else if(tool_use['name'] == 'createDeck') {
deckURL = createDeck(tool_use['args']['topic']);
Logger.log("Deck URL: " + deckURL);
}
else {...}
}
- Di file
utils.gs, tambahkan kode berikut:
function createDeck(topic) {
const prompt = `I'm preparing a ${NUM_SLIDES}-slide deck to discuss ${topic}. Please help me brainstorm and generate main bullet points for each slide. Keep the title of each slide short. Please produce the result as a valid JSON so that I can pass it to other APIs.`;
var geminiOutput = callGemini(prompt, 0.4);
// The Gemini model likes to enclose the JSON with ```json and ```
geminiOutput = geminiOutput.replace(/```(?:json|)/g, "");
const bulletPoints = JSON.parse(geminiOutput);
// Create a Google Slides presentation.
const presentation = SlidesApp.create("My New Presentation");
// Set up the opening slide.
var slide = presentation.getSlides()[0];
var shapes = slide.getShapes();
shapes[0].getText().setText(topic);
var body;
for (var i = 0; i < NUM_SLIDES; i++) {
slide = presentation.appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_BODY);
shapes = slide.getShapes();
// Set title.
shapes[0].getText().setText(bulletPoints['slides'][i]['title']);
// Set body.
body = "";
for (var j = 0; j < bulletPoints['slides'][i]['bullets'].length; j++) {
body += '* ' + bulletPoints['slides'][i]['bullets'][j] + '\n';
}
shapes[1].getText().setText(body);
}
return presentation.getUrl();
}
Fungsi ini memanggil Gemini API untuk mendiskusikan topik tertentu, menampilkan poin-poin dalam format
JSON, lalu gunakan Apps Script untuk mengisi draf presentasi.
- Di file
utils.gs, tambahkan kode berikut ke objekWORKSPACE_TOOLSsetelah komentarYou add tools here:
WORKSPACE_TOOLS = {
"function_declarations": [
// You add tools here.
{
"name": "createDeck",
"description": "Build a simple presentation deck with Google Slides and return the URL.",
"parameters": {
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic that the presentation is about."
},
},
"required": [
"topic"
]
}
},
]
};
- Di bagian atas file
utils.gs, tentukan konstanta berikut:
const NUM_SLIDES = 3;
Ini adalah jumlah slide yang dibuat model Gemini selain slide pembuka.
- Di editor, kembali ke file
main.gs, lalu klik
. Dalam beberapa detik, Anda akan melihat URL presentasi di log eksekusi. - Gunakan browser Anda untuk membuka URL. Anda akan melihat draf presentasi yang diisi dengan poin-poin.

11. Ide untuk dijelajahi
Selain ketiga integrasi ini, Anda dapat mempelajari ide berikut:
- Membangun chatbot di Google Chat. Salah satu kasus penggunaan paling populer untuk Model Bahasa Besar (LLM) adalah membangun chatbot. Dengan Gemini API, Anda dapat dengan mudah membuat chatbot untuk Google Chat. Untuk mengetahui informasi selengkapnya, lihat Google Chat API dan codelab Membangun aplikasi untuk Google Chat dengan Gemini.
- Retrieval-Augmented Generation (RAG) dengan data Anda sendiri di Google Drive atau Keep. Dalam codelab ini, Anda hanya menggunakan satu file teks untuk peringkasan. Namun, Anda juga dapat menggunakan konten dari Google Drive dan Keep pribadi Anda–seperti catatan, PDF, dan gambar–dengan Gemini API, database vektor, dan, secara opsional, alat orkestrasi–seperti LangChain–untuk melakukan RAG dan mempersonalisasi respons model berdasarkan data Anda.
- Gunakan kemampuan panggilan fungsi multi-giliran Gemini API. Panggilan fungsi Gemini API tidak terbatas pada satu giliran dan Anda dapat menggunakan panggilan fungsi multi-giliran untuk tugas yang lebih kompleks.
- Melampaui Google Workspace. Setelah memahami cara mengintegrasikan Gemini API dengan Google Workspace, Anda dapat melampaui Google Workspace dan memanfaatkan API lain di dunia.
12. Selamat
Anda telah mempelajari kemampuan multi-modal dan panggilan fungsi Gemini API. Anda menggunakannya untuk mengotomatiskan beberapa tugas Google Workspace dengan Apps Script.