1. Prima di iniziare
In questo codelab, imparerai ad automatizzare le attività di Google Workspace con le funzionalità di chiamata di funzioni e multimodale dell'API Gemini.
Prerequisiti
- Familiarità di base con Apps Script, JavaScript o un linguaggio di programmazione simile
Cosa imparerai
- Come sfruttare le funzionalità di chiamata di funzione e multimodale dell'API Gemini.
- Come concatenare più chiamate API Gemini.
- Come automatizzare le attività di Google Workspace con l'API Gemini.
Cosa serve
- Un browser web.
- Un account Gmail. In alternativa, un account Google Workspace che ha implementato la configurazione specifica dell'API Gemini.
- Una connessione da una regione supportata per l'API Gemini.
- (Facoltativo) Un'interfaccia a riga di comando con il programma
curlper testare le richieste API dirette.
Il codice completo per questo codelab è disponibile nel Gemini API Cookbook su GitHub. Dai un'occhiata se ti serve il codice completato.
2. Configura l'API Gemini
Informazioni su Gemini
I modelli Gemini sono la famiglia di modelli di AI più grande e avanzata di Google. Per sfruttare questi modelli nelle tue app, puoi utilizzare l'API Gemini. Puoi anche provare l'API Gemini in Google AI Studio, un'interfaccia web per l'API in cui puoi provare prompt, modificare le impostazioni del modello e ottimizzare i modelli personalizzati senza scrivere codice.
Ordina una chiave
- Per utilizzare l'API Gemini, crea una chiave API in Google AI Studio.
(Facoltativo) Testare la chiave
Se hai accesso a una riga di comando con curl, aggiungi la chiave alla prima riga del seguente blocco ed eseguilo nel terminale per testare la chiave API.
export GOOGLE_API_KEY=Paste_your_API_key_here
curl "https://generativelanguage.googleapis.com/v1beta/models?key=${GOOGLE_API_KEY}"
Dovresti visualizzare un elenco di modelli in formato JSON, ad esempio models/gemini-1.0-pro. Ciò significa che ha funzionato.
3. (Facoltativo) Effettua una richiesta all'API Gemini
In questo passaggio facoltativo, fai una richiesta all'API Gemini per capire meglio come funziona la generazione di contenuti prima di aggiungerli a un'app Apps Script.
Informazioni sui modelli
L'API Gemini fornisce una serie di modelli con funzionalità e limitazioni diverse. Ogni modello è elencato insieme alle sue funzionalità nella pagina dei modelli Gemini.
Effettuare la prima richiesta
Per fare in modo che l'API Gemini completi un prompt di testo, crea una richiesta JSON e inviala all'endpoint dell'API REST.
Per farlo, segui questi passaggi:
- In un nuovo file, inserisci la seguente richiesta JSON:
{
contents: [
{
parts: [
{ text: 'The most important aspects of a persuasive presentation are:' }
]
}
]
}
La richiesta JSON include il seguente prompt: The most important aspects of a persuasive presentation are:. Il modello completerà l'istruzione e ti fornirà direttamente il risultato.
La richiesta JSON ha tre campi di primo livello da compilare: contents, generationConfig e safetySettings. È obbligatorio solo contents. Gli altri forniscono meccanismi per controllare l'output.
- Salva questo JSON in un file
presentation.txte poi passalo direttamente acurlcome segue:
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}
In questo esempio, imposti i seguenti valori nell'URL:
v1betaspecifica la versione dell'API.gemini-1.0-pro-latestspecifica Gemini 1.0 Pro come modello e utilizza l'ultimo snapshot.generateContentspecifica il metodo API che chiami.
Dovresti vedere risultati simili ai seguenti:
{
"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": [...]
}
}
Per una maggiore leggibilità, ecco l'output del terminale formattato regolarmente:
- Credibilità:il pubblico deve fidarsi della tua competenza in materia e sapere che hai a cuore i suoi interessi.
- Chiarezza:il messaggio deve essere facile da comprendere e seguire. Evita di utilizzare tecnicismi o termini tecnici che il tuo pubblico potrebbe non conoscere.
- Concretezza:utilizza esempi e dati specifici per supportare le tue argomentazioni. Evita di fare affermazioni vaghe o generiche.
- Appello emotivo: oltre a fare appello al lato logico del pubblico, dovresti anche cercare di entrare in contatto con lui a livello emotivo. Utilizza storie, umorismo e aneddoti personali per rendere i tuoi punti più memorabili e coinvolgenti.
- Conclusione efficace:termina la presentazione con un invito all'azione efficace. Spiega al pubblico cosa vuoi che faccia e perché è importante che lo faccia.
Per scoprire di più sulle altre impostazioni, tra cui generationConfig e safetySettings, consulta le guide sui prompt e sulla sicurezza.
4. Chiamare l'API Gemini da Apps Script
- Visita script.new e verrà creato automaticamente un file Apps Script
code.gs. - Tieni il cursore sopra il file
code.gs, quindi fai clic su
> Rinomina. - Modifica il nome del file in
utils.gs. - Nel file, rimuovi la funzione
myFunctionin modo che il file sia vuoto.
Aggiungere la chiave API al progetto
- Nel menu di navigazione, seleziona Impostazioni progetto.
- Nella sezione Proprietà script, fai clic su Aggiungi proprietà script.
- In Proprietà, inserisci
GOOGLE_API_KEY. - In Valore, inserisci la chiave API di Google AI Studio.

