Komma igång med analyskopplingar
Skapa en analytisk koppling för att ladda och generera data från modeller som distribueras från Qlik Cloud eller från olika maskininlärningsverktyg från tredje part. I de här modellerna exponeras vanligen REST-baserade API-slutpunkter. Innan du skapar och använder kopplingen behöver du skapa och distribuera, eller få tillgång till, de maskininlärningsmodeller du föredrar.
Förutom Qlik AutoML finns det flera plattformar från tredje part där maskininlärningsmodeller kan skapas, tränas och distribueras, till exempel:
-
Azure ML
-
Amazon SageMaker
Träna en klassificieringsmodell med AutoML utan programmering i Azure Machine Learning Studio
Komma igång med Amazon SageMaker
Aktivera analyskopplingar till slutpunkter för maskininlärning
Slutpunkter för maskininlärning är inaktiverade som standard.
Klientorganisationsadministratörer kan aktivera slutpunkter för maskininlärning i Administration under Funktionskontroll i fönstret Inställningar.
Använda analytiska kopplingar och syntax för komplement på serversidan
Analytiska kopplingar kan skicka data till Qlik AutoML eller externt exponerade slutpunkter för maskininlärning för beräkningar. Data som returneras från de här kopplingarna kan laddas i en Qlik Sense-app.
Dataladdningsskript och diagramuttryck är två metoder för att lägga till analyskopplingar till en Qlik Sense-app. Både SSE-funktioner och -parametrar bearbetas i Qlik Sense, och konverteras sedan till REST-förfrågningar som skickas till maskininlärningsmodeller. SSE-laddningsskript och diagramuttryck måste följa SSE-syntaxen. Se Syntax för komplement på serversidan.
Dataladdningsskript
-
Du kan returnera en tabell från SSE-anropet och ladda data från analyskopplingar med LOAD ... EXTENSION-satsen i datainläsningsskriptet Qlik Sense. Du kan skicka en enstaka tabell till modellen. En datatabell returneras.
-
När du använder en SSE-funktion i datainläsningsskriptet Qlik Sense (bortsett från LOAD ... EXTENSION-satsen) bevaras kardinaliteten och en enda kolumn returneras.
-
SSE-funktionsanrop inifrån andra load-satser, till exempel Load ... From ... stöder bara skalära och aggregeringsfunktionstyper. Det innebär att data som innehåller n rader kommer att leda till n anrop till modellen utom om du aggregerar data som blir resultatet i ett enda anrop.
-
Datatyper identifieras automatiskt i analytiska kopplingar. Om data inte har numeriska värden och minst en icke-NULL textsträng betraktas fältet som text. I alla andra fall betraktas det som numeriskt. Du kan tvinga datatypen genom att innesluta ett fältnamn med eller String() eller Mixed(). String() tvingar fältet att vara text. Om fältet är numeriskt extraheras textdelen av det duala värdet. Ingen konvertering görs. Mixed() tvingar fältet att vara dualt.
Diagramuttryck
-
Diagramuttryck får inte konsumera en tabell som returnerats från SSE-funktionsanropet. Om du använder en SSE-funktion i ett diagramuttryck bevaras kardinaliteten och endast den första kolumnen som returneras kommer att användas av Qlik Sense.
Referera till datakopplingens utrymme
Om du publicerar appen eller skriptet i ett hanterat utrymme eller om du vill att dina SSE-begäran ska hänvisa till en koppling i det aktuella utrymmet använder du relativ syntax. Alternativt konfigurerar du begäran med en referens till ett specifikt utrymmesnamn. De här koncepten är viktiga både i laddningsskriptet och i diagramuttrycken.
Mer information om hur du använder utrymmeskänslig syntax finns i:
Exempel 1: relativ utrymmessyntax i laddningsskript
Följande exempel är ett exempel från en koppling till en analytisk koppling i ett laddningsskript. Koden har modifierats så att den pekar på en koppling i det aktuella utrymmet i appen eller skriptet. Detta görs genom att lägga till ett kolon i början på kopplingens namn (i det här fallet: ":Amazon_Titan_(Amazon_Bedrock)"). Utan detta kolon skulle hänvisningen peka på en koppling i det personliga utrymmet för den användare som kör laddningen (eller ägaren av laddningsschemat).
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":":Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});
Denna utrymmesmedvetna syntax kan användas innan appen eller skriptet publiceras i ett hanterat utrymme som också innehåller den analytiska kopplingen.
Exempel 2: relativ utrymmessyntax i diagramuttrycket
Följande exempel är ett diagramuttryck som innehåller en referens till en koppling i det aktuella utrymmet. Detta görs genom att lägga till ett kolon i början på kopplingens namn (i det här fallet: ":Amazon_Titan_(Amazon_Bedrock)"). Utan detta kolon skulle hänvisningen peka på en koppling i det personliga utrymmet för den användare som kör laddningen (eller ägaren av laddningsschemat).
if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":":Amazon_Titan_(Amazon_Bedrock)","column":"outputText"}}',vQuestion))
Denna utrymmesmedvetna syntax kan användas innan appen eller skriptet publiceras i ett hanterat utrymme som också innehåller den analytiska kopplingen.
Exempel 3: hårdkodad utrymmessyntax i laddningsskript
Om du vill att hänvisningen till den analytiska kopplingen bara ska fungera i ett visst utrymme kan du hårdkoda uttrycket så att det innehåller en direkt hänvisning till utrymmet. Om du inte inkluderar utrymmets namn (och även utelämnar kolon som lades till i exempel 1 och 2) är syntaxen hårdkodad för att hänvisa till en koppling i det personliga utrymmet för den användare som kör laddningen (eller ägaren av laddningsschemat).
Om du använder guiden Välj data för att lägga till load-satsen kommer denna syntax att användas automatiskt.
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_Shared_Space:Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});
I det här fallet handlar det om en anslutning i ett utrymme som heter My_Shared_Space.
Exempel 4: hårdkodad utrymmessyntax i diagramuttryck
Det här exemplet liknar det i exempel 3. Om du inte inkluderar utrymmets namn (och även utelämnar kolon som lades till i exempel 1 och 2) är syntaxen hårdkodad för att hänvisa till en koppling i det personliga utrymmet för den användare som kör laddningen (eller ägaren av laddningsschemat).
if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_Shared_Space:Amazon_Titan_(Amazon_Bedrock)","column":"outputText"}}',vQuestion))
I det här fallet handlar det om en anslutning i ett utrymme som heter My_Shared_Space.