此專案展示了一個網頁應用程式,會在將使用者輸入的提示傳送給計算器服務之前,先進行內容安全檢查,並透過 Model Context Protocol (MCP) 進行通訊。
- 使用者輸入:使用者在網頁介面輸入計算提示
- 內容安全篩檢(輸入):提示會由 Azure Content Safety API 進行分析
- 安全判斷(輸入):
- 若內容安全(所有類別的嚴重程度均低於 2),則繼續傳送給計算器
- 若內容被標記為可能有害,流程會停止並回傳警告
- 計算器整合:安全的內容由 LangChain4j 處理,並與 MCP 計算器伺服器通訊
- 內容安全篩檢(輸出):機器人回應會由 Azure Content Safety API 進行分析
- 安全判斷(輸出):
- 若機器人回應安全,則顯示給使用者
- 若機器人回應被標記為可能有害,則以警告取代
- 回應:結果(若安全)會顯示給使用者,並附上雙重安全分析結果
此專案示範如何使用 Model Context Protocol (MCP) 從 LangChain4j 呼叫計算器 MCP 服務。實作中使用本地 MCP 伺服器,執行於 8080 埠,提供計算功能。
在使用內容安全功能前,您需要建立 Azure Content Safety 服務資源:
- 登入 Azure Portal
- 點選「建立資源」,搜尋「Content Safety」
- 選擇「Content Safety」並點擊「建立」
- 輸入資源的唯一名稱
- 選擇訂閱與資源群組(或建立新的)
- 選擇支援的區域(詳情請參考 區域可用性)
- 選擇適合的定價方案
- 點擊「建立」部署資源
- 部署完成後,點擊「前往資源」
- 在左側面板「資源管理」下,選擇「金鑰與端點」
- 複製任一金鑰與端點 URL,供下一步使用
設定 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 服務的認證。若未設定,應用程式將使用示範用的預設值,但內容安全功能將無法正常運作。
在執行客戶端之前,需先以 SSE 模式啟動本地端口 8080 的計算器 MCP 伺服器。
此專案展示了 Model Context Protocol (MCP) 與 LangChain4j 的整合,用於呼叫計算器服務。主要特色包括:
- 使用 MCP 連接計算器服務,執行基本數學運算
- 對使用者提示與機器人回應進行雙層內容安全檢查
- 透過 LangChain4j 整合 GitHub 的 gpt-4.1-nano 模型
- 使用 Server-Sent Events (SSE) 作為 MCP 傳輸方式
專案包含完整的內容安全功能,確保使用者輸入與系統回應皆無有害內容:
-
輸入篩檢:所有使用者提示在處理前,會針對仇恨言論、暴力、自殘及性內容等有害類別進行分析。
-
輸出篩檢:即使使用可能未經審查的模型,系統仍會對所有生成的回應進行相同的內容安全過濾,才顯示給使用者。
此雙層機制確保系統無論使用何種 AI 模型,都能保障使用者免受有害輸入及可能問題的 AI 輸出影響。
應用程式包含一個使用者友善的網頁介面,讓使用者能與內容安全計算器系統互動:
- 簡單直覺的計算提示輸入表單
- 雙層內容安全驗證(輸入與輸出)
- 即時提示與回應安全狀態反饋
- 色彩標示的安全指示,方便辨識
- 簡潔且響應式設計,適用多種裝置
- 範例安全提示,協助使用者操作
-
啟動應用程式:
mvn spring-boot:run
-
開啟瀏覽器並前往
http://localhost:8087 -
在提供的文字區輸入計算提示(例如:「計算 24.5 與 17.3 的總和」)
-
點擊「提交」以處理請求
-
查看結果,內容包括:
- 您的提示內容安全分析
- 計算結果(若提示安全)
- 機器人回應的內容安全分析
- 若輸入或輸出被標記,則顯示相關安全警告
網頁客戶端會自動處理雙重內容安全驗證,確保所有互動皆安全且適當,無論使用何種 AI 模型。
免責聲明:
本文件係使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於確保準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋負責。
