สอนเชื่อม Generative AI (ChatGPT, Gemini, Claude) กับ Line OA

เผยแพร่ 4 มีนาคม 2567อัปเดตล่าสุด 3 กรกฎาคม 2569สอนกาน Read in English
สอนเชื่อม Generative AI (ChatGPT, Gemini, Claude) กับ Line OA

บทความนี้เราจะมาพาเชื่อมต่อ 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 ระบบ

แผนภาพการเชื่อมต่อระหว่าง Line OA, Botnoi Chatbot และ GenAI API ผ่าน Webhook

ในกรณีนี้ผมเลือกใช้ Botnoi Chatbot เพื่อเป็นตัวกลางในการเชื่อมต่อ เพราะง่ายในการเชื่อมต่อฝั่ง Line และแทบไม่ต้องเขียนอะไรเพิ่ม

เตรียม Line OA

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

Line Official Account 1 บัญชี

สร้างและเตรียมแชทบอทของคุณไว้ได้เลย ถ้าทำไม่เป็นก็ ดูที่นี่

เปิดการเชื่อมต่อ Webhook

โดยปกติไลน์บอทจะมีการตั้งค่าตอบกลับอัตโนมัติอยู่ เราจะต้องทำการปิดการตั้งค่านั้น และเปิดการเชื่อมต่อ Webhook ตามรูป

หน้าตั้งค่า Line OA แสดงการปิดตอบกลับอัตโนมัติและเปิดใช้งาน 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

ตัวอย่างแชท Line OA ที่ตอบกลับด้วย ChatGPT แบบต่อ API ตรง

ตัวอย่างแชท Line OA ที่ตอบกลับด้วย Gemini แบบต่อ API ตรง

ซึ่งหากเราต้องการทำให้บอทของเราใช้งานได้หลากหลายขึ้น ก็อาจต้องไปเชื่อม API กับ Assistant หรือทำการ Prepare bot ผ่านเครื่องมือเช่น Dify.ai และแก้ไขการเชื่อมต่อเพิ่มเติมดังนี้

วิธีการเพิ่ม Input

(Text Generation with 1 input)

ตัวอย่างของ Dify ในหัวข้อก่อนหน้า จะเป็นบอท Code of the day ที่มี Prompt เพื่อคืนค่า Quote ออกไปเฉย ๆ

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

หน้าตั้งค่า Prompt ใน Dify.ai สำหรับสร้างคำคมจากคำที่ผู้ใช้พิมพ์

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

{
    "inputs": {
        "topic": "<<keyword>>"
    },
    "response_mode": "blocking",
    "user": "abc-123"
}

ส่วนที่เปลี่ยนแปลงคือค่า topic ที่ใส่ <<keyword>> เพื่อรับข้อความจากผู้ใช้ เอาไปอัปเดทในส่วน Body ของ API Botnoi ได้ดังตัวอย่างด้านล่าง

การแก้ไข Body ของ API ใน Botnoi ให้ส่งข้อความจากผู้ใช้ไปยัง Dify

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

ตัวอย่างบอทใน Line ตอบกลับเป็นคำคมตามคำที่ผู้ใช้พิมพ์

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

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

เชื่อม ChatGPT กับ Line OA ต้องเขียนโค้ดไหม

แทบไม่ต้องเขียนโค้ดครับ เพราะเราใช้ Botnoi Chatbot เป็นตัวกลางเชื่อมระหว่าง Line OA กับ GenAI API สิ่งที่ต้องทำคือสมัคร API Key ของค่ายที่เลือก แล้วตั้งค่าตามขั้นตอนบนหน้าจอของ Botnoi มีเพียงส่วนปรับ Body ของ API ที่ต้องคัดลอกโค้ดสั้น ๆ ไปวางเท่านั้น

เชื่อม Generative AI กับ Line OA ฟรีไหม

ขึ้นกับค่ายที่เลือกครับ Google AI Studio (Gemini) มีโควตาฟรีให้เริ่มต้น ส่วน OpenAI Platform และ Claude API คิดค่าใช้จ่ายตามปริมาณการใช้งานจริง ราคาของแต่ละค่ายเปลี่ยนแปลงได้เสมอ ก่อนใช้งานจริงควรตรวจสอบหน้า Pricing ของแพลตฟอร์มนั้น ๆ อีกครั้ง

Botnoi Chatbot คืออะไร ทำไมต้องใช้

Botnoi Chatbot เป็นแพลตฟอร์มสร้างแชทบอทของไทยที่เรานำมาใช้เป็นตัวกลางระหว่าง Line OA กับ GenAI API เพราะ Line OA เปิดการเชื่อมต่อระบบภายนอกผ่าน Webhook เท่านั้น ถ้าไม่อยากเขียน Webhook เอง Botnoi จะช่วยจัดการส่วนนี้ให้โดยแทบไม่ต้องเขียนอะไรเพิ่มครับ

ใช้ Claude หรือ Gemini แทน ChatGPT ได้ไหม

ได้ครับ ขั้นตอนหลักเหมือนกันคือสร้าง API Key จากหลังบ้านของค่ายนั้น เช่น Anthropic Console หรือ Google AI Studio แล้วนำไปเชื่อมกับ Botnoi ต่างกันเพียงรายละเอียดการตั้งค่าเล็กน้อย ในบทความนี้มีลิงก์ขั้นตอนของทุกค่าย รวมถึง Dify.ai ให้ครบเลย

ทำไม Line OA ถึงคุยกับ ChatGPT ตรง ๆ ไม่ได้

เพราะ Line OA ไม่ได้เปิดให้เรียก API ของ GenAI โดยตรง แต่เปิดรับการเชื่อมต่อภายนอกผ่านสิ่งที่เรียกว่า Webhook เท่านั้น เราจึงต้องมีตัวกลางคอยรับข้อความจาก Line แล้วส่งต่อให้ AI ตอบกลับ ซึ่งจะเขียน Webhook เองหรือใช้ตัวกลางสำเร็จรูปอย่าง Botnoi ก็ได้ครับ

จะควบคุมไม่ให้ค่า API บานปลายได้ยังไง

อย่าเผยแพร่ Line OA ออกไปให้คนนอกกลุ่มเป้าหมายครับ เพราะทุกคนที่เป็นเพื่อนกับบัญชีจะเรียกใช้ GenAI API ของเราได้ทันทีผ่านการแชท ถ้าใช้ค่ายที่คิดเงินตามการใช้งาน ควรตั้งเพดานการใช้จ่ายในหลังบ้านของแพลตฟอร์ม และหมั่นเช็คยอดการใช้งานอย่างสม่ำเสมอ