Yapay Zeka Oyun Alanı - Yusuf Bülbül

Yapay Zeka Oyun Alanı





Merhaba, buradan direkt yapay zeka ile mesajlaşabilirsiniz. Bu sayfa örnek olarak oluşturulmuştur. Aşağıda sayfanın kodlarını bulabilirsiniz ve uygulamayı kendi sayfanıza ekleyebilirsiniz.

Kullanım

Api Key: Eğer API-Key’iniz mevcut değilse bu alanı boş bırakarak benim kişisel anahtarımı kullanabilirsiniz. Uygulama, varsayılan olarak oluşturduğum kişisel anahtarı kullanmaktadır. Fakat bu anahtarın ücretsiz deneme süresi ve sınırlı bakiyesi mevcut. Ücretsiz deneme hakkım dolana kadar kullanabilirsiniz. Veya buradan bir hesap oluşturup kendi anahtarınızı edinebilirsiniz. Her kullanıcı için 18 usd lik bir ücretsiz deneme bakiyesi yükleniyor. Hesap oluşturduktan sonra aşağıdaki resimdeki gibi anahtarı elde edebilirsiniz;

Ai Model: Bu alan, kullandığınız yapay zeka modelini tanımlıyor. Eğer bu bölümü boş bırakırsanız model; “ada” olarak varsayılacaktır. “ada” modeli en kötü model olup ücreti en düşüktür. Modeller, kalitesi ve ücreti en yüksek olanlardan en düşük olan yapay zeka modellerine doğru aşağıda sıralanmıştır.

  • text-davinci-003 > en iyi
  • text-davinci-002
  • text-davinci-001
  • text-davinci-beta
  • davinci-instruct-beta
  • davinci
  • curie-instruct-beta
  • curie
  • babbage
  • ada > en kötü

Sayfanın kodlarını aşağıda bulabilirsiniz;

Openai.php

<?php


    $openai = New Openai();

    if($_POST["key"] !== "")
        $openai->setSecretKey($_POST["key"]);

    $openai->request($_POST["model"], $_POST["message"], 5);

class Openai{

    private $secret_key = 'Bearer ***Api-Key****';

    private function getKey(){
        return $secret_key;
    }

    public function setSecretKey($key){
        $this->secret_key = 'Bearer '.$key;
    }

    public function request($engine, $prompt, $max_tokens){ 

        $request_body = [
        "model" => $engine,
        "prompt" => $prompt,
        "max_tokens" => 150,
        "temperature" => 0.7,
        "top_p" => 1,
        "presence_penalty" => 0.6,
        "frequency_penalty"=> 0.0,
        "stop" => [" Human:", " AI:"],
        ];

        $postfields = json_encode($request_body);
        $curl = curl_init();
        curl_setopt_array($curl, [
        CURLOPT_URL => "https://api.openai.com/v1/completions",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => $postfields,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'Authorization: ' . $this->secret_key
        ],
        ]);

        $response = curl_exec($curl);
        $err = curl_error($curl);

        curl_close($curl);

        if ($err) {
            $message = array("message" => "error");
            echo json_encode($message);
        } else {
            echo $response;
        }

    }

    public function search($engine, $documents, $query){ 

        $request_body = [
        "max_tokens" => 10,
        "temperature" => 0.7,
        "top_p" => 1,
        "presence_penalty" => 0.75,
        "frequency_penalty"=> 0.75,
        "documents" => $documents,
        "query" => $query
        ];

        $postfields = json_encode($request_body);
        $curl = curl_init();
        curl_setopt_array($curl, [
        CURLOPT_URL => "https://api.openai.com/v1/engines/" . $engine . "/search",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => $postfields,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'Authorization: ' . $this->secret_key
        ],
        ]);

        $response = curl_exec($curl);
        $err = curl_error($curl);

        curl_close($curl);

        if ($err) {
            echo "Error #:" . $err;
        } else {
            echo $response;
        }

    }

}

openai-template.php

<style>
    #chatBox {
        background-color: #fff;
        color:#000;
        height: 500px;
        width: 70%;
        overflow: inherit;
        display: contents;
        box-shadow: rgb(50 50 93 / 25%) 0px 2px 5px -1px, rgb(0 0 0 / 30%) 0px 1px 3px -1px;
        margin: 1.5em 0 0;
        padding: 15px;
        border: 1px solid rgba(0,0,0,0.1);
        border-radius: 20px;

    }

    .person{
        background-color: #fafbfc;
        color: #000;
        width: 100%;
        margin: 5px;
        padding: 10px;
        clear: both;
        float:left;
        border-radius:20px;
        overflow-wrap: break-word;
    }

    .ai{
        background-color: #0693e3;
        color: #fff;
        width: 100%;
        margin: 5px;
        padding: 10px;
        clear: both;
        float:left;
        border-radius:20px;
        overflow-wrap: break-word;

        
    }
</style>

<script>
   function requestQuery(){
        var personMessage = document.getElementById("message").value;
        var apiKey = document.getElementById("key").value;
        var aiModel = document.getElementById("model").value;

        if(aiModel === ""){
            aiModel = "ada";
        }

        var messageBox = document.createElement("div");
        messageBox.className = "person";
        var node = document.createTextNode(personMessage);
        messageBox.appendChild(node);	
        var x = document.getElementById("chatBox");
        x.appendChild(messageBox);


        jQuery.ajax({
                type: "POST",
                url: "Openai.php",
                dataType: 'json',
                data: {message: personMessage, key: apiKey, model: aiModel},
                success: function(data){
                    console.log(data);

                    if (data.error){
                        commingResponse(data.error.message);
                    }

                    if (data.choices){
                        data.choices.forEach(function(obj) {
                        commingResponse(obj.text);
                        });
                    }

                },
                error: function(err){
                    console.log(err);
                }
            }); 

    }

    function commingResponse(Response){
        var a = Response;
        var para1 = document.createElement("div");
        para1.className = "ai";
        var node = document.createTextNode(a);
        para1.appendChild(node);	
        var x = document.getElementById("chatBox");
        x.appendChild(para1);
    }


</script>

<?php
/*
 * Template Name: OpenAi
 *
 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
 *
 * @package 
/* other PHP code here */

?>

	

        <div class="entry-content"  data-aos="fade-up" itemprop="text">
            <div id="chatBox"></div>
            <div id="person">
                <textarea type="text" id="message" placeholder="Bir Mesaj Yaz"></textarea>
                <br>
                <br>
                <button id="sendButton" onclick="requestQuery()">Send Message</button>
                <br>
                <br>
                <input type="text" id="key" placeholder="Api Key'i gir. Eğer yoksa boş bırak. Bu seferlik benden olsun.:)" \ style="float: right;"> 
                <input type="text" id="model" placeholder="AI Modelini gir. Örneğin:ada veya davinci" \ style="float: right;"> 
            </div>
        </div>