Semantica: Open Source Graph-Native Infrastructure for Context
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** DevsKingdom · **ความยาว:** ~14 นาที · **ลิงก์:** https://www.youtube.com/watch?v=TfD0sMJGt2M
# สรุป: Semantica: Open Source Graph-Native Infrastructure for Context - **ช่อง:** DevsKingdom · **ความยาว:** ~14 นาที · **ลิงก์:** https://www.youtube.com/watch?v=TfD0sMJGt2M ## ประเด็นหลัก - วิดีโอแนะนำโปรเจกต์โอเพนซอร์สชื่อ Semantica ซึ่งเป็น infrastructure แบบ graph-native สำหรับจัดการ context และระบบ AI ที่ตรวจสอบได้ (accountable AI) - โปรเจกต์แปลง string เป็น context ที่สมบูรณ์แบบกราฟ ช่วยให้ AI agent เข้าใจบริบทและตัดสินใจได้ดีขึ้น ปัจจุบันมีประมาณ 8,000 stars บน GitHub - readme เปรียบเทียบให้เห็นว่า Semantica ดีกว่าแนวทางดั้งเดิมอย่าง vector DB และ MemGPT รวมถึง plain memory ในการดึงและทำความเข้าใจ context - สถาปัตยกรรมเริ่มจาก raw context ผ่านการ parse, normalize, แยกเป็น entities และ edges, ตรวจจับความขัดแย้ง (conflict detection), dedupe แล้วสร้าง knowledge graph เก็บใน vector store - รองรับหลายวิธีในการดึงข้อมูล เช่น graph services, MCP server, CLI และ REST API รวมถึง polyglot graph store สำหรับ export และ visualize - รองรับ shared context ให้ agent หลายตัวใช้ context ร่วมกันได้ เช่น แชร์ให้ researcher agent, knowledge store หรือทั้งทีม - เดโมแสดง visualizer ของ Semantica เช่น กราฟข้อมูล Apple Inc. ที่แยกเป็น 114 โหนดและ 11 ขอบ พร้อมฟีเจอร์ temporal scrubber, link prediction, ค้นหา, heatmap, group view และ decision graph - ฟีเจอร์ decision intelligence ช่วยบันทึก ติดตาม และวิเคราะห์การตัดสินใจ เช่น build graph, record decision, trace decision trend, check decision rules - เชื่อมต่อกับ coding agents ได้ผ่าน MCP หรือ backend server เช่น Claude Code และ Codex - ขั้นตอนติดตั้ง: clone repository, pip install, ติดตั้ง openai และ PyCon (สำหรับ vector store กับ embeddings), เริ่ม semantic kernel ผ่าน CLI หรือ REST server และตั้ง environment variables เช่น SEMANTICA_API_KEY_ALLOW_ANONYMOUS (ควรเป็น false ใน production) - สรุปท้ายวิดีโอแนะนำให้กด subscribe และคอมเมนต์หากมีคำถาม ## ความเห็นสรุป วิดีโอนี้อธิบาย Semantica ได้ครอบคลุมทั้งแนวคิด สถาปัตยกรรม การใช้งานจริงผ่าน visualizer และขั้นตอนติดตั้งทีละขั้นตอน เหมาะสำหรับนักพัฒนาที่ต้องการให้ AI agent เข้าใจบริบทได้ลึกขึ้นและตรวจสอบการตัดสินใจย้อนหลังได้ครับ อย่างไรก็ตาม คำบรรยายเป็นแบบอัตโนมัติทำให้มีบางคำที่ฟังไม่ชัดหรือเพี้ยนไปบ้าง แต่โดยรวมเนื้อหายังเข้าใจได้ชัดเจน
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
สวัสดีครับทุกคน ยินดีต้อนรับสู่วิดีโอใหม่ของผม วันนี้ในบทช่วยสอน (tutorial) เราจะมาดูโปรเจกต์ที่เจ๋งมาก ๆ ชื่อว่า Semantica ครับ นี่คือ infrastructure แบบ graph-based สำหรับ context และระบบ accountable AI (AI ที่ตรวจสอบได้) โปรเจกต์นี้แปลง string (ข้อความ) ให้เป็น context ที่สมบูรณ์แบบกราฟ เพื่อให้ agent เข้าใจได้ดีขึ้นและตัดสินใจได้ดีขึ้นครับ
ถ้าดูที่จำนวน stars (ดาว) ตอนนี้มีถึง 8K stars แล้วครับ แสดงว่าคนมองว่าเป็นโปรเจกต์ที่ดี และถ้าดูใน readme (ไฟล์คำอธิบายโปรเจกต์) เขาก็มีตัวอย่างให้ดูว่าหน้าตาเป็นยังไง เดี๋ยวผมจะพาไปดูวิธีติดตั้งและวิธีรัน (run) ท้ายวิดีโอนี้ครับ แต่อย่างที่เห็น นี่คือตัวอย่างเจ๋ง ๆ ที่โชว์ให้เห็นว่ามันทำงานยังไงผ่านการ visualize (สร้างภาพแสดงผล) ครับ
และถ้าดูส่วนอื่น ๆ ใน readme จะเห็นความแตกต่างระหว่างแนวทาง vector DB (ฐานข้อมูลเวกเตอร์) กับแนวทาง MemGPT และความแตกต่างระหว่าง Semantica กับแนวทาง plain memory (หน่วยความจำแบบธรรมดา) ครับ ซึ่งแสดงให้เห็นชัดเจนว่า Semantica ดีกว่าแนวทางดั้งเดิมอื่น ๆ ทั้งในเรื่องการดึง context กลับมา (retrieving context) และการทำความเข้าใจ context ครับ
ถ้าดูที่ตัวอย่าง ตัวอย่างแรกคือเรื่อง context graph (กราฟบริบท) ตัดสินใจยังไงครับ ซึ่งสำคัญมาก เพราะทุกอย่างลงเอยที่การตัดสินใจโดยอิงจาก context ถ้าดูที่ context graph จะเห็นว่าต้อง build graph (สร้างกราฟ) ก่อน และถ้าอยากบันทึกการตัดสินใจ ก็แค่ทำ graph record decision (บันทึกการตัดสินใจลงกราฟ) และจาก decision นั้น เราก็ trace decision trend (ติดตามแนวโน้มการตัดสินใจ) ได้ว่าการตัดสินใจเกิดขึ้นยังไง หา decision ที่คล้ายกัน วิเคราะห์ผลกระทบของ decision (analyze decisions impact) และตรวจสอบกฎของการตัดสินใจ (check decision rules) ครับ
โดยพื้นฐานแล้ว สิ่งนี้ช่วยให้ agent เข้าใจว่า context ทำงานยังไง และจะตัดสินใจได้ดีขึ้นในบริบทต่าง ๆ แทนที่จะแค่ส่ง LLM query (คำสั่งไปยังโมเดลภาษา) ให้ agent ตัดสินใจเอง มันให้ context ที่ดีกว่าแก่พวกเขา เพื่อให้ตัดสินใจได้ดีขึ้นครับ ผมว่ามีประโยชน์มาก
ต่อไป ถ้าดูที่ architecture (สถาปัตยกรรม) เดี๋ยวเราจะได้ดูกันว่า architecture ทำงานยังไงในโค้ดจริง แต่นี่เป็นคำอธิบายคร่าว ๆ ก่อนครับ เริ่มจาก sources (แหล่งข้อมูล) ซึ่งเป็น raw context (บริบทดิบ) จากนั้น context ก็จะถูกนำไป parse (แยกวิเคราะห์) แปลงเป็น object (ออบเจกต์) ปรับให้เป็นมาตรฐาน (normalize) แล้วแยก context ออกเป็น entities (เอนทิตี้) และ edges (ขอบหรือความสัมพันธ์) ต่าง ๆ รวมถึง extract (ดึง) ทุกอย่างออกมา จากนั้นก็ตรวจหาความขัดแย้ง (conflict detection) เพื่อลบความขัดแย้งออก และทำ dedupe (ลบข้อมูลซ้ำ) ครับ หลังจากนั้นก็ build knowledge graph (กราฟความรู้) เพื่อใช้ vector store (ที่เก็บข้อมูลเวกเตอร์) ในการเก็บและดึงข้อมูลกลับมา และยังใช้ polyglot graph store (ที่เก็บกราฟแบบหลากหลายรูปแบบ) เพื่อ export (ส่งออก) และ visualize ข้อมูลได้ด้วยครับ
นอกจากนี้ยังมีวิธีดึงข้อมูลหลายแบบ อย่างเช่น server ที่อิงกับ graph services (บริการแบบกราฟ) และยังมีแนวทางแบบ MCP (Model Context Protocol) และ CLI (ส่วนติดต่อบรรทัดคำสั่ง) อีกด้วย เจ๋งมากครับ และในส่วนอื่น ๆ ก็พูดถึง decision intelligence (ปัญญาการตัดสินใจ) ที่เราคุยกันก่อนหน้านี้ แต่มีคำอธิบายละเอียดว่าแต่ละฟังก์ชันทำอะไร พร้อมตัวอย่างที่ชัดเจนที่เขาทำเอกสารไว้ และยังมีตัวอย่างพื้นฐานวิธีเพิ่ม edges และ nodes (โหนด) ลงในกราฟ และดึงข้อมูลกลับมาจาก context store (ที่เก็บ context) ด้วยครับ
พวกเขาเก็บทุกอย่างลงใน vector store แล้วก็ query (สอบถาม) โดยใช้ context เพื่อดึงคำถามกลับมาครับ ท้ายสุด พวกเขายังพูดถึง shared context (context ที่ใช้ร่วมกัน) ด้วย ถ้ามี agent หลายตัว จะแชร์ context กันยังไง โดยปกติจะแชร์ context แบบ per agent (ต่อเอเจนต์) คือแต่ละ agent ก็มี context ของตัวเอง แต่ context เดียวกันนี้สามารถแชร์ให้ agent หลายตัวใช้ร่วมกันได้ ซึ่งมีประโยชน์มาก เช่น เราสามารถแชร์ context นั้นไปให้ researcher agent (เอเจนต์นักวิจัย) และ knowledge store (ที่เก็บความรู้) รวมถึงใส่ agent ลงในทีม (team) ได้ ระบบทั้งหมดจะเห็น context ชุดเดียวกันบนโครงสร้างพื้นฐานแบบกราฟครับ และในส่วนข้อมูลอื่น ๆ ก็พูดถึงเรื่องอื่นด้วย เช่น การทำ MCP server integrations (การเชื่อมต่อกับเซิร์ฟเวอร์ MCP) และ REST API integrations ซึ่งเป็นตัวอย่างที่ดีให้ลองเล่นดูครับ
หลังจากพูดมาทั้งหมดแล้ว มาดูกันว่าจริง ๆ แล้วมันหน้าตาเป็นยังไงครับ เราตั้งค่าทุกอย่างไว้แล้ว จะเห็นว่านี่คือเวอร์ชันเว็บ หรือ visualizer ของ Semantica ครับ เราสามารถสร้างกราฟได้แค่ป้อนข้อมูลเข้าไป แล้วจะเห็นอะไรประมาณนี้ครับ โดยพื้นฐานจะมี nodes และ edges และเห็นความสัมพันธ์ระหว่างโหนดต่าง ๆ ได้ครับ
ตัวอย่างเช่น นี่คือ Apple Inc. ครับ ว่า Apple Inc. เริ่มต้นยังไง ถ้าดูที่ context ที่เราให้ไป นี่คือตัวอย่าง context ครับ พวกเขาแยก context นี้ออกเป็น edges และ nodes ต่าง ๆ รวมแล้วเป็น 114 nodes และ 11 edges นี่คือ context ทั้งหมดที่บอกว่า Apple คืออะไร เริ่มยังไง ก่อตั้งยังไง และผู้ก่อตั้งเป็นใครครับ หลังจากนั้นก็สร้างกราฟขึ้นมา โดยมีสองวิธี วิธีแรกคือวิธีดั้งเดิม (traditional) คือสร้างด้วยมือ วิธีที่สองคือใช้ LLM (Large Language Model หรือโมเดลภาษาขนาดใหญ่) ซึ่งเป็นแนวทางแบบ LLM ครับ
อย่างแรก เขาอ่าน context ซึ่งเป็น context ขนาดใหญ่ แล้วถ้าใช้ LLM ก็แค่ให้ LLM ดึงทุกอย่างออกมา พวกเขาใช้ LLM extract ทุกอย่าง จากนั้นใช้ relationship extractor (ตัวแยกความสัมพันธ์) เพื่อสร้างความสัมพันธ์ เริ่มจาก extract entities แล้วก็ extract edges หลังจากนั้นก็ใส่ทุกอย่างเข้าไปใน graph builder (ตัวสร้างกราฟ) โดยใช้ edges และ entities ในการสร้างกราฟ แล้วก็เริ่ม query กราฟได้ และยัง dump (ส่งออก) เป็นไฟล์ JSON แล้ว visualize ได้ด้วยครับ ในตัวอย่างนี้ เราใช้ไฟล์ dump JSON ที่ชื่อว่า our I'm demo graph เพื่อรัน demo นี้ จะเห็นว่านี่คือกราฟ demo ของเรา เรารันมันด้วย Semantica Explorer ซึ่งเป็นสิ่งที่คุณเห็นเมื่อกี้ครับ
โดยพื้นฐานแล้ว มันแทน context ทั้งหมด แต่เป็นแบบกราฟครับ ถ้าส่ง context ทั้งก้อนนี้เป็น query ไปให้ agent มันยากมาก เพราะ context ใหญ่มาก บางที agent ก็เข้าใจผิดหรือไม่ค่อยเข้าใจ แต่พอแยกเป็นกราฟที่มี edges และ nodes พร้อมช่วยในการตัดสินใจ (decision making) แล้ว ก็ช่วยนำทางให้ agent เข้าใจ context ได้ดีขึ้นครับ อย่างที่เห็น เขาแยกมันเป็น 140 nodes และ 10 edges ครับ
พอคลิกที่โหนด ก็จะเห็นข้อมูลละเอียดของแต่ละโหนด และความสัมพันธ์ระหว่างโหนดเหล่านั้นครับ และยังมี temporal scrubber (ตัวเลื่อนดูตามเวลา) คลิกปุ่มต่าง ๆ เพื่อดูรายละเอียดเพิ่มเติม และดูรายละเอียดของโหนดและขอบต่าง ๆ ได้ครับ นี่คือปุ่ม toggle (สลับเปิดและปิด) ตัวอย่างเช่น โหมด direct neighbor (เพื่อนบ้านโดยตรง) คลิกโหนดเดียว ก็เห็นเพื่อนบ้านทั้งหมดได้ครับ
สำหรับ Apple กับ iPhone เราคลิกโหนดที่เป็นปี 2007 จะเห็นว่ามันเชื่อมกับ iPhone และ Apple จริง ๆ เห็นได้ในส่วน neighborhood (ย่านใกล้เคียง) และยังมี temporal context (บริบทตามเวลา) ดูได้ว่ามันเปลี่ยนไปตามลำดับเวลายังไง เจ๋งมากและมีโครงสร้างดีมากครับ และยังคลิกไปรอบ ๆ เพื่อรัน link prediction (การคาดการณ์ความเชื่อมโยง) ได้ สะดวกมาก และยังค้นหาได้ เช่น ค้นหา Apple ก็จะได้โหนดต่าง ๆ ที่เกี่ยวกับ Apple เช่น Apple orientation concept, Apple Park และ Apple Silicon เป็นต้น เห็นง่ายมากว่าโหนดไหนเกี่ยวข้องกับ context ที่เราป้อนเข้าไปครับ
ยังมีโหมด agomode เห็นได้เลยครับ และยังมี heatmap (แผนที่ความร้อน) ทั้งแบบ structural (เชิงโครงสร้าง) และแบบ semantic (เชิงความหมาย) ครับ มีฟีเจอร์มากมายอยู่ใน visualizer นี้ มี group view (มุมมองแบบกลุ่ม) ด้วย และมี full graph (กราฟเต็ม) ที่เราเพิ่งเห็น มีวิธีมองรอบ ๆ หลายแบบเพื่อเห็นแง่มุมต่าง ๆ ของ context ครับ
สำหรับการวิเคราะห์ ถ้ามี decision tree (ต้นไม้การตัดสินใจ) เขาจะวิเคราะห์ให้ได้ครับ เดี๋ยวจะให้ดูกันทีหลังว่าหน้าตาเป็นยังไง และยังมี decisions (การตัดสินใจ) ที่บันทึกไว้ทั้งหมด ถ้ามี ก็จะแสดงขึ้นมาตรงนี้ครับ เช่น ถ้าคุณสร้าง decision ต่าง ๆ กัน นี่คือตัวอย่างแบบ LLM เราจะโชว์ตัวอย่าง decision ให้ดู เช่น ถ้าอยาก visualize decision โดยใช้ decision graph (กราฟการตัดสินใจ) แค่คลิก มันก็จะเปิด explorer พร้อม decision graph ขึ้นมา รอสักครู่เพื่อดูว่าหน้าตาเป็นยังไงครับ กลับไปที่ visualizer กัน โอเค รีเฟรชมันก่อนครับ จะเห็นว่านี่คือ decision tree ถ้าสร้าง decision มันก็จะแสดงภาพตรงนี้
ตัวอย่างเช่น decision ที่เราเพิ่มในตัวอย่างคือ decision demo ครับ จะเห็นว่าเขาสร้าง decision ไว้สองอัน คือ decision หนึ่ง กับ decision สอง จากนั้นก็ส่งออก decision tree graph เป็น JSON แล้วพอใส่เข้าไปใน visualizer ก็จะเห็นว่ามีการตัดสินใจเกิดขึ้นแล้วครับ เป็นโปรเจกต์ที่มีประโยชน์มาก ช่วยให้เข้าใจ context ได้ดีขึ้น และยังเอาไปใช้กับ agent ได้ด้วย ถ้าใส่เข้าไปใน MCP หรือ backend server (เซิร์ฟเวอร์แบ็กเอนด์) ก็จะเชื่อมต่อกับ coding agents (เอเจนต์เขียนโค้ด) ต่าง ๆ ได้ เช่น Claude Code และ Codex ครับ ตัวอย่างเช่น ถ้ามี MCP อยู่ตรงนี้ ก็ใช้ Codex หรือ Claude Code ในการ query ได้ สุดยอดมากครับ
การติดตั้งก็ค่อนข้างตรงไปตรงมาเหมือนที่พูดตอนต้นวิดีโอ เดี๋ยวจะพาไปดูขั้นตอนทีละขั้นตอนครับ สิ่งแรกที่ต้องทำคือติดตั้งโปรเจกต์ (ในคำบรรยายฟังเป็น Rapple น่าจะหมายถึง repository) มีตัวอย่างที่ผมเพิ่มไว้ตรงนี้ ขั้นแรก clone repository (คัดลอกที่เก็บโค้ด) ลงมา แล้วรัน pip install ให้แน่ใจว่าติดตั้งครบทุกอย่าง การติดตั้งทุกอย่างให้ครบช่วยได้มากครับ จากนั้นต้องติดตั้ง openai สำหรับแนวทางแบบ LLM ที่เราโชว์ตอนต้น และต้องติดตั้ง PyCon (ในคำบรรยาย น่าจะเป็นแพ็กเกจสำหรับ vector store) สำหรับ vector store และ embeddings (การฝังเวกเตอร์) ด้วยครับ จากนั้นก็สตาร์ท semantic kernel (เคอร์เนลของ Semantica) ผ่าน CLI หรือจะรันเป็น semantic kernel server ซึ่งเป็น REST server ก็ได้ และยังมี explorer ที่ไว้สำรวจข้อมูลโดยเฉพาะ อันนี้จะให้การดึงข้อมูลจาก query ต่าง ๆ แต่ที่แน่ ๆ คือมันจะ visualize entities และ edges เพื่อแสดงภาพ context ทั้งหมด และรัน query ต่าง ๆ กับ context ได้ครับ และยังทำ magical semantic MCP (MCP ของ Semantica) ได้ด้วยครับ
ต่อมาเป็น environment variables (ตัวแปรสภาพแวดล้อม) ต่าง ๆ ที่ต้องตั้งค่าเพื่อให้ Semantica ทำงานครับ เช่น ต้องตั้ง log origins และ explorer CORS origins (การอนุญาต CORS) ถ้าอยากตั้งค่าบน VPS (เซิร์ฟเวอร์เสมือนส่วนตัว) และต้องตั้งค่า SEMANTICA_API_KEY_ALLOW_ANONYMOUS (อนุญาตการเข้าถึงแบบไม่ระบุตัวตน) ถ้าอยากทดสอบ ตอนนี้ตั้งเป็น false แต่ตั้ง true ได้เหมือนกัน อันนี้คืออนุญาตการเข้าถึงแบบ anonymous ครับ แต่ใน production (ระบบจริง) ควรตั้งเป็น false เพื่อความปลอดภัย อย่าตั้งเป็น true ในสภาพแวดล้อมสาธารณะเด็ดขาด ให้ตั้ง false ใน public environment ถ้าอยากทดสอบก็ปิดได้ครับ
และสำหรับ OpenAI หรือแนวทางอื่นที่อิง LLM ก็ต้องตั้ง OpenAI API key และ base URL ด้วยครับ ในกรณีนี้เราใช้ Buddha (ในคำบรรยาย ฟังไม่ชัด) จะใช้โมเดลอื่นก็ได้ ในเดโมนี้เราใช้ GPT 5.5 ของ OpenAI จะใช้โมเดลอื่นก็ได้ เช่น ถ้าอยากใช้ Llama ก็ได้ครับ และจะเห็นว่าเราสร้าง visualizer หลายตัวกับกราฟหลายแบบ เราสร้างกราฟแล้ว export เป็น JSON จากนั้นใช้ Semantica Explorer visualize ได้ครับ เอาล่ะ น่าจะประมาณนี้ครับ หวังว่าวิดีโอนี้จะมีประโยชน์ ถ้าชอบวิดีโอนี้ ช่วยกด subscribe หรือคอมเมนต์ถ้ามีคำถามนะครับ ขอบคุณมากที่ support ช่อง และเจอกันในวิดีโอหน้านะครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- ## จุดที่ฟังไม่ชัด / คำบรรยายเพี้ยน (auto-caption garbles)
- 7. **"our I'm demo graph"** (~6:10, ~6:20) → ฟังไม่ชัด เป็นชื่อไฟล์ demo graph เก็บชื่อตามคำบรรยาย
- 9. **"PyCon"** (~11:45) → ฟังไม่ชัด น่าจะเป็นชื่อแพ็กเกจสำหรับ vector store/embeddings เก็บชื่อตามคำบรรยาย
- 10. **"we use Buddha"** (~13:15) → ฟังไม่ชัด น่าจะเป็นชื่อบริการโมเดล เก็บชื่อตามคำบรรยาย
- 15. **"I can short contacts"** (~3:50) → ฟังไม่ชัด น่าจะพูดถึงการแชร์ context ระหว่าง agent แปลตามบริบท
- 17. **"Apple orientation concept"** (~8:15) → ฟังไม่ชัด เก็บคำตามคำบรรยาย
- 18. **"agomode"** (~8:25) → ฟังไม่ชัด ชื่อโหมดใน visualizer เก็บคำตามคำบรรยาย
- จุดที่ฟังไม่ชัดเก็บคำตามคำบรรยายอัตโนมัติและระบุไว้ในรายงานนี้ ไม่มีการเดาเติมเนื้อหา
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| Semantica | โปรเจกต์โอเพนซอร์ส โครงสร้างพื้นฐานแบบ graph-native สำหรับ context และระบบ AI ที่ตรวจสอบได้ |
| graph-native infrastructure | โครงสร้างพื้นฐานที่ออกแบบมาให้อิงกราฟเป็นหลัก |
| context | บริบท ข้อมูลแวดล้อมที่ช่วยให้เข้าใจสิ่งใดสิ่งหนึ่ง |
| accountable AI systems | ระบบ AI ที่ตรวจสอบย้อนหลังได้ มีความรับผิดชอบต่อการตัดสินใจ |
| agent | เอเจนต์ ตัวแทนอัตโนมัติที่ทำงานตามเป้าหมาย |
| LLM (Large Language Model) | โมเดลภาษาขนาดใหญ่ |
| LLM query | คำสั่งสอบถามที่ส่งไปยังโมเดลภาษา |
| vector DB / vector store | ฐานข้อมูลเวกเตอร์ / ที่เก็บข้อมูลเวกเตอร์ ใช้เก็บ embeddings เพื่อค้นหาความคล้ายคลึง |
| embeddings | การฝังเวกเตอร์ การแปลงข้อมูลให้เป็นเวกเตอร์ตัวเลข |
| MemGPT | ระบบหน่วยความจำแบบ agent ที่ใช้ LLM จัดการหน่วยความจำ |
| plain memory | หน่วยความจำแบบธรรมดา |
| knowledge graph | กราฟความรู้ โครงสร้างข้อมูลที่แสดงความรู้เป็นโหนดและความสัมพันธ์ |
| context graph | กราฟบริบท กราฟที่แทน context ทั้งหมด |
| node | โหนด จุดในกราฟแทน entity |
| edge | ขอบ เส้นเชื่อมแทนความสัมพันธ์ระหว่างโหนด |
| entity | เอนทิตี้ สิ่งที่ถูกแทนในกราฟ เช่น บุคคล สถานที่ สิ่งของ |
| graph builder | ตัวสร้างกราฟ |
| relationship extractor | ตัวแยกความสัมพันธ์ระหว่าง entities |
| conflict detection | การตรวจจับความขัดแย้งของข้อมูล |
| dedupe | การลบข้อมูลซ้ำ |
| parse | แยกวิเคราะห์ข้อมูล |
| normalize | ปรับข้อมูลให้เป็นมาตรฐาน |
| polyglot graph store | ที่เก็บกราฟที่รองรับหลายรูปแบบ (เช่น RDF, Labeled Property Graph) |
| vector store | ดู vector DB |
| context store | ที่เก็บ context |
| shared context | context ที่ใช้ร่วมกันระหว่าง agent หลายตัว |
| decision intelligence | ปัญญาการตัดสินใจ การวิเคราะห์และจัดการการตัดสินใจ |
| decision graph / decision tree | กราฟการตัดสินใจ / ต้นไม้การตัดสินใจ |
| build graph / record decision / trace decision trend | ฟังก์ชันใน Semantica: สร้างกราฟ / บันทึกการตัดสินใจ / ติดตามแนวโน้มการตัดสินใจ |
| visualizer / Semantica Explorer | ตัวแสดงภาพกราฟและ context แบบอินเทอร์แอกทีฟ |
| temporal scrubber | ตัวเลื่อนดูข้อมูลตามช่วงเวลา |
| link prediction | การคาดการณ์ความเชื่อมโยงระหว่างโหนด |
| heatmap | แผนที่ความร้อน แสดงความเข้มของข้อมูล |
| group view | มุมมองแบบกลุ่ม |
| MCP (Model Context Protocol) | โปรโตคอลเชื่อมต่อ context ระหว่างแอปพลิเคชันกับโมเดล |
| CLI | ส่วนติดต่อบรรทัดคำสั่ง |
| REST API | API แบบ REST สำหรับเชื่อมต่อระบบ |
| backend server | เซิร์ฟเวอร์แบ็กเอนด์ |
| coding agents | เอเจนต์ที่ช่วยเขียนโค้ด |
| Claude Code | เครื่องมือเขียนโค้ดด้วย AI ของ Anthropic |
| Codex | เครื่องมือเขียนโค้ดด้วย AI ของ OpenAI |
| environment variables | ตัวแปรสภาพแวดล้อมที่ใช้ตั้งค่าการทำงาน |
| CORS origins | การตั้งค่าว่าอนุญาตให้ origin ใดเข้าถึงทรัพยากรข้ามโดเมนได้ |
| VPS | เซิร์ฟเวอร์เสมือนส่วนตัว |
| repository / repo | ที่เก็บโค้ดของโปรเจกต์ |
| pip install | คำสั่งติดตั้งแพ็กเกจ Python |
| JSON | รูปแบบไฟล์ข้อมูลแบบคีย์-ค่า |
| export / dump | การส่งออกข้อมูล |
| query | คำสั่งสอบถามข้อมูล |
| readme | ไฟล์คำอธิบายโปรเจกต์ |
| stars | จำนวนดาวบน GitHub บ่งชี้ความนิยมของโปรเจกต์ |
| tutorial | บทช่วยสอน |
| infrastructure | โครงสร้างพื้นฐาน |
| raw context | บริบทดิบที่ยังไม่ผ่านการประมวลผล |
| researcher agent | เอเจนต์นักวิจัย |
| knowledge store | ที่เก็บความรู้ |
| Apple Inc., iPhone, Apple Park, Apple Silicon | ชื่อบริษัทและผลิตภัณฑ์ในตัวอย่าง (ไม่แปล) |
| GPT 5.5, Llama | ชื่อโมเดลภาษา (ไม่แปล) |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:03,889 สวัสดีครับทุกคน ยินดีต้อนรับสู่วิดีโอใหม่ของผม 2 00:00:03,889 --> 00:00:06,255 วันนี้ในบทช่วยสอน (tutorial) 3 00:00:06,255 --> 00:00:09,383 เราจะมาดูโปรเจกต์ที่เจ๋งมาก ๆ ชื่อว่า 4 00:00:09,383 --> 00:00:12,765 Semantica ครับ นี่คือ infrastructure แบบ
เปิดดูซับไตเติ้ลทั้งหมด (253 segments)
1 00:00:00,000 --> 00:00:03,889 สวัสดีครับทุกคน ยินดีต้อนรับสู่วิดีโอใหม่ของผม 2 00:00:03,889 --> 00:00:06,255 วันนี้ในบทช่วยสอน (tutorial) 3 00:00:06,255 --> 00:00:09,383 เราจะมาดูโปรเจกต์ที่เจ๋งมาก ๆ ชื่อว่า 4 00:00:09,383 --> 00:00:12,765 Semantica ครับ นี่คือ infrastructure แบบ 5 00:00:12,765 --> 00:00:16,653 graph-based สำหรับ context และระบบ accountable 6 00:00:16,653 --> 00:00:20,373 AI (AI ที่ตรวจสอบได้) โปรเจกต์นี้แปลง string 7 00:00:20,373 --> 00:00:24,008 (ข้อความ) ให้เป็น context ที่สมบูรณ์แบบกราฟ 8 00:00:24,008 --> 00:00:25,191 เพื่อให้ agent 9 00:00:25,191 --> 00:00:28,488 เข้าใจได้ดีขึ้นและตัดสินใจได้ดีขึ้นครับ 10 00:00:28,488 --> 00:00:32,376 ถ้าดูที่จำนวน stars (ดาว) ตอนนี้มีถึง 8K stars 11 00:00:32,376 --> 00:00:35,842 แล้วครับ แสดงว่าคนมองว่าเป็นโปรเจกต์ที่ดี 12 00:00:35,842 --> 00:00:39,224 และถ้าดูใน readme (ไฟล์คำอธิบายโปรเจกต์) 13 00:00:39,224 --> 00:00:42,436 เขาก็มีตัวอย่างให้ดูว่าหน้าตาเป็นยังไง 14 00:00:42,436 --> 00:00:46,071 เดี๋ยวผมจะพาไปดูวิธีติดตั้งและวิธีรัน (run) 15 00:00:46,071 --> 00:00:48,860 ท้ายวิดีโอนี้ครับ แต่อย่างที่เห็น 16 00:00:48,860 --> 00:00:50,551 นี่คือตัวอย่างเจ๋ง ๆ 17 00:00:50,551 --> 00:00:57,990 ที่โชว์ให้เห็นว่ามันทำงานยังไงผ่านการ visualize (สร้างภาพแสดงผล) ครับ และถ้าดูส่วนอื่น ๆ 18 00:00:57,990 --> 00:01:01,371 ใน readme จะเห็นความแตกต่างระหว่างแนวทาง 19 00:01:01,371 --> 00:01:05,260 vector DB (ฐานข้อมูลเวกเตอร์) กับแนวทาง MemGPT 20 00:01:05,260 --> 00:01:08,726 และความแตกต่างระหว่าง Semantica กับแนวทาง 21 00:01:08,726 --> 00:01:12,107 plain memory (หน่วยความจำแบบธรรมดา) ครับ 22 00:01:12,107 --> 00:01:14,981 ซึ่งแสดงให้เห็นชัดเจนว่า Semantica 23 00:01:14,981 --> 00:01:18,785 ดีกว่าแนวทางดั้งเดิมอื่น ๆ ทั้งในเรื่องการดึง 24 00:01:18,785 --> 00:01:21,744 context กลับมา (retrieving context) 25 00:01:21,744 --> 00:01:24,364 และการทำความเข้าใจ context ครับ 26 00:01:24,364 --> 00:01:28,168 ถ้าดูที่ตัวอย่าง ตัวอย่างแรกคือเรื่อง context 27 00:01:28,168 --> 00:01:31,127 graph (กราฟบริบท) ตัดสินใจยังไงครับ 28 00:01:31,127 --> 00:01:32,226 ซึ่งสำคัญมาก 29 00:01:32,226 --> 00:01:35,692 เพราะทุกอย่างลงเอยที่การตัดสินใจโดยอิงจาก 30 00:01:35,692 --> 00:01:39,411 context ถ้าดูที่ context graph จะเห็นว่าต้อง 31 00:01:39,411 --> 00:01:41,778 build graph (สร้างกราฟ) ก่อน 32 00:01:41,778 --> 00:01:45,244 และถ้าอยากบันทึกการตัดสินใจ ก็แค่ทำ graph 33 00:01:45,244 --> 00:01:48,710 record decision (บันทึกการตัดสินใจลงกราฟ) 34 00:01:48,710 --> 00:01:52,176 และจาก decision นั้น เราก็ trace decision 35 00:01:52,176 --> 00:01:54,881 trend (ติดตามแนวโน้มการตัดสินใจ) 36 00:01:54,881 --> 00:01:58,431 ได้ว่าการตัดสินใจเกิดขึ้นยังไง หา decision 37 00:01:58,431 --> 00:02:01,813 ที่คล้ายกัน วิเคราะห์ผลกระทบของ decision 38 00:02:01,813 --> 00:02:04,011 (analyze decisions impact) 39 00:02:04,011 --> 00:02:07,561 และตรวจสอบกฎของการตัดสินใจ (check decision 40 00:02:07,561 --> 00:02:11,027 rules) ครับ โดยพื้นฐานแล้ว สิ่งนี้ช่วยให้ 41 00:02:11,027 --> 00:02:13,901 agent เข้าใจว่า context ทำงานยังไง 42 00:02:13,901 --> 00:02:16,860 และจะตัดสินใจได้ดีขึ้นในบริบทต่าง ๆ 43 00:02:16,860 --> 00:02:18,889 แทนที่จะแค่ส่ง LLM query 44 00:02:18,889 --> 00:02:22,608 (คำสั่งไปยังโมเดลภาษา) ให้ agent ตัดสินใจเอง 45 00:02:22,608 --> 00:02:25,398 มันให้ context ที่ดีกว่าแก่พวกเขา 46 00:02:25,398 --> 00:02:27,849 เพื่อให้ตัดสินใจได้ดีขึ้นครับ 47 00:02:27,849 --> 00:02:31,738 ผมว่ามีประโยชน์มาก ต่อไป ถ้าดูที่ architecture 48 00:02:31,738 --> 00:02:34,781 (สถาปัตยกรรม) เดี๋ยวเราจะได้ดูกันว่า 49 00:02:34,781 --> 00:02:37,570 architecture ทำงานยังไงในโค้ดจริง 50 00:02:37,570 --> 00:02:41,205 แต่นี่เป็นคำอธิบายคร่าว ๆ ก่อนครับ เริ่มจาก 51 00:02:41,205 --> 00:02:44,756 sources (แหล่งข้อมูล) ซึ่งเป็น raw context 52 00:02:44,756 --> 00:02:48,475 (บริบทดิบ) จากนั้น context ก็จะถูกนำไป parse 53 00:02:48,475 --> 00:02:51,941 (แยกวิเคราะห์) แปลงเป็น object (ออบเจกต์) 54 00:02:51,941 --> 00:02:55,830 ปรับให้เป็นมาตรฐาน (normalize) แล้วแยก context 55 00:02:55,830 --> 00:02:58,957 ออกเป็น entities (เอนทิตี้) และ edges 56 00:02:58,957 --> 00:03:02,592 (ขอบหรือความสัมพันธ์) ต่าง ๆ รวมถึง extract 57 00:03:02,592 --> 00:03:06,481 (ดึง) ทุกอย่างออกมา จากนั้นก็ตรวจหาความขัดแย้ง 58 00:03:06,481 --> 00:03:10,031 (conflict detection) เพื่อลบความขัดแย้งออก 59 00:03:10,031 --> 00:03:13,835 และทำ dedupe (ลบข้อมูลซ้ำ) ครับ หลังจากนั้นก็ 60 00:03:13,835 --> 00:03:17,555 build knowledge graph (กราฟความรู้) เพื่อใช้ 61 00:03:17,555 --> 00:03:20,598 vector store (ที่เก็บข้อมูลเวกเตอร์) 62 00:03:20,598 --> 00:03:24,487 ในการเก็บและดึงข้อมูลกลับมา และยังใช้ polyglot 63 00:03:24,487 --> 00:03:28,037 graph store (ที่เก็บกราฟแบบหลากหลายรูปแบบ) 64 00:03:28,037 --> 00:03:30,996 เพื่อ export (ส่งออก) และ visualize 65 00:03:30,996 --> 00:03:32,433 ข้อมูลได้ด้วยครับ 66 00:03:32,433 --> 00:03:36,152 นอกจากนี้ยังมีวิธีดึงข้อมูลหลายแบบ อย่างเช่น 67 00:03:36,152 --> 00:03:38,773 server ที่อิงกับ graph services 68 00:03:38,773 --> 00:03:42,492 (บริการแบบกราฟ) และยังมีแนวทางแบบ MCP (Model 69 00:03:42,492 --> 00:03:44,606 Context Protocol) และ CLI 70 00:03:44,606 --> 00:03:48,325 (ส่วนติดต่อบรรทัดคำสั่ง) อีกด้วย เจ๋งมากครับ 71 00:03:48,325 --> 00:03:52,214 และในส่วนอื่น ๆ ก็พูดถึง decision intelligence 72 00:03:52,214 --> 00:03:55,764 (ปัญญาการตัดสินใจ) ที่เราคุยกันก่อนหน้านี้ 73 00:03:55,764 --> 00:03:59,314 แต่มีคำอธิบายละเอียดว่าแต่ละฟังก์ชันทำอะไร 74 00:03:59,314 --> 00:04:02,611 พร้อมตัวอย่างที่ชัดเจนที่เขาทำเอกสารไว้ 75 00:04:02,611 --> 00:04:06,162 และยังมีตัวอย่างพื้นฐานวิธีเพิ่ม edges และ 76 00:04:06,162 --> 00:04:09,797 nodes (โหนด) ลงในกราฟ และดึงข้อมูลกลับมาจาก 77 00:04:09,797 --> 00:04:13,178 context store (ที่เก็บ context) ด้วยครับ 78 00:04:13,178 --> 00:04:16,728 พวกเขาเก็บทุกอย่างลงใน vector store แล้วก็ 79 00:04:16,728 --> 00:04:19,180 query (สอบถาม) โดยใช้ context 80 00:04:19,180 --> 00:04:21,800 เพื่อดึงคำถามกลับมาครับ ท้ายสุด 81 00:04:21,800 --> 00:04:25,097 พวกเขายังพูดถึง shared context (context 82 00:04:25,097 --> 00:04:28,986 ที่ใช้ร่วมกัน) ด้วย ถ้ามี agent หลายตัว จะแชร์ 83 00:04:28,986 --> 00:04:32,874 context กันยังไง โดยปกติจะแชร์ context แบบ per 84 00:04:32,874 --> 00:04:36,763 agent (ต่อเอเจนต์) คือแต่ละ agent ก็มี context 85 00:04:36,763 --> 00:04:40,651 ของตัวเอง แต่ context เดียวกันนี้สามารถแชร์ให้ 86 00:04:40,651 --> 00:04:44,371 agent หลายตัวใช้ร่วมกันได้ ซึ่งมีประโยชน์มาก 87 00:04:44,371 --> 00:04:47,414 เช่น เราสามารถแชร์ context นั้นไปให้ 88 00:04:47,414 --> 00:04:50,626 researcher agent (เอเจนต์นักวิจัย) และ 89 00:04:50,626 --> 00:04:54,177 knowledge store (ที่เก็บความรู้) รวมถึงใส่ 90 00:04:54,177 --> 00:04:57,727 agent ลงในทีม (team) ได้ ระบบทั้งหมดจะเห็น 91 00:04:57,727 --> 00:04:58,826 context 92 00:04:58,826 --> 00:05:02,207 ชุดเดียวกันบนโครงสร้างพื้นฐานแบบกราฟครับ 93 00:05:02,207 --> 00:05:05,927 และในส่วนข้อมูลอื่น ๆ ก็พูดถึงเรื่องอื่นด้วย 94 00:05:05,927 --> 00:05:08,801 เช่น การทำ MCP server integrations 95 00:05:08,801 --> 00:05:12,605 (การเชื่อมต่อกับเซิร์ฟเวอร์ MCP) และ REST API 96 00:05:12,605 --> 00:05:13,704 integrations 97 00:05:13,704 --> 00:05:16,832 ซึ่งเป็นตัวอย่างที่ดีให้ลองเล่นดูครับ 98 00:05:16,832 --> 00:05:20,213 หลังจากพูดมาทั้งหมดแล้ว มาดูกันว่าจริง ๆ 99 00:05:20,213 --> 00:05:22,411 แล้วมันหน้าตาเป็นยังไงครับ 100 00:05:22,411 --> 00:05:24,524 เราตั้งค่าทุกอย่างไว้แล้ว 101 00:05:24,524 --> 00:05:28,159 จะเห็นว่านี่คือเวอร์ชันเว็บ หรือ visualizer 102 00:05:28,159 --> 00:05:29,681 ของ Semantica ครับ 103 00:05:29,681 --> 00:05:33,062 เราสามารถสร้างกราฟได้แค่ป้อนข้อมูลเข้าไป 104 00:05:33,062 --> 00:05:36,612 แล้วจะเห็นอะไรประมาณนี้ครับ โดยพื้นฐานจะมี 105 00:05:36,612 --> 00:05:37,880 nodes และ edges 106 00:05:37,880 --> 00:05:40,924 และเห็นความสัมพันธ์ระหว่างโหนดต่าง ๆ 107 00:05:40,924 --> 00:05:44,136 ได้ครับ ตัวอย่างเช่น นี่คือ Apple Inc. 108 00:05:44,136 --> 00:05:47,686 ครับ ว่า Apple Inc. เริ่มต้นยังไง ถ้าดูที่ 109 00:05:47,686 --> 00:05:51,237 context ที่เราให้ไป นี่คือตัวอย่าง context 110 00:05:51,237 --> 00:05:54,872 ครับ พวกเขาแยก context นี้ออกเป็น edges และ 111 00:05:54,872 --> 00:05:58,338 nodes ต่าง ๆ รวมแล้วเป็น 114 nodes และ 11 112 00:05:58,338 --> 00:06:01,972 edges นี่คือ context ทั้งหมดที่บอกว่า Apple 113 00:06:01,972 --> 00:06:04,593 คืออะไร เริ่มยังไง ก่อตั้งยังไง 114 00:06:04,593 --> 00:06:06,622 และผู้ก่อตั้งเป็นใครครับ 115 00:06:06,622 --> 00:06:10,088 หลังจากนั้นก็สร้างกราฟขึ้นมา โดยมีสองวิธี 116 00:06:10,088 --> 00:06:13,131 วิธีแรกคือวิธีดั้งเดิม (traditional) 117 00:06:13,131 --> 00:06:16,766 คือสร้างด้วยมือ วิธีที่สองคือใช้ LLM (Large 118 00:06:16,766 --> 00:06:19,894 Language Model หรือโมเดลภาษาขนาดใหญ่) 119 00:06:19,894 --> 00:06:23,529 ซึ่งเป็นแนวทางแบบ LLM ครับ อย่างแรก เขาอ่าน 120 00:06:23,529 --> 00:06:27,248 context ซึ่งเป็น context ขนาดใหญ่ แล้วถ้าใช้ 121 00:06:27,248 --> 00:06:30,883 LLM ก็แค่ให้ LLM ดึงทุกอย่างออกมา พวกเขาใช้ 122 00:06:30,883 --> 00:06:34,602 LLM extract ทุกอย่าง จากนั้นใช้ relationship 123 00:06:34,602 --> 00:06:37,138 extractor (ตัวแยกความสัมพันธ์) 124 00:06:37,138 --> 00:06:40,435 เพื่อสร้างความสัมพันธ์ เริ่มจาก extract 125 00:06:40,435 --> 00:06:42,887 entities แล้วก็ extract edges 126 00:06:42,887 --> 00:06:46,775 หลังจากนั้นก็ใส่ทุกอย่างเข้าไปใน graph builder 127 00:06:46,775 --> 00:06:50,157 (ตัวสร้างกราฟ) โดยใช้ edges และ entities 128 00:06:50,157 --> 00:06:53,538 ในการสร้างกราฟ แล้วก็เริ่ม query กราฟได้ 129 00:06:53,538 --> 00:06:56,835 และยัง dump (ส่งออก) เป็นไฟล์ JSON แล้ว 130 00:06:56,835 --> 00:07:00,723 visualize ได้ด้วยครับ ในตัวอย่างนี้ เราใช้ไฟล์ 131 00:07:00,723 --> 00:07:04,020 dump JSON ที่ชื่อว่า our I'm demo graph 132 00:07:04,020 --> 00:07:07,571 เพื่อรัน demo นี้ จะเห็นว่านี่คือกราฟ demo 133 00:07:07,571 --> 00:07:10,867 ของเรา เรารันมันด้วย Semantica Explorer 134 00:07:10,867 --> 00:07:13,741 ซึ่งเป็นสิ่งที่คุณเห็นเมื่อกี้ครับ 135 00:07:13,741 --> 00:07:16,869 โดยพื้นฐานแล้ว มันแทน context ทั้งหมด 136 00:07:16,869 --> 00:07:19,659 แต่เป็นแบบกราฟครับ ถ้าส่ง context 137 00:07:19,659 --> 00:07:23,294 ทั้งก้อนนี้เป็น query ไปให้ agent มันยากมาก 138 00:07:23,294 --> 00:07:26,083 เพราะ context ใหญ่มาก บางที agent 139 00:07:26,083 --> 00:07:28,450 ก็เข้าใจผิดหรือไม่ค่อยเข้าใจ 140 00:07:28,450 --> 00:07:31,578 แต่พอแยกเป็นกราฟที่มี edges และ nodes 141 00:07:31,578 --> 00:07:35,382 พร้อมช่วยในการตัดสินใจ (decision making) แล้ว 142 00:07:35,382 --> 00:07:38,341 ก็ช่วยนำทางให้ agent เข้าใจ context 143 00:07:38,341 --> 00:07:42,060 ได้ดีขึ้นครับ อย่างที่เห็น เขาแยกมันเป็น 140 144 00:07:42,060 --> 00:07:45,188 nodes และ 10 edges ครับ พอคลิกที่โหนด 145 00:07:45,188 --> 00:07:47,978 ก็จะเห็นข้อมูลละเอียดของแต่ละโหนด 146 00:07:47,978 --> 00:07:51,274 และความสัมพันธ์ระหว่างโหนดเหล่านั้นครับ 147 00:07:51,274 --> 00:07:53,472 และยังมี temporal scrubber 148 00:07:53,472 --> 00:07:56,431 (ตัวเลื่อนดูตามเวลา) คลิกปุ่มต่าง ๆ 149 00:07:56,431 --> 00:08:01,587 เพื่อดูรายละเอียดเพิ่มเติม และดูรายละเอียดของโหนดและขอบต่าง ๆ 150 00:08:01,587 --> 00:08:05,138 ได้ครับ นี่คือปุ่ม toggle (สลับเปิดและปิด) 151 00:08:05,138 --> 00:08:07,927 ตัวอย่างเช่น โหมด direct neighbor 152 00:08:07,927 --> 00:08:10,633 (เพื่อนบ้านโดยตรง) คลิกโหนดเดียว 153 00:08:10,633 --> 00:08:14,267 ก็เห็นเพื่อนบ้านทั้งหมดได้ครับ สำหรับ Apple 154 00:08:14,267 --> 00:08:17,311 กับ iPhone เราคลิกโหนดที่เป็นปี 2007 155 00:08:17,311 --> 00:08:21,115 จะเห็นว่ามันเชื่อมกับ iPhone และ Apple จริง ๆ 156 00:08:21,115 --> 00:08:24,665 เห็นได้ในส่วน neighborhood (ย่านใกล้เคียง) 157 00:08:24,665 --> 00:08:28,046 และยังมี temporal context (บริบทตามเวลา) 158 00:08:28,046 --> 00:08:31,174 ดูได้ว่ามันเปลี่ยนไปตามลำดับเวลายังไง 159 00:08:31,174 --> 00:08:35,063 เจ๋งมากและมีโครงสร้างดีมากครับ และยังคลิกไปรอบ 160 00:08:35,063 --> 00:08:37,261 ๆ เพื่อรัน link prediction 161 00:08:37,261 --> 00:08:40,557 (การคาดการณ์ความเชื่อมโยง) ได้ สะดวกมาก 162 00:08:40,557 --> 00:08:43,178 และยังค้นหาได้ เช่น ค้นหา Apple 163 00:08:43,178 --> 00:08:44,615 ก็จะได้โหนดต่าง ๆ 164 00:08:44,615 --> 00:08:48,842 ที่เกี่ยวกับ Apple เช่น Apple orientation concept, 165 00:08:48,842 --> 00:08:51,885 Apple Park และ Apple Silicon เป็นต้น 166 00:08:51,885 --> 00:08:55,435 เห็นง่ายมากว่าโหนดไหนเกี่ยวข้องกับ context 167 00:08:55,435 --> 00:08:58,648 ที่เราป้อนเข้าไปครับ ยังมีโหมด agomode 168 00:08:58,648 --> 00:09:01,268 เห็นได้เลยครับ และยังมี heatmap 169 00:09:01,268 --> 00:09:04,227 (แผนที่ความร้อน) ทั้งแบบ structural 170 00:09:04,227 --> 00:09:08,115 (เชิงโครงสร้าง) และแบบ semantic (เชิงความหมาย) 171 00:09:08,115 --> 00:09:11,835 ครับ มีฟีเจอร์มากมายอยู่ใน visualizer นี้ มี 172 00:09:11,835 --> 00:09:15,470 group view (มุมมองแบบกลุ่ม) ด้วย และมี full 173 00:09:15,470 --> 00:09:19,274 graph (กราฟเต็ม) ที่เราเพิ่งเห็น มีวิธีมองรอบ 174 00:09:19,274 --> 00:09:22,824 ๆ หลายแบบเพื่อเห็นแง่มุมต่าง ๆ ของ context 175 00:09:22,824 --> 00:09:26,459 ครับ สำหรับการวิเคราะห์ ถ้ามี decision tree 176 00:09:26,459 --> 00:09:30,179 (ต้นไม้การตัดสินใจ) เขาจะวิเคราะห์ให้ได้ครับ 177 00:09:30,179 --> 00:09:33,560 เดี๋ยวจะให้ดูกันทีหลังว่าหน้าตาเป็นยังไง 178 00:09:33,560 --> 00:09:36,265 และยังมี decisions (การตัดสินใจ) 179 00:09:36,265 --> 00:09:38,378 ที่บันทึกไว้ทั้งหมด ถ้ามี 180 00:09:38,378 --> 00:09:41,844 ก็จะแสดงขึ้นมาตรงนี้ครับ เช่น ถ้าคุณสร้าง 181 00:09:41,844 --> 00:09:45,310 decision ต่าง ๆ กัน นี่คือตัวอย่างแบบ LLM 182 00:09:45,310 --> 00:09:49,114 เราจะโชว์ตัวอย่าง decision ให้ดู เช่น ถ้าอยาก 183 00:09:49,114 --> 00:09:52,495 visualize decision โดยใช้ decision graph 184 00:09:52,495 --> 00:09:56,384 (กราฟการตัดสินใจ) แค่คลิก มันก็จะเปิด explorer 185 00:09:56,384 --> 00:09:58,666 พร้อม decision graph ขึ้นมา 186 00:09:58,666 --> 00:10:01,879 รอสักครู่เพื่อดูว่าหน้าตาเป็นยังไงครับ 187 00:10:01,879 --> 00:10:04,330 กลับไปที่ visualizer กัน โอเค 188 00:10:04,330 --> 00:10:07,881 รีเฟรชมันก่อนครับ จะเห็นว่านี่คือ decision 189 00:10:07,881 --> 00:10:11,516 tree ถ้าสร้าง decision มันก็จะแสดงภาพตรงนี้ 190 00:10:11,516 --> 00:10:15,404 ตัวอย่างเช่น decision ที่เราเพิ่มในตัวอย่างคือ 191 00:10:15,404 --> 00:10:19,208 decision demo ครับ จะเห็นว่าเขาสร้าง decision 192 00:10:19,208 --> 00:10:23,012 ไว้สองอัน คือ decision หนึ่ง กับ decision สอง 193 00:10:23,012 --> 00:10:26,816 จากนั้นก็ส่งออก decision tree graph เป็น JSON 194 00:10:26,816 --> 00:10:29,183 แล้วพอใส่เข้าไปใน visualizer 195 00:10:29,183 --> 00:10:32,564 ก็จะเห็นว่ามีการตัดสินใจเกิดขึ้นแล้วครับ 196 00:10:32,564 --> 00:10:36,115 เป็นโปรเจกต์ที่มีประโยชน์มาก ช่วยให้เข้าใจ 197 00:10:36,115 --> 00:10:39,581 context ได้ดีขึ้น และยังเอาไปใช้กับ agent 198 00:10:39,581 --> 00:10:43,469 ได้ด้วย ถ้าใส่เข้าไปใน MCP หรือ backend server 199 00:10:43,469 --> 00:10:47,358 (เซิร์ฟเวอร์แบ็กเอนด์) ก็จะเชื่อมต่อกับ coding 200 00:10:47,358 --> 00:10:50,824 agents (เอเจนต์เขียนโค้ด) ต่าง ๆ ได้ เช่น 201 00:10:50,824 --> 00:10:54,628 Claude Code และ Codex ครับ ตัวอย่างเช่น ถ้ามี 202 00:10:54,628 --> 00:10:58,263 MCP อยู่ตรงนี้ ก็ใช้ Codex หรือ Claude Code 203 00:10:58,263 --> 00:11:00,714 ในการ query ได้ สุดยอดมากครับ 204 00:11:00,714 --> 00:11:05,279 การติดตั้งก็ค่อนข้างตรงไปตรงมาเหมือนที่พูดตอนต้นวิดีโอ 205 00:11:05,279 --> 00:11:08,322 เดี๋ยวจะพาไปดูขั้นตอนทีละขั้นตอนครับ 206 00:11:08,322 --> 00:11:11,196 สิ่งแรกที่ต้องทำคือติดตั้งโปรเจกต์ 207 00:11:11,196 --> 00:11:14,408 (ในคำบรรยายฟังเป็น Rapple น่าจะหมายถึง 208 00:11:14,408 --> 00:11:17,874 repository) มีตัวอย่างที่ผมเพิ่มไว้ตรงนี้ 209 00:11:17,874 --> 00:11:21,594 ขั้นแรก clone repository (คัดลอกที่เก็บโค้ด) 210 00:11:21,594 --> 00:11:23,623 ลงมา แล้วรัน pip install 211 00:11:23,623 --> 00:11:26,074 ให้แน่ใจว่าติดตั้งครบทุกอย่าง 212 00:11:26,074 --> 00:11:29,286 การติดตั้งทุกอย่างให้ครบช่วยได้มากครับ 213 00:11:29,286 --> 00:11:33,090 จากนั้นต้องติดตั้ง openai สำหรับแนวทางแบบ LLM 214 00:11:33,090 --> 00:11:36,218 ที่เราโชว์ตอนต้น และต้องติดตั้ง PyCon 215 00:11:36,218 --> 00:11:39,684 (ในคำบรรยาย น่าจะเป็นแพ็กเกจสำหรับ vector 216 00:11:39,684 --> 00:11:43,150 store) สำหรับ vector store และ embeddings 217 00:11:43,150 --> 00:11:46,616 (การฝังเวกเตอร์) ด้วยครับ จากนั้นก็สตาร์ท 218 00:11:46,616 --> 00:11:50,335 semantic kernel (เคอร์เนลของ Semantica) ผ่าน 219 00:11:50,335 --> 00:11:53,717 CLI หรือจะรันเป็น semantic kernel server 220 00:11:53,717 --> 00:11:57,436 ซึ่งเป็น REST server ก็ได้ และยังมี explorer 221 00:11:57,436 --> 00:11:59,549 ที่ไว้สำรวจข้อมูลโดยเฉพาะ 222 00:11:59,549 --> 00:12:02,846 อันนี้จะให้การดึงข้อมูลจาก query ต่าง ๆ 223 00:12:02,846 --> 00:12:03,945 แต่ที่แน่ ๆ 224 00:12:03,945 --> 00:12:11,215 คือมันจะ visualize entities และ edges เพื่อแสดงภาพ context ทั้งหมด และรัน query ต่าง ๆ 225 00:12:11,215 --> 00:12:15,019 กับ context ได้ครับ และยังทำ magical semantic 226 00:12:15,019 --> 00:12:18,823 MCP (MCP ของ Semantica) ได้ด้วยครับ ต่อมาเป็น 227 00:12:18,823 --> 00:12:22,712 environment variables (ตัวแปรสภาพแวดล้อม) ต่าง 228 00:12:22,712 --> 00:12:26,431 ๆ ที่ต้องตั้งค่าเพื่อให้ Semantica ทำงานครับ 229 00:12:26,431 --> 00:12:30,066 เช่น ต้องตั้ง log origins และ explorer CORS 230 00:12:30,066 --> 00:12:33,870 origins (การอนุญาต CORS) ถ้าอยากตั้งค่าบน VPS 231 00:12:33,870 --> 00:12:37,336 (เซิร์ฟเวอร์เสมือนส่วนตัว) และต้องตั้งค่า 232 00:12:37,336 --> 00:12:40,125 SEMANTICA_API_KEY_ALLOW_ANONYMOUS 233 00:12:40,125 --> 00:12:44,014 (อนุญาตการเข้าถึงแบบไม่ระบุตัวตน) ถ้าอยากทดสอบ 234 00:12:44,014 --> 00:12:47,903 ตอนนี้ตั้งเป็น false แต่ตั้ง true ได้เหมือนกัน 235 00:12:47,903 --> 00:12:51,537 อันนี้คืออนุญาตการเข้าถึงแบบ anonymous ครับ 236 00:12:51,537 --> 00:12:55,341 แต่ใน production (ระบบจริง) ควรตั้งเป็น false 237 00:12:55,341 --> 00:12:58,216 เพื่อความปลอดภัย อย่าตั้งเป็น true 238 00:12:58,216 --> 00:13:01,935 ในสภาพแวดล้อมสาธารณะเด็ดขาด ให้ตั้ง false ใน 239 00:13:01,935 --> 00:13:05,570 public environment ถ้าอยากทดสอบก็ปิดได้ครับ 240 00:13:05,570 --> 00:13:09,036 และสำหรับ OpenAI หรือแนวทางอื่นที่อิง LLM 241 00:13:09,036 --> 00:13:12,248 ก็ต้องตั้ง OpenAI API key และ base URL 242 00:13:12,248 --> 00:13:15,883 ด้วยครับ ในกรณีนี้เราใช้ Buddha (ในคำบรรยาย 243 00:13:15,883 --> 00:13:19,772 ฟังไม่ชัด) จะใช้โมเดลอื่นก็ได้ ในเดโมนี้เราใช้ 244 00:13:19,772 --> 00:13:23,407 GPT 5.5 ของ OpenAI จะใช้โมเดลอื่นก็ได้ เช่น 245 00:13:23,407 --> 00:13:25,604 ถ้าอยากใช้ Llama ก็ได้ครับ 246 00:13:25,604 --> 00:13:28,225 และจะเห็นว่าเราสร้าง visualizer 247 00:13:28,225 --> 00:13:32,029 หลายตัวกับกราฟหลายแบบ เราสร้างกราฟแล้ว export 248 00:13:32,029 --> 00:13:35,326 เป็น JSON จากนั้นใช้ Semantica Explorer 249 00:13:35,326 --> 00:13:38,961 visualize ได้ครับ เอาล่ะ น่าจะประมาณนี้ครับ 250 00:13:38,961 --> 00:13:42,680 หวังว่าวิดีโอนี้จะมีประโยชน์ ถ้าชอบวิดีโอนี้ 251 00:13:42,680 --> 00:13:46,484 ช่วยกด subscribe หรือคอมเมนต์ถ้ามีคำถามนะครับ 252 00:13:46,484 --> 00:13:48,598 ขอบคุณมากที่ support ช่อง 253 00:13:48,598 --> 00:13:50,880 และเจอกันในวิดีโอหน้านะครับ