การสร้าง LINE Chatbot ร่วมกับ ChatGPT เพื่อตอบกลับด้วยข้อมูลจาก AI

การสร้าง LINE Chatbot ร่วมกับ ChatGPT เพื่อตอบกลับด้วยข้อมูลจาก AI

สวัสดีค่ะ วันนี้นิกจะพาทุกๆ ท่านไปสร้าง LINE Chatbot ที่มีการนำเอา ChatGPT มาร่วมด้วยเพื่อให้สามารถตอบโต้กับคำถามของลูกค้า หรือผู้ที่เป็นเพื่อนกับ LINE Bot ที่เราสร้างขึ้นมาได้อย่างมีประสิทธิภาพ เพื่อลดภาระงานของทีม Admin และเพิ่มความพึงพอใจให้กับลูกค้าของเรากัน

โดยในบทความนี้จะแบ่งขั้นตอนใหญ่ๆ ได้ออกเป็น 3 ส่วนดังนี้ค่ะ

  1. การ Get API Key ของ ChatGPT จาก OpenAI
  2. การสร้าง LINE Bot
  3. การทำให้ LINE Bot + ChatGPT อยู่บนคลาวด์

1. การ Get API Key ของ ChatGPT จาก OpenAI

1.1 เริ่มต้นให้เข้าไปที่ website https://openai.com

ซึ่งก็จะเจอกับหน้าต่างดังรูปด้านล่าง หลังจากนั้นให้เลือกไปที่เมนู Product แล้วเข้าไปที่ Overview ตามรูปค่ะ

หลังจากนั้นจะเข้าสู่หน้า Products ต่างๆ ของ OpenAI ซึ่งเมื่อถึงตรงนี้ให้เรากด Get started ได้เลยค่ะ^^

1.2 สร้าง account หรือสามารถ Log in ผ่าน User เดิม

โดยหลังจากที่เรา Get started เรียบร้อยให้เราสร้าง account หรือสามารถ Log in ผ่าน Microsoft account หรือ Google account ที่เรามีอยู่แล้วก็ได้ค่ะ

แต่ถ้าหากเป็นการใช้งานครั้งแรกทาง OpenAI จะมีการถามชื่อ-นามสกุล และให้กรอกเบอร์โทรศัพท์เพื่อให้ส่ง Code ที่ใช้ทำการ Activate account โดยทางหน้าเว็บก็จะทำการ redirect มายังหน้าที่เราต้องกรอก code ที่ได้รับจากเบอร์โทรศัพท์ที่กรอกไปก่อนหน้า 😀😎 ซึ่งเมื่อกรอกเสร็จเรียบร้อยแล้ว ก็ให้เลือกวัตถุประสงค์การใช้งานเป็นอันเสร็จขั้นตอนสุดท้ายของการสมัครเข้าใช้งาน OpenAI ค่ะ

1.3 รับ API keys ของ ChatGPT

และสิ่งที่เราจะใช้งานก็คือ API keys จาก Open AI ค่ะ โดยเราจะสามารถเข้าไป get API keys มุมขวาบนใต้ชื่อของเรา กดเมนู Personal แล้วเลือก View API keys และทำการ + Create new secret key

☺🙂 โดยจะมีข้อความ notice ที่อยู่ด้านบนแจ้งเตือนค่ะว่า API key ที่ถูก Create ไปแล้ว จะไม่ถูกแสดงขึ้นซ้ำอีก และไม่ควรแชร์ API key นี้กับผู้อื่น หรือเปิดเผย client-side code ของเรา เพื่อปกป้องความปลอดภัยของบัญชีของเรา โดยทาง OpenAI อาจทำการเปลี่ยนแปลง API key อัตโนมัติหากพบว่ามีการทำ API key หลุดออกสู่สาธารณะ!! (⊙_⊙;)