- Fai clic su Salva proprietà script.
- Torna all'editor.
Aggiungere il codice dell'API Gemini
Nel file utils.gs, segui questi passaggi:
Configura la chiave API e l'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}`;
- Aggiungi la seguente funzione che chiama l'API Gemini con un prompt specifico:
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;
}
- Aggiungi la seguente funzione che imposta il prompt:
function testGemini() {
const prompt = "The best thing since sliced bread is";
const output = callGemini(prompt);
console.log(prompt, output);
}
Testalo
- Fai clic su
Salva. - Scegli
testGemininell'elenco a discesa delle funzioni e fai clic su
. - Accetta le autorizzazioni necessarie. Il codice dovrebbe essere eseguito e dovresti vedere un output della console con i risultati nel log di esecuzione.

Ha funzionato!
5. Chiamare l'API Gemini con immagini
Una delle funzionalità più potenti della famiglia di modelli Gemini è il supporto dell'input multimodale, il che significa che puoi fornire più di un semplice testo. In questa sezione aggiungi una funzione che chiama l'API Gemini con un'immagine.
- Nella parte superiore del file
utils.gs, dopo la dichiarazioneconst geminiEndpointesistente, aggiungi la seguente riga:
const geminiProVisionEndpoint = `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.0-pro-vision-latest:generateContent?key=${geminiApiKey}`;
Aggiungere il codice Gemini Vision
- Aggiungi una funzione al file
utils.gsper chiamare questo endpoint appena aggiunto:
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;
}
- Aggiungi la seguente funzione di test:
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);
}
Questa funzione carica un'immagine di test da internet e la passa alla funzione che hai definito. In un secondo momento, lo collegherai a un grafico di un foglio di lavoro, quindi questo è solo un test.
Testalo
- Salva ed esegui la funzione
testGeminiVision, quindi esamina l'output.

6. Chiamare l'API Gemini con gli strumenti
Oltre a testo e immagini, puoi anche fornire l'accesso a strumenti nei prompt.
Aggiungi il codice di gestione degli strumenti
- Aggiungi al file
utils.gsuna funzione che accetta una specifica dello strumento:
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;
}
Per saperne di più su questo schema e sui campi disponibili, consulta il riferimento API FunctionDeclaration.
Testalo
- Definisci uno strumento che il modello può utilizzare per trovare la data e l'ora correnti:
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);
}
Il formato utilizzato qui è lo schema FunctionDeclaration. In realtà non chiami la funzione data e ora. Ricevi solo un'indicazione che il modello ha richiesto una chiamata di funzione. Gestirai le chiamate di funzione in un passaggio successivo.
- Salva ed esegui la funzione
testGeminiToolsper visualizzare l'output.

