
ที่มาภาพ: Unknown Source
วิธีเชื่อมต่อและใช้งาน ChatGPT API เพื่อสร้างแชทบอทบนเว็บไซต์ของคุณ
⚡ สรุป 30 วิ
บทความนี้จะพาคุณตั้งค่า **ChatGPT API** จาก OpenAI แล้วเชื่อมต่อเข้ากับเว็บไซต์เพื่อสร้างแชทบอทที่ตอบสนองได้ทันที คุณจะได้เรียนรู้ขั้นตอนตั้งแต่สมัครรับคีย์จนถึงการเรียก API จากหน้าเว็บ
Overview
บทความนี้จะพาคุณตั้งค่า ChatGPT API จาก OpenAI แล้วเชื่อมต่อเข้ากับเว็บไซต์เพื่อสร้างแชทบอทที่ตอบสนองได้ทันที คุณจะได้เรียนรู้ขั้นตอนตั้งแต่สมัครรับคีย์จนถึงการเรียก API จากหน้าเว็บ
- ChatGPT API ให้คุณส่งข้อความและรับผลลัพธ์เป็นข้อความ JSON
- สามารถฝังใน frontend หรือ backend ตามความต้องการของโปรเจค
- การตั้งค่าอย่างถูกต้องช่วยลดค่าใช้จ่ายและเพิ่มความปลอดภัย
Prerequisites
ก่อนเริ่มทำตามขั้นตอน ควรเตรียมเครื่องมือและความเข้าใจพื้นฐานดังต่อไปนี้
- บัญชี OpenAI ที่ยืนยันอีเมลและเปิดใช้งาน API access
- ความรู้พื้นฐาน JavaScript/Node.js หรือ Python (ตัวอย่างใช้ Node.js)
- เว็บเซิร์ฟเวอร์ (เช่น Vercel, Netlify, หรือเซิร์ฟเวอร์ส่วนตัว)
- เครื่องมือ git และ npm (หรือ yarn) สำหรับจัดการโค้ด
Get API Key
การรับคีย์เป็นขั้นตอนสำคัญที่ต้องทำอย่างระมัดระวัง
- เข้าสู่ระบบ ที่ https://platform.openai.com/account/api-keys
- กด Create new secret key แล้วคัดลอกคีย์ไว้ในไฟล์ `.env` ของโปรเจค
- อย่า เก็บคีย์ไว้ในไฟล์ที่ถูก commit ไปยัง GitHub
**Tip: ใช้ตัวแปรสภาพแวดล้อม (`process.env.OPENAI_API_KEY`) เพื่อปกป้องคีย์จากการเปิดเผย
Backend Setup (Node.js)
สร้างเซิร์ฟเวอร์เล็ก ๆ ที่ทำหน้าที่เป็นตัวกลางระหว่างหน้าเว็บและ OpenAI
Install Packages
```bash npm init -y npm install express axios dotenv cors ```
Code ตัวอย่าง
```js // server.js require('dotenv').config() const express = require('express') const axios = require('axios') const cors = require('cors') const app = express()
app.use(cors()) app.use(express.json())
app.post('/api/chat', async (req, res) => { const { message } = req.body try { const response = await axios.post( 'https://api.openai.com/v1/chat/completions', { model: 'gpt-4o-mini', messages: [{ role: 'user', content: message }], max_tokens: 500 }, { headers: { Authorization: `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' } } ) res.json({ reply: response.data.choices[0].message.content }) } catch (err) { console.error(err) res.status(500).json({ error: 'OpenAI request failed' }) } })
const PORT = process.env.PORT || 3000 app.listen(PORT, () => console.log(`Server running on ${PORT}`)) ```
- Express ทำหน้าที่รับ request จาก frontend
- Axios ใช้ส่ง HTTP POST ไปยัง OpenAI API
- CORS เปิดให้หน้าเว็บเรียก API จากโดเมนอื่นได้
Frontend Integration
ต่อ API ของคุณกับ UI ที่ผู้ใช้โต้ตอบได้
HTML ตัวอย่าง
```html <div id="chatbox"></div> <input id="userInput" type="text" placeholder="พิมพ์ข้อความ..."> <button id="sendBtn">ส่ง</button> ```
JavaScript ตัวอย่าง
```js document.getElementById('sendBtn').addEventListener('click', async () => { const msg = document.getElementById('userInput').value.trim() if (!msg) return
// แสดงข้อความผู้ใช้ addMessage('คุณ', msg)
// ส่งไป backend const res = await fetch('https://your-domain.com/api/chat', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: msg }) }) const data = await res.json() addMessage('บอท', data.reply) })
function addMessage(sender, text) { const chatbox = document.getElementById('chatbox') const el = document.createElement('div') el.innerHTML = `<strong>${sender}:</strong> ${text}` chatbox.appendChild(el) } ```
- ใช้ fetch เรียก `/api/chat` ที่เราตั้งค่าไว้ใน Backend
- ฟังก์ชัน `addMessage` ทำหน้าที่อัปเดต UI อย่างเรียบง่าย
Testing & Debugging
ตรวจสอบว่าทุกส่วนทำงานร่วมกันได้อย่างราบรื่น
- เปิด DevTools ในเบราว์เซอร์ ตรวจสอบ Network ว่ามีการ POST ไปยัง `/api/chat` หรือไม่
- เช็ค console ของ Node.js ดูว่ามี error จาก OpenAI หรือไม่
- ใช้ Postman หรือ cURL ทดสอบ endpoint ก่อนเชื่อมต่อกับ UI
Tip: ตั้งค่า timeout** ใน Axios (เช่น 10s) เพื่อป้องกันการค้างของ UI หาก API ตอบช้า
Security & Rate Limits
การปกป้อง API Key และจัดการค่าใช้จ่ายเป็นเรื่องสำคัญ
| ประเด็น | วิธีการ |
|---|---|
| ปกป้องคีย์ | ใช้ environment variables, ไม่เก็บใน client code |
| จำกัดการเรียก | ตั้ง rate limiter (เช่น `express-rate-limit`) เพื่อจำกัดจำนวน request ต่อ IP |
| ตรวจสอบค่าใช้จ่าย | ดู Dashboard ของ OpenAI เพื่อดู usage รายวัน/เดือน |
| เก็บประวัติ | หากต้องการบันทึกการสนทนา ใช้ฐานข้อมูล (MongoDB, Firebase) แต่ต้อง ลบข้อมูลส่วนบุคคล ก่อนเก็บ |
Cost & Model Selection
OpenAI มีหลายโมเดลให้เลือกใช้ตามงบประมาณและความต้องการ
| โมเดล | ความละเอียด | ราคา (USD/1k tokens) |
|---|---|---|
| gpt‑4o-mini | ความเร็วสูง, เหมาะสำหรับแชททั่วไป | 0.015 |
| gpt‑4o | ความเข้าใจเชิงลึก, รองรับหลายภาษา | 0.050 |
| gpt‑3.5‑turbo | ราคาถูก, ประสิทธิภาพพอใช้ | 0.002 |
- สำหรับ แชทบอททั่วไป แนะนำใช้ `gpt-4o-mini` เพื่อสมดุลระหว่างต้นทุนและคุณภาพ
- หากต้องการ ความแม่นยำสูง หรือทำงานเชิงซับซ้อน ควรพิจารณา `gpt-4o`
Deployment
เมื่อทดสอบผ่านแล้ว ให้ทำการ Deploy เพื่อให้ผู้ใช้เข้าถึงได้จริง
- Vercel หรือ Netlify รองรับ Node.js Serverless Functions ทำให้การตั้งค่าง่าย
- ตั้งค่า environment variables ในแพลตฟอร์มให้ตรงกับ `.env` ของคุณ
- ตรวจสอบ HTTPS เพื่อให้การสื่อสารปลอดภัย
Tip: เปิด logging** แบบเบื้องต้นเพื่อเก็บข้อมูลการเรียก API ใน production (เช่น Winston)
Summary
สรุปขั้นตอนสำคัญที่คุณควรจำเมื่อสร้างแชทบอทด้วย ChatGPT API
- สมัครและรับ API Key จาก OpenAI
- สร้าง backend ด้วย Express/Node.js เพื่อเป็นตัวกลาง
- เก็บคีย์ใน environment variables อย่าเปิดเผยบน client
- เชื่อมต่อ UI ด้วย fetch หรือ AJAX ส่งข้อความไปยัง backend
- ตรวจสอบ network และ console เพื่อแก้ไขบั๊ก
- ใช้ rate limiter และตรวจสอบ usage เพื่อควบคุมค่าใช้จ่าย
- เลือกโมเดลที่เหมาะสมกับ งบประมาณ และ ความต้องการ ของแชทบอท
- Deploy บนแพลตฟอร์มที่รองรับ Serverless Functions แล้วเปิดใช้งาน HTTPS
ทำตามขั้นตอนเหล่านี้ คุณจะได้แชทบอทที่ทำงานได้เร็ว ปลอดภัย และควบคุมต้นทุนได้อย่างมีประสิทธิภาพ.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีเชื่อมต่อและใช้งาน ChatGPT API เพื่อสร้างแชทบอทบนเว็บไซต์ของคุณ
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 22 มิถุนายน 2569 เวลา 10:51
- URL ต้นฉบับ
- https://thaitech.news/articles/growth-555785



