共用方式為


適用於開發人員的 Generative AI 解決方案

由大型語言模型(LLM)提供的功能 AI 為開發人員和組織帶來了新的機會。 Azure OpenAI 等服務可讓 AI 輕鬆地與簡單的 API 搭配使用。 所有技能層級的開發人員都可以將進階 AI 功能新增至其應用程式,而不需要特殊知識或硬體。

身為開發人員,您可能會想知道您的角色為何,以及適合的位置。 或許您想要知道「AI 堆疊」要關注哪一部分,或您可以使用現今的技術來建置哪些部分。

若要回答這些問題,請先建立一個將新詞彙和技術與您已經知道的內容聯繫起來的精神模型。 此方法可協助您設計和將產生的 AI 功能新增至您的應用程式。

在此系列中,我們會示範您目前軟體技能如何套用至產生式 AI。 我們也介紹重要的詞彙和概念,以協助您開始建置您的第一個產生式 AI 解決方案。

企業如何受益於使用生成式 AI

若要瞭解您的軟體技能如何與衍生式 AI 搭配使用,請先看看企業如何使用它。

企業使用產生的 AI 來提升客戶參與度、更有效率地工作,並以創造性的方式解決問題。 將產生的 AI 新增至現有系統可讓企業改善其軟體。 它可以新增個人化建議或智慧型代理程式等功能,以回答公司或其產品相關問題。

Generative AI 可協助企業使用的常見方式:

  • 內容產生

    • 建立行銷、銷售、IT 和內部通訊的文字、程序代碼、影像和音效。
  • 自然語言處理

    • 撰寫或改善商務訊息。
    • 讓用戶根據公司文件詢問問題來與其數據聊天。
    • 摘要、組織及簡化大量內容。
    • 使用語意搜尋來尋找沒有確切關鍵詞的資訊。
    • 翻譯內容以觸及更多人。
  • 資料分析

    • 尋找數據的趨勢並分析市場。
    • 建立「假設狀況」案例模型,以協助規劃變更。
    • 檢閱程式代碼以建議改善、修正錯誤,以及建立檔。

身為開發人員,您可以將產生 AI 功能新增至貴組織所使用的軟體,藉此大幅改善。

如何建置生成式 AI 應用程式

雖然 LLM 會執行繁重的工作,但您建置整合、協調及監視結果的系統。 有很多東西可以學習,但您可以套用您已經具備的技能,包括如何:

  • 使用 REST、JSON 或語言特定的 SDK 來呼叫 API
  • 協調對 API 的呼叫並執行商業規則
  • 儲存至資料庫並從中取回
  • 將輸入和結果整合到用戶體驗中
  • 建立可從大型語言模型(LLM)呼叫的應用程式介面(API)

開發以您現有技能為基礎的產生 AI 解決方案。

開發人員工具和服務

Microsoft建置工具、服務、API、範例和學習資源,以協助您開始使用再生 AI。 每一個都涵蓋建置產生 AI 解決方案的關鍵部分。 若要妥善使用這些資源,請確定您:

  • 瞭解每種衍生式 AI 功能的主要功能、角色和責任。 例如,在以RAG為基礎的聊天系統中,您需要先了解問題及其限制,再設計解決方案。
  • 瞭解每個函式或角色的 API、服務和工具。 一旦知道問題,您可以使用程式碼自行建置、使用低程式代碼/無程式碼工具,或呼叫現有的服務。
  • 探索您的選項,包括程式代碼、低程式碼和無程式程式代碼解決方案。 您可以自行建置所有專案,但有時候結合不同的工具和方法會更快且更容易。

沒有單一正確的方法可將產生的 AI 功能新增至您的應用程式。 您可以從許多工具和方法中選擇。 一律權衡每個優缺點。

從應用層開始

您不需要知道關於建立 AI 的一切,即可開始使用。 您可能已經有所需的技能。 使用 API 和您目前的知識開始。

您不需要訓練自己的 LLM。 對大多數公司來說,培訓 LLM 需要太多的時間和金錢。 請改用現有的預先定型模型,例如 GPT-4o,方法是對 Azure OpenAI API 等託管服務進行 API 呼叫。 將產生 AI 功能新增至您的應用程式就像新增任何其他使用 API 的功能一樣。

您可能想要瞭解 LLM 的訓練方式或其運作方式。 但完全瞭解 LLM 需要深入了解數據科學和數學,通常是在研究生層級。

