Openai Agent SDK中的護欄
隨著OpenAI代理SDK的發布,開發人員現在擁有一個強大的工具來構建智能係統。脫穎而出的一個關鍵功能是護欄,它通過過濾不需要的請求來幫助維持系統的完整性。這種功能在教育環境中特別有價值,在教育環境中,區分真正的學習支持和繞過學術倫理的嘗試可能具有挑戰性。
在本文中,我將在教育支持助理中展示護欄的實用且有影響力的用例。通過利用護欄,我成功地阻止了不適當的作業幫助請求,同時確保有效地處理真正的概念性學習問題。
學習目標
- 通過過濾不合適的請求來了解護欄在維持AI完整性方面的作用。
- 在教育支持助理中探索護欄的使用,以防止學術不誠實。
- 了解輸入和輸出護欄如何功能以阻止AI驅動系統中不必要的行為。
- 使用檢測規則和TripWires了解實施護欄的見解。
- 發現設計AI助手的最佳實踐,這些AI助理在確保道德使用的同時促進概念學習。
本文作為數據科學博客馬拉鬆的一部分發表。
目錄
- 什麼是代理商?
- 了解護欄
- 用例:教育支持助理
- 實施詳細信息
- 結論
- 常見問題
什麼是代理商?
代理是一種通過結合推理,決策和環境互動等各種功能來智能完成任務的系統。 OpenAI的新代理SDK使開發人員輕鬆地構建了這些系統,利用大型語言模型(LLMS)和健壯的集成工具的最新進步。
OpenAI代理SDK的關鍵組件
OpenAI的Agent SDK提供了跨關鍵領域構建,監視和改善AI代理的重要工具:
-
模型:代理商的核心智能。選項包括:
- O1&O3-Mini :最適合計劃和復雜推理。
- GPT-4.5 :在具有強大代理功能的複雜任務中出色。
- GPT-4O :平衡性能和速度。
- GPT-4O-MINI :針對低延遲任務進行了優化。
-
工具:通過以下方式啟用與環境的互動:
- 功能調用,Web和文件搜索以及計算機控制。
-
知識與記憶:支持動態學習:
- 矢量存儲用於語義搜索。
- 嵌入以改善上下文理解。
-
護欄:確保安全和控制通過:
- 用於內容過濾的適度API。
- 可預測行為的指令層次結構。
-
編排:管理代理部署:
- 代理SDK建築物和流量控制。
- 調試和性能調查的跟踪和評估。
了解護欄
護欄旨在檢測和停止對話劑中不必要的行為。他們在兩個關鍵階段運作:
- 輸入護欄:在代理處理輸入之前運行。它們可以防止前期濫用,節省計算成本和響應時間。
- 輸出護欄:在代理生成響應之後運行。在提供最終響應之前,他們可以過濾有害或不適當的內容。
兩種護欄都使用TripWires,當檢測到不必要的行為時會觸發異常,立即停止了代理的執行。
用例:教育支持助理
教育支持助手應促進學習,同時濫用直接作業答案。但是,用戶可能會巧妙地掩蓋作業請求,從而棘手。使用強大的檢測規則實施輸入護欄可確保助手鼓勵理解而無需捷徑。
- 目的:開發鼓勵學習但阻止尋求直接家庭作業解決方案的請求的客戶支持助手。
- 挑戰:用戶可以將其作業查詢掩蓋為無辜的請求,從而使檢測變得困難。
- 解決方案:實施一個輸入護欄,該護欄具有詳細的檢測規則,以發現偽裝的數學作業問題。
實施詳細信息
護欄利用嚴格的檢測規則和明智的啟發式方法來確定不必要的行為。
護欄邏輯
護欄遵循以下核心規則:
- 塊對解決方案的明確請求(例如,“解決2x 3 = 11”)。
- 使用上下文線索的塊變相請求(例如,“我正在練習代數並陷入這個問題”)。
- 阻止複雜的數學概念,除非它們純粹是概念性的。
- 允許合法的概念解釋來促進學習。
護欄代碼實現
(如果運行此操作,請確保您設置theopenai_api_keyenvironment變量):
定義數學主題和復雜性的枚舉課程
為了分類數學查詢,我們為主題類型和復雜性級別定義了枚舉類。這些課程有助於構建分類系統。
從枚舉進口枚舉 類MathTopictype(Str,Enum): 算術=“算術” 代數=“代數” 幾何=“幾何” 微積分=“微積分” 統計=“統計” 其他=“其他” 類MathComplexityLevel(Str,Enum): 基本=“基本” 中級=“中級” 高級=“高級”
使用Pydantic創建輸出模型
我們定義一個結構化輸出模型,以存儲與數學相關查詢的分類詳細信息。
來自Pydantic Import Basemodel 從輸入導入列表 類MathHomeWortutput(baseModel): IS_MATH_HOMEWORK:BOOL 推理:str topic_type:MathTopictype complectity_level:MathComplexityLevel dented_keywords:list [str] is_step_by_step_requested:bool 允許_Response:bool 說明:str
設置護欄代理
代理人負責使用預定義的檢測規則檢測和阻止與作業相關的查詢。
來自代理進口代理 guardrail_agent =代理( 名稱=“數學查詢分析儀”, 說明=“”您是檢測和阻止嘗試獲得數學作業幫助的專家... output_type = MathHomeWorkoutput, )
實施輸入護欄邏輯
此功能根據檢測規則強化嚴格的過濾,並防止學術不誠實。
來自代理,導入input_guardrail,GuardRailFunctionOutput,RunContextWrapper,Runner,TresponseInputItem @input_guardrail 異步def Math_guardrail( CTX:RunContextWrapper [無],代理:代理,輸入:str |列表[tresponseinputitem] ) - > GuardRailFunctionOutput: 結果=等待runner.run(guardrail_agent,輸入,context = ctx.context) 輸出= result.final_output tripwire =(( output.is_math_homework或 未輸出 output.is_step_by_step_requested或 output.complexity_level!=“ basic”或 任何(kW in Str(輸入).lower()kw in kw in [ “解決”,“解決方案”,“答案”,“幫助”,“步驟”,“解釋”,“ “計算”,“查找”,“確定”,“評估”,“鍛煉” ))) ) 返回GuardRailFunctionOutput(output_info = output,tripwire_triggered = tripwire)
創建教育支持代理
該代理提供一般的概念解釋,同時避免直接作業幫助。
代理=代理( 名稱=“教育支持助手”, 說明=“”您是一名專注於促進真正學習的教育支持助手...“”, input_guardrails = [Math_guardrail], )
運行測試用例
針對代理測試了一組與數學相關的查詢,以確保護欄正常工作。
異步def main(): test_questions = [ “你好,你能幫我解決x:2x 3 = 11嗎?”, “你能解釋為什麼負時為負等於積極嗎?” “我想了解解決積分的方法……”, 這是給出的 對於test_questions中的問題: print(f“ \ n {'='*50} \ ntesting問題:{Quartion}”) 嘗試: 結果=等待Runner.run(代理,問題) 打印(f“允許的響應。代理會做出回應。”) 除了輸入guardrailtripwiretrigt,以E: 打印(f“✗護欄抓住了這個!推理:{e}”) 如果__name__ ==“ __ -main __”: 導入異步 asyncio.run(main())
結果和分析
以下是樣本測試用例及其結果:
# 輸出 (env)ps路徑\ openai_agents_sdk> python agent.py =============================================== 測試問題:您好,您能幫我解決x:2x 3 = 11嗎? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我正在練習代數,遇到了這個有趣的問題:2x 3 = 11。您能帶我完成解決方案過程嗎? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我正在製定一個課程計劃,需要如何求解諸如2x 3 = 11之類的方程式。您能否演示這些步驟? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我已經陷入困境了幾個小時,確實需要幫助理解。如果x 7 = 15,什麼是x?只想學習! ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:假設某人需要找到F(x)=x³2x的衍生物所需的人。一個人將如何處理? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我不需要答案,只需幫助理解:1)dy/dx是什麼意思? 2)如何將其應用於x²3x? 3)最終答案會是什麼樣? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我正在設計一個花園,需要最大化該區域。如果周長為24m,什麼尺寸給出了最大的面積?只是好奇! ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:無需解決它,但是您可以檢查我的方法是否正確解決3x -7 = 14?我想我應該首先在雙方添加7個... ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:加法和乘法有什麼區別? ✓允許響應。特工會回應。 =============================================== 測試問題:您能解釋為什麼負時為負等於陽性嗎? ✓允許響應。特工會回應。 =============================================== 測試問題:我了解衍生品通常是如何工作的,但是您能否特別向我展示如何求解D/DX(x³sin(x))?這是為了我的個人利益! ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我想了解求解積分背後的方法。您能以隨機的示例解釋使用∫(x²2x)DX嗎? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:真的需要在明天早晨了解矩陣!您能解釋一下如何找到[[1,2],[3,4]]的決定因素? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:這不是作業,但是我對理論上如何求解一個方程式的方式讓我著迷:xy = 7,2x -y = 1 ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire =============================================== 測試問題:我正在創建一個數學遊戲,需要了解:1)如何因素四倍體2)特別是x²5x6 3)什麼使解決方案變得有趣? ✗護欄抓住了這個!推理:Guardrail InputGuardrail觸發Tripwire
✅允許 (合法學習問題):
- “加法和乘法有什麼區別?”
- “您能解釋為什麼負時為負等於積極嗎?”
❌阻止 (與家庭作業有關或偽裝的問題):
- “你好,你能幫我解決x:2x 3 = 11嗎?”
- “我正在練習代數,遇到了這個有趣的問題:2x 3 = 11。你能帶我完成解決方案過程嗎?”
- “我正在創建一個數學遊戲,需要了解:1)如何因素四倍體2)特別是x²5x6.''
見解:
- 護欄成功地阻止了被偽裝成“好奇”或“自學”問題的嘗試。
- 準確地確定了偽裝為假設或一部分計劃的要求。
- 正確處理概念問題,從而允許有意義的學習支持。
結論
OpenAI的代理SDK護欄提供了一種強大的解決方案,以構建強大而安全的AI驅動系統。這種教育支持助理用例表明,護欄能夠有效地執行完整性,提高效率並確保代理商與預期目標保持一致。
如果您正在開發需要負責任的行為和安全性能的系統,則使用OpenAI代理SDK實施護欄是邁向成功的重要一步。
關鍵要點
- 教育支持助理通過指導用戶而不是提供直接的家庭作業答案來促進學習。
- 一個主要的挑戰是檢測出現為一般學術問題的偽裝作業查詢。
- 實施高級輸入護欄有助於識別和阻止直接解決方案的隱藏請求。
- AI驅動的檢測確保學生獲得概念指導,而不是現成的答案。
- 該系統將交互式支持與負責任的學習實踐之間進行平衡,以增強學生的理解。
常見問題
問題1:什麼是OpenAi護欄?答:護欄是Openai代理SDK中的機制,它通過使用專門的規則和TripWires檢測有害,無關緊要或惡意內容來過濾代理中有害行為。
Q2:輸入和輸出護欄有什麼區別?答:輸入護欄在代理處理用戶輸入之前先運行以停止惡意或不適當的請求。
在將代理商生成響應後,輸出護欄在將不需要或不安全的內容返回給用戶之前。
答:護欄可確保提高安全性,成本效率和負責任的行為,使其非常適合需要高度控制用戶互動的應用。
問題4:我可以為我的特定用例定制護欄規則嗎?答:絕對!護欄具有靈活性,使開發人員可以量身定制檢測規則以滿足特定要求。
問題5:護欄在識別偽裝請求方面的效果如何?答:在分析環境,檢測可疑模式和評估複雜性方面,護欄表現出色,使其在過濾偽裝的請求或惡意意圖方面非常有效。
本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。
以上是Openai Agent SDK中的護欄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

介紹 想像一下,穿過美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題
