共用方式為


針對提示流程的指引進行疑難解答

本文說明有關提示流程使用方式的常見問題。

為什麼執行失敗,並出現「沒有名為 XXX 的模組」錯誤?

這種類型的錯誤與缺少必要套件的計算會話有關。 如果您使用預設環境,請確定計算會話的映像使用最新版本。 如果您使用自定義基底映像,請確定您已在 Docker 內容中安裝所有必要的套件。

如何尋找計算會話所使用的無伺服器實例?

您可以在計算頁面的 [計算會話清單] 索引標籤上,檢視計算會話所使用的無伺服器實例。 若要深入瞭解如何管理無伺服器實例,請參閱 管理計算會話

如何尋找 LLM 工具的原始輸入和輸出以進行進一步調查?

在提示流程中,在 [ 流程 ] 頁面中查看成功執行及其詳細數據頁面,您可以在 [輸出] 區段中找到 LLM 工具的原始輸入和輸出。 選取 [檢視完整輸出 ] 以檢視完整輸出。

顯示 LLM 節點上 [檢視完整輸出] 按鈕的螢幕快照。

追蹤 部分包含每次對 LLM 工具的請求和回應。 您可以檢查傳送至 LLM 模型的原始訊息,以及 LLM 模型的原始回應。

顯示原始要求傳送至 LLM 模型的螢幕快照,以及 LLM 模型的回應。

如何修正 Azure OpenAI 的 429 錯誤?

您可能會遇到來自 Azure OpenAI 的 429 錯誤。 此錯誤表示您已達到 Azure OpenAI 的速率限制。 您可以在 LLM 節點的輸出區段中檢查錯誤訊息。 若要深入瞭解速率限制,請參閱 Azure OpenAI 速率限制

此螢幕快照顯示來自 Azure OpenAI 的 429 速率限制錯誤。

如何識別哪一個節點耗用最多時間?

  1. 檢查計算工作階段記錄。

  2. 嘗試尋找下列警告記錄格式: <node_name> has been running for <duration> seconds

    例如:

    • 案例 1:Python 指令碼節點執行過久。

      顯示逾時執行符號的螢幕快照。

      在此情況下,您可以看到該 PythonScriptNode 運行時間很長(近300秒)。 請檢查節點詳細數據,以查看造成問題的原因。

    • 案例 2: LLM 節點長時間持續運行。

      顯示 LLM 逾時所造成的逾時記錄的螢幕快照。

      如果您在記錄中看到訊息 request canceled ,可能是因為 OpenAI API 呼叫花費的時間太長且超過逾時限制。

      網路問題或需要更多處理時間的複雜要求可能會導致 OpenAI 逾時。

      請等候幾秒鐘,然後重試您的要求。 此動作通常可解決任何網路問題。

      如果重試無法運作,請檢查您是否使用長內容模型,例如 gpt-4-32k,然後為 max_tokens 設定較大的值。 若是如此,則該行為是正常情況,因為您的提示可能會產生較長的回應,導致時間超出互動式模式的上限。 在此情況下,建議您嘗試 Bulk test ,因為此模式沒有逾時設定。

如何解決上游請求超時問題?

如果您使用 Azure CLI 或 SDK 來部署流程,可能會遇到逾時錯誤。 根據預設,request_timeout_ms5000。 您可以指定最多五分鐘,也就是 300,000 毫秒。 下列範例示範如何在部署 .yaml 文件中指定請求超時。 若要深入瞭解,請參閱 部署架構

request_settings:
  request_timeout_ms: 300000

當 OpenAI API 產生驗證錯誤時,該怎麼辦?

如果您重新產生 Azure OpenAI 金鑰,並手動更新提示流程中使用的連線,可能會遇到「未經授權」之類的錯誤。 存取令牌遺失、無效、目標對象不正確或已過期。當您在重新產生金鑰之前叫用已有的端點時,您可能會看到這些訊息。

