Maison > Article > Périphériques technologiques > J'ai découvert une autre façon intéressante de jouer à ChatGPT et de la partager avec tout le monde.
Un fan a déjà écrit pour vous comment connecter ChatGPT à WeChat et DingTalk. Si vous ne l'avez pas vu, vous pouvez lire l'article devant le compte officiel. Récemment, j'ai découvert un gameplay intéressant que j'ai trouvé le temps de mettre en œuvre. ça pendant le week-end. Ça fait du bien. Pas mal, partagez-le avec tout le monde.
La cause du problème est qu'Afan a vu un tel message dans le cercle d'amis. Les informations sensibles ont été supprimées. Le but est évidemment de connecter OpenAI à la planète de la connaissance. planète. Posez une question et OpenAI répondra automatiquement à la question de l'utilisateur correspondant et en informera l'utilisateur.
C'est très intéressant de voir cela. Pour les blogueurs qui dirigent Knowledge Planet, en particulier les blogueurs techniques, de nombreux points de connaissances techniques simples peuvent être résolus grâce à l'automatisation sans trop d'effort.
Certains amis peuvent se demander quelle est la différence entre ceci et le Baidu des utilisateurs ?
Tant que les amis qui ont utilisé OpenAI ont une compréhension approfondie, de nombreuses annonces de réponses sont recherchées sur Baidu. Il faut souvent du temps pour trouver du contenu utile dans une grande quantité de contenu similaire.
Les réponses fournies par OpenAI sont souvent claires et organisées. Bien qu'il ne puisse pas donner de réponses exactes à de nombreuses questions urgentes, il peut néanmoins être très précis pour répondre à certains points de connaissances techniques.
Voici quelques cas que les fans ont vus, vous pouvez y jeter un oeil
peut écrire du code
peut répondre à des questions
peut écrire des contours
peut analyser les performances
Après avoir lu le cas ci-dessus, vous pouvez commencer à le construire. Tout d'abord, nous devons savoir comment implémenter cette fonction de réponse intelligente automatique. L'idée est très simple, c'est-à-dire d'abord obtenir la liste des questions. recevoir une réponse, puis parcourir La question demande l'interface OpenAI, puis réécrit le résultat renvoyé pour informer l'utilisateur correspondant. Nous devons gérer ce processus via une interrogation de tâches planifiée.
Pour résumer, il faut préparer les choses suivantes
Les quatre points ci-dessus sont nécessaires, mais le plus important est bien sûr d'écrire du code, selon notre idée ci-dessus, notre programme doit appeler trois interfaces
; à ces trois interfaces tour à tour Comment se connecter ? Je m'explique à l'avance. La plateforme de planification utilisée par Afan pour plus de simplicité est XXL-JOB. Le script de tâche d'exécution correspondant est écrit en Nodejs.
Utilisez le compte préparé de la personne à qui l'on demande de se connecter à la version Web de Knowledge Planet. Après avoir entré la planète correspondante, vous pouvez voir un menu de [En attente de ma réponse].
Nous ouvrons la console du navigateur, cliquons sur le bouton [Attendez que je réponde] et vous pouvez voir l'adresse d'interface correspondante de la demande
C'est la première adresse d'interface que nous voulons pour demander, veuillez l'écrire, puis obtenir les informations de cookie correspondantes et certains paramètres via l'en-tête de la demande, afin que nous puissions faire la demande d'interface via le code et obtenir la liste des questions auxquelles il faut répondre.
var options = { url: ZSXQ_UNANSWER_URL, headers: { 'accept': 'application/json, text/plain, */*', 'cookie': cookie, 'User-Agent': 'Mozilla/5.0 xxxx', 'x-timestamp': Math.floor(Date.now() / 1000), } }; request(options, callback);
Après avoir obtenu la liste de questions, nous pouvons commencer à parcourir l'interface de requête OpenAI pour obtenir la réponse dans la méthode de rappel. L'adresse de l'interface d'OpenAI est la suivante https://api.openai.com/v1/completions.
function callback(error, response, body) { if (!error && response.statusCode === 200) { let json = JSON.parse(body); if (!json.succeeded) { console.log("succeeded false") process.exit(0) } if (json.resp_data.topics.length > 0) { let length = json.resp_data.topics.length; for (let i = 0; i < length; i++) { let question = json.resp_data.topics[i].question; topicId = json.resp_data.topics[i].topic_id; console.log(topicId + ":" + question.text) let openRequestOption = { url: OPEN_AI_URL, headers: { "Content-Type": "application/json", "Authorization": "Bearer " + API_KEY, "topicId": topicId }, timeout: 120000, body: { "model": "text-davinci-003", "prompt": question.text, "max_tokens": 2000, "temperature": 0.9 }, json: true }; request.post(openRequestOption, completionsCallBack) } } else { console.log("topics empty") process.exit(0) } } else { console.log("get questions error") process.exit(-1) } }
Écrivez la réponse obtenue à l'utilisateur. Ici, nous avons besoin de la troisième adresse, qui peut être obtenue de la même manière que la première adresse. Faites une réponse sur la page et vous pourrez obtenir l'adresse de réponse correspondante, mais nous en avons besoin. Remplacez l'ID du thème par vous-même. C'est relativement simple, alors ne prenez pas de capture d'écran et téléchargez simplement le code.
// 智能回答 function completionsCallBack(error, response, body) { if (!error && response.statusCode === 200) { if (null != body && body.choices.length > 0) { let reply = body.choices[0].text; console.log(response.request.headers.topicId + ":" + reply); if (null != reply && reply.length > 0) { // 回答问题并通知提问者 let answerOptions = { url: ZSXQ_ANSWER_URL + "/" + response.request.headers.topicId + "/answer", headers: { 'accept': 'application/json, text/plain, */*', 'cookie': cookie, 'User-Agent': 'Mozilla/5.0 xxx', 'x-timestamp': Math.floor(Date.now() / 1000), }, timeout: 12000, body: { "req_data": { "image_ids": [], "silenced": silenced, "text": reply } }, json: true } request.post(answerOptions, answerCallBack) } } } else { console.log("get answer error") process.exit(-1) } } // 回答后调用 function answerCallBack(error, response, body) { if (response.statusCode === 200 && body.succeeded) { console.log(":智能回答成功"); //process.exit(0) } else { console.log(":智能回答失败"); //process.exit(-1) } }
À ce stade, la fonction correspondante a été essentiellement implémentée. Voici quelques détails
Configurez une tâche NodeJs sur XXL-JOB,
Vous pouvez voir qu'Afen a spécifié l'heure correspondante avant d'interroger Vous pouvez le voir La réponse intelligente est. réussi, et la correspondance peut être affichée normalement dans Knowledge Planet. Cool~
Aujourd'hui, je vous propose une autre façon de jouer à OpenAI. Ah Fan a proposé plusieurs façons de jouer, qui sont toutes apprises et recherchées par vous-même. Vous pouvez simplement y jouer par vous-même. savoir jouer. Nous pouvons maintenir notre enthousiasme lorsque nous rencontrons de nouvelles choses et technologies. Nous ne pouvons pas être conservateurs lorsque de nouvelles technologies arrivent, mais nous devons les accueillir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!