🙂☺ ซึ่งหมายความว่าในส่วนของ API secret key จะถูก Generate ออกมาเพียงครั้งแรกครั้งเดียวนะคะ หลังจากกด +Create new secret key แล้ว ให้เรากด Copy ที่ Icon รูปกระดาษสีเขียวที่อยู่ข้างๆ ดังภาพ แล้วเอาไปวางไว้ที่ notepad (และให้เชคว่าวางมาครบถ้วนแล้ว) หลังจากนั้นให้กด Done ค่ะ

API secret key Generated

ซึ่งหากใครบังเอิญพลาดพลั้ง ลืมกด Copy ไว้ หรือ Copy API key มาไม่ครบ (┬┬﹏┬┬)

เราก็,,, ไม่มีทางแก้ค่ะ 555+ 🤣🤣 ต้องลบ Key เดิมออกแล้ว Generate ใหม่ และแน่นอนค่ะว่าต้องไปผูก API key กับ linebot ใหม่อีกที โดยการลบก็กดที่รูปถังขยะตามภาพด้านล่างไปเลยค่ะ (ไม่ต้องเสียดายนะคะ เรากู้น้องเค้ากลับมาไม่ได้แล้วจริงๆ)

How to get API Keys from OpenAI

1.4 การตรวจสอบโควต้าของ API keys

😏😎 ทีนี้ในการใช้งานตอนที่เราทำการ generate key ขึ้นมาให้เราเข้าไปดูที่ usage ซึ่งเราทุกคนจะมีโควต้าฟรีอยู่ 5 เหรียญค่ะ ซึ่งหมายความว่าถ้าเรามีการ request chatGPT delle หรือ whisper มาครั้งหนึ่งเนี่ย ก็จะเริ่มมาหักในส่วนของโควต้าฟรีของเราไปเรื่อยๆ จนครบ 5 USD

แต่ถ้าเราใช้บ้างไม่ใช้บ้าง ไม่ได้หมายความว่า OpenAI จะปล่อยให้เราใช้ฟรีต่อไปเรื่อยๆ นะคะ เพราะเค้าก็จะมีในส่วนของ Expired date หรือวันหมดอายุด้วย 😊😉 ซึ่งถ้าเราใช้ไม่หมดในช่วงเวลาดังกล่าว ก็จะมีการตัดยอดของเราที่คงเหลือไปทั้งหมดเหมือนกัน แต่ถ้าเราอยากจะใช้ต่อเราก็สามารถไปสมัครเป็นแบบ plus ซื่งเป็นเวอร์ชั่นไม่ฟรีได้เลย

Check Free trial usage quota

✨✨ทีนี้ถ้าเราต้องการดูว่าเราจะโดนตัดกี่ USD ต่อครั้งของการใช้งาน,,,

ให้เรากลับไปที่ตัว OpenAI หน้าแรก เข้าไปในส่วนของ product และเข้าไปที่หน้าต่างที่เขียนว่า pricing ค่ะ เราก็จะเห็นว่ามีส่วนของการตัดโควต้า ว่าตัดอย่างไรบ้างในแต่ละ product โดยในส่วนของที่เรากำลังจะใช้ ก็จะเป็น chat ค่ะ

ซึ่งจะเป็นตัว gpt-3.5-turbo ที่จะมีการตัด 0.002 USD ต่อ 1K tokens* (โดยประมาณแล้วข้อความประมาณ 1000 คำ จะตกอยู่ที่ประมาณ 750 tokens) ที่จะมาหักออกจากโควต้าฟรีของเรา

*token ก็จะเป็นเหมือนกลุ่มก้อนคำ ที่เค้าหั่นออกมา เช่นคำว่า แมวดำ ที่อาจจะถูกตัดออกมาเป็นคำว่า “แมว” กับ “ดำ” หรือคำว่า วันพุธ ที่อาจจะไม่ถูกตัด แต่ถูกมัดรวมเป็น “วันพุธ” เป็น 1 token ไปเลย

Pricing of Plus service

**ซึ่งถ้าหากอยากใช้บริการแบบ Plus ก็ให้เข้าไปกรอกข้อมูลในส่วนของ payment method ที่อยู่ในส่วนของ Personal -> Overview หรือเข้าได้ที่ link นี้เลยค่ะ https://platform.openai.com/account/billing/overview

