Verbinding maken met Azure AI-services vanuit werkstromen in Azure Logic Apps
Van toepassing op: Azure Logic Apps (Verbruik + Standard)
Als u bedrijfsservices, systemen en gegevens wilt integreren met AI-technologieën, kunnen uw werkstromen voor logische apps verbinding maken met Azure OpenAI - en Azure AI Search-resources die u gebruikt voor deze integratiescenario's.
Deze handleiding bevat een overzicht en voorbeelden die laten zien hoe u bewerkingen van de Azure OpenAI- en Azure AI Search-connector in uw werkstroom kunt gebruiken.
Waarom Azure Logic Apps gebruiken met AI-services?
Het bouwen van AI-oplossingen omvat meestal verschillende belangrijke stappen en vereist een paar bouwstenen. In de eerste plaats moet u een dynamische opnamepijplijn en een chatinterface hebben die kan communiceren met grote taalmodellen (LLM's) en vectordatabases.
Tip
Voor meer informatie kunt u Azure Copilot deze vragen stellen:
- Wat is een dynamische opnamepijplijn in AI?
- Wat is een vectordatabase in AI?
Selecteer Copilot op de werkbalk van Azure Portal om Azure Copilot te vinden.
U kunt verschillende onderdelen samenstellen, niet alleen om gegevensopname uit te voeren, maar ook om een robuuste back-end voor de chatinterface te bieden. Deze back-end vereenvoudigt het invoeren van prompts en genereert betrouwbare reacties tijdens interacties. Het maken van de code voor het beheren en beheren van al deze elementen kan echter uitdagingen opleveren, wat voor de meeste oplossingen het geval is.
Azure Logic Apps biedt een benadering met weinig code en vereenvoudigt back-endbeheer door vooraf gemaakte connectors te bieden die u als bouwstenen gebruikt om het back-endproces te stroomlijnen. Met deze aanpak kunt u zich richten op het ophalen van uw gegevens en ervoor zorgen dat zoekresultaten actuele en relevante informatie bieden. Met deze AI-connectors fungeert uw werkstroom als een indelingsengine die gegevens overdraagt tussen AI-services en andere onderdelen die u wilt integreren.
Voor meer informatie raadpleegt u de volgende bronnen:
Vereisten
Een Azure-account en -abonnement. Als u nog geen abonnement op Azure hebt, registreer u dan nu voor een gratis Azure-account.
De Azure AI Search- en Azure OpenAI-resources voor toegang tot en gebruik in uw werkstroom, waaronder verbindingsgegevens:
Een werkstroom voor logische apps waar u toegang wilt krijgen tot uw Azure OpenAI- en Azure AI Search-resources.
De connectors voor deze services bieden momenteel alleen acties, niet triggers. Voordat u een azure AI-connectoractie kunt toevoegen, moet u ervoor zorgen dat uw werkstroom begint met de juiste trigger voor uw scenario.
Technische naslaginformatie over connectoren
In verbruikswerkstromen zijn de beheerde of gedeelde connectors van Azure OpenAI en Azure AI Search momenteel in preview en zijn ze onderworpen aan de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
Azure OpenAI
Azure OpenAI Service biedt toegang tot de taalmodellen van OpenAI, waaronder GPT-4, GPT-4 Turbo met Vision, GPT-3.5-Turbo en de modelreeks Embeddings. Met de Azure OpenAI-connector kan uw werkstroom verbinding maken met De Azure OpenAI-service en OpenAI-insluitingen ophalen voor uw gegevens of chatvoltooiingen genereren.
Tip
Voor meer informatie kunt u Azure Copilot deze vragen stellen:
- Wat is een insluiting in AI?
- Wat is een voltooiing van een chat in AI?
Selecteer Copilot op de werkbalk van Azure Portal om Azure Copilot te vinden.
De Azure OpenAI-connector heeft verschillende versies, op basis van het type logische app en het hostingmodel:
Logische apps | Omgeving | Connectorversie |
---|---|---|
Verbruik | Multitenant Azure Logic Apps | Beheerde, door Azure gehoste connector, die wordt weergegeven in de galerie met connectors onder Runtime>Shared. Zie de naslaginformatie over beheerde Azure OpenAI-connectors voor meer informatie. |
Standaard | Azure Logic Apps met één tenant, App Service Environment v3 (alleen Windows-abonnementen) of hybride implementatie, wat uw eigen infrastructuur is. | Ingebouwde connector, die wordt weergegeven in de connectorgalerie onder Runtime>In-app en is gebaseerd op serviceproviders. De ingebouwde connector heeft onder andere de volgende mogelijkheden: - Ondersteuning voor meerdere verificatietypen - Directe toegang tot resources in virtuele Azure-netwerken en -eindpunten voor Azure OpenAI achter firewalls. Zie de naslaginformatie voor ingebouwde Azure OpenAI-connectoren voor meer informatie. |
Azure AI Search
Azure AI Search is een platform voor het ophalen van ai-informatie waarmee ontwikkelaars uitgebreide zoekervaringen en generatieve AI-apps kunnen bouwen door grote taalmodellen te combineren met bedrijfsgegevens. Met de Azure AI Search-connector kan uw werkstroom verbinding maken met Azure AI Search om documenten te indexeren en vectorzoekopdrachten uit te voeren op uw gegevens.
De Azure AI Search-connector heeft verschillende versies, op basis van het type logische app en het hostingmodel:
Logische apps | Omgeving | Connectorversie |
---|---|---|
Verbruik | Multitenant Azure Logic Apps | Beheerde, door Azure gehoste connector, die wordt weergegeven in de galerie met connectors onder Runtime>Shared. Zie de naslaginformatie over beheerde azure AI Search-connectors voor meer informatie. |
Standaard | Azure Logic Apps met één tenant, App Service Environment v3 (alleen Windows-abonnementen) of hybride implementatie, wat uw eigen infrastructuur is. | Ingebouwde connector, die wordt weergegeven in de connectorgalerie onder Runtime>In-app en is gebaseerd op serviceproviders. De ingebouwde connector heeft onder andere de volgende mogelijkheden: - Ondersteuning voor meerdere verificatietypen - Directe toegang tot resources in virtuele Azure-netwerken en -eindpunten voor Azure OpenAI achter firewalls. Zie de naslaginformatie over de ingebouwde Connector van Azure AI Search voor meer informatie. |
Verificatie
Voor de door AI beheerde connectors is een API-sleutel vereist voor verificatie. De ingebouwde AI-connectors ondersteunen echter meerdere verificatietypen voor uw AI-service-eindpunt. Deze opties bieden robuuste verificatie die voldoet aan de behoeften van de meeste klanten. Beide ingebouwde connectors kunnen ook rechtstreeks verbinding maken met Azure OpenAI- en Azure AI Search-resources binnen virtuele netwerken of achter firewalls.
In de volgende tabel worden de ingebouwde verificatieopties voor connectors beschreven. Hiervoor moet u allemaal de URL opgeven voor het AI-service-eindpunt:
Authentication type | Beschrijving |
---|---|
URL en verificatie op basis van sleutels | Geef de API-sleutel of beheerder op die is gegenereerd door de AI-service. |
Active Directory OAuth (Microsoft Entra-id) | Geef informatie op, zoals uw Entra-tenant, client-id en wachtwoord voor verificatie als entra-gebruiker. |
Beheerde identiteit | Nadat u verificatie van beheerde identiteiten hebt ingesteld voor uw AI-serviceresource en uw logische app-resource, kunt u die identiteit gebruiken om toegang voor de connector te verifiëren. |
Belangrijk
Voor optimale beveiliging gebruikt u Microsoft Entra ID met beheerde identiteiten voor verificatie, indien mogelijk. Deze methode biedt superieure beveiliging zonder referenties op te geven. Azure beheert deze identiteit en helpt verificatiegegevens veilig te houden, zodat u deze gevoelige informatie niet zelf hoeft te beheren. Zie Toegang en verbindingen met Azure-resources verifiëren met beheerde identiteiten in Azure Logic Apps om een beheerde identiteit in te stellen voor Azure Logic Apps.
Als u een ander verificatietype moet gebruiken, gebruikt u de volgende beveiligingsoptie op het hoogste niveau die beschikbaar is. Stel dat u een verbinding moet maken met behulp van een verbindingsreeks. Een verbindingsreeks bevat de autorisatiegegevens die nodig zijn voor uw app voor toegang tot een specifieke resource, service of systeem. De toegangssleutel in het verbindingsreeks is vergelijkbaar met een hoofdwachtwoord.
In productieomgevingen beveiligt u altijd gevoelige informatie en geheimen, zoals referenties, certificaten, vingerafdrukken, toegangssleutels en verbindingsreeks s. Zorg ervoor dat u dergelijke informatie veilig opslaat met behulp van Microsoft Entra ID en Azure Key Vault. Vermijd hardcoding van deze informatie, delen met andere gebruikers of opslaan in tekst zonder opmaak, waar anderen toegang hebben. Draai uw geheimen zo snel mogelijk als u denkt dat deze gegevens mogelijk worden aangetast. Zie Over Azure Key Vault voor meer informatie.
Voor meer informatie raadpleegt u de volgende bronnen:
- Aanvragen verifiëren voor Azure AI-services
- Wat is Microsoft Entra ID
- Wat zijn beheerde identiteiten voor Azure-resources?
- Toegang en verbindingen van Azure-resources verifiëren met beheerde identiteiten in Azure Logic-apps
Een Azure OpenAI- of Azure AI Search-actie toevoegen aan uw werkstroom
Momenteel bieden de connectors voor Azure OpenAI en Azure AI Search alleen acties, niet triggers. U kunt uw werkstroom starten met elke trigger die past bij uw scenario of behoeften. Op basis van of u een verbruiks- of standaardwerkstroom hebt, kunt u deze algemene stappen volgen om acties toe te voegen voor Azure OpenAI, Azure AI Search en andere bewerkingen.
Scenario's
In de volgende scenario's worden slechts twee van de vele manieren beschreven waarop u AI-connectorbewerkingen in uw werkstromen kunt gebruiken:
Een knowledge base maken voor uw bedrijfsgegevens
Azure Logic Apps biedt meer dan 1400 door Microsoft beheerde connectors en systeemeigen ingebouwde connectors voor uw werkstroom om veilig verbinding te maken met bijna elke gegevensbron, zoals SharePoint, Oracle DB, Salesforce, OneDrive, Dropbox, SAP, IBM, enzovoort. Elke connector biedt bewerkingen, waaronder triggers, acties of beide, die u in uw werkstroom kunt gebruiken.
U kunt bijvoorbeeld kiezen uit veel triggertypen om uw geautomatiseerde werkstroom volgens een planning uit te voeren of op basis van specifieke gebeurtenissen, zoals het uploaden van nieuwe documenten naar een SharePoint-site. Met zoveel bewerkingen die u kunt kiezen, kunt u een knowledge base maken en eenvoudig een pijplijn voor documentopname maken met behulp van vector-insluitingen voor deze documenten in Azure AI Search.
Voor meer informatie raadpleegt u de volgende bronnen:
Voltooiingen genereren
Een Azure Logic Apps-werkstroom kan invoer accepteren, terwijl Azure OpenAI Service voltooiingsbewerkingen kan uitvoeren. Deze mogelijkheden betekenen dat uw werkstroom realtime vragen kan opnemen, antwoorden over uw gegevens kan genereren of geautomatiseerde antwoorden kan verzenden met behulp van Azure OpenAI. U kunt de antwoorden onmiddellijk terugsturen naar de client of naar een goedkeuringswerkstroom voor verificatie.
Voor meer informatie raadpleegt u de volgende bronnen:
Voorbeeldscenario met voorbeeldcode: Gegevens opnemen en chatinteracties maken
In dit standaardwerkstroomvoorbeeld ziet u hoe u de ingebouwde Connectors van Azure OpenAI en Azure AI Search gebruikt om de back-endlogica op te splitsen voor het opnemen van gegevens en het uitvoeren van eenvoudige chatgesprekken in twee belangrijke werkstromen. Voor snellere prestaties maakt u staatloze werkstromen die standaard niet de geschiedenis voor elke uitvoering opslaan en opslaan.
Voorbeeldcode
Een chatgesprek maken met behulp van opgenomen gegevens
Andere vereisten
Een standaardwerkstroom voor logische apps
Zie de voorbeeldcodevereisten.
De volgende parameterwaarden voor meerdere omgevingen worden ook gebruikt door de werkstroombewerkingen in dit voorbeeld:
Parameternaam Beschrijving aisearch_admin_key De beheersleutel voor Azure AI Search aisearch_endpoint De eindpunt-URL voor het Azure AI Search-voorbeeld aisearch_index_name De index die moet worden gebruikt voor het Azure AI Search-voorbeeld openapi_api_key De API-sleutel voor Azure OpenAI openai_deployment_id De implementatie-id voor het Azure OpenAI-voorbeeld openai_endpoint De eindpunt-URL voor het Azure OpenAI-voorbeeld tokenize_function_url De URL voor een aangepaste Azure-functie die gegevens batcheert en tokeniseert. Dit is vereist voor Azure OpenAI om insluitingen voor dit voorbeeld correct te maken.
Zie de voorbeeldcode voor 'Een chat maken met behulp van opgenomen gegevens' voor meer informatie over deze functie.
Video: Meer informatie over het bouwen van AI-toepassingen met behulp van logische apps
Meer informatie over het bouwen van AI-toepassingen met behulp van logische apps
Gegevenswerkstroom opnemen
Als u veel tijd en moeite wilt besparen wanneer u een opnamepijplijn bouwt, implementeert u het volgende patroon met een gegevensbron. Dit patroon bevat alle voordelen en voordelen die momenteel worden geboden door Standard-werkstromen in Azure Logic Apps met één tenant.
Elke stap in dit patroon zorgt ervoor dat de AI naadloos alle essentiële informatie uit uw gegevensbestanden extraheert. Als deze wordt uitgevoerd als een staatloze werkstroom, biedt dit patroon ook snellere prestaties. Deze aanpak vereenvoudigt niet alleen het coderingsaspect, maar garandeert ook dat uw werkstromen effectieve verificatie-, bewakings- en implementatieprocessen hebben.
Stap | Taak | Onderliggende bewerking | Beschrijving |
---|---|---|---|
1 | Controleer op nieuwe gegevens. | Wanneer een HTTP-aanvraag wordt ontvangen | Een trigger die pollt of wacht tot nieuwe gegevens binnenkomen, hetzij op basis van een gepland terugkeerpatroon of in reactie op specifieke gebeurtenissen. Een dergelijke gebeurtenis kan een nieuw bestand zijn dat wordt geüpload naar een specifiek opslagsysteem, zoals SharePoint, OneDrive of Azure Blob Storage. In dit voorbeeld wacht de aanvraagtriggerbewerking op een HTTP- of HTTPS-aanvraag die is verzonden vanaf een ander eindpunt. De aanvraag bevat de URL voor een nieuw geüpload document. |
2 | Haal de gegevens op. | HTTP | Een HTTP-actie waarmee het geüploade document wordt opgehaald met behulp van de bestands-URL uit de uitvoer van de trigger. |
3 | Documentdetails opstellen. | Compose | Een actie Gegevensbewerkingen waarmee verschillende items worden samengevoegd. In dit voorbeeld worden sleutelwaardegegevens over het document samengevoegd. |
4 | Een tokentekenreeks maken. | Een document parseren | Een gegevensbewerkingsactie die een tokentekenreeks produceert met behulp van de uitvoer van de actie Opstellen . |
5 | Inhoudssegmenten maken. | Segmenttekst | Een gegevensbewerkingsactie waarmee de tokentekenreeks wordt gesplitst in stukken, op basis van het aantal tekens of tokens per inhoudssegment. |
6 | Tokenized gegevens converteren naar JSON. | JSON parseren | Een bewerking voor gegevensbewerkingen waarmee de segmenten van de tokentekenreeks worden geconverteerd naar een JSON-matrix. |
7 | Selecteer JSON-matrixitems. | Selecteren | Een actie Gegevensbewerkingen waarmee meerdere items uit de JSON-matrix worden geselecteerd. |
8 | Genereer de insluitingen. | Meerdere insluitingen ophalen | Een Azure OpenAI-actie waarmee insluitingen voor elk JSON-matrixitem worden gemaakt. |
9 | Selecteer insluitingen en andere informatie. | Selecteren | Een bewerking voor gegevensbewerkingen waarmee insluitingen en andere documentgegevens worden geselecteerd. |
10 | Indexeer de gegevens. | Documenten indexeren | Een Azure AI Search-actie waarmee de gegevens worden geïndexeerd op basis van elke geselecteerde insluiting. |
Chatwerkstroom
Wanneer uw vectordatabases gegevens blijven opnemen, moet u ervoor zorgen dat de gegevens eenvoudig kunnen worden doorzocht, zodat wanneer een gebruiker een vraag stelt, de werkstroom van de standaard logische app voor de back-end de prompt kan verwerken en een betrouwbaar antwoord kan genereren.
Het volgende patroon is slechts één voorbeeld dat laat zien hoe een chatwerkstroom eruit kan zien:
Stap | Taak | Onderliggende bewerking | Beschrijving |
---|---|---|---|
1 | Wacht op de invoerprompt. | Wanneer een HTTP-aanvraag wordt ontvangen | Een trigger die pollt of wacht tot nieuwe gegevens binnenkomen, hetzij op basis van een gepland terugkeerpatroon of in reactie op specifieke gebeurtenissen. In dit voorbeeld wacht de aanvraagtrigger op de vraag van de klant en legt deze vast. |
2 | Invoersysteembericht voor het model. | Compose | Een gegevensbewerkingsactie die invoer biedt voor het trainen van het model. |
3 | Voorbeeldvragen en antwoorden invoeren. | Compose | Een actie Voor gegevensbewerkingen die voorbeeldvragen van klanten en bijbehorende rollen biedt om het model te trainen. |
4 | Invoersysteembericht voor zoekquery. | Compose | Een gegevensbewerkingsactie die queryinvoer biedt om het model te trainen. |
5 | Zoekquery genereren. | JavaScript-code uitvoeren | Een inlinecodeactie die gebruikmaakt van JavaScript om een zoekquery voor het vectorarchief te maken, op basis van de uitvoer van de voorgaande compose-acties . |
6 | Converteer de query naar insluiten. | Chatvoltooiingen ophalen | Een Azure OpenAI-actie die verbinding maakt met de API voor het voltooien van chats, waarmee betrouwbare antwoorden in chatgesprekken worden gegarandeerd. In dit voorbeeld accepteert de actie zoekquery's en rollen als invoer voor het model en retourneert vector-insluitingen als uitvoer. |
7 | Haal een insluiting op. | Een insluiting ophalen | Een Azure OpenAI-actie waarmee één vector wordt ingesloten. |
8 | Doorzoek de vectordatabase. | Zoekvectoren | Een Azure AI Search-actie waarmee zoekopdrachten in het vectorarchief worden uitgevoerd. |
9 | Prompt maken. | JavaScript-code uitvoeren | Een inlinecodeactie die gebruikmaakt van JavaScript om prompts te bouwen. |
10 | Voer chatvoltooiing uit. | Chatvoltooiingen ophalen | Een Azure OpenAI-actie die verbinding maakt met de API voor het voltooien van chats, waarmee betrouwbare antwoorden in chatgesprekken worden gegarandeerd. In dit voorbeeld accepteert de actie prompts en rollen als invoer voor het model en retourneert de door het model gegenereerde antwoorden als uitvoer. |
11 | Een antwoord retourneren. | Respons | Een aanvraagactie die de resultaten naar de aanroeper retourneert wanneer u de aanvraagtrigger gebruikt. |