โปรเจกต์นี้แสดงตัวอย่างเว็บแอปพลิเคชันที่ใช้การตรวจสอบความปลอดภัยของเนื้อหาก่อนส่งคำสั่งจากผู้ใช้ไปยังบริการเครื่องคิดเลขผ่าน Model Context Protocol (MCP)
- ป้อนข้อมูลโดยผู้ใช้: ผู้ใช้กรอกคำสั่งคำนวณในอินเทอร์เฟซเว็บ
- การตรวจสอบความปลอดภัยของเนื้อหา (ขาเข้า): คำสั่งจะถูกวิเคราะห์โดย Azure Content Safety API
- การตัดสินใจด้านความปลอดภัย (ขาเข้า):
- หากเนื้อหาปลอดภัย (ความรุนแรง < 2 ในทุกหมวดหมู่) จะดำเนินการต่อไปยังเครื่องคิดเลข
- หากเนื้อหาถูกระบุว่าอาจเป็นอันตราย กระบวนการจะหยุดและส่งคำเตือนกลับ
- การเชื่อมต่อกับเครื่องคิดเลข: เนื้อหาที่ปลอดภัยจะถูกประมวลผลโดย LangChain4j ซึ่งสื่อสารกับเซิร์ฟเวอร์เครื่องคิดเลข MCP
- การตรวจสอบความปลอดภัยของเนื้อหา (ขาออก): การตอบกลับของบอทจะถูกวิเคราะห์โดย Azure Content Safety API
- การตัดสินใจด้านความปลอดภัย (ขาออก):
- หากการตอบกลับของบอทปลอดภัย จะแสดงผลให้ผู้ใช้เห็น
- หากการตอบกลับของบอทถูกระบุว่าอาจเป็นอันตราย จะถูกแทนที่ด้วยคำเตือน
- การตอบกลับ: ผลลัพธ์ (ถ้าปลอดภัย) จะแสดงให้ผู้ใช้พร้อมกับการวิเคราะห์ความปลอดภัยทั้งสองด้าน
โปรเจกต์นี้แสดงวิธีการใช้ Model Context Protocol (MCP) เพื่อเรียกใช้บริการเครื่องคิดเลข MCP จาก LangChain4j การใช้งานนี้ใช้เซิร์ฟเวอร์ MCP ภายในเครื่องที่รันบนพอร์ต 8080 เพื่อให้บริการการคำนวณ
ก่อนใช้งานฟีเจอร์ความปลอดภัยของเนื้อหา คุณต้องสร้างทรัพยากร Azure Content Safety ดังนี้:
- ลงชื่อเข้าใช้ Azure Portal
- คลิก "Create a resource" และค้นหา "Content Safety"
- เลือก "Content Safety" แล้วคลิก "Create"
- กรอกชื่อทรัพยากรที่ไม่ซ้ำกัน
- เลือกการสมัครใช้งานและกลุ่มทรัพยากร (หรือสร้างใหม่)
- เลือกภูมิภาคที่รองรับ (ตรวจสอบ Region availability สำหรับรายละเอียด)
- เลือกระดับราคาที่เหมาะสม
- คลิก "Create" เพื่อสร้างทรัพยากร
- เมื่อติดตั้งเสร็จแล้ว คลิก "Go to resource"
- ในแถบด้านซ้าย ภายใต้ "Resource Management" เลือก "Keys and Endpoint"
- คัดลอกคีย์ใดคีย์หนึ่งและ URL ของ endpoint เพื่อใช้ในขั้นตอนถัดไป
ตั้งค่าตัวแปรสภาพแวดล้อม GITHUB_TOKEN สำหรับการยืนยันตัวตนของโมเดล GitHub:
export GITHUB_TOKEN=<your_github_token>สำหรับฟีเจอร์ความปลอดภัยของเนื้อหา ให้ตั้งค่า:
export CONTENT_SAFETY_ENDPOINT=<your_content_safety_endpoint>
export CONTENT_SAFETY_KEY=<your_content_safety_key>ตัวแปรสภาพแวดล้อมเหล่านี้ถูกใช้โดยแอปพลิเคชันเพื่อยืนยันตัวตนกับบริการ Azure Content Safety หากไม่ได้ตั้งค่าตัวแปรเหล่านี้ แอปจะใช้ค่าตัวอย่างเพื่อสาธิต แต่ฟีเจอร์ความปลอดภัยของเนื้อหาจะไม่ทำงานอย่างถูกต้อง
ก่อนรันไคลเอนต์ คุณต้องเริ่มเซิร์ฟเวอร์ Calculator MCP ในโหมด SSE บน localhost:8080
โปรเจกต์นี้แสดงการผสานรวม Model Context Protocol (MCP) กับ LangChain4j เพื่อเรียกใช้บริการเครื่องคิดเลข ฟีเจอร์สำคัญได้แก่:
- ใช้ MCP เชื่อมต่อกับบริการเครื่องคิดเลขสำหรับการคำนวณพื้นฐาน
- ตรวจสอบความปลอดภัยของเนื้อหาแบบสองชั้น ทั้งคำสั่งผู้ใช้และการตอบกลับของบอท
- ผสานรวมกับโมเดล gpt-4.1-nano ของ GitHub ผ่าน LangChain4j
- ใช้ Server-Sent Events (SSE) สำหรับการส่งข้อมูล MCP
โปรเจกต์นี้มีฟีเจอร์ความปลอดภัยของเนื้อหาอย่างครบถ้วน เพื่อให้แน่ใจว่าทั้งข้อมูลที่ผู้ใช้ป้อนและการตอบกลับของระบบปลอดภัยจากเนื้อหาที่เป็นอันตราย:
-
การตรวจสอบขาเข้า: ทุกคำสั่งของผู้ใช้จะถูกวิเคราะห์หาหมวดหมู่เนื้อหาที่เป็นอันตราย เช่น คำพูดเกลียดชัง ความรุนแรง การทำร้ายตัวเอง และเนื้อหาทางเพศ ก่อนการประมวลผล
-
การตรวจสอบขาออก: แม้จะใช้โมเดลที่อาจไม่มีการเซ็นเซอร์ ระบบจะตรวจสอบการตอบกลับทั้งหมดผ่านตัวกรองความปลอดภัยเดียวกันก่อนแสดงผลให้ผู้ใช้
แนวทางสองชั้นนี้ช่วยให้ระบบปลอดภัยไม่ว่าจะใช้โมเดล AI ใด ปกป้องผู้ใช้จากทั้งข้อมูลที่เป็นอันตรายและผลลัพธ์ที่อาจก่อปัญหาจาก AI
แอปพลิเคชันมีอินเทอร์เฟซเว็บที่ใช้งานง่าย ช่วยให้ผู้ใช้โต้ตอบกับระบบ Content Safety Calculator ได้อย่างสะดวก:
- ฟอร์มเรียบง่ายและใช้งานง่ายสำหรับกรอกคำสั่งคำนวณ
- การตรวจสอบความปลอดภัยของเนื้อหาแบบสองชั้น (ขาเข้าและขาออก)
- ฟีดแบ็กแบบเรียลไทม์เกี่ยวกับความปลอดภัยของคำสั่งและการตอบกลับ
- ตัวบ่งชี้ความปลอดภัยที่ใช้สีช่วยให้เข้าใจง่าย
- ดีไซน์สะอาดและตอบสนองได้ดี ใช้งานได้บนอุปกรณ์หลากหลาย
- ตัวอย่างคำสั่งที่ปลอดภัยเพื่อแนะนำผู้ใช้
-
เริ่มแอปพลิเคชัน:
mvn spring-boot:run
-
เปิดเบราว์เซอร์และไปที่
http://localhost:8087 -
กรอกคำสั่งคำนวณในช่องข้อความที่ให้ไว้ (เช่น "Calculate the sum of 24.5 and 17.3")
-
คลิก "Submit" เพื่อส่งคำขอ
-
ดูผลลัพธ์ ซึ่งจะประกอบด้วย:
- การวิเคราะห์ความปลอดภัยของคำสั่งของคุณ
- ผลลัพธ์การคำนวณ (ถ้าคำสั่งปลอดภัย)
- การวิเคราะห์ความปลอดภัยของการตอบกลับของบอท
- คำเตือนความปลอดภัยหากคำสั่งหรือการตอบกลับถูกระบุว่าไม่ปลอดภัย
เว็บไคลเอนต์จะจัดการกระบวนการตรวจสอบความปลอดภัยทั้งสองอย่างโดยอัตโนมัติ เพื่อให้มั่นใจว่าการโต้ตอบทั้งหมดปลอดภัยและเหมาะสม ไม่ว่าจะใช้โมเดล AI ใดก็ตาม
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาอัตโนมัติ Co-op Translator แม้เราจะพยายามให้ความถูกต้องสูงสุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลโดยผู้เชี่ยวชาญมนุษย์ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดใด ๆ ที่เกิดจากการใช้การแปลนี้
