GPT peut vous aider à enrichir vos documents, et cela via des scripts qui vous permettent également de partager des données disponibles dans votre document. Avec le contrôle du “quoi” - “comment” et “pourquoi”.
Ici un exemple “Triple-(script)-en-un” ; qui va vous permettre d’intéragir avec GPT ainsi que votre document, en même temps ! C’est à dire : pouvoir envoyer dans votre formule un prompt + le contenu de cellule spécifique … et avoir un retour tenant compte des éléments présents dans votre tableau Sheet !
Cas pratique : une fonction unique pour analyser des entreprises sur Bordeaux !
*Une fonction ‘CallOpenAI’ (pour intéragir avec GPT) + fonction ‘onOpen()’ (pour lui envoyer des données de votre doc) … qui vont fusionner dans une fonction =analyzeCompanies()
C’est la fonction =analyseCompagnies() qui va réunir les capacités des deux précédentes,
Avec ce “Trois-en-un” ; vous pourrez, interagir avec GPT, lui donner des consignes comme lui partager des informations ciblées, et avoir un retour customisé en fonction des données partagées + de vos attentes !
function callOpenAI(prompt) {
if (!prompt) {
return 'Erreur : le prompt ne peut pas être vide.';
}
var apiKey = 'Votre_Clef_API'; // Remplace cette ligne par ta clé API
var url = '<https://api.openai.com/v1/chat/completions>';
var payload = {
'model': 'gpt-4',
'messages': [{'role': 'user', 'content': prompt}],
'max_tokens': 150,
'temperature': 0.7
};
var options = {
'method': 'post',
'headers': {
'Authorization': 'Bearer ' + apiKey,
'Content-Type': 'application/json'
},
'payload': JSON.stringify(payload),
'muteHttpExceptions': true
};
try {
var response = UrlFetchApp.fetch(url, options);
var responseCode = response.getResponseCode();
var json = response.getContentText();
if (responseCode !== 200) {
Logger.log('Erreur : ' + responseCode + ' ' + json);
return 'Erreur : ' + responseCode + ' ' + json;
}
var data = JSON.parse(json);
return data.choices[0].message.content.trim();
} catch (e) {
Logger.log(e.toString());
return 'Erreur : ' + e.toString();
}
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('OpenAI GPT-4')
.addItem('Analyser les entreprises', 'analyzeCompanies')
.addToUi();
}
function analyzeCompanies() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
var companies = sheet.getRange('A2:A' + lastRow).getValues();
for (var i = 0; i < companies.length; i++) {
var company = companies[i][0];
if (company) {
var prompt = `Tu es un super assistant en recrutement et en sourcing, on t'a demandé d'aider cette entreprise française sur Bordeaux, peux-tu me résumer rapidement et efficacement son domaine d'activité et ses produits ou services ? ${company}`;
var analysis = callOpenAI(prompt);
sheet.getRange('B' + (i + 2)).setValue(analysis);
Utilities.sleep(1000); // Ajout d'une pause pour éviter de dépasser les limites de l'API
}
}
}
Le paramètre max_tokens
dans le payload détermine la longueur maximale de la réponse en termes de tokens (où un token peut être un mot ou une partie de mot). Vous pouvez ajuster cette valeur pour obtenir des réponses plus courtes ou plus longues.
Ici : 150
Le paramètre model
dans le payload spécifie quel modèle GPT vous utilisez. Vous pouvez le changer en fonction des versions disponibles de GPT.
Ici : gpt-4
Le paramètre temperature
contrôle la créativité de la réponse. Une valeur plus élevée (jusqu'à 1.0) rend la réponse plus aléatoire, tandis qu'une valeur plus basse (vers 0.0) rend la réponse plus déterministe.