OpenAI experiments
AI and services like ChatGPT have been all over the place since last year. Every day, new AI-powered services appear on the horizon. How can we use AI (or ChatGPT specifically) in our daily work or our applications?
Thanks to the orhanerday/open-ai
package, consuming the OpenAI API is not too complicated. First, let's install the Composer package:
composer require orhanerday/open-ai
For the next step, an OpenAI access token is needed. Create an account at openai.com and access this link to create a new API token: https://platform.openai.com/api-keys
The simplest way of using the library works like this:
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Orhanerday\OpenAi\OpenAi;
$apiKey = '...';
$openAI = new OpenAi($apiKey);
$content = <<<CHAT
Here be dragons...
CHAT;
$chat = $openAI->chat([
'model' => 'gpt-3.5-turbo',
'messages' => [
[
"role" => "system",
"content" => $content,
],
],
'temperature' => 1.0,
'frequency_penalty' => 0,
'presence_penalty' => 0,
]);
// decode response
$response = json_decode($chat);
echo($response->choices[0]->message->content);
Why am I experimenting with OpenAI? I've been using ChatGPT and other tools in my daily work to improve all sorts of content that I am writing (this blog post included).
I've been wondering if ChatGPT could also help me save time promoting the PHP meetups I am organizing. I have realized I spent a lot of time writing and scheduling social media posts to announce the meetups on the various platforms. Spoiler: Yes, ChatGPT can save me some time.
This is the prompt I've been experimenting with:
Assume you are the organizer of phpugmrn meetup, and you want to advertise the next event happening on the [DATE] on social media. The next event will take place at the [COMPANY] office in [CITY]. You found 2 speakers for the event.
The first speaker is [FIRST SPEAKER], and his talk is called '[FIRST TALK]' and the speaker will introduce us [FIRST TALK DETAILS].
The second speaker is [SECOND SPEAKER], and his talk is called '[SECOND TALK]'. The talk covers [SECOND TALK DETAILS].
To advertise the event, please create 3 social media posts that include the date and at least one of the speakers and their talks. Include the hashtags #phpugmrn #phpc #rheinneckarrocks as well as the sign-up link [LINK]
What does the response look like? Well, see below for the output to advertise the phpugmrn meetup on December 14th:
📣 Get ready for the next #phpugmrn meetup on December 14th! Join us at Wawibox, Heidelberg, and dive into the world of authentication methods with Niko Köbler. Don't miss his talk 'Auth{N,Z}: OAuth2, OpenID Connect und JWT einfach erklärt'. Sign up now: https://www.meetup.com/phpug-rhein-neckar/events/290646761/ #phpc #rheinneckarrocks
🚀 Exciting news! We have Simon Brüchner joining us at the #phpugmrn meetup on December 14th. He will be sharing insights on how Wawibox utilizes Domain Driven Design in their daily work. Make sure to attend his talk 'PHP & DDD bei Wawibox' and level up your skills. Sign up here: https://www.meetup.com/phpug-rhein-neckar/events/290646761/ #phpc #rheinneckarrocks
🎉 Mark your calendars for December 14th! The #phpugmrn meetup is back with an amazing lineup of speakers. Join us at Wawibox, Heidelberg, and learn from Niko Köbler as he simplifies authentication methods in his talk 'Auth{N,Z}: OAuth2, OpenID Connect und JWT einfach erklärt'. Secure your spot now: https://www.meetup.com/phpug-rhein-neckar/events/290646761/