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 访问权限:https://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 开发的趋势。
PHP 快速集成 ChatGPT 用 AI 让你的应用更聪明的更多相关文章
- ChatGPT搭建AI网站实战
1.概述 ChatGPT是一款基于GPT-3.5架构的大型语言模型,它能够进行自然语言处理和生成对话等任务.作为一款智能化的聊天机器人,ChatGPT有着广泛的应用场景,如在线客服.智能助手.个性化推 ...
- 搜狐新闻APP是如何使用HUAWEI DevEco IDE快速集成HUAWEI HiAI Engine
6月12日,搜狐新闻APP最新版本在华为应用市场正式上线啦! 那么,这一版本的搜狐新闻APP有什么亮点呢? 先抛个图,来直接感受下—— 模糊图片,瞬间清晰! 效果杠杠的吧. 而藏在这项神操作背后的 ...
- Android | 教你如何快速集成机器学习能力
背景 继上篇博文说了如何快速集成扫码以后 我又上官网去了解了一下其他的功能,其中机器学习服务是当下比较火的,而且还是免费的.就赶紧点进去学习一下.看看能够快速实现哪些功能. 链接在这里:https ...
- 快速集成iOS基于RTMP的视频推流
前言 这篇blog是iOS视频直播初窥:<喵播APP>的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有很多朋友简信和微博上问我推流这部分怎么实现的. 所以, 我重新集 ...
- 快速集成图片浏览器快速集成图片浏览器->MJPhotoBrowser的使用
介绍: 一个比较完整的图片浏览器,高仿了新浪微博的图片浏览效果,功能包括:下载浏览互联网图片,点击缩略图全屏显示图片.当加载较大图片时会出现圆形进度条,滑动浏览所有图片.保存图片到本地相册.GIF图片 ...
- iOS简单快速集成Cordova
如果你对于什么是Cordova还不了解,可以先移步到我另一个文章:Cordoval在iOS中的运用整理 里面有详细的介绍跟如何搭建Cordova:而本文则是要介绍JiaCordova插件,如果你有一点 ...
- Spring Boot 揭秘与实战(三) 日志框架篇 - 如何快速集成日志系统
文章目录 1. 默认的日志框架 logback2. 常用的日志框架 log4j 1.1. 日志级别 1.2. 日志文件 3. 源代码 Java 有很多日志系统,例如,Java Util Logging ...
- Android Studio快速集成讯飞SDK实现文字朗读功能
今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即“从文本到语音” ...
- ShareSDK入门指南:Android 10分钟快速集成
ShareSDK 官方已提供Android 快速集成教程,以官方教程为参考,本文重点指导大家在集成中遇到的问题. Android 快速集成官方教程:http://wiki.mob.com/Androi ...
- 如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
随机推荐
- com.alibaba的fastjson使用(持续添加)
1.JSON换实体类T 1 //json是JSONObject类型,将json转成实体类T 2 T tt = JSONObject.parseObject(json.toJSONString(), T ...
- type和interface与namespace和module
type 和 interface 的区别 type 可以定义基本类型 也可以定义对象.数组.函数等 // 1. 定义基本类型 type StudentNameType = string; const ...
- 前端开发系列108-工程化篇之Grunt构建工具的使用
本文主要介绍前端开发中常用的构建工具Grunt,具体包括Grunt的基本情况.安装.使用和常见插件的安装.配置和使用等内容. 1.0 Grunt简单介绍 Grunt是一套前端自动化构建工具.对于需要反 ...
- 密度泛函理论(DFT)简介
密度泛函理论(DFT)简介 密度泛函理论(Density Functional Theory,DFT)是一种现代量子力学计算方法,广泛应用于原子.分子和固体材料的电子结构研究. DFT 的基本思想: ...
- ETL怎么实现多流自定义合并?
随着信息技术的迅猛发展以及数据生成环境的多样化,互联网.物联网和社交媒体的广泛应用导致各种设备和平台不断产生大量数据,需要整合这些数据,从而进行数据融合.数据集成和管理平台ETLCloud,主要用于支 ...
- git项目初次push提示error: failed to push some refs to https://gitee.com/xxxx/gittest.git’解决方案 --九五小庞
在本地与远程新建仓库并关联后,初次push可能会遇到以下问题 $ git push -u origin master To https://gitee.com/xxxx/gittest.git ! [ ...
- 基于c8t6的平衡小车(CubeMX+MDK)(1)OLED的多级菜单显示
OLED的多级菜单显示 OLED控制之旋转编码器兼按键 按键 按键状态 想想按键有哪些状态呢,按下,断开?,这是最基本的KEYSTATUS,按键还可以有短按,长按,一直按,按多次,这都可以产生不同的按 ...
- huffman基础代码实现
#include <bits/stdc++.h> using namespace std; const int maxn=1e5+7; const int INF=0x3f3f3f3f; ...
- 迈入泛 K 歌娱乐时代,即构推出 “社交 + K 歌” 融合方案!
无处不在的在线 K 歌. 在线 K 歌一直是泛娱乐领域的热门赛道,艾媒咨询最新数据表示,2021 年中国在线 K 歌用户规模约为 5.1 亿人,渗透率约为 49.7%,这意味着每两个网民中,就有一个体 ...
- Flutter SizeTransition:让你的UI动画更加丝滑
在Flutter开发中,动画是提升用户体验的重要手段.今天我们来深入探讨一个强大而优雅的动画组件--SizeTransition,它能让你的UI元素在尺寸变化时呈现出流畅的过渡效果. SizeTran ...