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.
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.
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.
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:
Erstellen wir dann einen Service-Provider, um den OpenAI-Client zu konfigurieren:
OPENAI_API_KEY=your-openai-api-key-here
In der OpenAIServiceProvider.php-Datei fügen wir die Konfiguration hinzu:
php artisan make:provider OpenAIServiceProvider
<?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()
{
//
}
}
'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.
In der ChatWithOpenAI.php-Datei fügen wir den Code hinzu:
php artisan make:command ChatWithOpenAI
<?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.
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
<?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:
<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.