สร้าง AI Agent Laravel: ใช้ Tools อัจฉริยะ 2026

สร้าง AI Agent ด้วย Laravel ที่ใช้ Tools ได้

ผมเคยเจอสถานการณ์แบบนี้มาแล้วหลายครั้ง ตอนที่ทีมงานเราต้องการสร้างระบบแนะนำสินค้าให้กับลูกค้าแต่ละราย แต่เดิมเราใช้แค่ข้อมูลการซื้อของลูกค้าแต่ละคนมาแนะนำ แต่ผลลัพธ์ออกมาไม่ค่อยดีเลย ลูกค้าหลายคนกลับไม่พอใจ เพราะระบบแนะนำสินค้าไม่ตรงกับความต้องการจริงๆ เราลองใช้แค่ข้อมูลในระบบ CRM ดูแล้วก็ยังไม่เวิร์ก เพราะลูกค้าแต่ละคนมีพฤติกรรมที่แตกต่างกันมาก

ปัญหาหลักคือการที่เรายังขาดข้อมูลเชิงลึกเกี่ยวกับความต้องการของลูกค้า เราอยากให้ระบบสามารถเข้าใจความชอบและพฤติกรรมของลูกค้าได้ดีขึ้น เพื่อให้สามารถแนะนำสินค้าที่ตรงใจลูกค้าได้มากที่สุด ตอนนี้เทคโนโลยี AI พัฒนาไปมาก เราสามารถใช้ AI agent สร้างระบบที่สามารถเรียนรู้และปรับตัวได้เองได้ ผมตั้งใจเขียนบทความนี้ขึ้นมาเพื่อแนะนำวิธีสร้าง AI agent ด้วย Laravel โดยใช้ tools ต่างๆ เช่น Ollama AI และ RAG (Retrieval Augmented Generation) ซึ่งจะช่วยให้เราสร้างระบบที่ฉลาดและตอบโจทย์ได้ดีกว่าเดิม

ทำความเข้าใจ AI Agent และ RAG

white and black typewriter with white printer paper
Photo by Markus Winkler on Unsplash

AI agent คือระบบที่สามารถทำงานต่างๆ ได้อย่างอัตโนมัติ โดยใช้ AI เพื่อตัดสินใจและดำเนินการต่างๆ RAG เป็นเทคนิคที่ใช้ในการเพิ่มประสิทธิภาพของ AI model โดยการให้ model เข้าถึงข้อมูลภายนอก เช่น knowledge base หรือ database เพื่อให้สามารถตอบคำถามและทำงานต่างๆ ได้แม่นยำยิ่งขึ้น

ก่อนที่จะเริ่มสร้าง AI agent เราต้องทำความเข้าใจเกี่ยวกับ RAG ด้วย เพราะ RAG จะเป็นหัวใจสำคัญในการทำให้ AI agent ของเราฉลาดขึ้น RAG จะช่วยให้ AI agent สามารถเข้าถึงข้อมูลที่จำเป็นในการตอบคำถามหรือทำงานต่างๆ ได้อย่างรวดเร็วและแม่นยำ

ติดตั้งและตั้งค่า Ollama AI

Ollama AI เป็น tool ที่ช่วยให้เราสามารถรัน LLM (Large Language Model) บนเครื่องของเราได้โดยไม่ต้องใช้ OpenAI API ทำให้เราสามารถลดค่าใช้จ่ายในการใช้งาน AI ได้อย่างมาก และยังควบคุมข้อมูลของเราได้เองอีกด้วย ตอนนี้ Ollama AI เวอร์ชัน 0.1.77 รองรับโมเดลต่างๆ เช่น Mistral และ Llama 2


  // ติดตั้ง Ollama
  curl -fsSL https://raw.githubusercontent.com/ollama/ollama/main/install | sh

  // รันโมเดล Mistral
  ollama run mistral
  

