ถ้าใครที่ตามอ่านบทความของเรามาตั้งแต่ต้น ก็น่าจะสามารถสร้าง Chatbot เป็นของตัวเองได้แล้ว แต่บทความนี้จะเป็นบทความที่ช่วยเพิ่มความสามารถให้กับ Chatbot ของเราได้ ด้วยการเพิ่ม Agents หรือเพิ่มจำนวน AI ในการ Generate คำตอบ ช่วยให้คุณสามารถนำ AI เฉพาะทางมาใช้ใน Chatbot ของคุณได้ ทำให้สามารถตอบคำถามได้ละเอียดขึ้นได้ดีขึ้นกว่าเดิม ถ้าเข้าใจคอนเซปต์คร่าว ๆ แล้ว งั้นเราก็มาเริ่มกันเลยค่ะ!
สำหรับบทความนี้ก็ยังคงอ้างอิงมาจาก Demo ที่ทาง Vulture Prime ได้จัดทำขึ้น โดย Demo รอบนี้ เราได้ทำ Chatbot ที่ Specialize ด้านการสร้างเว็บไซต์ โดยจะมี AI ตัวแรกทำหน้านี้เป็นตัวแบ่ง Task งานให้แต่ละ Agents และ Agents 3 ตัว ได้แก่ Frontend Backend และ Designer ซึ่งแต่ละตัวก็จะตอบคำถามในส่วนของตัวเอง และ AI อีกหนึ่งตัวสำหรับการสรุปรวมคำตอบจาก Agents ทั้งหมด
โดยเมื่อ user ถามคำถาม เช่น “create blog” คำตอบที่ได้กลับมาจะประกอบด้วยข้อมูลในส่วนของ Frontend Backend และ Designer ซึ่งจะแบ่งออกเป็นส่วน ๆ ให้สามารถอ่านเข้าใจได้อย่างชัดเจน
ถามว่า use case จะเอาไปใช้กับที่ไหน ก็อาจจะเป็นบริษัท Software House ที่อาจจะใช้ Chatbot มาช่วยตอบคำถามเบื้องต้นของลูกค้า ซึ่งจะได้คำอธิบายที่ละเอียดมากขึ้นกว่าการใช้ LLMs เพียงตัวเดียว ก็อาจจะเป็น Gimmick เล็ก ๆ ที่เอาไว้ดึงดูดความสนใจของลูกค้าได้นะคะ 🤔
ทีนี้เรามาเจาะลึกว่า AI แต่ละตัวที่ทาง Vulture Prime ได้ทำขึ้น มีคุณสมบัติอะไรกันบ้าง ไปดูกันค่ะ!
ในส่วนของ LLMs เรายังเลือกใช้ OpenAI เป็นโมเดลในการสร้าง Chatbot เหมือนเดิมค่ะ แต่เราได้แยกออกเป็นหลาย Agents ที่ทำหน้าที่แตกต่างกัน โดย Agents มีดังนี้
Manager Agent
AI ตัวแรกคือ Manager โดยจะมีหน้าที่อยู่ 2 อย่าง อันแรกคือมีหน้าที่จัดการแยก Prompt ที่ user ถามมา ให้ Task ที่เหมาะสมและส่งต่อไปยัง Agent แต่ละตัว ซึ่งทำให้เราสามารถจัดการ Request ของ user ได้ดีขึ้นนั่นเอง
ส่วนอย่างที่ 2 คือ มีหน้าที่รวบรวมคำตอบ สรุปผลและเรียบเรียงข้อมูลที่ได้มาจาก Task Processing Agent และแสดงคำตอบไปยัง user
Task Processing Agent
ในส่วนของ Task Processing หรือ AI ที่มีหน้าที่ Generate คำตอบ เราได้แบ่งออกเป็น 3 Agents ได้แก่
ซึ่ง Agents เหล่านี้จะทำงานตาม Task ที่ได้รับจาก Manager Agents และเมื่อทำงานเสร็จเรียบร้อยก็จะส่งคำตอบกลับไปยัง Manager Agent เพื่อทำหน้าที่ในการรวบรวมคำตอบต่อไป
แล้ว API ประกอบด้วยอะไรกันบ้าง มาดูกัน!
สำหรับ API เรายังคงเลือกใช้ FastAPI เป็น Framework ในการทำ API เช่นเคย โดย API ใน Demo นี้มีดังนี้
/query
เราได้ทำ API ที่รวมการใช้งานทุก ๆ Agents โดยการเรียกใช้ API นี้ครั้งเดียว เพื่อให้ง่ายต่อการใช้งาน คือให้ทาง Frontend เรียกใช้ API นี้เมื่อ user ได้ถามคำถามมา แล้วหลังจากนั้นก็จะทำการ Generate คำตอบผ่าน Agents ต่าง ๆ และได้ผลลัพธ์กลับมาแสดงในหน้าแชทได้เลย โดยไม่ต้องเรียกผ่านหลาย API
ซึ่ง API ที่ถูกเรียกภายใน API นี้ ได้แก่
/queryWithOutChain
สำหรับคนที่ไม่ต้องการใช้งานแบบหลาย Agents เราก็ provide API ให้เชื่อมต่อกับ OpenAI โดยตรงได้
สำหรับส่วน UI เราได้ทำเป็น Chatbot เช่นเคย ก็คือมีช่องให้พิมพ์คำถามและแสดงผลตอบกลับเป็นข้อความ โดยที่ user จะสามารถถามคำถามที่มีความต่อเนื่องจากคำถามก่อนหน้าได้
เรายังคงเลือก Deploy ลงบน EC2 และใช้ API Gateway เพื่อจัดการ CORS สำหรับใครที่สนใจอยากเรียนรู้เพิ่มเติมเกี่ยวกับการใช้งาน Cloud หรือ API Gateway ก็สามารถไปอ่านบทความตามนี้ได้ค่ะ
ขายของแบบที่สุด → รวมบทความเกี่ยวกับ Cloud Computing ทั้งหมด
ซึ่งถ้าจากทั้งหมดที่เล่าไปก็จะมี user flow ดังนี้
จบไปสำหรับพาร์ทเกริ่นนำของ Multiple Agents Chatbot สำหรับใครที่สนใจอ่านต่อด้าน Frontend Backend และ Infra ก็สามารถอ่านต่อได้ในพาร์ทถัดไปได้เลยค่ะ ส่วนคนที่ยังมีข้อสงสัย มี Feedback หรือต้องการสอบถามเพิ่มเติมสามารถติดต่อที่ Facebook Page : Vulture Prime ได้เลย ไว้พบกันบทความหน้าค่ะ 👋