Payment methods

โดยการใช้งาน ChatGPT นี้ นิกจะใช้งานร่วมกับ Python code เพื่อผูกกับ linebot ซึ่งทุกท่านสามารถเข้าไป download code ได้ตาม link ต่อไปนี้เลยค่ะ => https://github.com/Nick-Panaya/linebot_chatgpt

2. การสร้าง LINE Bot

แล้วก็จบลงไปในส่วนของการตั้งค่าต่างๆ ในการใช้งาน API Key ของ ChatGPT ค่ะ ซึ่งส่วนต่อมาก็จะเป็นเรื่องของการสร้าง LINE Bot ที่จะเอาตัว ChatGPT ไปฝังไว้ เพื่อให้ Chatbot ของเราสามารถตอบโต้กับผู้ใช้งานได้อย่างมีประสิทธิภาพมากขึ้นโดยมีขั้นตอนการสร้าง LINE Bot และการตั้งค่าต่างๆ ง่ายๆ ดังนี้ค่ะ

2.1 ให้เข้าไปที่ Link: https://developers.line.biz

ซึ่งเมื่อเข้ามาแล้วให้ทำการ Log In และเลือก Log In with LINE account ตามหน้าต่างที่ปรากฎในหน้าต่อไป โดยในขั้นตอนนี้หากเราจำ Email address หรือ password ไม่ได้ก็ไม่ต้องกังวลค่ะ เพราะเราสามารถเลือก QR code login ได้ด้วย

ซึ่งหลังจากที่เลือก QR code login หน้าเว็บไซต์จะ redirect ไปแสดง QR code ก็ให้เราทำการ Log In ด้วยการสแกน QR code แล้วกรอก verification code ในมือถือของเรา เหมือนการ Log In LINE ตามปกติได้เลยค่ะ

Create LINE Business ID

แต่ในกรณีที่เรายังไม่เคยมีการสร้าง LINE Bot มาก่อน ก็ให้เราทำการ Create LINE Business ID แล้วหลังจากนั้นก็จะปรากฎหน้าต่างให้เรากรอกข้อมูล ได้แก่ Developer name, Your email และให้เลือกยืนยันในกล่อง “I have read and agreed to the LINE Developers Agreement” แล้วกด Create my account

2.2 ทำการ Create a new provider

โดยการใส่ Provider name ที่เราต้องการ (หรือก็เหมือนเป็นการตั้งชื่อให้ Provider ของเราค่ะ) หลังจากนั้นก็ให้กด Create ได้เลย แล้วเราก็จะได้ Provider ของ Linebot ที่เราสร้างเรียบร้อยแล้ว

Create a new provider

2.3 สร้าง Channel ของ LINE Bot

ต่อไปเราก็มาสร้าง Channel ของ LINE Bot และเลือกสร้างเป็น Messaging API โดยกดที่ Create a Messaging API channel ตามรูปด้านล่างค่ะ

Create channel type: Messaging API

🤗🤗ซึ่งหลังจากที่เรากดไปแล้ว ก็ให้เข้าไปกรอกข้อมูลต่างๆ ให้ครบถ้วน ซึ่งในส่วนของ Channel name จะเป็นชื่อของ LINE Bot ที่จะแสดงให้ผู้ใช้งานเห็น
และเมื่อกรอกข้อมูลต่างๆ เสร็จเรียบร้อย ให้กดปุ่ม Create และ OK ตามด้วย Agree ใน Pop-up ที่ขึ้นมา ก็จะได้ LINE Bot ที่เราต้องการเชื่อมต่อกับ ChatGPT มาใช้งานกันค่ะ

2.4 ทำการ Copy ค่า Channel secret/Channel access token

โดย Copy ค่า Channel secret จากหน้า Basic setting และค่า Channel access token จากหน้า Messaging API (ต้องกดปุ่ม Issue ตัว Channel access token ถึงจะถูกแสดงขึ้นมา)

Channel secret/Channel access token

2.5 นำ keys ต่างๆ ไปใส่ค่าใน Python script ได้แก่

  • ChatGPT API Key
  • Channel secret
  • Channel access token

