Skip to content
easy trade from home

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

บทความนี้เราจะมาพาเชื่อมต่อ Generative AI ค่ายต่าง ๆ ไม่ว่าจะเป็น ChatGPT, Gemini, Claude ผ่าน API กับ Line Official Account

จากนี้จะขอเรียก OpenAI Platform(ChatGPT) API, Gemini API, Claude API (Anthropic Console) และเจ้าอื่นรวมกันว่า "GenAI API" นะครับ

INFO

จบบทความนี้เพื่อน ๆ จะได้ Line แชทบอทที่ตอบกลับผู้ใช้ได้เหมือนคุยกับ Chat GPT โดยตรงเลย

ภาพรวม

เนื่องจาก 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 ให้ส่งค่าที่ผู้ใช้พิมพ์กลับมาด้วยตามโค้ดด้านล่างนี้

json
{
    "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