AI独立站咨询配置:从零搭建可用的咨询表单与自动回复
AI独立站咨询配置的核心,是让访客提交的咨询内容能进入你的处理流程,并能在页面上得到即时反馈。
本文按零基础可操作的方式,拆解从准备到验证的完整步骤,不依赖特定建站程序,适合使用宝塔面板或手动配置Nginx+PHP的站点参考。
开始之前需要确认的环境与材料
配置前先检查三件事,避免做到一半卡住:
- 站点已经能通过域名正常访问,HTTPS证书有效(咨询表单提交涉及用户输入,建议启用HTTPS)。
- 服务器上已安装Nginx或Apache,以及PHP 7.4以上版本(推荐8.0+),并能运行简单的PHP脚本。
- 你有一个可用的AI接口服务(如OpenAI API、国内大模型API等),拿到API Key和请求地址。如果暂时没有,可以先跳过自动回复部分,仅完成表单收集。
验证PHP是否正常:在站点根目录创建 info.php,内容为 ,浏览器访问
php phpinfo();https://你的域名/info.php,能看到PHP信息页即正常。
测试后删除该文件。
创建咨询表单并接入页面
在独立站中新建一个咨询页面,放置表单。
以下是一个最小可用HTML表单示例,字段可按需增减:
将这段代码放到页面对应位置。
注意 action 指向后端处理脚本路径,后面会创建。
如果站点使用WordPress等CMS,也可以通过表单插件生成,但需确认插件支持自定义提交地址。
编写后端处理脚本并保存记录
在站点根目录下创建 api 目录,新建 consult.php,写入以下基础逻辑:
false, 'msg' => '请填写完整信息']);
exit;
}
$log = date('Y-m-d H:i:s') . "\t" . $name . "\t" . $email . "\t" . $message . "\n";
file_put_contents(__DIR__ . '/consult.log', $log, FILE_APPEND | LOCK_EX);
echo json_encode(['ok' => true, 'msg' => '提交成功']);
这段脚本将咨询内容追加写入 api/consult.log。
确保 api 目录对PHP进程可写(宝塔面板中可在文件管理里设置权限为755,文件所有者设为www)。
完成后访问表单页面提交一次,检查 consult.log 是否出现记录。
对接AI接口实现自动回复(可选)
如果需要提交后立即返回AI生成的回复,在 consult.php 中增加调用AI接口的代码。
以curl方式请求为例,替换为你的API地址和Key:
$apiKey = '你的API_KEY';
$apiUrl = 'https://api.example.com/v1/chat/completions';
$data = json_encode([
'model' => 'gpt-3.5-turbo',
'messages' => [['role' => 'user', 'content' => $message]]
]);
$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
],
CURLOPT_TIMEOUT => 15
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
$reply = $result['choices'][0]['message']['content'] ?? 'AI回复暂不可用';
echo json_encode(['ok' => true, 'msg' => '提交成功', 'reply' => $reply]);
注意:示例中的 api.example.com 和模型名称仅为占位,实际使用时替换为你的服务商提供的真实地址和模型名。
调用AI接口会增加响应时间,建议设置超时(如15秒)并在前端显示“正在生成回复”。
常见报错与避坑提醒
- 提交后页面空白或返回500:查看Nginx错误日志
tail -f /www/wwwlogs/你的域名.error.log,常见原因是PHP语法错误或目录权限不足。 consult.log没有内容:检查表单action路径是否正确,以及PHP是否对目录有写权限。可用ls -l api/确认权限。- 跨域请求失败:如果前端与后端不同域,需要在
consult.php顶部添加header('Access-Control-Allow-Origin: *');,但生产环境建议指定具体域名。 - AI接口超时或返回401:检查API Key是否有效、账户余额是否充足,以及请求地址是否与文档一致。
检查配置是否生效
完成上述步骤后,按以下顺序验证:
- 打开咨询页面,填写并提交表单,观察页面是否返回“提交成功”及AI回复(如已启用)。
- 登录服务器,执行
tail -n 5 api/consult.log,确认新增了一条记录。 - 如果配置了AI回复,检查返回内容是否与咨询主题相关,不相关时检查请求参数中的
messages结构。 - 用手机浏览器再提交一次,确认移动端也能正常工作。
以上流程覆盖了AI独立站咨询配置的主要环节。
实际部署时,建议先关闭AI回复,仅测试表单收集,稳定后再逐步开启自动回复,便于定位问题。
如果站点使用CDN或防火墙,注意放行 /api/consult.php 的POST请求。
常见疑问
问:没有编程基础,能用现成插件完成吗?
可以。WordPress可使用Contact Form 7等表单插件,再通过插件市场中的AI对接扩展实现自动回复,但需注意插件兼容性与数据存储位置。
问:咨询记录保存在服务器上安全吗?
日志文件默认在Web目录下,建议将其移出Web根目录,或在Nginx中禁止直接访问 .log 文件,例如添加 location ~ \.log$ { deny all; }。
问:AI回复内容不准确怎么办?
在请求中增加系统提示词(system prompt),限定回复范围和语气,同时保留人工审核入口,不要直接依赖AI回复作为最终答复。