หลังจากติดตั้ง Ollama AI แล้ว เราสามารถรันโมเดลต่างๆ ได้โดยใช้คำสั่ง `ollama run ` ในตัวอย่างนี้ เราใช้คำสั่ง `ollama run mistral` เพื่อรันโมเดล Mistral

สร้าง AI Agent ด้วย Laravel และ Ollama AI

a computer generated image of the letter a
Photo by Steve A Johnson on Unsplash

ตอนนี้เราได้ติดตั้งและตั้งค่า Ollama AI แล้ว เราจะมาสร้าง AI agent ด้วย Laravel กัน เราจะใช้ Laravel AI SDK เพื่อช่วยในการเชื่อมต่อกับ Ollama AI

ก่อนอื่น เราต้องติดตั้ง Laravel AI SDK และ Ollama PHP client:


  composer require laravel/ai
  curl -sS https://get.ollama.com | sh
  

หลังจากติดตั้งแล้ว เราสามารถสร้าง Controller เพื่อจัดการคำถามและคำตอบของ AI agent ได้


  chat($request->input('question'));

          return response($response, 200);
      }
  }
  ?>
  

Controller นี้จะรับคำถามจากผู้ใช้และส่งไปยัง Ollama AI เพื่อให้ตอบคำถาม จากนั้น Controller จะส่งคำตอบกลับไปยังผู้ใช้

เราสามารถสร้าง Route เพื่อเรียกใช้ Controller นี้ได้:


  Route::get('/ask', [AIController::class, 'ask'])->name('ai.ask');
  

ตอนนี้เราสามารถทดสอบ AI agent ของเราได้ โดยการเข้าไปที่ URL: `http://localhost/ask` และพิมพ์คำถามลงไป

สร้าง RAG สำหรับ AI Agent

เพื่อเพิ่มประสิทธิภาพของ AI agent ของเรา เราจะสร้าง RAG ด้วย RAG จะช่วยให้ AI agent สามารถเข้าถึงข้อมูลที่จำเป็นในการตอบคำถามหรือทำงานต่างๆ ได้อย่างรวดเร็วและแม่นยำ

RAG ทำงานโดยการดึงข้อมูลที่เกี่ยวข้องจาก knowledge base แล้วนำไปผสมผสานกับคำถามของผู้ใช้ เพื่อให้ AI model สามารถสร้างคำตอบที่แม่นยำและเกี่ยวข้องมากที่สุด

ตัวอย่างการใช้งาน RAG เราสามารถใช้ Laravel AI SDK ร่วมกับ RAG ได้


  // สมมติว่าเรามี knowledge base ชื่อ 'my_knowledge_base.txt'
  // และเราต้องการดึงข้อมูลเกี่ยวกับ 'product recommendation'
  $model = new AI('mistral');
  $query = "product recommendation";

  // ดึงข้อมูลที่เกี่ยวข้องจาก knowledge base
  $context = getRelevantContext($query, $my_knowledge_base);

  // สร้าง prompt สำหรับ AI model
  $prompt = "Given the following context: " . $context . "\n\nAnswer the question: " . $query;

  // ส่ง prompt ไปยัง AI model
  $response = $model->chat($prompt);

  return response($response, 200);
  

ในตัวอย่างนี้ เราใช้ฟังก์ชัน `getRelevantContext` เพื่อดึงข้อมูลที่เกี่ยวข้องจาก knowledge base จากนั้น เราสร้าง prompt ที่รวมข้อมูลที่เกี่ยวข้องและคำถามของผู้ใช้ สุดท้าย เราส่ง prompt ไปยัง AI model เพื่อให้ AI model สร้างคำตอบ

สิ่งที่ควรระวัง / ข้อผิดพลาดที่เจอบ่อย

