Image from (https://github.com/ksm26/AI-Agentic-Design-Patterns-with-AutoGen)

ทำความรู้จักกับ Agentic Design Patterns: รูปแบบการออกแบบ AI ที่ช่วยให้ระบบทำงานได้อย่างชาญฉลาด

ในยุคที่ AI กำลังเข้ามามีบทบาทสำคัญในชีวิตประจำวันของเรามากขึ้น การออกแบบระบบ AI ให้สามารถทำงานได้อย่างชาญฉลาดและมีประสิทธิภาพจึงเป็นเรื่องที่สำคัญมาก หนึ่งในแนวคิดที่น่าสนใจคือ “Agentic Design Patterns” หรือรูปแบบการออกแบบที่ช่วยให้ระบบ AI สามารถคิด ตัดสินใจ และทำงานได้อย่างอิสระ มาทำความรู้จักกับแนวคิดนี้กันให้ลึกซึ้งยิ่งขึ้น Agentic Design Patterns คืออะไร? Agentic Design Patterns เป็นแนวทางการออกแบบที่ใช้ในการสร้างระบบ AI ที่สามารถทำงานได้อย่างอิสระ (Autonomous) โดยไม่ต้องพึ่งพาการควบคุมจากมนุษย์ตลอดเวลา รูปแบบการออกแบบเหล่านี้ช่วยกำหนดวิธีการที่ระบบ AI จะคิด ตัดสินใจ และมีปฏิสัมพันธ์กับสภาพแวดล้อม รวมถึงระบบอื่นๆ เพื่อให้บรรลุเป้าหมายที่ต้องการ รูปแบบการออกแบบที่น่าสนใจ 1. ReACT - การผสมผสานระหว่างการคิดและการกระทำ ReACT (Reasoning and Acting) เป็นรูปแบบที่น่าสนใจมาก เพราะจำลองการทำงานคล้ายกับวิธีที่มนุษย์เราคิดและตัดสินใจ โดยระบบจะ: วิเคราะห์สถานการณ์และคิดหาทางแก้ไข ลงมือทำตามแผนที่วางไว้ ประเมินผลลัพธ์และปรับปรุงการตัดสินใจในรอบถัดไป ตัวอย่างที่เห็นได้ชัดคือ ระบบวางแผนการเดินทาง ที่จะสลับไปมาระหว่างการค้นหาเที่ยวบิน (การคิด) และการจองตั๋ว (การกระทำ) โดยปรับเปลี่ยนแผนตามราคาและความพร้อมของเที่ยวบินที่พบ 2. ระบบที่พัฒนาตัวเองได้ (Self-Improvement) ความน่าสนใจของรูปแบบนี้อยู่ที่ความสามารถในการเรียนรู้และพัฒนาตัวเองอย่างต่อเนื่อง เหมือนกับที่มนุษย์เราเรียนรู้จากประสบการณ์ ระบบจะ: ประเมินผลการทำงานของตัวเอง เรียนรู้จากข้อมูลใหม่ๆ ปรับปรุงกระบวนการทำงานภายใน ตัวอย่างที่เห็นได้บ่อยคือ ผู้ช่วยเขียนโค้ด ที่จะปรับปรุงคำแนะนำให้ดีขึ้นจากการวิเคราะห์ผลตอบรับของผู้ใช้ 3. Agentic RAG - การผสมผสานการค้นหาและการสร้างเนื้อหา รูปแบบนี้น่าสนใจเพราะช่วยให้ระบบ AI สามารถใช้ข้อมูลจากแหล่งภายนอกมาประกอบการตัดสินใจได้ โดย: ...

February 6, 2025 · 6 min · Apiwat Ruangkanjanapaisarn
Image from (https://www.kdnuggets.com/using-deepseek-r1-locally)

ลองเล่น Deepseek-R1 และสร้าง AI Agent ด้วย Langgraph

ในบทความนี้เราจะมาทดลองสร้าง AI Agent ที่สามารถโต้ตอบกับฐานข้อมูล SQLite โดยใช้ Deepseek-R1 ซึ่งเป็น Open Source Language Model ร่วมกับ Langgraph ซึ่งเป็นเครื่องมือสำหรับสร้าง AI workflows แบบใหม่จาก LangChain โครงสร้างของโปรเจค โปรเจคของเราประกอบด้วยไฟล์หลัก 2 ไฟล์: setup.py - สำหรับสร้างและจัดการฐานข้อมูล SQLite agent.py - สำหรับสร้าง AI Agent ที่จะโต้ตอบกับฐานข้อมูล การสร้างฐานข้อมูล เริ่มต้นจาก setup.py ที่ใช้สร้างฐานข้อมูลสินค้าตัวอย่าง โดยมีตาราง products ที่เก็บข้อมูลต่างๆ เช่น: id (PRIMARY KEY) name price category stock description last_updated โค้ดส่วนนี้จะสร้างฐานข้อมูลพร้อมข้อมูลตัวอย่างกว่า 100 รายการ แบ่งเป็นหมวดหมู่ต่างๆ เช่น Smartphones, Laptops, TVs, Audio เป็นต้น # setup.py import sqlite3 import os from datetime import datetime def init_database(): try: db_path = os.path.join(os.path.dirname(__file__), 'products.db') conn = sqlite3.connect(db_path) cursor = conn.cursor() cursor.execute('DROP TABLE IF EXISTS products') cursor.execute(''' CREATE TABLE IF NOT EXISTS products ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, price REAL NOT NULL, category TEXT NOT NULL, stock INTEGER NOT NULL, description TEXT, last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ''') cursor.execute('CREATE INDEX IF NOT EXISTS idx_products_category ON products(category)') cursor.execute('CREATE INDEX IF NOT EXISTS idx_products_price ON products(price)') cursor.execute('CREATE INDEX IF NOT EXISTS idx_products_stock ON products(stock)') products_data = [ # Smartphones (1, 'iPhone 15 Pro Max', 48900.00, 'Smartphones', 45, '1TB storage, titanium finish'), (2, 'iPhone 15 Pro', 42900.00, 'Smartphones', 50, '256GB storage, A17 Pro chip'), (3, 'iPhone 15', 32900.00, 'Smartphones', 60, '128GB storage, A16 chip'), (4, 'Samsung Galaxy S24 Ultra', 45900.00, 'Smartphones', 40, '512GB storage, S Pen included'), (5, 'Samsung Galaxy S24+', 35900.00, 'Smartphones', 45, '256GB storage, AI features'), (6, 'Samsung Galaxy S24', 29900.00, 'Smartphones', 55, '128GB storage'), (7, 'Google Pixel 8 Pro', 35900.00, 'Smartphones', 35, 'Advanced AI camera features'), (8, 'Google Pixel 8', 27900.00, 'Smartphones', 40, 'Android flagship'), (9, 'OnePlus 12', 31900.00, 'Smartphones', 30, 'Snapdragon 8 Gen 3'), (10, 'Xiaomi 14 Pro', 29900.00, 'Smartphones', 40, 'Leica optics'), # Laptops (11, 'MacBook Pro 16"', 89900.00, 'Laptops', 25, 'M3 Max chip, 32GB RAM'), ........ ] cursor.executemany(''' INSERT OR REPLACE INTO products (id, name, price, category, stock, description) VALUES (?, ?, ?, ?, ?, ?) ''', products_data) conn.commit() print("Database initialized successfully!") return conn except sqlite3.Error as e: print(f"SQLite error: {e}") return None except Exception as e: print(f"Error: {e}") return None def main(): conn = init_database() if not conn: print("Failed to initialize database") return if __name__ == "__main__": main() เราสามารถสร้างฐานข้อมูลด้วยคำสั่ง: ...

February 5, 2025 · 7 min · Apiwat Ruangkanjanapaisarn
Image from (https://ollama.com/blog/embedding-models)

ลองเล่น Local LLM ด้วย Ollama + Python

ลองเล่น Local LLM ด้วย Ollama + Python บทความนี้จะพาทุกคนมาลองใช้งาน LLM บนเครื่องคอมพิวเตอร์ส่วนตัวผ่าน Ollama และ Python เหมาะสำหรับผู้ที่อยากทดลองเล่น AI แต่กังวลเรื่องความเป็นส่วนตัวของข้อมูล หรือต้องการระบบที่ทำงานได้แม้ไม่มีอินเทอร์เน็ต ที่มาของ Large Language Model (LLM) ในช่วงไม่กี่ปีที่ผ่านมา เราได้เห็นการเติบโตอย่างก้าวกระโดดของ AI โดยเฉพาะในด้านการประมวลผลภาษาธรรมชาติ จุดเปลี่ยนสำคัญเกิดขึ้นเมื่อนักวิจัยพบว่า การสร้างโมเดลขนาดใหญ่และฝึกฝนด้วยข้อมูลมหาศาล ทำให้ AI สามารถเข้าใจและตอบโต้กับมนุษย์ได้อย่างน่าทึ่ง ปัจจุบันมีบริการ LLM มากมายให้เลือกใช้ เช่น ChatGPT, Claude, Gemini แต่หลายคนอาจกังวลเรื่องความเป็นส่วนตัวของข้อมูล หรือต้องการระบบที่ทำงานได้แม้ไม่มีอินเทอร์เน็ต นั่นคือที่มาของ Local LLM รู้จักกับ Ollama Ollama เป็นเครื่องมือที่ช่วยให้เราสามารถรัน LLM บนเครื่องคอมพิวเตอร์ส่วนตัวได้อย่างง่ายดาย รองรับโมเดลหลากหลาย เช่น Llama 3, Mistral, CodeLlama โดยมีจุดเด่นคือ: ติดตั้งง่าย รองรับทั้ง Windows, macOS และ Linux มี API ที่ใช้งานสะดวก ประสิทธิภาพดี ใช้ทรัพยากรเครื่องน้อย รองรับการปรับแต่งโมเดลได้ตามต้องการ การติดตั้ง 1. ติดตั้ง Ollama สำหรับ macOS: ...

February 2, 2025 · 4 min · Apiwat Ruangkanjanapaisarn