Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln tar upp vanliga frågor om användning av promptflöden.
Problem med flödesredigering
Felet "Paketverktyget hittades inte" uppstår när du uppdaterar flödet för en kodcentrerad upplevelse
Om flödet använde verktygen Faiss Index Lookup, Vector Index Lookup, Vector DB Lookup eller Content Safety (Text) kan följande felmeddelande visas när du uppdaterar flöden för en kod-första upplevelse:
Package tool 'embeddingstore.tool.faiss_index_lookup.search' is not found in the current environment.
För att lösa problemet har du två alternativ:
Alternativ 1
Uppdatera beräkningssessionen till den senaste basavbildningsversionen.
Välj Raw-filläge för att växla till vyn för råkod. Öppna sedan filen flow.dag.yaml .
              
            Uppdatera verktygsnamnen.
              
            Tool Nytt verktygsnamn Faiss Index Lookup promptflow_vectordb.tool.faiss_index_lookup.FaissIndexLookup.search Vektorindexsökning promptflow_vectordb.tool.vector_index_lookup.VectorIndexLookup.search Vektor-DB-sökning promptflow_vectordb.tool.vector_db_lookup.VectorDBLookup.search Innehållssäkerhet (text) content_safety_text.tools.content_safety_text_tool.analyze_text Spara filen flow.dag.yaml.
Alternativ 2
- Uppdatera beräkningssessionen till den senaste basavbildningsversionen
 - Ta bort det gamla verktyget och återskapa ett nytt verktyg.
 
Felet "Det finns ingen sådan fil eller katalog"
Prompt-flödet förlitar sig på en filresurslagring för att lagra en ögonblicksbild av flödet. Om filresurslagringen har ett problem kan det uppstå följande problem. Här följer några lösningar som du kan prova:
Om du använder ett privat lagringskonto läser du Nätverksisolering i promptflöde för att se till att din arbetsyta kan komma åt ditt lagringskonto.
Om lagringskontot är aktiverat för offentlig åtkomst kontrollerar du om det finns ett datalager med namnet
workspaceworkingdirectorypå din arbetsyta. Det bör vara en filresurstyp.- Om du inte fick det här dataarkivet måste du lägga till det på din arbetsyta.
- Skapa en filresurs med namnet 
code-391ff5ac-6576-460f-ba4d-7e03433c68b6. - Skapa ett datalager med namnet 
workspaceworkingdirectory. Se Skapa datalager. 
 - Skapa en filresurs med namnet 
 - Om du har ett 
workspaceworkingdirectorydatalager men dess typ ärblobi stället förfileshareskapar du en ny arbetsyta. Använd lagring som inte aktiverar hierarkiska namnområden för Azure Data Lake Storage Gen2 som standardlagringskonto för arbetsytan. Mer information finns i Skapa arbetsyta. 
- Om du inte fick det här dataarkivet måste du lägga till det på din arbetsyta.
 
Flöde saknas
Det finns möjliga orsaker till det här problemet:
Om offentlig åtkomst till ditt lagringskonto är inaktiverad måste du säkerställa åtkomst genom att antingen lägga till ip-adressen i lagringsbrandväggen eller aktivera åtkomst via ett virtuellt nätverk som har en privat slutpunkt ansluten till lagringskontot.
Det finns vissa fall, kontonyckeln i datalagringen är inte synkroniserad med lagringskontot. Du kan försöka uppdatera kontonyckeln på informationssidan för datalager för att åtgärda detta.
Om du använder Azure AI Foundry måste lagringskontot ange CORS så att Azure AI Foundry får åtkomst till lagringskontot, annars ser du att flödet saknar problem. Du kan lägga till följande CORS-inställningar i lagringskontot för att åtgärda problemet.
- Gå till lagringskontosidan, välj 
Resource sharing (CORS)undersettingsoch välj påFile servicefliken . - Tillåtet ursprung: 
https://mlworkspace.azure.ai,https://ml.azure.com,https://*.ml.azure.com,https://ai.azure.com,https://*.ai.azure.com,https://mlworkspacecanary.azure.ai,https://mlworkspace.azureml-test.net - Tillåtna metoder: 
DELETE, GET, HEAD, POST, OPTIONS, PUT 
- Gå till lagringskontosidan, välj 
 
