搜尋
首頁科技週邊人工智慧如何從頭開始構建AI代理? - 分析Vidhya

有沒有想過像Siri和Alexa這樣的AI代理商是如何工作的?這些智能係統在我們的日常生活中變得越來越重要。本文介紹了React模式,該方法通過結合推理和動作技巧來增強AI代理的方法。我們將向您展示如何從頭開始構建AI代理,涵蓋基本工具,庫和實現步驟。讓我們開始吧!

學習目標

  • 掌握AI代理的基本概念及其在各種應用中的重要性。
  • 了解如何在AI代理中實施理性行為(REACT)模式以增強其能力。
  • 設置從頭開始構建AI代理所需的必要工具和庫。
  • 使用Python開發AI代理,整合各種動作並實施推理循環。
  • 有效測試和調試AI代理,以確保其正常運行。
  • 提高AI代理的魯棒性和安全性,並增加更多功能。
  • 確定AI代理的實際應用,並了解其未來的前景。

本文作為數據科學博客馬拉松的一部分發表

目錄

  • 什麼是AI代理?
  • 為什麼AI代理很重要?
  • AI代理的申請和用例
  • 簡要介紹反應模式
  • 使用React的重要性和好處
  • 需要工具和庫
  • 設置環境
  • 建造AI代理
  • 實施反應模式
  • 實施動作
  • 測試和調試
  • 調試常見問題
  • 改善AI代理
  • 結論
  • 常見問題

什麼是AI代理?

人工智能代理人是自治生物,可以使用傳感器來關注其環境,過程信息並實現預定義的目標。從基本機器人到復雜的系統,它們可以隨著時間的推移進行調整和學習。典型的實例包括Netflix和Amazon's等推薦引擎,Siri和Alexa等聊天機器人以及Tesla和Waymo的自動駕駛汽車。

這些代理也是許多領域中必不可少的:uipath和blue Prism是自動化重複過程的機器人過程自動化(RPA)程序的示例。 DeepMind和IBM Watson Health是醫療保健診斷系統的例子,可幫助診斷疾病並推薦治療。在他們的領域,AI代理人大大提高了生產力,精度和定制。

為什麼AI代理很重要?

這些代理在改善我們的日常生活和實現特定目標方面發揮著關鍵作用。

AI代理很重要,因為他們可以:

  • 降低完成常規操作所需的人工數量,從而提高產量和效率。
  • 分析大量數據,以提供支持決策的結論和建議。
  • 利用聊天機器人和虛擬助手提供個性化的互動和幫助。
  • 在銀行,運輸和醫療保健等行業中啟用複雜的應用。

從本質上講,AI代理在推動下一波技術進步方面至關重要,使系統更聰明,對用戶需求更加敏感。

AI代理的申請和用例

AI代理在各個行業中都有廣泛的應用。以下是一些值得注意的用例:

  • 客戶服務:聊天機器人和虛擬助手的形式的AI代理人處理客戶查詢,解決問題並提供個性化支持。他們可以24/7全天候運營,提供一致,高效的服務。
  • 財務:財務預測,算法交易和欺詐檢測是AI代理的應用。他們根據市場趨勢進行交易,檢查交易數據以及現貨可疑模式。
  • 醫療保健: AI特工協助診斷疾病,推薦治療和監測患者健康。他們分析醫療數據,提供見解並支持臨床決策。
  • 營銷: AI代理個性化營銷活動,細分受眾並優化廣告支出。他們分析客戶數據,預測行為並根據個人偏好量身定制內容。
  • 供應鏈管理: AI系統估計需求,提高庫存水平並簡化物流。他們檢查製造商,供應商和零售商的信息,以保證運營平穩。

簡要介紹反應模式

反應模式在經過思考的循環中運行,動作,停頓,觀察,答案。

該循環允許AI代理對輸入進行推理,通過利用外部資源來對其進行採取行動,然後將結果重新集成到其推理過程中。通過這樣做,AI代理可以提供更準確和上下文相關的響應,從而大大擴展其效用。