7. Panoramica delle integrazioni demo con Google Workspace
Ora che hai capito come funziona la chiamata di funzioni, puoi estendere facilmente le funzionalità del modello Gemini ad altri servizi. Nelle prossime sezioni, creerai integrazioni con i prodotti Google Workspace, come Google Drive, Presentazioni Google e Fogli Google. Ecco un diagramma semplificato:

A livello generale, quando arriva una query utente, utilizzi la chiamata di funzione dell'API Gemini per determinare quale strumento utilizzare. Crea tre strumenti che possono:
- Configura una riunione. La funzione
setupMeeting()nel diagramma richiama l'API Gemini 1.0 Pro per riassumere un blog in Google Drive e aggiungere il riepilogo a una riunione appena creata in Google Calendar. - Prepara la bozza di un'email basata sugli approfondimenti di un grafico. La funzione
draftEmail()nel diagramma richiama Gemini 1.0 Pro Vision per analizzare un grafico in Fogli Google e comporre un'email in Gmail in base all'analisi. - Crea una presentazione scheletrica. La funzione
createDeck()nel diagramma richiama Gemini 1.0 Pro per generare un elenco puntato per un file di Presentazioni Google.
Per ogni strumento, devi fare tre cose:
- Determina se la risposta di chiamata di funzione dell'API Gemini chiede di richiamare quello strumento specifico in un blocco
if...else. - Aggiungi la funzione effettiva per implementare la funzionalità dello strumento.
- Dichiara lo strumento con l'API Gemini in modo che il modello Gemini ne conosca l'esistenza e possa restituire la risposta corretta alla chiamata di funzione.
8. Configurare una riunione con Apps Script
Innanzitutto, automatizzi la configurazione di una riunione in Google Calendar, ma aggiungi anche una descrizione, ovvero un riepilogo di un file in Google Drive.
Per farlo, segui questi passaggi:
- Scarica questo file di testo, che è la copia di testo del blog sul lancio di Gemini 1.5 Pro.
- Carica il file nella cartella principale di Google Drive.
- Nell'editor, crea un file
main.gse aggiungi il seguente codice:
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");
}
Qui richiami la funzionalità di chiamata di funzione dell'API Gemini. A questo punto, devi definire la funzione dello strumento.
- A sinistra dell'editor, accanto a Servizi, fai clic su + Aggiungi un servizio > API Google Calendar > Aggiungi. In questo modo viene abilitato il servizio avanzato Google Calendar, che dovrai utilizzare in un secondo momento per alcune API avanzate.

- Nel file
utils.gs, aggiungi il seguente codice:
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);
}
Questo codice esegue le seguenti operazioni:
- La funzione
setupMeeting()esamina Google Drive e trova il fileGemini-blog.txt. Questo nome file viene restituito automaticamente dalla chiamata di funzione dell'API Gemini nel passaggio 3. - La funzione
setupMeeting()chiama l'API Gemini per riassumere i contenuti del file, configura una riunione con CalendarApp utilizzando una descrizione in formato libero e aggiunge il riepilogo alla riunione. - La funzione
setupMeeting()chiama la funzioneattachFileToMeeting()per utilizzare il servizio Google Calendar avanzato per allegare il file del blog alla riunione.
- Nella parte superiore del file
utils.gs, aggiungi il seguente codice:
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.
]
};
- Nell'editor, torna al file
main.gse fai clic su
. - Se Google Workspace ti chiede l'autorizzazione per eseguire lo script, fai clic su Ok.
Dopo pochi secondi, il log di esecuzione mostra un messaggio che ti informa che la riunione è stata configurata.
- In Google Calendar, cerca la riunione con il riepilogo e l'allegato.

