表单提交prompt让ai生成标题并结合火车头采集器实现全自动化

现如今,ai已经风卷全球,通过ai可以实现很多很多功能,对于喜欢建立自己博客的朋友来说,今天这篇文章可以完全解放你的双手,实现博客全自动化发文章,本功能是基于国内大型AI公司moonshot api实现,如果小伙伴习惯用chatgpt,仅需修改代码内的key和请求地址即可。

表单提交prompt让ai生成标题并结合火车头采集器实现全自动化

在开始前,我们先来看看这一系列功能实现的简要概述:

    一、搭建表单提交页面及css样式

    二、编写请求api的插件并将结果写入html文件

    三、配置火车头采集器获取标题并采集

    搭建表单提交页面及css样式

    我们需要搭建一个表单提交页面,把你要生成的prompt(提示)传递给请求插件,单提交页面代码:

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<title>AI根据提示自动写标题</title>
    	<link rel="stylesheet" type="text/css" href="style.css">
    	<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    	<script>
    	$(document).ready(function(){
      $("form").submit(function(e){
      e.preventDefault(); // 阻止表单提交的默认行为
      $.ajax({
        type: "POST",
        url: "aititle.php",
        data: $(this).serialize(), // 将表单数据序列化为字符串
        success: function(data){
          // 在页面上显示服务器返回的消息
          $("#message").text(data);
          // 1 秒后刷新页面
          setTimeout(function(){
            location.reload();
          }, 1000);
        }
      });
    });
    });
    
    
    	</script>
    </head>
    <body>
        <form>
    	<h1>提交提示信息到AI助手</h1>
    	
    		<label for="titles">请输入标题(一行一个,最多100个):</label>
    		<textarea name="titles" id="titles" rows="100"></textarea><br><br>
    		<label for="category">请选择站点:</label>
            <select name="category" id="category">
            <option value="category1">站点名称</option>
             
      </select>
      <br><br>
    		<input type="submit" value="提交">
    	</form>
    	<div id="message"></div> <!-- 显示提交成功的消息 -->
    </body>
    </html>
    

    再来为表达html增加一个css样式,让页面更好看:

    body {
      background-color: #f5f5f5;
      padding: 2rem;
      display: flex;
      justify-content: center;
     align-items: center;
      height: 70vh;
    }
    
    form {
      width: 90%;
      max-width: 40rem;
      padding: 2rem;
      border: 1px solid #ccc;
      border-radius: 0.5rem;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      background-color: #96979a;
    }
    
    h1 {
      font-size: 2rem;
      margin-bottom: 1rem;
      
    }
    
    label {
      display: block;
      font-weight: bold;
      margin-bottom: 0.5rem;
    }
    
    textarea,
    input[type="submit"] {
      display: block;
      margin-bottom: 1.5rem;
      width: 100%;
      padding: 0.5rem;
      font-size: 1rem;
      border: none;
      border-radius: 0.25rem;
      background-color: #e0dbdb;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }
    
    textarea {
      height: 10rem;
    }
    
    input[type="submit"] {
      background-color: #26517c;
      color: #fff;
      cursor: pointer;
    }
    
    input[type="submit"]:hover {
      background-color: #0069d9;
    }
    
    
    

    熟悉代码的朋友可以看到,在表单提交代码里,有一个url: "aititle.php",这个文件就是接下来要创建的请求插件文件,以下是代码,代码请求的是moonshot api,需要请求openai api的请修改代码,以下是完整代码:

    <?php
    
    // 定义 OpenAI API 的访问密钥和模型名称
    $openai_api_key = 'sk-'; // moonshot的API密钥
    $model_name = 'moonshot-v1-8k';
    
    // 获取表单提交的问题参数
    if (isset($_POST['titles'])) {
        $titles = $_POST['titles'];
    } else {
        die('缺失参数: titles');
    }
    
    // 添加上下文信息到 prompt 中
    $context = '你是一个专门写文章标题的高手,请写出类似百度知道、百度经验这样有关键词指数的百科问答型标题,输出的标题需符合以下要求:
    1.行业尽量细分,不要太模糊,标题前面不要加上行业分类,直接输出纯标题;
    2.标题不要带年份,如2023等;
    3.标题结尾不要加问号;
    4.不要涉及金融理财和疾病行业;
    5.一行一个,每次列出5个标题。';
    
    // 设置 OpenAI API 请求的参数
    $data = array(
        'model' => $model_name,
        'messages' => [
            [
                "role" => "user",
                "content" => $titles . ' ' . $context
            ]
        ],
        'temperature' => 0.7, // 增加温度以增加随机性
        'max_tokens' => 4096, // 增加生成的最大令牌数以增加输出长度
    );
    
    // 将参数转换为 JSON 格式
    $data_string = json_encode($data);
    
    // 设置 cURL 请求参数
    $ch = curl_init('https://api.moonshot.cn/v1/chat/completions');
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string),
        'Authorization: Bearer ' . $openai_api_key
    ));
    
    // 执行 cURL 请求
    $response = curl_exec($ch);
    
    // 将 API 返回结果转换为 PHP 数组
    $response_array = json_decode($response, true);
    
    // 关闭 cURL 请求
    curl_close($ch);
    
    // 检查 API 返回结果中是否有错误信息
    if (isset($response_array['error'])) {
        // 输出错误信息
        echo '请求出错: ' . $response_array['error']['message'];
    } else {
        // 获取 API 返回的标题内容
        $titles = $response_array['choices'][0]['message']['content'];
    
        // 同时移除序号、双引号、英文以及中文问号
        $titles = preg_replace('/^\d+\.\s*|"|“|”|\?|?/mu', '', $titles);
    
        // 将标题按行分割
        $titlesArray = explode("\n", $titles);
    
        // 添加前缀到每个标题并用<h3>标签包裹
        $formattedTitles = array_map(function($title) {
            if (trim($title) === '') {
                return ''; // 跳过空行
            }
            $prefixedTitle = "https://你的域名/title.php?text=" . trim($title);
            return "<h3>" . htmlspecialchars($prefixedTitle) . "</h3>";
        }, $titlesArray);
    
        // 合并标题,并在每个标题后面添加换行符
        $titlesToWrite = implode(PHP_EOL, $formattedTitles);
    
        // 定义文件路径
        $file_path = '/www/wwwroot/你的域名/keywordhtml/autotitles.html';
    
        // 将处理后的标题追加到HTML文件中
        file_put_contents($file_path, $titlesToWrite . PHP_EOL, FILE_APPEND);
    
        // 输出成功信息
        echo "标题生成成功!已添加到 {$file_path}";
    }
    ?>
    

    title.php代码需要注意的几个地方:

    1、需要填写你的自己的moonshot api key

    2、$prefixedTitle = "https://你的域名/title.php?text=" . trim($title)中的title.php是一个空文件,这里主要是方便后期火车头采集器在网页地址获取标题。

    3、$file_path = '/www/wwwroot/你的域名/keywordhtml/autotitles.html‘;这一句代码是定义请求api的组合结果最后保存到哪个文件,如果没有会自动创建。

    表单提交prompt让ai生成标题并结合火车头采集器实现全自动化

    这样我们就得到了ai生成标题的文件,将该地址填入火车头采集器中即可实现采集目的,火车头采集器部分的教程大家可以参考这篇内容来实现:

    最后把这些创建的文件放入网站根目录或者任何你想放置的地方,注意修改代码里的路径!接下来,你想要ai写关于什么方面的内容,就可以在表单输入框里自由操作啦。

    有问题可以在本文评论区写下来,不忙的情况下可以帮助大家解决。以上就是今天给大家介绍的ai的一个玩法,感兴趣的小伙伴可以去试试啦~

    本内容由作者【无涯探索】自发贡献,版权归原作者所有,秒鲨号仅提供存储服务,不承担相应的法律责任。如您发现有涉嫌抄袭侵权的内容,请发送举报信息至邮箱:ddzpay@hsrjtk.com,我们将尽快核实处理。
    更多精彩内容请点击→最新资讯

    Like (0)
    Previous 2024年5月11日 11:34:48
    Next 2024年5月11日 14:35:48

    相似推荐

    发表回复

    Please Login to Comment
    微信客服