React模式是一種有效的設計模式,結合了推理和動作技巧,以提高AI代理的能力。 GPT-3或GPT-4等LLM從該技術中受益匪淺,因為它允許他們與其他工具和API進行交互,從而超出其原始編程以外的活動。

React模式以由以下步驟組成的環狀循環運行:

  • 思想: AI代理處理需要做什麼的輸入和原因。這涉及理解問題或命令並確定適當的行動。
  • 行動:基於推理,代理執行預定義的動作。這可能涉及搜索信息,執行計算或與外部API進行交互。
  • 暫停:代理等待完成該操作。這是一個至關重要的步驟,代理會停止接收執行動作的結果。
  • 觀察:代理觀察動作的結果。它分析了從操作中收到的輸出,以了解獲得的信息或結果。
  • 答:代理使用觀察到的結果來生成響應。然後將此響應提供給用戶,完成循環。

使用React的重要性和好處

該反應模式很重要,原因有幾個:

  • 增強功能:通過集成外部操作,AI代理可以執行需要特定信息或計算的任務,從而增強其整體功能。
  • 提高精度:該模式允許AI代理獲取實時信息並執行準確的計算,從而導致更精確和相關的響應。
  • 靈活性:反應模式使AI代理更加靈活和適應各種任務。他們可以與不同的API和工具進行互動以執行各種各樣的動作。
  • 可伸縮性:這種模式可以隨著時間的推移添加新的動作和功能,從而使AI代理可擴展且適合未來。
  • 現實世界應用: React模式使AI代理可以在現實世界中部署,在那裡他們可以與動態環境進行交互並提供寶貴的見解和幫助。

需要工具和庫

Python是一種多功能且功能強大的編程語言,由於其簡單性和廣泛的圖書館支持,可在AI和機器學習中廣泛使用。對於建造AI代理,幾個Python庫是必不可少的:

  • OpenAI API:此庫允許您與OpenAI語言模型(例如GPT-3和GPT-4)進行交互。它提供了必要的功能來生成文本,回答問題並執行與語言相關的各種任務。
  • HTTPX:這是一個強大的HTTP客戶端,用於Python,支持異步請求。它用於與外部API相互作用,獲取數據並執行Web搜索。
  • RE(正則表達式):此模塊為Python中的正則表達式提供了支持。它用於解析字符串中的模式,這對於處理AI代理的響應非常有用。

OpenAI API和HTTPX庫

OpenAI API是一個強大的平台,可訪問OpenAI開發的高級語言模型。這些模型可以理解並生成類似人類的文本,使其非常適合構建AI代理。使用OpenAI API,您可以:

  • 根據提示生成文本
  • 回答問題
  • 執行語言翻譯
  • 總結文本
  • 還有更多

HTTPX庫是Python的HTTP客戶端,支持同步和異步請求。它旨在易於使用,同時提供用於製作網絡請求的功能。使用HTTPX,您可以:

  • 發送並發布請求
  • 處理JSON響應
  • 管理會議和餅乾
  • 執行異步請求以提高性能

OpenAI API和HTTPX庫一起提供了構建和增強AI代理所需的基礎工具,使它們能夠與外部資源進行交互並執行廣泛的動作。

設置環境

現在讓我們通過遵循某些步驟來建立環境:

步驟1:安裝所需庫

要開始構建AI代理,您需要安裝必要的庫。這是設置您的環境的步驟:

  • 安裝Python:確保您在系統上安裝了Python。您可以從Python官方網站下載它:
  • 設置虛擬環境:為您的項目管理依賴項創建虛擬環境是一個好習慣。運行以下命令來設置虛擬環境:
 Python -M Venv ai_agent_env
