无缝集成 ChatGPT 到您的 Laravel 项目中:逐步指南
保留HTML结构,请将以下英文文本翻译为简体中文: 通过openai-php库使OpenAI的ChatGPT与PHP应用程序集成变得简化,这是一个强大的工具,它将PHP开发人员连接到自然语言处理的先进功能。本文将指导您如何将ChatGPT集成到Laravel项目中,演示如何轻松通过AI驱动的交互增强应用程序。我们将介绍设置、认证和实际用法,为您在PHP环境中利用这一尖端技术提供简明的路线图。无论您是自动化响应、生成内容还是添加智能交互,openai-php和Laravel组合在一起,对于任何希望深入AI领域的开发人员来说,都是强大的组合。
步骤1:安装Laravel
首先,我们将安装Laravel,确保我们拥有一个坚实而多才多艺的框架来构建。Laravel的artisan命令和结构化方法使其成为现代Web应用开发的理想选择。
composer create-project laravel/laravel YourProjectName
第二步:安装openai-php
下面,我们将openai-php库引入我们的Laravel项目中。该库充当您的PHP应用程序与OpenAI的ChatGPT之间的桥梁,提供了从简单文本完成到复杂对话仿真等一系列功能。
composer require openai-php/openai
第四步:获取并配置您的OpenAI API密钥
在我们与ChatGPT进行交互之前,我们需要对我们的请求进行身份验证。这一步骤涉及从OpenAI平台获取API密钥,并在我们的Laravel应用程序中安全地进行配置。
4.1 在OpenAI平台上注册:
- 注册:首先访问OpenAI网站,如果您尚未注册账号,请先注册。
- API访问:注册并登录后,导航至API部分,您可以在此管理您的API密钥。
4.2 创建一个API密钥:
- 生成密钥:根据提示创建新的API密钥。该密钥将作为访问OpenAI的服务(包括ChatGPT)的令牌。
- 记录密钥:请确保将生成的API密钥保存在安全的位置。这是一份敏感的信息,应保持机密。
4.3 在Laravel中配置API密钥:
- 环境文件:打开您的Laravel项目的.env文件。您将看到OPENAI_API_KEY具有null值。设置您在OpenAI平台上存储的API密钥。
4.5 在应用程序中访问 API 密钥:
- 用途:在您的Laravel应用程序中,当您需要使用API密钥时,您应该通过env函数访问它,类似这样:
$apiKey = env('OPENAI_API_KEY');
编码时间
现在是时候编写代码了。
1. 设置控制器和路由:
创建一个控制器和路由,用于处理向服务器发送问问题的请求。
控制器:
php artisan make:controller OpenAIController
路由(位于routes/web.php或routes/api.php):
use App\Http\Controllers\OpenAIController;
Route::post('/ask-question', [OpenAIController::class, 'askQuestion']);
2. 实现提问功能:
在您的OpenAIController中,实现发送提示到OpenAI API并返回响应的函数。
在app/Http/Controllers/OpenAIController.php文件中:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use OpenAI\OpenAI;
class OpenAIController extends Controller
{
public function askQuestion(Request $request) {
// Retrieve the question from the request
$question = $request->input('question');
// Initialize the OpenAI client
$openai = new OpenAI(env('OPENAI_API_KEY'));
try {
// Send the question to the OpenAI API
$response = $openai->completions(
[
"model" => "text-davinci-003", // Use the appropriate model
"prompt" => $question,
"max_tokens" => 150,
]
);
// Return the answer
return response()->json([
'answer' => $response->choices[0]->text,
]);
} catch (\Exception $e) {
// Handle errors
return response()->json(['error' => $e->getMessage()], 500);
}
}
}
现在你应该运行这个php artisan命令来启动服务器。
php artisan serve
这里我们继续使用Postman:
步骤1:打开Postman
- 启动Postman:在您的计算机上启动应用程序。
第二步:创建一个新的请求
- 新请求:点击“新建”按钮,选择“请求”。
- 名称和保存:给您的请求取一个名称,如果愿意,将其保存到一个集合中。
步骤3:设置请求
- 方法:选择“POST”作为方法,因为你将数据发送到服务器。
- URL:在您的Laravel应用程序中,输入问题处理的终结点URL(例如,如果您在本地运行,则为http://localhost:8000/ask-question)。
第四步: 准备请求正文
- 转到Body选项卡:点击URL栏下方的“Body”选项卡。
- 选择“表单数据”:从可用选项中选择“表单数据”。
步骤5:输入您的数据
- 键:输入“question”或者你的Laravel路由预期接收问题文本的特定键。
- 价值:输入您要发送的实际问题(例如,“法国的首都是什么?”)。
第6步:发送请求
- 点击“发送”:Postman将向Laravel应用程序发送带有您的表单数据的POST请求。
通过在 Postman 中按照以下步骤操作,您可以模拟一个客户端应用程序向您的 Laravel 应用程序提问问题,然后将问题发送给 OpenAI 的 ChatGPT,并获得智能、相关上下文的答案返回。这个过程对于测试和展示您的 AI 增强应用程序的能力非常宝贵。