เชื่อม AI · Line OA

สอนเชื่อม 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 OA ไม่สามารถใช้งาน API หรือคุยกับ Platform ของ GenAI ได้โดยตรง เพราะ Line OA เปิดการเชื่อมต่อกับระบบภายนอกผ่านสิ่งที่เรียกว่า Webhook

ซึ่งถ้าเราไม่เขียน WebHook เอง เราก็ต้องมองหาตัวกลางที่จะทำหน้าที่นี้ครับ ตามแผนภาพดังนี้

การเชื่อมต่อกันระหว่าง 3 ระบบ

webhook

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

เตรียม Line OA

สิ่งที่ต้องเตรียมในฝั่งของ Line

- Line Official Account 1 บัญชี

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

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

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

line-hook

หรือ ดูขั้นตอนที่นี่

- เชื่อมต่อ Line เข้ากับ Botnoi Chatbot

ดูขั้นตอนคลิกที่นี่

เตรียม AI Platform API

สิ่งต่อไปที่ต้องเตรียมไว้คือการสมัคร Platform API ของแต่ละเจ้า

ส่วนนี้ไม่ใช่หน้าปกติที่เราเข้าไปแชทคุยกับ AI นะครับ แต่เป็นหลังบ้านของ Platform ที่เปิดให้เราเอา API ไปเรียกใช้งานจากระบบภายนอกได้

- OpenAI Platform (ChatGPT)

สร้าง API Key จาก OpenAI Platform ดูขั้นตอน.

- Google AI Studio (Gemini Pro)

สร้าง API Key จาก Google AI Studio หน้านี้

- Claude by Anthropic

สร้าง API Key จาก Anthropic Console ดูที่นี่

Dify.ai

สร้าง API Key จากแอปที่ต้องการใช้งาน ดูขั้นตอน

เชื่อมต่อ GenAI API KEY กับ Botnoi

ในการเชื่อมต่อกับแชทบอทของเคสนี้ เราจะตั้งค่าให้ทุก ๆ ข้อความที่ส่งจากผู้ใช้ ส่งต่อไปยังหลังบ้าน GenAI API ตัวใดตัวหนึ่งที่ set ไว้ทุกข้อความ

- OpenAI Platform (ChatGPT)

WARNING

การใช้งาน OpenAI Platform หากไม่มีการควบคุมการใช้งานที่ดีพอ อาจทำให้มีค่าใช้จ่ายสูง

เชื่อมต่อ Chat GPT ผ่าน chat/completion ดูขั้นตอนที่นี่

- Google AI Studio (Gemini Pro)

NOTE

ตอนนี้ฟรี แต่จะทำให้เกิดประโยชน์มากขึ้นอาจต้องใช้เชื่อมต่อกับ Dify.ai ด้านล่างเพื่อทำ Prompt ที่เป็นแนวทางการตอบข้อมูล ไม่เช่นนั้นจะเป็น Gemini ที่ตอบกว้าง มาก ๆ

เอาข้อมูล API ไปเชื่อมกับ Botnoi ดูขั้นตอนที่นี่

- Anthropic Console (Claude AI)

WARNING

การใช้งาน Claude API หากไม่มีการควบคุมการใช้งานที่ดีพอ อาจทำให้มีค่าใช้จ่ายสูง

เอาข้อมูล API ไปเชื่อมกับ Botnoi ดูขั้นตอนที่นี่

Dify.ai

การเชื่อมต่อกับ Dify.ai ด้วย Bot ที่ไม่ต้องการ input (Text Generation Only) ดูขั้นตอนที่นี่

การทำบอทที่เฉพาะทางยิ่งขึ้น

จาก API ของ Gemini กับ ChatGPT ที่ต่อไว้จะเป็นการต่อ API ตรง ๆ โดยที่เราไม่ได้ทำการ set ค่าอะไรไว้เลย การทำงานจึงจะเหมือนกับคุยกับ ChatGPT หรือ Gemini เฉย ๆ ใน Line OA

open-ai

gemini-sample

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

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

(Text Generation with 1 input)

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

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

prompt

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

{
    "inputs": {
        "topic": "<<keyword>>" // ส่วนที่เปลี่ยนแปลง
    },
    "response_mode": "blocking",
    "user": "abc-123"
}

เอาไปอัปเดทในส่วน Body ของ API botnoi ได้ดังตัวอย่างด้านล่าง

botnoi-api

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

final-sample

TIP

Line OA อาจจะเป็นหน้าบ้านได้ในบางบริบท เจ้าของ GenAI APP ต้องเลือกหน้าบ้านให้เหมาะสมการทำงานของ AI ตัวเองนะ

ข้อควระวัง

หลังจากนี้ Line OA ของเพื่อน ๆ จะตอบกลับจาก Generative AI ที่เชื่อมต่อไว้ผ่าน Botnoi Chatbot เสมอ

หากเลือกใช้ Generative AI ที่คิดเงินตามจำนวนคำที่ Prompt มาอย่าง ChatGPT หรือ Dify.ai ที่อาจจะเชื่อม LLM API ที่อาจเสียเงินตัวอื่นอยู่

WARNING

เราก็ต้องป้องกันไม่เผยแพร่ Line OA ไปให้คนอื่น ๆ ที่ไม่ใช่ผู้ใช้เป้าหมาย เพราะใครก็ตามที่เป็นเพื่อนกับ Line OA จะใช้งาน Generative API ของเราได้ทันทีผ่านการแชทกับบอท

ส่วน Gemini Pro ที่ยังฟรีอยู่อาจจะไม่ต้องกังวลมากนัก


Good Luck