Jednoduchý webový chat, kde jsou backend a frontend integrovány do jediného PHP skriptu. Tento přístup je vhodný pro menší projekty nebo pro demonstrační účely. Zde je příklad, jak by mohl vypadat takový skript:
Kombinovaný PHP skript (Frontend + Backend)
'gpt-3.5-turbo',
'messages' => [['role' => 'user', 'content' => $userMessage]],
];
$ch = curl_init('https://api.openai.com/v1/chat/completions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
]);
$result = curl_exec($ch);
curl_close($ch);
// Zpracování odpovědi
$response = json_decode($result, true);
$responseFromOpenAI = $response['choices'][0]['message']['content'] ?? 'Není dostupná žádná odpověď.';
}
}
// HTML Frontend
?>
Chat s OpenAI
OpenAI Chat
OpenAI:
Vysvětlení skriptu:
- Backend: PHP část skriptu zpracovává POST požadavky. Když uživatel odešle formulář, PHP skript vytvoří požadavek na OpenAI API a získá odpověď.
- Frontend: Jednoduchý HTML formulář umožňuje uživatelům zadávat své zprávy.
- Odeslání a zobrazení odpovědi: Po odeslání formuláře je odpověď od OpenAI API zobrazena pod formulářem.
Při použití tohoto přístupu je důležité mít na paměti, že všechny operace jsou prováděny synchronně. To znamená, že každý požadavek na server vyžaduje obnovení celé stránky, což může vést k méně plynulému uživatelskému zážitku ve srovnání s asynchronním přístupem (např. pomocí AJAXu).
Nezapomeňte, že tento přístup není doporučen pro výrobní prostředí, zejména kvůli bezpečnostním a výkonnostním otázkám. Pro komplexnější aplikace je lepší oddělit frontend a backend.