สอนสร้าง LINE Chatbot สุดฉลาด ด้วย AI LLM GEMINI ฟรี และ No Code ทุกคนทำได้

Dr. Winn Voravuthikunchai
LINE Developers Thailand
4 min readJan 20, 2024

ถ้าพูดถึง ChatGPT ทุกคนคงรู้จักเพราะเขย่าทุกวงการตั้งแต่ปลายปี 2021 หลังจากนั้น ก็มี AI ที่คล้าย ๆ กัน ตามออกมาเรื่อย ๆ เช่น Bard AI แต่ล่าสุดมี AI ตัวใหม่ที่ชื่อว่า Gemini และผมคิดว่า friendly หรือง่ายมาก สำหรับนักพัฒนาในการนำไปเชื่อมกับระบบของตัวเอง ลองเข้าไปดูได้ครับ https://ai.google.dev/

นอกจากความฉลาดแล้ว มันฟรี ครับทุกคน ตกใจเลย ไม่ใช่ Google คงทำไม่ได้ ไม่ได้คิดเป็นตัวอักษร แต่คิดเป็นจำนวน query หรือจำนวนคำถามต่อนาที คือถ้าถามไม่เกิน 60 คำถาม ต่อนาที ก็ฟรีไปยาว ๆ

ถ้าใช้ตัวฟรี Google เค้าสามารถเอาข้อมูลตรงนี้ไปใช้ได้เพื่อปรับปรุง AI ของเค้า เพราะงั้นต้องระวังและอย่าเอาข้อมูลส่วนบุคคล หรือข้อมูลความลับองค์กรเข้าไปใส่

มีบทความจากนักพัฒนาหลายคนที่ออกมา สำหรับชาว dev ลองอ่านบทความ พี่ตี๋​ LINE Dev Rel ที่ยอดแชร์กระจายมาก

แต่สำหรับบทความนี้ เหมาะสำหรับใครที่อยากทำแบบไว ๆ ง่าย ๆ ไม่ต้อง code ทั้งนั้น No Code! ใน 5 ขั้นตอน

ขั้นตอนที่ 1 สร้าง Gemini API key

เข้าไปที่ https://makersuite.google.com/app/apikey แล้วก็สร้าง API key

พอกดเข้าไปในลิงค์ จะต้องทำการ login ซึ่งเราจะต้อง login ด้วย Google Account ของเรา จากนั้นก็จะมี pop-up ให้เรากดยินยอมการใช้งาน แล้วเราก็กด Get API key -> Create API key in new project -> แล้วเราก็​ copy key ของเราเก็บไว้ จะใน note หรือใน doc หรือที่ไหนก็ตาม

ขั้นตอนที่ 2 สร้าง LINE OA

เราจะมาสร้าง LINE OA กัน เพราะเราอยากที่จะเอา Gemini ไปต่อกับ chatbot ซึ่งเราสามารถทำตามวีดีโอนี้ได้ครับ

ขั้นตอนที่ 3 สร้าง Chatbot แล้วเชื่อมต่อกับ LINEOA

เราจะสร้างแชทบอทโดยใช้ platform ของ BOTNOI โดยให้เข้าไปที่ https://botnoi.ai แล้วทำตามวีดีโอนี้ครับ

3.1 เนื่องจาก platform มีการอัพเดท ในส่วนของการเชื่อมต่อกับ LINE จะเปลี่ยนไป ให้ทำตามรูปนี้ครับ

3.2 พอกด LINE Modular Setting แล้ว ก็ให้เลือก LINE OA ที่เราอยากจะเชื่อมต่อ จากนั้นก็กด add extention

ขั้นตอนที่ 4 สร้าง API Object

ตอนนี้เราได้เชื่อมต่อ LINEOA กับ BOTNOI แล้ว ทีนี้เราจะต้องเชื่อม BOTNOI กับ Gemini โดยที่เราจะสร้าง API object ขึ้นมา

จุดที่ 3 ให้ตั้งชื่อเป็น gemini

จุดที่ 4 เลือกเป็น POST

จุดที่ 5 ใส่ URL ดังนี้ https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=<<apikey ที่ได้ในขั้นตอนที่ 1>>

จุดที่ 6 ให้กด Add Header แล้วก็ใส่ Header เป็น Content-Type ส่วน Value เป็น application/json

จุดที่ 7 ให้ copy โค้ดนี้ใส่ลงไปใน Body ครับ

{
"contents": [
{
"parts": [
{
"text": "<<keyword>>"
}
]
}
]
}

จากนั้นก็กด save

เวลาที่คนพิมพ์ข้อความเข้ามาใน LINEOA ระบบจะเก็บค่าข้อความนั้นไว้ ในตัวแปรที่ชื่อว่า <<keyword>> จากนั้นเวลามีการเรียกใช้ API Object นี้ก็จะดึงค่าจากตัวแปร keyword ส่งเข้าไปที่ API Gemini

ขั้นตอนที่ 5 ทำให้ BOTNOI เรียก Gemini API

จากนั้นเราก็จะตั้งค่าเพื่อให้ botnoi เรียก API ของ Gemini ทุกครั้งที่มีคนส่งข้อความเข้ามา

จุดที่ 1 กดที่ Train Bot

จุดที่ 2 กด Default Fallback

จุดที่ 3 กดที่ BOT RESPONSE

จุดที่ 4 กดปุ่ม Existing Objects เลือก API_gemini

จุดที่ 5 ให้ใส่ <<API_gemini.candidates.0.content.parts.0.text>>

แล้วกด save

ก็เป็นอันเสร็จสิ้น สามารถทดสอบคุยกับ LINE OA ได้ครับ

ถ้า bot ไม่ตอบ เกิดจากอะไรได้บ้าง

  1. ตรวจดูว่าชื่อ API object กับ ตอนตอบกลับเขียนเหมือนกันหรือไม่ ในตัวอย่างนี้ จะไม่ตอบ เพราะตัวเล็ก ตัวใหญ่

2. มีเว้นวรรคตอนสร้าง API object

BONUS Track

การทำให้แชทบอทส่งข้อความให้รอ ก่อนที่จะได้คำตอบจาก Gemini

เวลาที่เราใช้ Gemini หาทริป หรือทำอะไรยาก ๆ ซึ่งต้องใช้เวลานาน คนใช้ chatbot อาจจะได้รับประสบการณ์ที่ไม่ดี เอ๊ะ บอทมันค้างหรือเปล่า หากเราสามารถทำให้ chatbot ส่งข้อความออกไปก่อน เช่น เดี๋ยวรอสักครู่นะครับ ก็จะทำให้ประสบการณ์ลูกค้าดีขึ้นมาก ซึ่งเราสามารถทำได้ง่าย ๆ ดังนี้

จุดที่ 1 กลับไปที่ Default Fallback แล้วไปที่ BOT RESPONSE จากนั้นให้กดสร้างคำตอบข้อความ Text

จุดที่ 2 ใส่ประโยครอที่เราต้องการบอกลูกค้า

จุดที่ 3 ให้กด Bubble Break

ให้เราให้เครื่องหมาย “สี่แฉกเหมือนจอยเกมกด” กด mouse แล้วลากให้ ประโยครออยู่บนสุด ตามด้วย Bubble Break ต่อด้วย API object แล้วก็คำตอบของ API ดังรูป

ทดสอบดูเราจะได้ดังนี้ครับ คือ แชทบอทจะบอกว่าให้รอสักครู่ ก่อนที่จะส่งคำตอบออกมาครับ

สุดท้าย

อันที่จริงแล้วระบบ chatbot ของ BOTNOI ทำได้อีกมากมาย ใครสนใจอยากให้ลองศึกษาเพิ่มเติมได้ที่ playlist Youtube ของ BOTNOI Group ครับ -> playlist

ไอเดีย -> เราอาจจะไม่จำเป็นต้องให้ Gemini อยู่ที่ Fallback ก็ได้ครับ เราอาจจะสร้าง Dialog เพื่อให้เข้าสู่โหมด Gemini เป็นต้น หากใครเคยเล่น BOTNOI ที่คุยเล่นก็จะเห็นว่ามันมีโหมด บอทน้อยเงียบ บอทน้อยกลับมา ก็ทำนองนั้นครับ

หรือไม่ เราก็อาจจะทำให้ Gemini อ่านรูปภาพ แล้วเอาคำตอบที่ได้จากรูปภาพส่งต่อไปประมวลผลต่ออีก ก็ทำได้เช่นกัน เอาไว้มีโอกาสจะเขียนบทความเพิ่มเติมนะครับ

เกี่ยวกับ BOTNOI

ที่ BOTNOI เรามุ่งมั่นพัฒนา AI และให้บริการปรึกษาทั้งด้าน AI และ Data Science ครับ นอกจากนี้เรายังพยายามที่จะให้ความรู้ด้านนี้ ดังนั้นหากองค์กรไหน สนใจอยากจะให้เราไปช่วยเหลือ ไม่ว่าจะเป็นการพัฒนา ปรึกษา หรือว่าอยากให้เราไปจัดอบรม ก็ติดต่อได้เลยนะครับ ดูรายละเอียดเกี่ยวกับพวกเราเพิ่มเติมได้ที่ https://botnoigroup.com ครับ

--

--

Dr. Winn Voravuthikunchai
LINE Developers Thailand

obtained his PhD in AI from Caen University, France. He was Chief Data Scientist at Telenor. Currently, he is Founder & CEO of Botnoi Group, and LINE API Expert