源ai_agent_env/bin/activate#在Windows上,使用`ai_agent_env \ scripts \ activate`
  • 安裝OpenAI API和HTTPX:使用PIP安裝所需的庫:
 PIP安裝OpenAI HTTPX
  • 安裝其他庫:您可能還需要其他庫,例如RE for Re for Python標準庫中,因此不需要單獨的安裝。

步驟2:設置API鍵和環境變量

要使用OpenAI API,您需要一個API鍵。請按照以下步驟設置您的API密鑰:

  • 獲取API密鑰:在OpenAI網站上註冊帳戶,並從API部分獲取您的API密鑰。
  • 設置環境變量:將API密鑰存儲在環境變量中以確保其安全。將以下行添加到您的.bashrc或.zshrc文件(或為操作系統使用適當的方法):
導出openai_api_key ='your_openai_api_key_here'
  • 訪問代碼中的API鍵:在Python代碼中,您可以使用OS模塊訪問API鍵:
導入操作系統
OpenAI.API_KEY = OS.GEGENV('OpenAi_Api_Key')

設置環境後,您現在準備開始構建您的AI代理。

建造AI代理

現在讓我們建立AI代理。

創建AI代理的基本結構

為了構建AI代理,我們將創建一個可以處理與OpenAI API交互的類,並管理推理和行動。這是開始的基本結構:

進口Openai
導入
導入httpx

聊天機器人:
    def __init __(self,system =“”):
        self.System =系統
        self.messages = []
        如果Self.System:
            self.messages.append({“ crom”:“ system”,“ content”:system})
    
    def __call __(自我,消息):
        self.messages.append({“ crom”:“ user”,“ content”:message}))
        結果= self.execute()
        self.messages.append({“角色”:“助手”,“ content”:result})
        返回結果
    
    def execute(self):
        完成= openai.chatcompletion.create(model =“ gpt-3.5-turbo”,messages = self.messages)
        返回完成。選擇[0] .message.content

此類使用可選的系統消息初始化AI代理並處理用戶交互。 __call__方法獲取用戶消息並使用OpenAI API生成響應。

實施反應模式

為了實現反應模式,我們需要定義思想,行動,暫停,觀察和答案的循環。這是我們可以將其納入我們的AI代理的方式:

定義提示

提示=“”
您以思想,動作,停頓,觀察的循環奔跑。
在循環結束時,您會輸出答案。
使用思想來描述您對您被問到的問題的想法。
使用操作來運行可用的操作之一 - 然後返回暫停。
觀察將是執行這些動作的結果。

您的可用操作是:
計算:
例如計算:4 * 7/3
運行計算並返回數字 - 使用Python,因此請確保使用浮點
如有必要,語法

維基百科:
例如Wikipedia:Django
返回搜索Wikipedia的摘要

Simon_Blog_search:
例如Simon_Blog_search:Django
搜索Simon的博客此術語

示例會話:
問題:法國的首都是什麼?
思想:我應該在維基百科上查找法國
行動:維基百科:法國
暫停

您將再次被打電話給您:
觀察:法國是一個國家。首都是巴黎。

然後您輸出:
答:法國的首都是巴黎
“““。條()

定義查詢功能

action_re = re.compile('^action:(\ w):(。*)

查詢函數通過將問題發送給AI代理,解析操作,執行它們並將觀測值饋回循環來運行React循環。

實施動作

現在讓我們研究實施動作。

動作:Wikipedia搜索

Wikipedia搜索操作使AI代理可以搜索有關Wikipedia的信息。這是實施它的方法:

 Def Wikipedia(Q):
    響應= httpx.get(“ https://en.wikipedia.org/w/api.php”,params = {
        “動作”:“查詢”,
        “列表”:“搜索”,
        “ srsearch”:q,
        “格式”:“ JSON”
    }))
    返迴響應。

動作:博客搜索

