Einen KI-Bot für Laravel erstellen
Einen KI-Bot für Laravel erstellen, nach über zehn Jahren in der Webentwicklung und zahlreichen Projekten, die von einfachen Webseiten bis hin zu komplexen Anwendungen reichen, stehe ich heute vor einer neuen Herausforderung: Einen KI-Bot für Laravel zu erstellen. Die Idee, Künstliche Intelligenz (KI) in unsere Anwendungen zu integrieren, ist nicht nur aufregend, sondern auch unglaublich nützlich. Also, lasst uns diese Reise gemeinsam antreten und ich zeige euch, wie ihr Schritt für Schritt euren eigenen KI-Bot für Laravel entwickeln könnt.
Schritt 1: Grundlagen schaffen
Bevor wir mit der eigentlichen Entwicklung beginnen, müssen wir sicherstellen, dass wir alle notwendigen Tools und Bibliotheken installiert haben. Beginnen wir mit der Einrichtung unseres Laravel-Projekts.
Laravel installieren:
composer create-project --prefer-dist laravel/laravel ki-bot-laravel
Schritt 2: KI-Bibliothek auswählen
Für unser Projekt habe ich mich für OpenAI's GPT-3 entschieden, da es eine der fortschrittlichsten und flexibelsten KI-Bibliotheken auf dem Markt ist. Um GPT-3 in Laravel zu verwenden, benötigen wir einen API-Schlüssel von OpenAI.
OpenAI API-Schlüssel erhalten: Besucht die
https://beta.openai.com/signup/
Meldet euch an und erstellt einen API-Schlüssel.
Schritt 3: OpenAI-Paket installieren
Um mit der OpenAI-API in Laravel zu kommunizieren, verwenden wir ein PHP-Paket. Hierfür bietet sich openai-php/client an.
Paket installieren:
composer require openai-php/client
Schritt 4: OpenAI-Client konfigurieren
Wir müssen nun unseren OpenAI-Client in Laravel konfigurieren. Fügen wir zunächst den API-Schlüssel in unsere .env-Datei hinzu:
OPENAI_API_KEY=your-openai-api-key-here
Erstellen wir dann einen Service-Provider, um den OpenAI-Client zu konfigurieren:
php artisan make:provider OpenAIServiceProvider
In der OpenAIServiceProvider.php-Datei fügen wir die Konfiguration hinzu:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use OpenAI\Client;
class OpenAIServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->singleton(Client::class, function ($app) {
return new Client([
'api_key' => env('OPENAI_API_KEY'),
]);
});
}
public function boot()
{
//
}
}
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use OpenAI\Client;
class OpenAIServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->singleton(Client::class, function ($app) {
return new Client([
'api_key' => env('OPENAI_API_KEY'),
]);
});
}
public function boot()
{
//
}
}
Registrieren wir diesen Service-Provider in config/app.php:
'providers' => [
// ...
App\Providers\OpenAIServiceProvider::class,
],
Schritt 5: Erstellen eines Befehls zur Kommunikation mit der KI
Jetzt, wo unser OpenAI-Client konfiguriert ist, erstellen wir einen neuen Artisan-Befehl, um mit der KI zu kommunizieren. Dieser Befehl wird eine Nachricht an die KI senden und die Antwort zurückgeben.
Erstellen eines Befehls:
php artisan make:command ChatWithOpenAI
In der ChatWithOpenAI.php-Datei fügen wir den Code hinzu:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use OpenAI\Client;
class ChatWithOpenAI extends Command
{
protected $signature = 'openai:chat {message}';
protected $description = 'Send a message to OpenAI and get a response';
public function __construct()
{
parent::__construct();
}
public function handle(Client $client)
{
$message = $this->argument('message');
$response = $client->completions()->create([
'model' => 'text-davinci-003',
'prompt' => $message,
'max_tokens' => 150,
]);
$this->info("Response from OpenAI: " . $response['choices'][0]['text']);
}
}
Schritt 6: Den Befehl testen
Um sicherzustellen, dass alles korrekt funktioniert, testen wir unseren neuen Befehl. Führen wir den Befehl aus und sehen, wie die KI antwortet:
php artisan openai:chat "Erzähl mir einen Witz."
Wenn alles richtig konfiguriert ist, sollte die KI mit einem Witz antworten. Wenn nicht, prüft sorgfältig die API-Schlüssel und die Konfiguration.
Schritt 7: Integration in eine Laravel-Anwendung
Nun wollen wir die Funktionalität in unsere Laravel-Anwendung integrieren. Erstellen wir eine einfache Weboberfläche, über die Benutzer Nachrichten an die KI senden können.
Route hinzufügen:
In routes/web.php fügen wir eine neue Route hinzu:
use App\Http\Controllers\OpenAIController;
Route::get('/chat', [OpenAIController::class, 'index']);
Route::post('/chat', [OpenAIController::class, 'chat']);
Controller erstellen:
Erstellen wir den OpenAIController:
php artisan make:controller OpenAIController
In OpenAIController.php fügen wir den Code hinzu:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use OpenAI\Client;
class OpenAIController extends Controller
{
public function index()
{
return view('chat');
}
public function chat(Request $request, Client $client)
{
$message = $request->input('message');
$response = $client->completions()->create([
'model' => 'text-davinci-003',
'prompt' => $message,
'max_tokens' => 150,
]);
return view('chat', ['response' => $response['choices'][0]['text']]);
}
}
View erstellen:
Erstellen wir eine einfache View-Datei resources/views/chat.blade.php:
<h1>Chat with OpenAI</h1>
<form method="POST" action="/chat">
@csrf
<label for="message">Nachricht:</label>
<input type="text" id="message" name="message">
<button type="submit">Senden</button>
</form>
@if(isset($response))
<h2>Antwort:</h2>
<p>{{ $response }}</p>
@endif
Mit dieser Anleitung habt ihr die Grundlagen, um einen KI-Bot in eure Laravel-Anwendung zu integrieren. Es war eine aufregende Reise, bei der ich viel gelernt habe – von der Konfiguration des OpenAI-Clients bis hin zur Integration in Laravel. Mit dieser mächtigen Kombination könnt ihr beeindruckende und interaktive Anwendungen erstellen.
Bleibt neugierig und probiert es selbst aus! Bei Fragen oder Anregungen stehe ich euch gerne zur Verfügung.
0 Kommentare
Bitte Loge dich ein um ein Kommentar zu Hinterlassen!
oder Login mit Google