frank
Goto Top

ChatGPT in PHP einbinden

article-picture

Auf der Website von OpenAI habe ich kein PHP-Beispiel für die Integration von ChatGPT gefunden. Hier ist ein einfaches "Hallo Welt" Beispiel, um ein wenig mit dem ChatGPT Bot zu spielen. Der Zeitaufwand für die Integration des Bots in eine Website ist sehr gering. Die Client Bibliothek cURL muss installiert sein. Getestet unter PHP 8.1.

back-to-topSchritt 1 - API Key erstellen


Dazu muss man sich zunächst auf der Entwicklerseite einloggen und unter Einstellungen einen API Key erstellen.

back-to-topSchritt 2 - Preise prüfen


Die Preise für die Aufrufe sind recht niedrig und übersichtlich. Nachdem man seine Kreditkarte hinterlegt hat, bekommt man $18 für 1 Monat gutgeschrieben. Der maximale Preis pro Monat liegt bei $120. Es gibt aber ein Soft-Limit, so dass man vorher gewarnt wird. Nach den $120 gibt es keine Antworten mehr. Man kann aber über den Support dieses Hard-Limit von $120 höher setzen.

Die Abrechnung erfolgt in "verwendeten Tokens". Hierfür gibt es ein Test-Tool Tokenizer. Hier kann man sehen, wie viele Tokens für einen bestimmten Text benötigt werden.

back-to-topSchritt 3 - Modell auswählen


Entwickler können zwischen verschiedenen Modellen wählen. Jedes Modell hat seine eigenen Preise, Geschwindigkeiten und Funktionen. Ich verwende derzeit das Modell "gpt-3.5-turbo". Es kostet $0.002 / 1K Token und ist für Konversationen optimiert.

Hier eine Übersicht der verschiedenen Modelle.

back-to-topSchritt 4 - PHP-Beispielcode


<?php

$url = 'https://api.openai.com/v1/chat/completions';  
$auth_token = 'Bearer API-Key';  // Gebt hier den API-Key von der Website ein  

$question = 'Hallo Welt';  

$data = array(
    "model" => "gpt-3.5-turbo",  
    "messages" => array(  
        array(
            "role" => "user",  
            "content" => $question  
        )
    )
);

$payload = json_encode($data);

$headers = array(
    'Content-Type: application/json',  
    'Authorization: ' . $auth_token,  
    'Content-Length: ' . strlen($payload)  
);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);

curl_close($ch);

$response = json_decode($result, true);

if (!empty($response['choices'][0]['message']['content'])) {  
    $answer = $response['choices'][0]['message']['content'];  
    echo $answer;
}

back-to-topSchritt 5 - Ausgabe:


Hallo zurück! Wie geht es dir heute?

Fertig face-smile

Hier einige wichtige Links:


Viel Spaß beim Ausprobieren face-smile

Frank

Content-Key: 6408909413

Url: https://administrator.de/contentid/6408909413

Printed on: April 21, 2024 at 17:04 o'clock

Member: itebob
itebob Mar 18, 2023 at 03:20:26 (UTC)
Goto Top
Danke für's Teilen deiner Erfahrungen, @Frank! Um ein Gefühl für Bezahlbarkeit der ChatGPT-API in der Praxis zu bekommen wären einige Beispiele mit Angaben zu den verursachten Kosten interessant.
Anregung: ChatGPT-Bot in administrator.de einbinden und ähnlich wie es mit den Wartelisten bei den üblichen Verdächtigen gehandhabt wird den registrierten administrator.de-Nutzern eine Möglichkeit anbieten sich in die Warteliste für die Bot-Nutzung eintragen. Einige Beispiele für Unternehmen, die ChatGPT-API verwenden, sind mit Snap Inc., Quizlet, Instacart, Shopify und Speak1 in [1] aufgeführt.

[1] Introducing ChatGPT and Whisper APIs. Developers can now integrate ChatGPT and Whisper models into their apps and products through our API, 01.03.2023 - https://openai.com/blog/introducing-chatgpt-and-whisper-apis
Member: Frank
Frank Mar 18, 2023 at 23:42:46 (UTC)
Goto Top
Um ein Gefühl für Bezahlbarkeit der ChatGPT-API in der Praxis zu bekommen wären einige Beispiele mit Angaben zu den verursachten Kosten interessant.

Nun, das versuche ich gerade herauszufinden.

Introducing ChatGPT and Whisper APIs.

Leider kann Whisper (Beta) zur Zeit nur Englisch verstehen und in Text umwandeln. Wann Whisper auch deutsch kann steht noch nicht fest.

Gruß
Frank