如果您有計算機科學背景,您知道大部分的應用程式開發發生在技術堆疊中的較高層級。 您可能對每個層有一點瞭解,但您可能會專注於使用特定語言、平臺、API 和工具的應用程式開發。

相同的想法適用於 AI。 您可以瞭解 LLM 背後的理論,但您應該專注於建置應用程式,或在公司中建立產生 AI 的模式和程式。

以下是將產生 AI 功能新增至應用程式所需的知識層簡單檢視:

圖表,描述在應用程式中實作產生 AI 功能所需的知識層級。

在最低層級,數據科學家會使用統計數據和機率等進階數學來研究改善 AI。

一層層,數據科學家會使用理論來建置 LLM。 他們會建立神經網路,並訓練它們以接受提示併產生結果(完成)。 從提示產生結果的程式稱為推斷。 數據科學家決定神經網路如何預測下一個單字或圖元。

由於定型和執行模型具有顯著的運算能力,因此大部分模型都會定型並裝載在大型數據中心。 您可以在自己的計算機上定型或裝載模型,但速度很慢。 專用 GPU 可讓此定型更快且更有效率。

當模型在資料中心內執行時,您可以透過 REST API 存取它們。 SDK 通常會包裝這些 API,讓開發人員更容易使用。 其他工具可協助監視和其他工作。

應用程式開發人員會使用這些 API 來建置商務功能。

除了呼叫模型之外,新的模式和程式可協助組織建置可靠的再生 AI 功能。 例如,某些模式有助於確保產生的內容符合道德、安全性和隱私權標準。

如果您是應用程式開發人員,請考慮專注於這些應用層主題:

  • API 和 SDK:瞭解可用的專案,以及每個端點的功能。
  • 工具和服務:瞭解如何建置生產環境就緒 AI 解決方案所需的功能。
  • 提示工程:瞭解如何透過詢問或重繪問題來取得最佳結果。
  • 瓶頸和調整:找出速度變慢的位置,以及如何調整。 瞭解如何記錄和取得應用程式數據,而不違反隱私權。
  • LLM 特性:瞭解模型和廠商之間的強度、使用案例、基準檢驗和差異。 此知識可協助您挑選適合您需求的模型。
  • 模式和工作流程:隨時掌握在應用程式中建置有效且可靠之 AI 功能的最新方法。

來自Microsoft的工具和服務

您可以使用來自 Microsoft 的低程式代碼和無程式代碼產生 AI 工具和服務,協助您建置部分或全部的解決方案。 各種 Azure 服務可以扮演關鍵角色。 每個都有助於解決方案的效率、延展性和強固性。

以程式代碼為中心的方法的 API 和 SDK

每個產生 AI 解決方案都會使用 LLM。 Azure OpenAI 提供 GPT-4 等模型中的所有功能。

產品 描述
Azure OpenAI 託管服務,可讓您存取 GPT-4 等功能強大的語言模型。 使用 API 來建立內嵌、建置聊天功能,以及自定義結果以符合您的需求。

執行環境

您需要一項服務,才能在應用程式中執行商業規則、呈現邏輯或 API 來產生 AI。

產品 描述
Azure App Service (或其他以容器為基礎的雲端服務) 裝載 Web 介面或 API,讓使用者與 RAG 聊天系統互動。 快速開發、部署及調整 Web 應用程式。 輕鬆管理系統的前端。
Azure Functions 針對 RAG 聊天系統中的事件驅動工作使用無伺服器計算。 觸發數據擷取、處理使用者查詢,或處理背景工作,例如同步處理和清除。 建置模組化、可調整的後端。

低程式代碼和無程式代碼解決方案

您可以使用低程式碼或無程式碼的解決方案可靠地託管,並快速建構一些實現您的生成式 AI 概念所需的邏輯。

產品 描述
Azure AI Foundry 您可以使用 Azure AI Foundry 來定型、測試及部署自定義機器學習模型,以增強RAG聊天系統。 例如,使用 Azure AI Foundry 來自訂回應生成或改善所擷取資訊的相關性。

如需建置低程式碼解決方案的指引,請參閱 Azure 上的低程式碼應用程式開發

向量資料庫

某些產生 AI 解決方案需要儲存和擷取數據,以改善結果。 例如,以RAG為基礎的聊天系統可讓使用者與公司的數據聊天。 在此情況下,您需要向量資料庫。

