Schritt 1: Grundlagen schaffen
composer create-project --prefer-dist laravel/laravel ki-bot-laravel
Schritt 2: KI-Bibliothek auswählen
https://beta.openai.com/signup/
Schritt 3: OpenAI-Paket installieren
composer require openai-php/client
Schritt 4: OpenAI-Client konfigurieren
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
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
php artisan openai:chat "Erzähl mir einen Witz."
Schritt 7: Integration in eine Laravel-Anwendung
use App\Http\Controllers\OpenAIController;
Route::get('/chat', [OpenAIController::class, 'index']);
Route::post('/chat', [OpenAIController::class, 'chat']);
Controller erstellen:
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
Kommentare 0
Noch keine Kommentare. Seien Sie der Erste!