9. Scrivere una bozza di email con Apps Script
Poi, automatizzi la bozza di un'email in Gmail. Ecco lo scenario: supponiamo che tu esegua l'analisi dei dati in Fogli Google. Inserisci tutti i numeri e crea un grafico. Vuoi utilizzare l'API Gemini Pro Vision per scrivere un'email in base al grafico.
Per farlo, segui questi passaggi:
- Apri questo foglio e fai clic su File -> Crea una copia.
- Nella casella di testo Nome della finestra di dialogo Copia documento, sostituisci il nome predefinito
Copy of CollegeExpensesconCollegeExpenses. - Nel file
main.gs, sostituisci la query utente precedente con una nuova e poi aggiungi il seguente codice all'istruzioneif...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 {...}
}
- Nel file
utils.gs, aggiungi il seguente codice:
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'
});
}
Questa funzione recupera il grafico delle spese universitarie dal foglio e lo invia a Gemini Pro Vision per creare la bozza dell'email. Gemini Pro Vision estrae le informazioni dal grafico e scrive la bozza del corpo dell'email per tuo conto.
- Nel file
utils.gs, aggiungi il seguente codice all'oggettoWORKSPACE_TOOLSdopo il commentoYou 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"
]
}
},
]
};
- Nell'editor, torna al file
main.gse fai clic su
. - Dopo 10-20 secondi, apri Gmail. Dovresti visualizzare una bozza di email simile a questa:
Puoi rivedere la bozza dell'email prima di inviarla. L'email è scritta interamente da Gemini Pro Vision dopo che gli hai fornito un breve prompt e il grafico.
10. Creare un file di Presentazioni vuoto con Apps Script
Successivamente, automatizza la creazione di una struttura di base in Presentazioni Google con Apps Script.
Per farlo, segui questi passaggi:
- Nel file
main.gs, sostituisci la query utente precedente con una nuova e aggiungi il seguente codice all'istruzioneif...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 {...}
}
- Nel file
utils.gs, aggiungi il seguente codice:
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();
}
Questa funzione chiama l'API Gemini per generare idee su un argomento specifico e restituire gli elenchi puntati nel formato
di JSON, quindi utilizza Apps Script per compilare un mazzo vuoto.
- Nel file
utils.gs, aggiungi il seguente codice all'oggettoWORKSPACE_TOOLSdopo il commentoYou 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"
]
}
},
]
};
- All'inizio del file
utils.gs, definisci la seguente costante:
const NUM_SLIDES = 3;
Questo è il numero di slide che il modello Gemini crea oltre alla slide iniziale.
- Nell'editor, torna al file
main.gse fai clic su
. Dopo pochi secondi, nel log di esecuzione viene visualizzato un URL della presentazione. - Utilizza il browser per aprire l'URL. Dovresti vedere un mazzo di scheletri pieno di elenchi puntati.

11. Idee da esplorare
Oltre a queste tre integrazioni, puoi esplorare le seguenti idee:
- Crea un chatbot su Google Chat. Uno dei casi d'uso più popolari per i modelli linguistici di grandi dimensioni (LLM) è la creazione di un chatbot. Con l'API Gemini, è facile creare un chatbot per Google Chat. Per saperne di più, consulta l'API Google Chat e il codelab Crea app per Google Chat con Gemini.
- Retrieval-Augmented Generation (RAG) con i tuoi dati in Google Drive o Keep. In questo codelab, utilizzi un solo file di testo per il riepilogo. Tuttavia, puoi anche utilizzare i contenuti del tuo Google Drive e Keep personali, come note, PDF e immagini, con l'API Gemini, un database vettoriale e, facoltativamente, uno strumento di orchestrazione, come LangChain, per eseguire RAG e personalizzare la risposta del modello in base ai tuoi dati.
- Utilizza la funzionalità di chiamata di funzione multi-turn dell'API Gemini. La chiamata di funzioni dell'API Gemini non è limitata a un solo turno e puoi utilizzare la chiamata di funzioni multichiamata per attività ancora più complesse.
- Vai oltre Google Workspace. Ora che hai capito come integrare l'API Gemini con Google Workspace, puoi andare oltre Google Workspace e sfruttare altre API al mondo.
12. Complimenti
Hai scoperto le funzionalità multimodali e la chiamata di funzione dell'API Gemini. Li hai utilizzati per automatizzare alcune attività di Google Workspace con Apps Script.