Problem med beräkningssessioner
Körningen misslyckades på grund av "Ingen modul med namnet XXX"
Den här typen av fel som rör beräkningssessionen saknar nödvändiga paket. Om du använder en standardmiljö kontrollerar du att avbildningen av beräkningssessionen använder den senaste versionen. Om du använder en anpassad basavbildning kontrollerar du att du har installerat alla nödvändiga paket i docker-kontexten. Mer information finns i Anpassa basavbildning för beräkningssession.
Var hittar du den serverlösa instans som används av beräkningssessionen?
Du kan visa den serverlösa instans som används av beräkningssessionen på fliken lista över beräkningssessioner under beräkningssidan. Läs mer om hur du hanterar serverlös instans.
Fel vid beräkningssessioner med anpassad basavbildning
Startfel för beräkningssession med requirements.txt eller anpassad basavbildning
Stöd för beräkningssessioner för att använda requirements.txt eller anpassad basavbildning i flow.dag.yaml för att anpassa avbildningen. Vi rekommenderar att du använder requirements.txt för vanliga fall, som används pip install -r requirements.txt för att installera paketen. Om du har mer beroende än python-paket måste du följa basavbildningen  Anpassa för att skapa en ny avbildningsbas ovanpå basavbildningen för promptflöde. Använd den sedan i flow.dag.yaml. Läs mer om hur du anger basavbildning i beräkningssessionen.
- Du kan inte använda godtyckliga basavbildningar för att skapa Beräkningssession. Du måste använda basavbildningen som tillhandahålls via promptflöde.
 - Fäst inte versionen av 
promptflowochpromptflow-toolsirequirements.txt, eftersom vi redan inkluderar dem i basavbildningen. Att använda den gamla versionen avpromptflowochpromptflow-toolskan orsaka oväntat beteende. 
Problem med flödeskörning
Hur hittar du råa indata och utdata från i LLM-verktyget för vidare undersökning?
I promptflöde, på flödessidan med en lyckad körnings- och körningsinformationssida, hittar du råa indata och utdata från LLM-verktyget i utdataavsnittet. 
              view full output Välj knappen för att visa fullständiga utdata.
              Trace innehåller varje begäran och svar på LLM-verktyget. Du kan kontrollera råmeddelandet som skickas till LLM-modellen och råsvaret från LLM-modellen.
Så här åtgärdar du 409-fel från Azure OpenAI?
Du kan stöta på 409-fel från Azure OpenAI, det innebär att du har nått hastighetsgränsen för Azure OpenAI. Du kan kontrollera felmeddelandet i utdataavsnittet på LLM-noden. Läs mer om Azure OpenAI-hastighetsgräns.
Så här identifierar du vilken nod som förbrukar mest tid
Kontrollera loggarna för beräkningssessionen.
Försök hitta följande varningsloggformat:
{node_name} har körts i {duration} sekunder.
Till exempel:
Fall 1: Python-skriptnoden körs under en längre tid.
I det här fallet kan du se att det
PythonScriptNodekördes under en lång tid (nästan 300 sekunder). Sedan kan du kontrollera nodinformationen för att se vad som är problemet.Fall 2: LLM-noden körs under en längre tid.
I det här fallet kan det bero på att OpenAI API-anropet tar för lång tid och överskrider tidsgränsen om du hittar meddelandet
request canceledi loggarna.En OpenAI API-timeout kan orsakas av ett nätverksproblem eller en komplex begäran som kräver mer bearbetningstid. Mer information finns i OpenAI API-timeout.
Vänta några sekunder och försök igen. Den här åtgärden löser vanligtvis eventuella nätverksproblem.
Om återförsök inte fungerar kontrollerar du om du använder en lång kontextmodell, till exempel
gpt-4-32k, och har angett ett stort värde förmax_tokens. I så fall förväntas beteendet eftersom din uppmaning kan generera ett långt svar som tar längre tid än det interaktiva lägets övre tröskelvärde. I det här fallet rekommenderar vi att du försökerBulk testeftersom det här läget inte har någon tidsgränsinställning.
Om du inte hittar något i loggar för att indikera att det är ett specifikt nodproblem:
- Kontakta promptflödesteamet (promptflow-eng) med loggarna. Vi försöker identifiera rotorsaken.
 
