发挥PHP的创造力:整合ChatGPT和DALL·E进行互动故事讲述

如何将PHP转变为使用OpenAI的前沿API创建交互式游戏和儿童故事生成器的强大工具。

介绍

在编程和人工智能的领域中,创造力和技术之间的协同常常激发创新。我的最新尝试是将PHP的强大功能与OpenAI的ChatGPT和DALL·E API的优势相结合。这种融合催生了一系列基于图像的“选择你自己的冒险”游戏和迷人的儿童故事生成器。

解读ChatGPT:PHP视角

尽管关于Python的Lang-Chain与ChatGPT和DALL·E的无缝集成引起了热议,PHP则坚守其直接的方法。ChatGPT的核心是基于会话的机制。您输入的每个提示都会得到整个对话历史的上下文回复。由于AI不会存储对话的任何部分,因此在每个新提示中重新发送完整的历史记录非常重要。

在PHP中管理对话

在PHP中,管理对话数据不仅涉及跟踪提示和回应的内容,还包括将它们的顺序和用户类型存储在数据库中。这对于准确重现对话的流程至关重要。通过维护一个结构化的数据库,可以记录每次交互的细节,例如时间戳、用户类型(用户或AI)和对话中消息的顺序。这种数据组织方式能够有效地检索和重建对话历史,以供后续API调用使用,确保对话流程的无缝和连贯。

轻松使用OpenAI PHP SDK进行API调用

对于那些对探索OpenAI PHP SDK感兴趣的人,我推荐访问GitHub存储库OpenAI PHP客户端。该SDK简化了与OpenAI API交互的过程。以下是它在一个提示中的工作方式的一瞥:

use OpenAI; $openai = OpenAI::client(env('OPENAI_API_KEY')); 
$messages[] = ['role' => 'user', 'content' => $prompt];
// Remember to assign 'assistant' as the role for ChatGPT responses.
$response = $openai->chat()->create([ "model" => "gpt-4-1106-preview",
"messages" => $messages ]);
echo $response->choices[0]->message->content;

使用DALL·E打造视觉效果

在PHP中使用DALL·E创建视觉内容同样简单明了:

$imageResponse = $openai->images()->create([ 'model' => "dall-e-3", 
'prompt' => $page->content,
'size' => "1024x1024",
'quality' => "standard", 'n' => 1, ]);
$imageUrl = $imageResponse->data[0]->url;

为保持一致性进行裁剪

AI生成的内容工作中至关重要的一点是确保一致性。为了在我的故事生成器中实现这一点,我在每个提示的末尾添加了一个具体的指令:“输出应只是‘页码:’后跟文本,不得有其他内容。第一页应该是标题页。”这个简单而有效的补充极大地简化了解析过程,使得AI的输出更加可预测和统一。

结论

我的整合ChatGPT/DALL·E APIs与PHP的旅程既具有挑战性又具有收获。它展示了传统编程语言与先进人工智能相结合可以创造出身临其境的交互式体验。这项努力不仅是对PHP多功能性的证明,也是对寻求探索新领域的创意程序员的一束明灯。

2024-01-01 04:30:53 AI中文站翻译自原文