博客搜索操作允許AI代理在特定博客上搜索信息。這是實施它的方法:

 def simon_blog_search(q):
    響應= httpx.get(“ https://datasette.simonwillison.net/simonwillisonblog.json”,params = {
        “ SQL”:“”“”
        選擇
          blog_entry.title || ':'|| substr(html_strip_tags(blog_entry.body),0,1000)作為文本,
          blog_entry.創建
        從
          blog_entry在blog_entry.rowid = blog_entry_fts.rowid上加入blog_entry_fts
        在哪裡
          blog_entry_fts匹配sevase_fts(:q)
        訂購
          blog_entry_fts.rank
        限制
          1
        “““。條(),
        “ _ shape”:“ array”,
        “ q”:q,
    }))
    返迴響應。 JSON()[0] [“ text”]

動作:計算

計算作用允許AI代理執行數學計算。這是實施它的方法:

 DEF計算(什麼):
    返回評估(什麼)

向AI代理添加動作

接下來,我們需要在字典中註冊這些操作,以便AI代理可以使用它們:

 nown_actions = {
    “ Wikipedia”:Wikipedia,
    “計算”:計算,
    “ simon_blog_search”:simon_blog_search
}

與AI代理集成行動

為了將操作與AI代理集成,我們需要確保查詢功能可以處理不同的動作並將觀測值饋回推理循環中。這是完成整合的方法:

 def查詢(問題,max_turns = 5):
    i = 0
    bot =聊天機器人(提示)
    next_prompt =問題
    當我<max_turns i="1" bot action="%5Baction_re.match%EF%BC%88a%EF%BC%89for" in result.split n .groups print next_prompt="f“觀察:{觀察}”"><p>通過此設置,AI代理可以推理輸入,執行操作,觀察結果並生成響應。</p>
<h2 id="測試和調試">測試和調試</h2>
<p>現在讓我們遵循測試和調試的步驟。</p>
<h4 id="運行示例查詢">運行示例查詢</h4>
<p>要測試AI代理,您可以運行樣本查詢並觀察結果。這裡有幾個例子:</p>
<pre class="brush:php;toolbar:false">打印(查詢(“英格蘭與什麼共享邊界?”))))

如何從頭開始構建AI代理? - 分析Vidhya

打印(查詢(“西蒙去過馬達加斯加嗎?”))))

如何從頭開始構建AI代理? - 分析Vidhya

打印(查詢(“十五 *二十五”))

如何從頭開始構建AI代理? - 分析Vidhya

調試常見問題

在測試時,您可能會遇到一些常見問題。這裡有一些調試的技巧:

  • API錯誤:確保正確設置API鍵並具有必要的權限。
  • 網絡問題:檢查您的Internet連接,並確保您呼叫的端點是可觸及的。
  • 輸出不正確:驗證操作功能中的邏輯並確保它們返回正確的結果。
  • 未經處理的動作:確保在已知_actions詞典中定義所有可能的動作。

改善AI代理

現在讓我們改善AI代理。

增強魯棒性和安全性

使AI代理更強大和安全:

  • 驗證輸入:確保對所有輸入進行正確驗證以防止注射攻擊,尤其是在計算功能中。
  • 錯誤處理:在操作功能中實現錯誤處理以優雅地管理異常。
  • 記錄:添加日誌記錄以跟踪代理的操作和觀察值,以便更輕鬆的調試。

添加更多動作和功能

為了增強AI代理的功能,您可以添加更多動作,例如:

  • 天氣信息:與天氣API集成以獲取實時天氣數據。
  • 新聞搜索:實施新聞搜索動作以獲取最新的新聞文章。
  • 翻譯:使用翻譯API添加翻譯操作來支持多語言查詢。

現實世界應用

  • 客戶支持: AI代理可以處理客戶查詢,解決問題並提供個性化建議。
  • 醫療保健: AI特工協助診斷疾病,推薦治療和監測患者健康。
  • 財務: AI代理人發現欺詐,執行交易並提供財務建議。
  • 營銷: AI代理個性化營銷活動,細分受眾並優化廣告支出。