ไปกรอกลงในโค้ด Python ตาม link => https://github.com/Nick-Panaya/linebot_chatgpt ตามภาพ

Edit API key, Channel secret and Channel access token

3. การทำให้ LINE Bot + ChatGPT อยู่บนคลาวด์

เมื่อทำการแก้ไข Code เสร็จเรียบร้อยแล้วก็สามารถ อัพโหลดขึ้น www.pythonanywhere.com ซึ่งเป็น Cloud สำหรับตัว Line Bot ChatGPT script ที่เราจะนำมาใช้งาน (ก่อนอัพโหลดให้ทำการ Regist ตามขั้นตอนให้เรียบร้อยนะคะ^^) โดยหลังจาก Upload แล้ว ก็จะได้หน้าตาของ pythonanywhere ตามภาพเลยค่ะ

หลังจากนั้นให้เรานำ url ของเราที่ได้จากการสมัครใช้งาน pythonanywhere ไปใส่ในช่อง Webhook URL ของ LINE Developers ตามรูปด้านล่าง เป็นอันเสร็จเรียบร้อย 😊😃 ได้ LINE Bot ที่มี ChatGPT อยู่ด้านในมาให้ลูกค้าหรือเพื่อนๆ Marketer ในทีมได้ใช้งานกันค่ะ^^

Fill url from pythonanywhere in Webhook URL of LINE Developers

และรูปข้างล่างนี้คือตัวอย่างของ LINE Bot ที่มีการนำเอา ChatGPT API มาเชื่อมต่อตามวิธีด้านบนค่ะ^^ จะเห็นว่าน้อง Chatbot ของเรามีการตอบคำถาม และให้คำแนะนำที่ดีขึ้น มีประสิทธิภาพมากขึ้นตามความสามารถของ ChatGPT ซึ่งเป็น Generative AI

An Example of LINE Bot Integrated with ChatGPT

Last but not Least…

ท้ายสุด นิกหวังเป็นอย่างยิ่งค่ะว่าหลายๆ ท่านจะได้ LINE Bot เท่ๆ ที่มีการนำเอาความสามารถของ ChatGPT มาร่วมด้วยไปใช้งาน ไม่ว่าจะเป็นส่วนของการตอบคำถามหรือช่วยเหลือภายในทีมนักการตลาดเอง หรือเป็น Chatbot ที่มีความเป็นธรรมชาติ ให้ข้อมูลลูกค้าได้ดีขึ้น/อัพเดทขึ้น และช่วยลดภาระงานของแอดมินในการตอบหรือให้คำปรึกษาเบื้องต้นกับลูกค้า/ผู้ใช้งานที่เป็นเพื่อนกับ LINE Bot ของเราต่อไปค่ะ
ปูลู: ท่านใดทำตามแล้วเจอ error ทัก fb: Panaya Sudta | Facebook มาได้เลยนะคะ^^

คลาสเรียนออนไลน์ Social Listening Analytics รุ่นที่ 20 วันศุกร์ที่ 19 พฤษภาคม 2023 ค่าเรียนคนละ 9,900 รับจำกัด 20 คน อ่านรายละเอียดและลงทะเบียนได้ที่ลิงก์นี้ค่ะ https://bit.ly/sociallistening20

Panaya Sudta

Hi, I am Nick,,,,Panaya Sudta (●'◡'●) Engineer during the daytime. Researcher at night. Reader in spare time. (❁´◡`❁) วิศวกร/นักวิจัย และเป็นน้องใหม่ของการตลาดวันละตอน ในการทำ Market research ค่ะ หวังเป็นอย่างยิ่งว่าจะได้แชร์มุมมองกันนะคะ

Leave a Reply

Your email address will not be published. Required fields are marked *

ใช้ Social Listening บ้างไม่ ?

#การตลาดวันละโพล ขอหนึ่งคำถาม ว่าปกติใช้ Social Listening บ้างหรือไม่ แล้วถ้าใช้ ใช้ตัวไหนอยู่