สร้าง Chatbot PHP OpenAI 2026: คู่มือทีละขั้นตอน สร้าง AI Chatbot ง่ายๆ

สร้าง Chatbot ด้วย PHP + OpenAI API ทีละขั้นตอน

ผมเคยเจอปัญหาที่ทีมพัฒนาแอปพลิเคชันสำหรับธุรกิจขนาดกลาง ต้องการสร้างระบบตอบคำถามอัตโนมัติ เพื่อลดภาระของทีม support และให้บริการลูกค้าได้ตลอด 24 ชั่วโมง แต่เดิมทีเราใช้ระบบ CRM ที่มี chatbot พื้นฐานอยู่บ้าง แต่ประสิทธิภาพยังไม่ดีพอ ไม่สามารถตอบคำถามที่ซับซ้อนได้ และการ integrate กับระบบอื่นๆ ทำได้ยากมาก ผมเห็นว่าการใช้ OpenAI API ร่วมกับ PHP จะเป็นทางออกที่ยืดหยุ่นและปรับแต่งได้สูงกว่า ทำให้เราสามารถสร้าง chatbot ที่ตอบคำถามได้แม่นยำ และ integrate กับระบบ CRM ของเราได้ง่ายขึ้น

บทความนี้จะแนะนำวิธีการสร้าง chatbot อย่างละเอียด โดยใช้ PHP, OpenAI API, และฐานข้อมูล MySQL เราจะเน้นที่การสร้าง chatbot ที่สามารถตอบคำถามทั่วไปได้ และสามารถปรับแต่งให้เข้ากับธุรกิจของคุณได้ เหมาะสำหรับนักพัฒนา PHP ที่ต้องการสร้าง chatbot สำหรับใช้งานจริง โดยไม่ต้องใช้ framework ที่ซับซ้อนมากนัก เราจะเน้นการใช้งานที่เข้าใจง่าย และมีตัวอย่าง code ที่สามารถนำไปปรับใช้ได้เลยทันที

Prerequisites

Website interface with text and abstract drawing
Photo by Planet Volumes on Unsplash

ก่อนเริ่มทำ เราต้องมีสิ่งต่อไปนี้:

  • PHP 8.1 หรือสูงกว่า
  • OpenAI API Key (สามารถขอได้ที่ )
  • MySQL Server (เวอร์ชัน 8.0 หรือสูงกว่า)
  • Composer
  • Text Editor หรือ IDE (เช่น VS Code, PhpStorm)

ติดตั้ง Dependencies

ใช้ Composer เพื่อติดตั้ง dependencies ที่จำเป็น:

composer require open-ai/client  php-mysql

เราจะใช้ OpenAI Client สำหรับจัดการการเชื่อมต่อกับ OpenAI API และ php-mysql สำหรับจัดการฐานข้อมูล MySQL

สร้าง Database

Smartphone screen displaying ai assistant interface.
Photo by Zulfugar Karimov on Unsplash

สร้าง database ชื่อ ‘chatbot’ และสร้าง table ชื่อ ‘conversations’ โดยมี column ดังนี้:


CREATE TABLE conversations (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_message TEXT,
    bot_message TEXT,
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  

Table นี้จะใช้เก็บประวัติการสนทนาระหว่างผู้ใช้และ chatbot

สร้าง PHP File

สร้างไฟล์ชื่อ `chatbot.php` และใส่ code ต่อไปนี้:


completions()->create([
            'prompt' => $prompt,
            'max_tokens' => 150,
            'temperature' => 0.7,
        ]);
        return $response->choices[0]->text;
    } catch (\Exception $e) {
        echo "Error: " . $e->getMessage();
        return "เกิดข้อผิดพลาดในการเชื่อมต่อกับ OpenAI API";
    }
}

// Main execution
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $userMessage = $_POST["user_message"];

    // Get response from OpenAI
    $botMessage = getOpenAIAssistantResponse($userMessage);

    // Store conversation in database
    $db = new \php-mysql\MySQLi('localhost', 'your_db_username', 'your_db_password', 'chatbot');
    $stmt = $db->prepare("INSERT INTO conversations (user_message, bot_message) VALUES (?, ?)");
    $stmt->bind_param("ss", $userMessage, $botMessage);
    $stmt->execute();

    echo $botMessage;
}
?>
  

Code นี้เริ่มต้นด้วยการ require ไฟล์ autoload ของ Composer จากนั้น initialize OpenAI client และสร้าง function `getOpenAIAssistantResponse` เพื่อเรียกใช้ OpenAI API function นี้จะส่ง prompt ไปยัง OpenAI API และ return response ที่ได้ ในส่วนของ main execution เราตรวจสอบว่า request เป็น POST method เราจะดึง user message จาก $_POST['user_message'] จากนั้นเรียกใช้ function `getOpenAIAssistantResponse` เพื่อ get response จาก OpenAI API และสุดท้าย เราจะ store conversation ใน database

Run Chatbot

เปิดไฟล์ `chatbot.php` ใน browser ของคุณ คุณจะเห็น form สำหรับป้อนข้อความ เมื่อคุณป้อนข้อความและส่ง chatbot จะตอบกลับด้วยข้อความที่ได้จาก OpenAI API ข้อความสนทนาจะถูกบันทึกใน database

สิ่งที่ควรระวัง / ข้อผิดพลาดที่เจอบ่อย

ข้อผิดพลาด: OpenAI API Key ไม่ถูกต้อง หรือหมดอายุ