未來的前景和進步

AI代理商的未來是有希望的,隨著機器學習,自然語言處理和AI倫理的進步。新興趨勢包括:

  • 自主系統:能夠處理複雜任務的更複雜的自主系統。
  • 人類合作:增強了人類與AI代理之間的合作,以改善決策。
  • 道德AI:專注於發展優先級隱私,公平和透明度的道德AI代理。

另外,請查看有關向AI代理構建的步驟的文章

結論

在本綜合指南中,我們探討了AI代理的概念,其意義以及增強其能力的反應模式。我們涵蓋了必要的工具和庫,設置環境,然後從頭開始構建AI代理。我們還討論了實施操作,將其與AI代理集成在一起,並測試和調試系統。最後,我們研究了AI代理商的現實應用程序和未來前景。

通過遵循本指南,您現在有知識來從頭開始創建自己的構建AI代理。嘗試不同的動作,增強代理商的能力,並探索令人興奮的人工智能領域的新可能性。

關鍵要點

  • 了解AI代理的核心概念和意義。
  • 實施反應模式以允許AI代理執行其觀察結果和理由。
  • 了解基本工具和庫,例如OpenAI API,HTTPX和Python正則表達式。
  • 詳細的指南從頭開始構建AI代理,包括定義操作和集成。
  • 有效測試和調試AI代理的技術。
  • 增強AI代理能力並確保其穩健性和安全性的策略。
  • 實際示例說明了AI代理在各個行業及其未來的進步中如何使用的實例。

常見問題

Q1。 AI中的反應模式是什麼?

答:React模式(原因法)涉及實施AI代理可以採取的其他措施,例如搜索Wikipedia或運行計算,並教給代理要求這些措施並處理其結果。

Q2。從頭開始構建AI代理需要哪些工具和庫?

答:要從頭開始構建AI代理,您將需要必需的工具,庫包括Python,OpenAI API,HTTPX用於HTTP請求以及Python的正則表達式(RE)庫。

Q3。我如何確保AI代理的安全性,尤其是在使用諸如eval之類的動作時?

答:徹底驗證輸入以防止注射攻擊,在可能的情況下使用沙箱技術,實施錯誤處理以及對日誌操作進行監視和調試。

Q4。我可以向指南中描述的AI代理添加更多動作嗎?

答:是的,您可以添加各種動作,例如獲取天氣信息,搜索新聞文章或使用適當的API翻譯文本並將其集成到AI代理的推理循環中

以上是如何從頭開始構建AI代理? - 分析Vidhya的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]May 14, 2025 am 05:04 AM

ChatGPT無法訪問?本文提供多種實用解決方案!許多用戶在日常使用ChatGPT時,可能會遇到無法訪問或響應緩慢等問題。本文將根據不同情況,逐步指導您解決這些問題。 ChatGPT無法訪問的原因及初步排查 首先,我們需要確定問題是出在OpenAI服務器端,還是用戶自身網絡或設備問題。 請按照以下步驟進行排查: 步驟1:檢查OpenAI官方狀態 訪問OpenAI Status頁面 (status.openai.com),查看ChatGPT服務是否正常運行。如果顯示紅色或黃色警報,則表示Open

計算ASI的風險始於人類的思想計算ASI的風險始於人類的思想May 14, 2025 am 05:02 AM

2025年5月10日,麻省理工學院物理學家Max Tegmark告訴《衛報》,AI實驗室應在釋放人工超級智能之前模仿Oppenheimer的三位一體測試演算。 “我的評估是'康普頓常數',這是一場比賽的可能性

易於理解的解釋如何編寫和撰寫歌詞和推薦工具易於理解的解釋如何編寫和撰寫歌詞和推薦工具May 14, 2025 am 05:01 AM

