Chercher Et Ou Phrase  
Dans:          


Pour les nouveau visiteurs

Entrez ici

Chercher le Forum



 

 Les Forums
  Programmation avancée
Repondre a ce sujet  

Sujet integrer ChatGPT dans Windev
Message envoyé le 06-03-2024 par TeubeIronic (FR)  
Merci a wxdev pour son lien 'integrer l'intelligence artificielle ChatGPT dans WINDEV"

Sur son model, je me suis fait mon pojet. J'ai une fenetre avec une zone de prompt, un tableau avec 2 colonnes (prompt et reponse) et un bouton contenant le code du traitement.
On saisi un prompt puis on clique sur le bouton pour lancer le traitement.
Une fois ce dernier réalisé, le prompt et sa réponse sont ajoutés à ma table mémoire.
Le code fonctionne bien, j'ai des résulats.

Le seul soucis, c'est que mon traitement ne tient pas compte d'un historique de questions posées à chat gpt et donc les réponses de l'ia seront toujours relatives à la dernière question posée.
Ce qui est assez embettant pour tenir une conversation construite et suivie de questions-réponses.

D'après, ce que je crois comprendre, il faudrait pouvoir envoyer à chaque nouvelle question, l'historique des questions-reponses précédentes à l'API d'OPEN AI. Mais, je ne sais pas rédiger le conde correspondant.

Quelqu'un aurait-il une idée de code adéquat ?

En attentant, voici le code qui lance mon traitement actuel et qui fonctionne :

APIKEY          est une chaîne     = "sk-MrQu8KsvQxxxxxxxxxxxxxxxxxxxxxx"


//SAI_PROMPT     est une chaîne

SAI_REPONSE     est une chaîne

APIURL          est une chaîne     = "https://api.openai.com/v1/chat/completions"

reqGPT          est un httpRequête
reqGPT.URL                              = APIURL
reqGPT.ContentType                    = "application/json"
reqGPT.Entête["Authorization"]     = "Bearer " + APIKEY

sParam     est un chaîne
sParam2     est un JSON

// Construction du JSON avec la bonne insertion de SAI_PROMPT
sParam = [
     {
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "%1"}]
     }
]

sParam     = ChaîneConstruit(sParam,SAI_PROMPT)
sParam2     = ChaîneVersJSON(sParam)

SI JSONValide(sParam2) ALORS
     reqGPT.Contenu     = sParam2
     reqGPT.Méthode     = httpPost
     
     RepGPT est un httpRéponse = HTTPEnvoie(reqGPT)
     
          Reponse est un JSON = RepGPT.Contenu
          
          SAI_REPONSE = Reponse.choices[1].Message.content
//          Trace(SAI_REPONSE)

TableAjouteLigne(TABLE_CHATGPT,SAI_PROMPT,SAI_REPONSE)


SINON
     HErreurInfo(hErrComplet)
FIN

MERCI POUR VOTRE PARTICIPATION

Message envoyé le 06-03-2024 par TeubeIronic (FR)  
Évidemment, j'ai caché véritable clé open ai.

Message envoyé le 06-03-2024 par popoy (France)  
Salut,
Personnellement, pour garder le fonctionnement du site
J'aurais utiliser un champ HTML avec executejs et les fonctions du dom en JavaScript.
Après il faut voir car je n'ai pas compris l'intérêt du
HErreurInfo qui est fait si je ne me trompes pour les erreurs HFSQL.

Message envoyé le 07-03-2024 par TeubeIronic (FR)  
Merci popoy pour t réponse
Je ne suis pas un expert en html et JavaScript.
Mon idée, qui reste à peaufiner, est de faire une application Windows ou Android. Je souhaite également stocker un échange avec l'IA dans une base de données.
Il y a sans doute plusieurs façons d'aborder le problème, de le traiter et je ne prétends pas être un cr**k en programmation.
Ce qui fait que ta remarque de l'emploi de HErreurInfo dans mon code, n'est pas approprié, dans ce cas...
Mon code pour le moment est loin d'être stabilisé.
Ce que je souhaitais dans un premier temps étais d'utiliser l'API open ai, de pouvoir poser une question et de récupérer une réponse.
Ce que fait, mon code.
Maintenant, mon défi est de pouvoir réaliser une interaction de plusieurs questions-réponses avec ChatGPT.
Cela demande déjà de bien comprendre comment fonctionne l'IA, quel sont les requêtes JSON à utiliser.


Message envoyé le 08-03-2024 par popoy (France)  
Pour le dom
https://fr.m.wikipedia.org/wiki/Document_Object_Model
Et
https://developer.mozilla.org/fr/docs/Web/API/Document_Object_Model

Pour executejs
https://doc.pcsoft.fr/?1000023014

Pour le JavaScript
https://javascript.developpez.com/cours/


Message envoyé le 08-03-2024 par TeubeIronic (FR)  
Merci popoy, je vais essayer de creuser le sujet

Message envoyé le 09-03-2024 par charlie (France)  
Sans objet Impossible de supprimer :)

Message envoyé le 30-07-2024 par emile31 (France)  
Bonjour
Quelqu'un peut me guider pour afficher une date de naissance toute en lettres?
MaDate est une Date= SAI_Entrer_une_date
// Conversion de la date en lettres
DateEnLettres est une chaîne = DateVersJour(MaDate) + " " + DateVersMoisEnLettre(MaDate) + " " + MaDate.Année

// Affichage du résultat dans un champ de texte (par exemple TXT_Resultat)
LIB_resultat = DateEnLettres

Merci resultat 12 mai 2024 c'est pas bon

Message envoyé le 30-07-2024 par popoy (France)  
Salut emile31,
Quel est le résultat souhaité ?

Message envoyé le 31-07-2024 par JE678 (France)  
DateVersJourEnLettre(MaDate)+" "+MaDate.jour +" "+DateVersMoisEnLettre(MaDate)+" "+ MaDate.Année


Pour répondre à ce message vous devez être membre

Entrée membre    Enregistrer




Retour © 1996-2024 forum.acam.ca