Problem med flödesdistribution
Saknar behörighet att utföra åtgärden "Microsoft.MachineLearningService/workspaces/datastores/read"
Om ditt flöde innehåller verktyget Index Look Up måste slutpunkten efter distributionen av flödet komma åt arbetsytans datalager för att läsa MLIndex yaml-fil eller FAISS-mapp som innehåller segment och inbäddningar. Därför måste du manuellt ge slutpunktsidentiteten behörighet att göra det.
Du kan antingen bevilja slutpunktsidentiteten AzureML-Dataforskare på arbetsytans omfång eller en anpassad roll som innehåller åtgärden "MachineLearningService/workspace/datastore/reader".
Timeout-problem med överordnad begäran när slutpunkten förbrukas
Om du använder CLI eller SDK för att distribuera flödet kan det uppstå timeoutfel. Som standard request_timeout_ms är 5000. Du kan ange högst 5 minuter, vilket är 300 000 ms. Följande är ett exempel som visar hur du anger tidsgränsen för begäran i yaml-filen för distribution. Mer information finns i distributionsschemat.
request_settings:
  request_timeout_ms: 300000
OpenAI API träffar autentiseringsfel
Om du återskapar din Azure OpenAI-nyckel och manuellt uppdaterar anslutningen som används i promptflödet kan det uppstå fel som "Obehörig. Åtkomsttoken saknas, är ogiltig, målgruppen är felaktig eller har upphört att gälla." när du anropar en befintlig slutpunkt som skapats innan nyckeln återskapas.
Det beror på att de anslutningar som används i slutpunkterna/distributionerna inte uppdateras automatiskt. Alla ändringar av nyckel- eller hemligheter i distributioner bör göras genom manuell uppdatering, vilket syftar till att undvika att påverka onlineproduktionsdistributionen på grund av oavsiktlig offlineåtgärd.
- Om slutpunkten distribuerades i studiogränssnittet kan du bara distribuera om flödet till den befintliga slutpunkten med samma distributionsnamn.
 - Om slutpunkten distribuerades med SDK eller CLI måste du göra vissa ändringar i distributionsdefinitionen, till exempel lägga till en dummy-miljövariabel och sedan använda 
az ml online-deployment updateför att uppdatera distributionen. 
Problem med sårbarheter i distributioner av promptflöde
För körningsrelaterade säkerhetsrisker för promptflöde är följande metoder som kan hjälpa dig att minimera:
- Uppdatera beroendepaketen i din requirements.txt i flödesmappen.
 - Om du använder en anpassad basavbildning för ditt flöde måste du uppdatera körningen av kommandotolken till den senaste versionen och återskapa basavbildningen och sedan distribuera om flödet.
 
För andra sårbarheter i hanterade onlinedistributioner löser Azure Machine Learning problemen på ett månatligt sätt.
"MissingDriverProgram Error" eller "Det gick inte att hitta drivrutinsprogrammet i begäran"
Om du distribuerar ditt flöde och stöter på följande fel kan det vara relaterat till distributionsmiljön.
'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
Det finns två sätt att åtgärda det här felet.
(Rekommenderas) Du hittar containeravbildnings-URI:n på din anpassade miljöinformationssida och anger den som flödesbasavbildningen i filen flow.dag.yaml. När du distribuerar flödet i användargränssnittet väljer du bara Använd miljö för aktuell flödesdefinition, så skapar serverdelstjänsten den anpassade miljön baserat på den här basavbildningen och
requirement.txtför distributionen. Läs mer om miljön som anges i flödesdefinitionen.Du kan åtgärda det här felet genom att lägga till
inference_configden anpassade miljödefinitionen.Följande är ett exempel på en anpassad miljödefinition.
$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
Modellsvaret tar för lång tid
Ibland kanske du märker att distributionen tar för lång tid att svara. Det finns flera potentiella faktorer för att detta ska inträffa.
- Modellen som används i flödet är inte tillräckligt kraftfull (exempel: använd GPT 3.5 i stället för text-ada)
 - Indexfrågan är inte optimerad och tar för lång tid
 - Flow har många steg att bearbeta
 