วิธีแก้ไข: ตรวจสอบ OpenAI API Key ของคุณให้แน่ใจว่าถูกต้อง และยังใช้งานได้อยู่ หาก API Key หมดอายุ ให้สมัครสำหรับแผนใหม่ หรือต่ออายุ API Key

ข้อผิดพลาด: เกิดข้อผิดพลาดในการเชื่อมต่อกับ OpenAI API

วิธีแก้ไข: ตรวจสอบการเชื่อมต่อ internet ของคุณ หากยังคงเกิดข้อผิดพลาด ให้ตรวจสอบว่า OpenAI API Key ของคุณถูกต้อง และ OpenAI API ของคุณใช้งานได้ปกติ

ข้อผิดพลาด: Prompt มีความยาวเกินขีดจำกัดที่ OpenAI API รองรับ

วิธีแก้ไข: ลดความยาวของ prompt หรือเพิ่มค่า `max_tokens` ในการเรียกใช้ OpenAI API

จริงๆ ผมไม่ค่อยชอบวิธีนี้เพราะว่าการจัดการ error ใน code แบบนี้ค่อนข้างยุ่งยาก แนะนำให้ใช้ try-catch block อย่างครอบคลุม และ logging เพื่อช่วยในการ debug

คำถามที่พบบ่อย

คำถาม

คำถาม: ผมสามารถปรับแต่ง prompt ที่ส่งไปยัง OpenAI API ได้อย่างไร?

คำตอบ: คุณสามารถปรับแต่ง prompt ได้โดยการเปลี่ยนค่า `prompt` ใน function `getOpenAIAssistantResponse` คุณสามารถใช้ prompts ที่ซับซ้อนขึ้นเพื่อปรับปรุงประสิทธิภาพของ chatbot

คำถาม

คำถาม: ผมสามารถ integrate chatbot นี้กับระบบ CRM ของผมได้อย่างไร?

คำตอบ: คุณสามารถ integrate chatbot นี้กับระบบ CRM ของคุณได้โดยการใช้ API ของระบบ CRM ของคุณ คุณสามารถใช้ webhook เพื่อส่งข้อมูลระหว่าง chatbot และระบบ CRM ของคุณ

คำถาม

คำถาม: ผมสามารถเพิ่ม features อื่นๆ ให้กับ chatbot นี้ได้อย่างไร?

คำตอบ: คุณสามารถเพิ่ม features อื่นๆ ให้กับ chatbot นี้ได้โดยการเพิ่ม code ในไฟล์ `chatbot.php` คุณสามารถเพิ่ม features เช่น การ integration กับฐานข้อมูลอื่นๆ การ integration กับระบบอื่นๆ หรือการเพิ่ม features ที่เกี่ยวข้องกับธุรกิจของคุณ

ประสบการณ์ส่วนตัว: ตอนที่ผมสร้าง chatbot นี้ครั้งแรก ผมเจอปัญหาในการจัดการ error ผมเลยใช้ try-catch block อย่างง่ายๆ แต่ผมคิดว่ามันยังไม่ครอบคลุม ผมควรใช้ try-catch block อย่างครอบคลุม และ logging เพื่อช่วยในการ debug ผมก็เลยเรียนรู้ว่าการจัดการ error อย่างถูกต้องเป็นสิ่งสำคัญมากในการพัฒนา chatbot

คำแนะนำเพิ่มเติม: หลังจากสร้าง chatbot นี้แล้ว ผมแนะนำให้คุณลองทดสอบ chatbot ของคุณอย่างละเอียด และปรับปรุงประสิทธิภาพของ chatbot ของคุณ คุณสามารถใช้ metrics ต่างๆ เช่น ความแม่นยำ ความเร็ว และจำนวนการใช้งาน เพื่อวัดประสิทธิภาพของ chatbot ของคุณ

ขั้นตอนต่อไป: หลังจากเรียนรู้วิธีสร้าง chatbot ด้วย PHP และ OpenAI API แล้ว ผมแนะนำให้คุณลองสร้าง chatbot ที่มีความซับซ้อนมากขึ้น เช่น chatbot ที่สามารถตอบคำถามที่เกี่ยวข้องกับธุรกิจของคุณ หรือ chatbot ที่สามารถทำงานร่วมกับระบบอื่นๆ ของคุณ คุณสามารถใช้ความรู้และทักษะที่คุณได้เรียนรู้มา เพื่อสร้าง chatbot ที่มีประสิทธิภาพและเป็นประโยชน์ต่อธุรกิจของคุณ

Keyword: PHP, OpenAI API, Chatbot, PHP Chatbot, OpenAI, Artificial Intelligence, AI, MySQL, 2026

Boonyadol Morruchai (Senior Full-stack Developer)

ผมเป็น IT Professional ที่มีประสบการณ์ในสายงานมากว่า 20 ปี เชี่ยวชาญการออกแบบระบบ Enterprise และ Automation Tools ปัจจุบันมุ่งเน้นการประยุกต์ใช้ AI (Gemini/OpenAI) เพื่อเพิ่มประสิทธิภาพในการเขียน Code และการจัดการข้อมูลขนาดใหญ่ บล็อกนี้สร้างขึ้นเพื่อแชร์ "ประสบการณ์หน้างาน" ปัญหาจริงที่เจอ และวิธีแก้ปัญหาฉบับ Senior Dev ครับ

แสดงความคิดเห็น

ใหม่กว่า เก่ากว่า