共用方式為


Azure AI Foundry 入口網站中流程的 Python 工具

重要

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

提示流程 Python 工具提供自訂的程式碼片段做為獨立式可執行節點。 您可以快速建立 Python 工具、編輯程式碼及驗證結果。

使用 Python 工具進行建置

  1. 在 Azure AI Foundry建立或開啟流程。 如需詳細資訊,請參閱建立流程

  2. 選取 [+ Python] 將 Python 工具新增至您的流程。

    此螢幕快照顯示 Azure AI Foundry 入口網站中新增至流程的 Python 工具。

  3. 輸入輸入資料表所述的 Python 工具輸入參數的值。 例如,在 [程式碼] 文字輸入框中,您可以輸入下列 Python 程式碼:

    from promptflow import tool
    
    @tool
    def my_python_tool(message: str) -> str:
        return 'hello ' + message
    

    如需詳細資訊,請參閱 Python 程式碼輸入需求

  4. 視需要將更多工具新增至您的流程。 或選取 [執行] 以執行流程。

  5. 輸出會在輸出資料表中描述。 根據先前的範例 Python 程式碼輸入,如果輸入訊息為 "world",則輸出為 hello world

輸入

儲存程式碼之後,輸入清單會根據工具函式的引數而變更。 將類型新增至引數,return 值可協助工具正確顯示類型。

名稱 類型​​ 描述 必要
代碼 字串 Python 程式碼片段。 Yes
輸入 - 工具函式參數及其指派的清單。 -

輸出

輸出是 Python 工具函式的 return 值。 例如,假設有下列 Python 工具函式:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

如果輸入訊息為 "world",則輸出為 hello world

類型

類型 Python 範例 描述
int param: int 整數型別
bool param: bool 布林值類型
string param: str 字串類型
double param: float Double 型別
清單 param: list or param: List[T] 清單類型
object param: dict or param: Dict[K, V] Object type
連線 param: CustomConnection 特別處理連線類型。

具有 Connection 類型註釋的參數會被視為連線輸入,這表示:

  • 提示流程延伸模組會顯示選取器以選取連線。
  • 在執行時間期間,提示流程會嘗試從傳入的參數值中尋找相同名稱的連線。

注意

只有連線類型才支援 Union[...] 類型註釋。 例如 param: Union[CustomConnection, OpenAIConnection]

Python 程式碼輸入需求

本節說明 Python 工具的 Python 程式碼輸入需求。

  • Python 工具程式碼應該包含完整的 Python 程式碼,包括任何必要的模組匯入。
  • Python 工具程式碼必須包含以 @tool (工具函式) 裝飾的函式,作為執行的進入點。 @tool 裝飾項目應僅在程式碼片段內套用一次。
  • 必須在 Inputs 區段中指派 Python 工具函式參數。
  • Python 工具函式應具有 return 陳述式和值,其為工具的輸出。

下列 Python 程式碼是最佳做法的範例:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

在 Python 工具中取用自訂連線

如果您要開發的 Python 工具需要使用驗證呼叫外部服務,您可以在提示流程中使用自訂連線。 其可讓您安全地儲存存取金鑰,然後在 Python 程式碼中加以擷取。

建立自訂連線

建立自訂連線,以儲存您所有的大型語言模型 API 金鑰或其他必要認證。

  1. 移至 專案的 [管理中心 ] 頁面。

  2. 在 [中樞] 或 [專案] 標題下,選取 [已連線的資源]。

  3. 選取 + 新增連接

  4. 選取 [自訂] 服務。 您可以定義連線名稱。 您可以藉由選取 [新增機碼值組],新增多個機碼值組以儲存您的認證和金鑰。

    注意

    請確定至少有一個機碼值組設定為祕密。 否則,將無法成功建立連線。 若要將一個機碼值組設定為祕密,請選取 [為祕密] 來加密及儲存金鑰值。

在 Python 中取用自訂連線

若要在 Python 程式碼中取用自訂連線:

  1. 在 Python 節點的程式碼區段中,匯入自訂連線程式庫 from promptflow.connections import CustomConnection。 在工具函式中定義類型 CustomConnection 的輸入參數。
  2. 剖析輸入區段的輸入。 然後在 [值] 下拉式清單中,選取您的目標自訂連線。

例如:

from promptflow import tool
from promptflow.connections import CustomConnection

@tool
def my_python_tool(message: str, myconn: CustomConnection) -> str:
    # Get authentication key-values from the custom connection
    connection_key1_value = myconn.key1
    connection_key2_value = myconn.key2

下一步