AI音樂創作技術日新月異,本文將以ChatGPT等AI模型為例,詳細講解如何利用AI輔助音樂創作,並輔以實際案例進行說明。我們將分別介紹如何通過SunoAI、Hugging Face上的AI jukebox以及Python的Music21庫進行音樂創作。 通過這些技術,每個人都能輕鬆創作原創音樂。但需注意,AI生成內容的版權問題不容忽視,使用時務必謹慎。 讓我們一起探索AI在音樂領域的無限可能! OpenAI最新AI代理“OpenAI Deep Research”介紹: [ChatGPT]Ope

什麼是chatgpt-4?對您可以做什麼,定價以及與GPT-3.5的差異的詳盡解釋!什麼是chatgpt-4?對您可以做什麼,定價以及與GPT-3.5的差異的詳盡解釋!May 14, 2025 am 05:00 AM

ChatGPT-4的出现,极大地拓展了AI应用的可能性。相较于GPT-3.5,ChatGPT-4有了显著提升,它具备强大的语境理解能力,还能识别和生成图像,堪称万能的AI助手。在提高商业效率、辅助创作等诸多领域,它都展现出巨大的潜力。然而,与此同时,我们也必须注意其使用上的注意事项。 本文将详细解读ChatGPT-4的特性,并介绍针对不同场景的有效使用方法。文中包含充分利用最新AI技术的技巧,敬请参考。 OpenAI发布的最新AI代理,“OpenAI Deep Research”详情请点击下方链

解釋如何使用chatgpt應用程序!日本支持和語音對話功能解釋如何使用chatgpt應用程序!日本支持和語音對話功能May 14, 2025 am 04:59 AM

CHATGPT應用程序:與AI助手釋放您的創造力!初學者指南 ChatGpt應用程序是一位創新的AI助手,可處理各種任務,包括寫作,翻譯和答案。它是一種具有無限可能性的工具,可用於創意活動和信息收集。 在本文中,我們將以一種易於理解的方式解釋初學者,從如何安裝chatgpt智能手機應用程序到語音輸入功能和插件等應用程序所獨有的功能,以及在使用該應用時要牢記的要點。我們還將仔細研究插件限制和設備對設備配置同步

如何使用中文版Chatgpt?註冊程序和費用的說明如何使用中文版Chatgpt?註冊程序和費用的說明May 14, 2025 am 04:56 AM

ChatGPT中文版:解鎖中文AI對話新體驗 ChatGPT風靡全球,您知道它也提供中文版本嗎?這款強大的AI工具不僅支持日常對話,還能處理專業內容,並兼容簡體中文和繁體中文。無論是中國地區的使用者,還是正在學習中文的朋友,都能從中受益。 本文將詳細介紹ChatGPT中文版的使用方法,包括賬戶設置、中文提示詞輸入、過濾器的使用、以及不同套餐的選擇,並分析潛在風險及應對策略。此外,我們還將對比ChatGPT中文版和其他中文AI工具,幫助您更好地了解其優勢和應用場景。 OpenAI最新發布的AI智能

5 AI代理神話,您需要停止相信5 AI代理神話,您需要停止相信May 14, 2025 am 04:54 AM

這些可以將其視為生成AI領域的下一個飛躍,這為我們提供了Chatgpt和其他大型語言模型聊天機器人。他們可以代表我們採取行動,而不是簡單地回答問題或產生信息

易於理解使用Chatgpt創建和管理多個帳戶的非法性的解釋易於理解使用Chatgpt創建和管理多個帳戶的非法性的解釋May 14, 2025 am 04:50 AM

使用chatgpt有效的多個帳戶管理技術|關於如何使用商業和私人生活的詳盡解釋! Chatgpt在各種情況下都使用,但是有些人可能擔心管理多個帳戶。本文將詳細解釋如何為ChatGpt創建多個帳戶,使用時該怎麼做以及如何安全有效地操作它。我們還介紹了重要的一點,例如業務和私人使用差異,並遵守OpenAI的使用條款,並提供指南,以幫助您安全地利用多個帳戶。 Openai

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境