Överväg att optimera slutpunkten med ovanstående överväganden för att förbättra modellens prestanda.
Det gick inte att hämta distributionsschemat
När du har distribuerat slutpunkten och vill testa den på fliken Test på sidan med slutpunktsinformation kan du prova följande två metoder för att åtgärda problemet på flikenTest:
- Kontrollera att du har beviljat rätt behörighet till slutpunktsidentiteten. Läs mer om hur du beviljar behörighet till slutpunktsidentiteten.
 - Det kan bero på att du körde ditt flöde i en gammal version och sedan distribuerade flödet. Distributionen använde även miljön för den körning som fanns i den gamla versionen. Om du vill uppdatera körningen följer du Uppdatera en körning i användargränssnittet och kör flödet igen i den senaste körningen och distribuerar sedan flödet igen.
 
Åtkomst nekad till lista med arbetsytehemligheter
Om du stöter på ett fel som "Åtkomst nekad att visa arbetsytehemlighet" kontrollerar du om du har beviljat rätt behörighet till slutpunktsidentiteten. Läs mer om hur du beviljar behörighet till slutpunktsidentiteten.
Problem med autentisering och identitet
Hur gör jag för att använda datalager utan autentiseringsuppgifter i promptflödet?
Om du vill använda lagring utan autentiseringsuppgifter i Azure AI Foundry-portalen måste du i princip göra följande:
- Ändra autentiseringstypen för datalager till Ingen.
 - Bevilja projekt-MSI och användarblob-/fildatadeltagare behörighet för lagring.
 
Ändra autentiseringstyp för datalager till Ingen
Du kan följa identitetsbaserad dataautentisering den här delen för att göra ditt datalager mindre autentiseringsuppgifter.
Du måste ändra autentiseringstypen för datalager till Ingen, som står för meid_token baserad autentisering. Du kan göra ändringar från informationssidan för datalager eller CLI/SDK: https://github.com/Azure/azureml-examples/tree/main/cli/resources/datastore
För blobbaserat datalager kan du ändra autentiseringstyp och även aktivera MSI för arbetsytan för åtkomst till lagringskontot.
För filresursbaserat datalager kan du endast ändra autentiseringstyp.
Bevilja behörighet till användaridentitet eller hanterad identitet
Om du vill använda datalager utan autentiseringsuppgifter i ett promptflöde måste du ge tillräcklig behörighet till användaridentiteten eller den hanterade identiteten för att få åtkomst till datalagringen.
- Kontrollera att arbetsytans systemtilldelade hanterade identitet har 
Storage Blob Data ContributorochStorage File Data Privileged Contributorpå lagringskontot behöver du åtminstone läs-/skrivbehörighet (bättre inkludera även borttagning). - Om du använder användaridentitet det här standardalternativet i promptflödet måste du se till att användaridentiteten har följande roll i lagringskontot: 
- 
              
Storage Blob Data Contributorpå lagringskontot behöver du åtminstone läs-/skrivbehörighet (bättre inkludera även borttagning). - 
              
Storage File Data Privileged Contributorpå lagringskontot behöver du åtminstone läs-/skrivbehörighet (bättre inkludera även borttagning). 
 - 
              
 - Om du använder användartilldelad hanterad identitet måste du kontrollera att den hanterade identiteten har följande roll i lagringskontot: 
- 
              
Storage Blob Data Contributorpå lagringskontot behöver du åtminstone läs-/skrivbehörighet (bättre inkludera även borttagning). - 
              
Storage File Data Privileged Contributorpå lagringskontot behöver du åtminstone läs-/skrivbehörighet (bättre inkludera även borttagning). - Under tiden måste du tilldela lagringskontot en användaridentitetsroll 
Storage Blob Data Read, åtminstone om du vill använda promptflöde för redigering och testflöde. 
 - 
              
 - Om du fortfarande inte kan visa flödesinformationssidan och första gången du använder promptflöde är tidigare än 2024-01-01 måste du bevilja arbetsytan MSI som lagringskonto som 
Storage Table Data Contributorär länkat till arbetsytan.