Created
January 31, 2023 17:09
-
-
Save titomus/e5b895a0527bd6832663220615ebcc15 to your computer and use it in GitHub Desktop.
Trouver le champ sémantique d'une liste de sujets avec GPT3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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