因為端點/部署中使用的連線不會自動更新,因此會發生此錯誤。 您應該針對部署中的金鑰或秘密手動更新任何變更,其旨在避免因為意外離線作業而影響在線生產部署。

  • 如果在 Azure AI Foundry 入口網站中部署端點,請使用相同的部署名稱,將流程重新部署到現有的端點。
  • 如果使用 SDK 或 Azure CLI 部署端點,請修改部署定義,例如新增虛擬環境變數。 使用az ml online-deployment update然後來更新您的部署。

如何解決提示流程部署中的漏洞問題?

如需處理提示流執行時期相關的漏洞,請嘗試下列方法:

  • 在您的流程資料夾中的 requirements.txt 檔案中,更新相依性套件。
  • 如果您使用流程的自定義基底映射,請將提示流程運行時間更新為最新版本,並重建您的基底映射。 然後重新部署流程。

針對受控在線部署的任何其他弱點,Azure AI 會以每月的方式修正問題。

如果我收到「MissingDriverProgram」或「在要求中找不到驅動程式程式」錯誤,該怎麼辦?

如果您部署流程並遇到下列錯誤,則可能與部署環境相關:

'error': 
{
    'code': 'BadRequest', 
    'message': 'The request is invalid.', 
    'details': 
         {'code': 'MissingDriverProgram', 
          'message': 'Could not find driver program in the request.', 
          'details': [], 
          'additionalInfo': []
         }
}
Could not find driver program in the request

有兩種方式可以修正此錯誤:

  • 建議:在自定義環境詳細數據頁面上尋找容器映像 URI。 將它設定為檔案中的 flow.dag.yaml 流程基底映像。 當您在 UI 中部署流程時,請選取 [使用目前流程定義的環境]。 後端服務會根據此基底映像和 requirement.txt 來為您的部署建立客製化環境。 如需詳細資訊,請參閱 流程定義中指定的環境
  • 在您的自訂環境定義中新增 inference_config

下列範例是自定義環境定義的範例。

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
  path: ./image_build
  dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
  liveness_route:
    port: 8080
    path: /health
  readiness_route:
    port: 8080
    path: /health
  scoring_route:
    port: 8080
    path: /score

如果我的模型響應時間過長,我該怎麼辦?

您可能會注意到部署需要太長的時間才能回應。 發生此延遲的原因有數個:

  • 流程中使用的模型不夠強大。 (例如,使用 GPT 3.5 而不是 text-ada。)
  • 索引查詢未優化,且花費太長的時間。
  • 流程有許多要處理的步驟。

請考慮使用上述考慮來優化端點,以改善模型的效能。

如果我無法擷取部署架構,該怎麼辦?

部署端點之後,您必須在 [部署詳細數據] 頁面上的 [ 測試 ] 索引標籤上進行測試。 若要移至 [ 測試 ] 索引卷標,請在左窗格的 [我的資產] 底下,選取 [模型 + 端點]。 然後選取部署以檢視詳細數據。 如果 [ 測試 ] 索引標籤顯示 無法擷取部署架構,請嘗試下列兩種方法來減輕此問題。

顯示 [部署詳細數據] 頁面上 [測試] 索引標籤的螢幕快照。

  • 請確定您已將正確的許可權授與端點身分識別。 如需詳細資訊,請參閱 如何將許可權授與端點身分識別
  • 也許您在舊版運行時間中執行您的流程,然後部署流程,因此部署會使用舊版運行時間的環境。 若要更新執行時期,請遵循 在 UI 上更新執行時期的步驟。 在最新的運行時間重新執行流程,然後再次部署流程。

如果我收到「列出工作區秘密的存取遭拒」錯誤,該怎麼辦?

如果您遇到「拒絕存取列出工作區機密資訊」之類的錯誤,請檢查您是否已授予端點身份的正確許可權。 如需詳細資訊,請參閱 如何將許可權授與端點身分識別