PHP 快速集成 ChatGPT 用 AI 让你的应用更聪明
PHP 快速集成 ChatGPT 用 AI 让你的应用更聪明
AI 现在火得不行,ChatGPT 这些工具让我们开发者能很轻松地给应用加上智能功能。如果你在用 PHP,想让自己的项目也能”聊天”、”思考”,这篇文章就手把手教你怎么通过 OpenAI 的 API 把 ChatGPT 接入 PHP 应用。
原文链接- PHP 快速集成 ChatGPT 用 AI 让你的应用更聪明
为什么 PHP 也要上 AI?
PHP 跑着全世界一大半的网站,从小博客到大公司的系统都在用。现在给 PHP 加上 ChatGPT,你的应用马上就能有这些酷炫功能:
- 能聊天的客服机器人
- 自动写文案、生成内容
- 智能搜索和推荐
- 引导用户操作
- AI 帮你填表单、写代码
不管你做的是公司内部工具还是对外的产品,ChatGPT 都能让你的应用瞬间智能化。
开始之前需要准备什么
撸代码之前,先检查一下你有没有这些东西:
- PHP 7.4 或更新版本
- 开启了 cURL 扩展(基本都有)
- OpenAI 账号和 API 访问权限:platform.openai.com
注册登录 OpenAI 后,去拿个 API key。后面 PHP 调用接口都要用这个 key 来认证。
第一个 PHP 调用 ChatGPT 的例子
咱们先来个最简单的例子,看看 PHP 怎么给 ChatGPT 发消息并拿到回复。
<?php
$apiKey = 'YOUR_OPENAI_API_KEY';
$data = [
"model" => "gpt-4", // 或 "gpt-3.5-turbo"
"messages" => [
["role" => "system", "content" => "你是一个有用的助手。"],
["role" => "user", "content" => "法国的首都是什么?"]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.openai.com/v1/chat/completions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer $apiKey"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo $result['choices'][0]['message']['content'];
?>
这段代码做了什么:
- 把用户的问题发给 ChatGPT
- 把 AI 的回答显示出来
- 想问什么都可以,随便改
实际项目中怎么用
说了这么多理论,现在看看实际项目里能怎么玩:
做个智能客服
用途:用户有问题直接问,AI 秒回答,不用真人客服天天回复重复问题。
代码示例:
<?php
$userMessage = $_POST['message'];
$data = [
"model" => "gpt-4",
"messages" => [
["role" => "system", "content" => "你是在线电子产品商店的客服代表。请简洁而有用地回答问题。"],
["role" => "user", "content" => $userMessage]
]
];
前端配合:网页上弄个聊天窗口(HTML + JS),用户发消息就 POST 到这个 PHP 文件。
自动写文案
用途:让 AI 帮你写营销文案、博客大纲、产品介绍,再也不用抓破脑袋想文案。
代码示例:
<?php
$productName = "EcoSmart可重复使用水瓶";
$descriptionGoal = "生成SEO友好的产品描述。";
$data = [
"model" => "gpt-4",
"messages" => [
["role" => "system", "content" => "你是一位撰写引人注目的电商产品描述的内容营销专家。"],
["role" => "user", "content" => "为以下产品写一个100字的描述:$productName"]
]
];
智能表单助手
用途:用户说个大概,AI 帮忙写详细的简历、求职信什么的,省事儿。
代码示例:
<?php
$userInput = "拥有5年React和Vue.js经验的前端开发工程师";
$data = [
"model" => "gpt-4",
"messages" => [
["role" => "system", "content" => "你是一位职业顾问,帮助用户撰写专业简历。"],
["role" => "user", "content" => "基于这个总结,创建一个2句话的个人简介:$userInput"]
]
];
效果:生成的内容直接用 JS 填到表单里,用户一键搞定。
智能搜索
用途:用户用大白话问问题,AI 从你的文档库里找答案,比关键词搜索聪明多了。
怎么搞:
- 用 OpenAI 的 Embeddings API 把你的文档都转成向量
- 存到向量数据库里(Pinecone、Weaviate、PostgreSQL + pgvector 都行)
- 用户问问题时,PHP 把问题也转成向量,找最相似的文档,然后连同问题一起发给 ChatGPT
消息示例:
<?php
// 用户询问:"如何重置我的密码?"
$context = "文档:要重置密码,请转到设置页面并点击'忘记密码'。";
$userQuestion = "如何重置我的密码?";
$data = [
"model" => "gpt-4",
"messages" => [
["role" => "system", "content" => "你根据公司文档回答问题。"],
["role" => "user", "content" => "文档:$context \n\n问题:$userQuestion"]
]
];
代码助手
用途:看不懂代码?有 bug?想要 AI 帮你写代码?直接问就行。
代码示例:
<?php
$userCode = "function add(a, b) { return a + b; }";
$data = [
"model" => "gpt-4",
"messages" => [
["role" => "system", "content" => "你是一位用简单术语解释代码的专业软件工程师。"],
["role" => "user", "content" => "解释这个JavaScript函数的作用:\n$userCode"]
]
];
还能这样玩:
- 加上代码高亮让回答更好看
- 用
role: assistant
让 AI 提供代码优化建议
写在最后
PHP 接入 ChatGPT 其实没想象中那么复杂,几行代码就能让你的应用变聪明。用户体验立马上一个台阶,工作效率也能提升不少。
现在 AI 这么火,不用就亏了。PHP + OpenAI 这个组合,绝对是未来 Web 开发的趋势。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: