บทความนี้เราจะมาพาเชื่อมต่อ Generative AI ค่ายต่าง ๆ ไม่ว่าจะเป็น ChatGPT, Gemini, Claude ผ่าน API กับ Line Official Account
จากนี้จะขอเรียก OpenAI Platform (ChatGPT) API, Gemini API, Claude API (Anthropic Console) และเจ้าอื่นรวมกันว่า "GenAI API" นะครับ
จบบทความนี้เพื่อน ๆ จะได้ Line แชทบอทที่ตอบกลับผู้ใช้ได้เหมือนคุยกับ ChatGPT โดยตรงเลย
ภาพรวม
คำตอบสั้น ๆ คือ Line OA คุยกับ GenAI API ตรง ๆ ไม่ได้ครับ เพราะ Line OA เปิดการเชื่อมต่อกับระบบภายนอกผ่านสิ่งที่เรียกว่า Webhook เท่านั้น เราจึงต้องมีตัวกลางมาคั่นระหว่างสองระบบ ทำหน้าที่รับข้อความจาก Line แล้วส่งต่อไปให้ AI ตอบกลับ
ซึ่งถ้าเราไม่เขียน Webhook เอง เราก็ต้องมองหาตัวกลางที่จะทำหน้าที่นี้ครับ ตามแผนภาพดังนี้
การเชื่อมต่อกันระหว่าง 3 ระบบ

ในกรณีนี้ผมเลือกใช้ Botnoi Chatbot เพื่อเป็นตัวกลางในการเชื่อมต่อ เพราะง่ายในการเชื่อมต่อฝั่ง Line และแทบไม่ต้องเขียนอะไรเพิ่ม
เตรียม Line OA
ฝั่ง Line เราต้องเตรียม 3 อย่างครับ คือมี Line Official Account 1 บัญชี ปิดการตอบกลับอัตโนมัติแล้วเปิดใช้งาน Webhook และเชื่อมบัญชีเข้ากับ Botnoi Chatbot แค่นี้ฝั่ง Line ก็พร้อมแล้ว มาดูทีละขั้นตอนกันครับ
Line Official Account 1 บัญชี
สร้างและเตรียมแชทบอทของคุณไว้ได้เลย ถ้าทำไม่เป็นก็ ดูที่นี่
เปิดการเชื่อมต่อ Webhook
โดยปกติไลน์บอทจะมีการตั้งค่าตอบกลับอัตโนมัติอยู่ เราจะต้องทำการปิดการตั้งค่านั้น และเปิดการเชื่อมต่อ Webhook ตามรูป

หรือ ดูขั้นตอนที่นี่
เชื่อมต่อ Line เข้ากับ Botnoi Chatbot
เปรียบเทียบ GenAI API แต่ละค่าย
ถ้าให้สรุปสั้น ๆ มือใหม่ที่อยากลองแบบยังไม่เสียเงิน ให้เริ่มจาก Google AI Studio (Gemini) ก่อนครับ ส่วนใครอยากได้บอทสไตล์ ChatGPT หรือ Claude ให้เตรียมงบแบบจ่ายตามการใช้งานจริง และถ้าอยากคุมแนวการตอบของบอทให้เฉพาะทาง Dify.ai คือตัวช่วยที่ผมแนะนำ
| ตัวเลือก | ค่าใช้จ่ายเริ่มต้น | ความยากในการสมัคร | จุดเด่น | เหมาะกับใคร |
|---|---|---|---|---|
| OpenAI Platform (ChatGPT) | จ่ายตามปริมาณการใช้งานจริง | ง่าย มีขั้นตอนตามลิงก์ในบทความ | คนรู้จักมากที่สุด เอกสารและตัวอย่างเยอะ | คนที่อยากได้บอทสไตล์ ChatGPT ที่คุ้นเคย |
| Google AI Studio (Gemini) | มีโควตาฟรีให้เริ่มต้น | ง่ายมาก ใช้บัญชี Google สมัครได้เลย | เริ่มลองได้โดยยังไม่ต้องผูกค่าใช้จ่าย | มือใหม่ที่อยากทดลองก่อนตัดสินใจ |
| Anthropic Claude | จ่ายตามปริมาณการใช้งานจริง | ง่าย สมัครผ่าน Anthropic Console | ตอบเป็นธรรมชาติ เป็นทางเลือกนอกจาก ChatGPT | คนที่อยากลองสไตล์การตอบที่ต่างออกไป |
| Dify.ai | ขึ้นกับ LLM API ที่นำมาเชื่อมข้างหลัง | มีขั้นตอนเพิ่ม ต้องสร้างแอปก่อนได้ API Key | เตรียม Prompt และออกแบบบอทเฉพาะทางได้ | คนที่อยากคุมแนวการตอบของบอทจริงจัง |
แต่ละค่ายอัปเดตรุ่นโมเดลอยู่เรื่อย ๆ เลือกใช้รุ่นล่าสุดของแต่ละค่ายได้เลยครับ ส่วนตัวเลขราคาจริงเปลี่ยนบ่อยมาก ก่อนใช้งานจริงแนะนำให้เช็คหน้า Pricing ของแพลตฟอร์มนั้น ๆ อีกครั้ง
เตรียม AI Platform API
สิ่งที่เราต้องได้จากขั้นตอนนี้คือ API Key ของค่ายที่เลือกครับ โดยต้องไปสมัครผ่าน Platform API หรือ "หลังบ้าน" ของแต่ละเจ้า ซึ่งเปิดให้เราเอา API ไปเรียกใช้งานจากระบบภายนอกได้
ย้ำอีกทีว่าส่วนนี้ไม่ใช่หน้าปกติที่เราเข้าไปแชทคุยกับ AI นะครับ
OpenAI Platform (ChatGPT)
สร้าง API Key จาก OpenAI Platform ดูขั้นตอน
Google AI Studio (Gemini)
สร้าง API Key จาก Google AI Studio หน้านี้
Claude by Anthropic
สร้าง API Key จาก Anthropic Console ดูที่นี่
Dify.ai
สร้าง API Key จากแอปที่ต้องการใช้งาน ดูขั้นตอน
เชื่อมต่อ GenAI API Key กับ Botnoi
หลักการของขั้นตอนนี้คือตั้งค่าให้ทุก ๆ ข้อความที่ผู้ใช้ส่งเข้ามา ถูกส่งต่อไปยังหลังบ้าน GenAI API ตัวใดตัวหนึ่งที่เรา set ไว้ แล้วนำคำตอบส่งกลับหาผู้ใช้ใน Line ครับ ขั้นตอนของแต่ละค่ายต่างกันเล็กน้อย ตามลิงก์ด้านล่างนี้เลย
OpenAI Platform (ChatGPT)
การใช้งาน OpenAI Platform หากไม่มีการควบคุมการใช้งานที่ดีพอ อาจทำให้มีค่าใช้จ่ายสูง
เชื่อมต่อ ChatGPT ผ่าน chat/completion ดูขั้นตอนที่นี่
Google AI Studio (Gemini)
Gemini มีโควตาฟรีให้เริ่มต้น แต่จะทำให้เกิดประโยชน์มากขึ้นอาจต้องใช้เชื่อมต่อกับ Dify.ai ด้านล่างเพื่อทำ Prompt ที่เป็นแนวทางการตอบข้อมูล ไม่เช่นนั้นจะเป็น Gemini ที่ตอบกว้างมาก ๆ
เอาข้อมูล API ไปเชื่อมกับ Botnoi ดูขั้นตอนที่นี่
Anthropic Console (Claude AI)
การใช้งาน Claude API หากไม่มีการควบคุมการใช้งานที่ดีพอ อาจทำให้มีค่าใช้จ่ายสูง
เอาข้อมูล API ไปเชื่อมกับ Botnoi ดูขั้นตอนที่นี่
Dify.ai กับ Botnoi
การเชื่อมต่อกับ Dify.ai ด้วย Bot ที่ไม่ต้องการ input (Text Generation Only) ดูขั้นตอนที่นี่
การทำบอทที่เฉพาะทางยิ่งขึ้น
ถ้าต่อ API ตรง ๆ โดยไม่ set ค่าอะไรไว้เลย บอทของเราจะทำงานเหมือนคุยกับ ChatGPT หรือ Gemini เฉย ๆ ใน Line OA ครับ วิธีทำให้บอทเฉพาะทางขึ้นคือเตรียม Prompt ผ่านเครื่องมืออย่าง Dify.ai แล้วเพิ่ม input จากผู้ใช้เข้าไปในการเรียก API


ซึ่งหากเราต้องการทำให้บอทของเราใช้งานได้หลากหลายขึ้น ก็อาจต้องไปเชื่อม API กับ Assistant หรือทำการ Prepare bot ผ่านเครื่องมือเช่น Dify.ai และแก้ไขการเชื่อมต่อเพิ่มเติมดังนี้
วิธีการเพิ่ม Input
(Text Generation with 1 input)
ตัวอย่างของ Dify ในหัวข้อก่อนหน้า จะเป็นบอท Code of the day ที่มี Prompt เพื่อคืนค่า Quote ออกไปเฉย ๆ
แต่ในตัวอย่างนี้เราจะปรับให้รับ input เพิ่ม 1 ตัวจากผู้ใช้ โดยเมื่อผู้ใช้พิมพ์อะไรมาก็ตาม บอทจะไปสร้างคำคมที่เกี่ยวข้องมาให้

หลังจากนั้นเราก็ไปแก้ไข API ของ Botnoi ให้ส่งค่าที่ผู้ใช้พิมพ์กลับมาด้วยตามโค้ดด้านล่างนี้
{
"inputs": {
"topic": "<<keyword>>"
},
"response_mode": "blocking",
"user": "abc-123"
}
ส่วนที่เปลี่ยนแปลงคือค่า topic ที่ใส่ <<keyword>> เพื่อรับข้อความจากผู้ใช้ เอาไปอัปเดทในส่วน Body ของ API Botnoi ได้ดังตัวอย่างด้านล่าง

เมื่อเราไปคุยกับบอทด้วยข้อความอะไรก็ตาม เค้าก็จะทำเป็นคำคมกลับมาให้เรา

Line OA อาจจะเป็นหน้าบ้านได้ในบางบริบท เจ้าของ GenAI APP ต้องเลือกหน้าบ้านให้เหมาะสมกับการทำงานของ AI ตัวเองนะ
ข้อควรระวัง
ประเด็นสำคัญที่สุดคือค่าใช้จ่ายครับ เพราะหลังจากนี้ Line OA ของเพื่อน ๆ จะตอบกลับจาก Generative AI ที่เชื่อมต่อไว้ผ่าน Botnoi Chatbot เสมอ ใครก็ตามที่ทักแชทเข้ามาจะเท่ากับเรียกใช้ GenAI API ของเราทันที
หากเลือกใช้ Generative AI ที่คิดเงินตามปริมาณการใช้งานอย่าง ChatGPT หรือ Dify.ai ที่อาจจะเชื่อม LLM API ที่เสียเงินตัวอื่นอยู่ ก็ต้องระวังส่วนนี้ให้ดี
เราต้องป้องกันไม่เผยแพร่ Line OA ไปให้คนอื่น ๆ ที่ไม่ใช่ผู้ใช้เป้าหมาย เพราะใครก็ตามที่เป็นเพื่อนกับ Line OA จะใช้งาน Generative API ของเราได้ทันทีผ่านการแชทกับบอท
ส่วนค่ายที่มีโควตาฟรีอย่าง Gemini อาจจะไม่ต้องกังวลมากนัก แต่ก็ควรเช็คเงื่อนไขโควตาปัจจุบันไว้ด้วยครับ
Good Luck