產品 描述
Azure AI 搜尋服務 搜尋大型數據集以尋找語言模型的資訊。 使用它來擷取RAG系統的一部分,讓回應更相關且有用。
Azure Cosmos DB 儲存RAG聊天系統的大量結構化和非結構化數據。 快速讀取和寫入速度有助於提供實時數據並儲存用戶互動。
Azure Cache for Redis 快取經常使用的資訊,以減少延遲並加速RAG聊天系統。 儲存會話數據、用戶喜好設定和一般查詢。
適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器 儲存應用程式數據,例如記錄、使用者配置檔和聊天記錄。 其彈性和延展性可讓數據保持可用且安全。

這些 Azure 服務皆可協助您建置可調整且有效率的產生式 AI 解決方案。 它們可讓您使用 Azure 雲端和 AI 功能的最佳功能。 如需詳細資訊,請參閱 選擇向量資料庫

使用 Azure OpenAI API 以程式代碼為中心的產生 AI 開發

本節涵蓋 Azure OpenAI API。 您可以使用 REST API 來存取 LLM 功能。 您可以從任何新式程式設計語言呼叫這些 API。 許多語言都有 SDK,可讓呼叫 API 變得更容易。

以下是 Azure OpenAI REST API 包裝函式的清單:

如果您的語言或平台沒有 SDK,請直接對 Web API 進行 REST 呼叫:

大部分的開發人員都知道如何呼叫 Web API。

Azure OpenAI 針對 不同的 AI 工作有數個 API。 以下是主要 API 的概觀:

  • 聊天完成 API:產生文字、聊天和回答問題。 將它用於聊天機器人、虛擬助理、摘要、撰寫和翻譯。 它也支持視覺功能(例如上傳影像和提出問題)。
  • 內容仲裁 API:在文字中尋找和篩選有害或不安全的內容。 使用它來保護用戶互動的安全。
  • 內嵌 API:將文字轉換成搜尋、叢集和尋找類似內容的向量。 使用它來擷取文字中的意義和關聯性。
  • 影像產生 API:從文字提示建立影像和藝術。 以 DALL 為基礎。E 模型。
  • 語音轉換文字 REST API:以多種語言將語音轉換為文字或文字轉換為語音。 將它用於語音命令和音訊轉譯。

本文著重於文字型的產生 AI,例如聊天和摘要,但您可以將這些 API 用於許多類型的媒體。

開始使用生成式 AI 進行開發

當您瞭解新的語言、API 或技術時,請從示範如何建置小型應用程式的教學課程或訓練開始。 有些開發人員偏好藉由建置自己的小型項目來學習。 這兩種方式都運作良好。

從小型開始,設定簡單的目標,並逐步建置您的技能。 Generative AI 開發與傳統軟體不同。 在一般軟體中,您每次都會取得相同輸入的相同輸出。 透過產生式 AI,您可以取得相同提示的不同答案,這帶來了新的挑戰。

當您開始時,請記住這些秘訣。

秘訣 1:清楚您的目標

  • 定義您想要解決的問題。 產生 AI 可以執行許多動作,但如果您完全知道想要的內容,例如產生文字、影像或程式代碼,就能取得更好的結果。
  • 瞭解您的物件。 量身打造 AI 的輸出,以符合其使用者,無論是休閒使用者還是專家。

秘訣 2:使用 LLM 強度

  • 瞭解 LLM 的限制和偏差。 他們是強大的,但不是完美的。 規劃其弱點。
  • 使用 LLM 來達到最佳效果,例如建立內容、摘要或翻譯。 有時候,另一種類型的 AI 可能更適合您的需求。

秘訣 3:撰寫良好的提示

  • 瞭解提示工程。 請嘗試不同的提示,以查看哪些效果最佳。 清楚且明確。
  • 精簡您的提示。 第一個反覆專案可能無法運作。 使用結果來改善下一個提示。

建置您的第一個再生 AI 解決方案

若要嘗試建置產生 AI 解決方案,請從使用 您自己的 Python 數據範例開始聊天。 您也可以尋找 .NETJavaJavaScript 的教學課程。

應用程式設計的最終考慮

以下是需要考慮的簡要清單以及本文可能會影響您應用程式設計決策的其他要點:

  • 定義問題範疇和目標受眾,以配合 AI 的功能與使用者的期望。 針對預定的使用案例優化解決方案的有效性。
  • 如果低程式代碼/無程式代碼平臺符合您的專案需求,請使用低程式代碼/無程式代碼平台進行快速原型設計和開發。 評估開發速度和可自定義性之間的取捨。 請嘗試應用程式部分的低程式碼和無程式碼工具,以加速開發,並讓非技術小組成員有所説明。