Skip to content

Instantly share code, notes, and snippets.

@titomus
Created January 31, 2023 17:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save titomus/e5b895a0527bd6832663220615ebcc15 to your computer and use it in GitHub Desktop.
Save titomus/e5b895a0527bd6832663220615ebcc15 to your computer and use it in GitHub Desktop.
Trouver le champ sémantique d'une liste de sujets avec GPT3
const { Configuration, OpenAIApi } = require("openai");
const fs = require("fs");
const { get } = require("https");
const configuration = new Configuration({
apiKey: "VOTRE-CLE-API",
});
const openai = new OpenAIApi(configuration);
async function gpt3_completion(prompt) {
try {
const completion = await openai.createCompletion({
model: "text-davinci-003",
prompt: prompt,
max_tokens: 256,
temperature: 0.85,
frequency_penalty: 1.4,
presence_penalty: 1.2,
});
//console.log(completion.data.choices[0]);
//console.log(completion.data.choices[0].text);
return completion.data.choices[0].text;
} catch (error) {
if (error.response) {
console.log(error.response.status);
console.log(error.response.data);
} else {
console.log(error.message);
}
}
}
//definition de fichier
var date = new Date();
const currentDay = new Date().toISOString().slice(0, 10);
// enregistrement dans le repertoire /results
const filename = `./results/${currentDay}.txt`;
let titles = `titre 1,titre 2,titre 3,titre 4`;
let subjects = titles.split(",").map((title) => {
return title.trim();
});
console.log(`SUJETS: \n${subjects}\n------------------\n`);
for(let i=0; i<subjects.length; i++) {
let subject = subjects[i];
let findKwPrompt = `Je dois trouver le champ sémantique idéal pour le sujet suivant et séparer les termes par des virgules.
SUJET: ${subject}
Voici les mots clés du champ sémantique séparés par des virgules:
`;
gpt3_completion(findKwPrompt).then((keywords) => {
console.log(`KEYWORDS: \n${keywords}\n------------------\n`);
//on enregistre au fur et à mesure en cas de coupure
fs.appendFileSync(filename, `${subject}|${keywords.trim()}\n`);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment