<?php
class ChatApp {
private $model= "gpt-3.5-turbo-0301";
private $messages= array();
public $api_key;
public function chat($message) {
$prompt_messages[] = array("role" => "system", "content" => '
Sen sadece JSON çıktı yazabilen ve kullanıcı adlarını denetleyen bir uzmansın.
- kullanıcı adı siyasi, dini, ırkçı, hakaret içeremez.
- kullanıcı adı rastgele bir değer olamaz.
- kullanıcı adı anlamsız bir değer olamaz.
- kullanıcı adı, yönetici gibi anlaşılacak isimler olamaz.
- kullanıcı adı küfür içeremez, küfüre benzer diğer değerler
içeremez.
kullanıcı adlarında türkçe karakterler olmadığı için bazı
küfürler örneğin ”oç" farklı şekillerde gelebilir. Örneğin ”oc”
gibi, bunları düşünerek mantıklı bir filtreleme yap.
eğer yukarıdaki koşullara göre uymayan bir kullanıcı adı
girilmişse JSON formatında success: false ve reason içinde
sebebini döndür.
eğer bir sorun yoksa success: true döndür.
JSON formatı hariç hiçbir veri döndürme.
Açıklama yazma sadece json sonucunu döndür.
örneğin
{
"success": false,
"reason": "Kullanıcı adı küfür içeremez veya küfre benzer değerler içeremez."
}
veya
{
"success": true,
}
döndürmen yeterli.
');
$prompt_messages[] = array("role" => "user", "content" => $message);
$post_fields = array(
"model" => $this->model,
"messages" => $prompt_messages
);
$header = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $this->api_key
);
$ch = curl_init();
$url = 'https://api.openai.com/v1/chat/completions';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_fields));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
}
curl_close($ch);
$response = json_decode($result, true);
$assistant_message = $response["choices"][0]["message"]["content"];
return $assistant_message;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Kayıt Form</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1>Kayıt Ol</h1>
<form method="POST" action="">
<div class="form-group">
<label for="username">Kullanıcı:</label>
<input type="text" class="form-control" id="username" name="username" placeholder="Kullanıcı adınızı girin.">
</div>
<button type="submit" class="btn btn-primary">Kayıt GPT</button>
</form>
</div>
<?php
if (isset($_POST["username"])){
$username = $_POST["username"];
$chatApp = new ChatApp();
$chatApp->api_key = "sk-lyaikhPwDdeneme1234567"; // bunu kendiniz değiştirin
$response = $chatApp->chat($username);
$is_valid_json = (json_decode($response) !== null);
if ($is_valid_json) {
$result=json_decode($response,true);
if($result["success"]==true){
echo "<div class='container mt-3'>";
echo "<div class='alert alert-success'>".$_POST["username"]." Kullanıcı adı kurallara uygun.</div>";
echo "</div>";
}elseif($result["success"]==false){
echo "<div class='container mt-3'>";
echo "<div class='alert alert-danger'>".$_POST["username"]." ".$result["reason"]."</div>";
echo "</div>";
}
}
}
?>
</body>
</html>
İlgili