ตอนที่ผมสร้าง AI agent ด้วย Laravel และ Ollama AI ผมพบปัญหาหลายอย่าง ซึ่งผมอยากจะแบ่งปันให้เพื่อนๆ ที่กำลังจะเริ่มต้นด้วยกันฟัง

  • **ปัญหา:** การเชื่อมต่อกับ Ollama AI ไม่เสถียร
  • **วิธีแก้:** ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ และลองรัน Ollama AI อีกครั้ง
  • **ปัญหา:** AI model ตอบคำถามผิดพลาด
  • **วิธีแก้:** ตรวจสอบ prompt ที่คุณส่งไปยัง AI model และปรับปรุง prompt ให้ชัดเจนและถูกต้องมากขึ้น
  • **ปัญหา:** RAG ไม่สามารถดึงข้อมูลที่เกี่ยวข้องได้
  • **วิธีแก้:** ปรับปรุงวิธีการดึงข้อมูลที่เกี่ยวข้องจาก knowledge base ลองใช้เทคนิคต่างๆ เช่น keyword search, semantic search, หรือ vector search

คำถาม

คำถาม: ผมควรใช้โมเดลอะไรในการสร้าง AI agent?

คำตอบ: ขึ้นอยู่กับความต้องการของคุณ Mistral เป็นโมเดลที่ใช้งานง่ายและมีประสิทธิภาพ Llama 2 เป็นโมเดลที่ใหญ่กว่าและมีประสิทธิภาพมากกว่า แต่ต้องการทรัพยากรมากกว่า

คำถาม: ผมควรสร้าง knowledge base อย่างไร?

คำตอบ: คุณสามารถสร้าง knowledge base จากเอกสาร, website, หรือ database ของคุณ สิ่งสำคัญคือ knowledge base ต้องมีข้อมูลที่เกี่ยวข้องและถูกต้อง

คำถาม: ผมจะวัดประสิทธิภาพของ AI agent อย่างไร?

คำตอบ: คุณสามารถวัดประสิทธิภาพของ AI agent โดยการวัดความแม่นยำของคำตอบ, ความเร็วในการตอบสนอง, และความพึงพอใจของผู้ใช้

คำถาม: ผมควรเริ่มจากอะไร?

คำตอบ: เริ่มจากสร้าง AI agent ที่สามารถตอบคำถามง่ายๆ ก่อน แล้วค่อยๆ เพิ่มความซับซ้อนของ AI agent ลองใช้ Laravel AI SDK เพื่อช่วยในการเชื่อมต่อกับ Ollama AI และ RAG

คำค้นหา: AI agent, Laravel, Ollama AI, RAG, LLM, Retrieval Augmented Generation

ประสบการณ์ส่วนตัว: ผมคิดว่าการสร้าง AI agent ด้วย Laravel และ Ollama AI เป็นเรื่องที่ท้าทาย แต่ก็เป็นเรื่องที่สนุกและคุ้มค่า ผมเชื่อว่าเทคโนโลยี AI จะเข้ามามีบทบาทสำคัญในชีวิตประจำวันของเรา ดังนั้น การเรียนรู้และทดลองใช้เทคโนโลยี AI จึงเป็นสิ่งสำคัญอย่างยิ่ง สำหรับขั้นตอนต่อไป ผมจะลองนำ RAG ไปใช้กับระบบแนะนำสินค้าของบริษัท ผมคิดว่า RAG จะช่วยให้เราสามารถแนะนำสินค้าที่ตรงใจลูกค้าได้มากยิ่งขึ้น

Boonyadol Morruchai (Senior Full-stack Developer)

ผมเป็น IT Professional ที่มีประสบการณ์ในสายงานมากว่า 20 ปี เชี่ยวชาญการออกแบบระบบ Enterprise และ Automation Tools ปัจจุบันมุ่งเน้นการประยุกต์ใช้ AI (Gemini/OpenAI) เพื่อเพิ่มประสิทธิภาพในการเขียน Code และการจัดการข้อมูลขนาดใหญ่ บล็อกนี้สร้างขึ้นเพื่อแชร์ "ประสบการณ์หน้างาน" ปัญหาจริงที่เจอ และวิธีแก้ปัญหาฉบับ Senior Dev ครับ

แสดงความคิดเห็น

ใหม่กว่า เก่ากว่า