Przejdź do głównej zawartości

Jak zaimplementować chatbota OpenAI na stronie internetowej?

Chcesz wdrożyć chatbota OpenAI na swojej stronie internetowej, ale nie chcesz korzystać z Composera? W tym artykule pokażemy Ci, jak to zrobić krok po kroku, wykorzystując PHP oraz API OpenAI.

1. Instalacja chatbota bez Composera

Aby skomunikować się z OpenAI, możesz użyć funkcji curl w PHP.

Plik bot.php


    <?php
    $api_key = "TWÓJ_OPENAI_API_KEY";
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $userMessage = $_POST["message"];
    
        $data = [
            "model" => "gpt-3.5-turbo",
            "messages" => [["role" => "user", "content" => $userMessage]],
            "max_tokens" => 50
        ];
    
        $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_HTTPHEADER, [
            "Content-Type: application/json",
            "Authorization: Bearer " . $api_key
        ]);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    
        $response = curl_exec($ch);
        curl_close($ch);
    
        $response_data = json_decode($response, true);
        echo $response_data["choices"][0]["message"]["content"] ?? "Brak odpowiedzi od AI.";
    }
    ?>
    

Plik index.html

Prosty interfejs użytkownika dla chatbota.


    <div id="chatbox"></div>
    <input type="text" id="inputBox" placeholder="Napisz wiadomość...">
    
    <script>
        document.getElementById("inputBox").addEventListener("keypress", function(event) {
            if (event.key === "Enter") {
                let userMessage = this.value;
                this.value = "";
                
                let chatbox = document.getElementById("chatbox");
                chatbox.innerHTML += "<div><strong>Ty:</strong> " + userMessage + "</div>";
                
                fetch("bot.php", {
                    method: "POST",
                    body: new URLSearchParams({message: userMessage}),
                    headers: {"Content-Type": "application/x-www-form-urlencoded"}
                })
                .then(response => response.text())
                .then(botReply => {
                    chatbox.innerHTML += "<div><strong>Bot:</strong> " + botReply + "</div>";
                    chatbox.scrollTop = chatbox.scrollHeight;
                });
            }
        });
    </script>
    

2. Jak nauczyć chatbota treści z naszej strony?

Jeśli chcesz, aby chatbot znał treści z Twojej strony, masz kilka opcji:

  • Przekazywanie treści w zapytaniu – pobierasz stronę i wysyłasz jej fragment jako kontekst do OpenAI.
  • Baza wiedzy w MySQL – przechowujesz pytania i odpowiedzi w bazie danych.
  • Przeszukiwanie plików tekstowych – chatbot szuka odpowiedzi w lokalnych plikach.

Przykładowe pobranie treści strony w PHP:


    $content = file_get_contents("https://twojastrona.pl/o-nas.html");
    $prompt = "Informacje:
    " . substr($content, 0, 2000) . "\nPytanie: " . $userMessage;
    

Pełny kod znajdziesz w artykule powyżej.

Podsumowanie

Teraz wiesz, jak wdrożyć chatbota OpenAI na swojej stronie bez Composera oraz jak nauczyć go treści ze swojej witryny. Możesz dostosować metodę do swoich potrzeb – prosta integracja API, baza danych lub pliki tekstowe.

Komentarze

Popularne posty z tego bloga

Generowanie certyfikatów Let's Encrypt w Windows

Jak wygenerować certyfikat Let's Encrypt w systemie Windows? Przewodnik krok po kroku Certyfikaty SSL/TLS są niezbędne do zabezpieczenia komunikacji między użytkownikami a serwerem. Let's Encrypt to darmowa, zaufana organizacja, która umożliwia generowanie certyfikatów SSL w prosty sposób. W tym wpisie pokażemy, jak wygenerować certyfikat Let's Encrypt w systemie Windows za pomocą narzędzia Certbot oraz jakie opcje i alternatywy są dostępne. Krok 1: Zainstaluj Python Certbot wymaga Pythona do działania. Jeśli nie masz go jeszcze zainstalowanego: Pobierz instalator Pythona ze strony python.org . Uruchom instalator i zaznacz opcję "Add Python to PATH" . Krok 2: Zainstaluj Certbot Otwórz wiersz polecenia (cmd) jako administrator. Zainstaluj Certbot za pomocą pip: pip install certbot Krok 3: Wygeneruj certyfikat ...

Polityka wykonawcza skryptów w PowerShellu

Polityka wykonawcza (Execution Policy) w PowerShell – co to jest i jak ją zmienić? PowerShell to potężne narzędzie do automatyzacji i zarządzania systemem Windows. Jednak domyślne ustawienia bezpieczeństwa mogą uniemożliwić uruchamianie skryptów. W tym wpisie wyjaśniam, czym jest polityka wykonawcza (Execution Policy), jak ją sprawdzić i zmienić, aby móc swobodnie korzystać z PowerShell. Czym jest polityka wykonawcza (Execution Policy)? Polityka wykonawcza to mechanizm bezpieczeństwa w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane na systemie. Ma ona na celu zapobieganie przypadkowemu lub złośliwemu uruchomieniu niebezpiecznych skryptów. Dostępne polityki wykonawcze PowerShell oferuje kilka poziomów polityki wykonawczej: Restricted – domyślna polityka. Blokuje wszystkie skrypty PowerShell. Można uruchamiać tylko polecenia wprowadzane bezpośrednio w konsoli. AllSigned – pozwala na uruchamianie tylko skryptów pod...

Kalendarz Google - PHP

Jak dodać wydarzenia do Kalendarza Google w PHP? Wprowadzenie Google Calendar API pozwala na automatyczne dodawanie wydarzeń do kalendarza Google za pomocą PHP. W tym artykule pokażemy dwa sposoby: Uwierzytelnienie użytkownika przez OAuth 2.0 Wykorzystanie konta usługi (Service Account) Metoda 1: OAuth 2.0 – Autoryzacja użytkownika 1. Utworzenie projektu w Google Cloud Console 1. Przejdź do Google Cloud Console . 2. Utwórz nowy projekt lub wybierz istniejący. 3. Włącz Google Calendar API w sekcji API & Services . 2. Konfiguracja danych uwierzytelniających 1. Utwórz dane uwierzytelniające: OAuth 2.0 Client ID . 2. Pobierz plik JSON zawierający klucz autoryzacyjny. 3. Instalacja Google Client Library w PHP composer require google/apiclient:^2.0 4. Autoryzacja użytkownika Tworzymy plik auth.php : <?php require 'vendor/autoload.php'; session_start(); $client = new Google_Client(); $client->setAuthConfig('credentials.json'); $clie...