今天直接上代码,10分钟跑通PHP调用AI。顺便带你入门提示词工程——这是AI时代的“基础语法”。
一、准备工作
DeepSeek官方提供100万tokens免费额度(个人开发完全够用)。注册 DeepSeek 账号:https://platform.deepseek.com
获取 API Key:进入 Dashboard → API Keys → 创建 API Key
环境要求:PHP 7.4+,开启 curl 扩展
二、核心代码
新建 ai.php,把"你的API密钥"换成真实的 Key。
php
<?php$apiKey = '你的API密钥';$prompt = '你是一个PHP专家,请用PHP写一个hello world,并加上注释。';$ch = curl_init('https://api.deepseek.com/v1/chat/completions');curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey]);curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ 'model' => 'deepseek-chat', 'messages' => [['role' => 'user', 'content' => $prompt]]]));$response = curl_exec($ch);$data = json_decode($response, true);$answer = $data['choices'][0]['message']['content'] ?? '出错了';echo $answer;?>
运行:php ai.phpai,以下是老杨在PowerShell里运行的结果
PS E:\wwwroot\myai> php -f ai.php以下是几种常见的 PHP 输出 "Hello World" 的方式:## 1. 基础写法```php<?php echo "Hello World!";?>```## 2. 简洁写法(推荐)```php<?phpecho "Hello World!";```## 3. 使用 print 语句```php<?phpprint "Hello World!";```## 4. 包含 HTML 的写法```php<!DOCTYPE html><html><head> <title>PHP Hello World</title></head><body> <?php echo "<h1>Hello World!</h1>"; ?></body></html>```## 5. 使用变量```php<?php$message = "Hello World!";echo $message;```## 6. 使用函数```php<?phpfunctionsayHello() { return "Hello World!";}echo sayHello();```## 运行方式:1. 将代码保存为 `.php` 文件(如 `hello.php`)2. 通过 Web 服务器(如 Apache、Nginx)访问3. 或使用命令行:`php hello.php`## 注意事项:- PHP 代码必须放在 `<?php ... ?>` 标签内- 每条语句以分号 `;` 结尾- 注释可以使用 `//`(单行)或 `/* ... */`(多行)这是最简单的 PHP 程序,适合初学者了解 PHP 的基本语法结构。
三、提示词工程入门(重点)
同样让AI写代码,提示词不同,结果天差地别。
差的提示词:写个hello world
AI可能只输出一行 echo "hello world";,没注释、没风格。
好的提示词:你是一个PHP专家,请用PHP写一个hello world,并加上注释。
AI会输出完整代码块、解释每一行、甚至给出运行说明。
三个立刻能用的技巧:
定角色:开头说“你是一个PHP专家/资深架构师”
给要求:明确输出格式(“用代码块”、“加上注释”、“只返回代码”)
加限制:比如“不要用第三方库”、“兼容PHP 7.4以上”
实战练习:把 $prompt 改成下面这个,看看输出变化:
php
$prompt = '你是一个资深面试官,请出一道PHP闭包的面试题,并给出参考答案。';
你会发现AI瞬间切换成面试官模式。这就是提示词的威力。
四、常见坑与解决
1. 没返回结果,显示“出错了”
打印 $response 看看错误信息。最常见的是 API Key 没复制全。
2. cURL Error 28(超时)
加一行 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
3. 输出内容不完整
提示词里加一句:“请输出完整的代码,不要省略”。
五、进阶:封装成函数 + 提示词模板
php
functionaskAI($prompt) { // 把上面的curl代码放进来,返回$answer}// 使用提示词模板$prompt = "你是一个PHP专家。任务:写一个函数实现冒泡排序。要求:加上注释,返回完整代码。";echo askAI($prompt);
以后你只需要换 $prompt,就能做翻译、总结、生成单元测试……任何事。
六、下一篇预告
咱们做“知识库问答(RAG)”,让 AI 读你的 PDF 或数据库。如果你觉得好,动动你发财的手帮忙点个赞吧。