gpt4 book ai didi

php - WordPress PHP 代码中的 OpenAI ChatGPT (GPT-3.5) API 错误 : "Invalid URL (POST/v4/engines/davinci-codex/completions)"

转载 作者:行者123 更新时间:2023-12-02 05:49:35 33 4
gpt4 key购买 nike

我已要求 ChatGPT 生成一个代码,将其合并到 WordPress 的 function.php 中,以便为我新创建或更新的所有帖子自动生成标签。

这是代码:

function add_tags_with_gpt($post_ID) {
// Vérifier si le contenu de l'article a réellement changé
$post = get_post($post_ID);
$old_content = get_post_meta($post_ID, '_old_content', true);
$new_content = $post->post_content;
if ($old_content === $new_content) {
return; // Le contenu n'a pas changé, donc on ne fait rien
}
update_post_meta($post_ID, '_old_content', $new_content);

// Utiliser l'API OpenAI pour générer des tags
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v4/engines/davinci-codex/completions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
'prompt' => 'Generate tags for a blog post with the following content: '.$new_content,
'max_tokens' => 60
)));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer your_openai_api_key', // Remplacez 'your_openai_api_key' par votre véritable clé API
'Content-Type: application/json'
));
$response = curl_exec($ch);
if (!$response) {
// Enregistrer l'erreur dans le fichier de log de débogage de WordPress
error_log('Erreur lors de la génération de tags: ' . curl_error($ch));
return;
}
curl_close($ch);

// Enregistrer la réponse de l'API dans le fichier de log de débogage de WordPress
error_log('Réponse de l\'API OpenAI : ' . $response);

$response_data = json_decode($response, true);
if(!isset($response_data['choices'][0]['text'])) {
error_log('Erreur: La réponse de l\'API ne contient pas de tags');
return;
}
$tags = explode(',', $response_data['choices'][0]['text']);
$tags = array_slice($tags, 0, 8);

// Valider et nettoyer les tags
$tags = array_map('sanitize_text_field', $tags);
$tags = array_map('wp_strip_all_tags', $tags);
$tags = array_filter($tags, function($tag) {
return strlen($tag) > 2 && strlen($tag) <= 20; // Exclure les tags de moins de 3 caractères et de plus de 20 caractères
});

// Ajouter les tags à l'article
wp_set_post_tags($post_ID, $tags, true);
}
add_action('save_post', 'add_tags_with_gpt');

问题是代码不起作用并在 debug.log 中返回此错误消息

[23-Jul-2023 15:16:27 UTC] Réponse de l'API OpenAI : {
"error": {
"message": "Invalid URL (POST /v4/engines/davinci-codex/completions)",
"type": "invalid_request_error",
"param": null,
"code": null
}
}

[23-Jul-2023 15:16:27 UTC] Erreur: La réponse de l'API ne contient pas de tags
[23-Jul-2023 15:16:34 UTC] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/***/webapps/***/wp-includes/formatting.php on line 4303

知道问题是什么以及如何解决它吗?问题并非来 self 从 OpenAI 帐户复制/粘贴到代码中的 API key 。

非常感谢,

最佳答案

全部Engines API端点已弃用。

Screenshot

使用Chat Completions API端点。

从此更改 URL...

https://api.openai.com/v4/engines/davinci-codex/completions

...对此。

https://api.openai.com/v1/chat/completions

Chat Completions API 有 4 个必需参数:

  • 型号
  • 消息
    • 角色
    • 内容

查看我的past answer有关使用 gpt-3.5-turbo 模型的 PHP 工作示例。

关于php - WordPress PHP 代码中的 OpenAI ChatGPT (GPT-3.5) API 错误 : "Invalid URL (POST/v4/engines/davinci-codex/completions)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76749071/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com