Delen via


Aan de slag met Azure OpenAI met assistenten en functieoproepen in JavaScript

In dit artikel leest u hoe u snel aan de slag kunt gaan met de serverloze Azure OpenAI-assistent. In dit voorbeeld wordt een assistent-app geïmplementeerd met behulp van JavaScript, Azure OpenAI Service-assistenten met functieaanroepen en Azure Functions.

Architectuuroverzicht

Met Azure OpenAI-assistenten kunt u AI-assistenten maken die zijn afgestemd op uw behoeften via aangepaste instructies en uitgebreid met geavanceerde hulpprogramma's zoals code-interpreter en aangepaste functies. In dit artikel bieden we een uitgebreid overzicht van hoe u aan de slag gaat met de Api voor assistenten.

Diagram showing architecture from client to backend app.Diagram met architectuur van client-naar back-end-app.

Deze toepassing is gebouwd rond twee hoofdonderdelen:

  • Een eenvoudige HTML-pagina met vanille CSS- en JavaScript-bestanden en gehost in Azure Static Web Apps.

  • Een serverloze API die is gebouwd met Azure Functions en met behulp van openAI JavaScript SDK. De serverloze app verzendt de definitie van de assistenten, inclusief de functie-aanroep naar het OpenAI-eindpunt. Het eindpunt reageert met de aanroep van de follow-upfunctie en de parameters die nodig zijn om die aanroep te voltooien.

    • De functieaanroep van het voorbeeld simuleert een API-aanroep door een willekeurige aandelen tickerwaarde te genereren op basis van het aandelensymbool dat naar de Azure-functie wordt verzonden. Deze simulatie kan worden vervangen door een externe API in uw oplossing.

    Diagram showing Azure Functions integration with Azure OpenAI where Azure OpenAI can return follow-up function names which Azure Functions should call.Diagram van Azure Functions-integratie met Azure OpenAI, waar Azure OpenAI opvolgende functienamen kan retourneren die door Azure Functions moeten worden aangeroepen.

Vereisten

Er is een ontwikkelcontaineromgeving beschikbaar met alle afhankelijkheden die nodig zijn om dit artikel te voltooien. U kunt de ontwikkelcontainer uitvoeren in GitHub Codespaces (in een browser) of lokaal met behulp van Visual Studio Code.

Als u dit artikel wilt gebruiken, hebt u de volgende vereisten nodig:

  1. Een Azure-abonnement - Een gratis abonnement maken
  2. Azure-accountmachtigingen: uw Azure-account moet beschikken over Microsoft.Authorization/roleAssignments/write-machtigingen, zoals Administrator voor gebruikerstoegang of Eigenaar.
  3. Een GitHub-account.

Open ontwikkelomgeving

Gebruik de volgende instructies om een vooraf geconfigureerde ontwikkelomgeving met alle vereiste afhankelijkheden te implementeren om dit artikel te voltooien.

GitHub Codespaces voert een ontwikkelcontainer uit die wordt beheerd door GitHub met Visual Studio Code voor het web als de gebruikersinterface. Voor de eenvoudigste ontwikkelomgeving gebruikt u GitHub Codespaces zodat u de juiste ontwikkelhulpprogramma's en afhankelijkheden vooraf hebt geïnstalleerd om dit artikel te voltooien.

Belangrijk

Alle GitHub-accounts kunnen Codespaces elke maand maximaal 60 uur gratis gebruiken met 2 kernexemplaren. Zie GitHub Codespaces maandelijks inbegrepen opslag- en kernuren voor meer informatie.

  1. Start het proces om een nieuwe GitHub Codespace te maken op de main vertakking van de Azure-Samples/azure-openai-assistant-javascript GitHub-opslagplaats.

  2. Klik met de rechtermuisknop op de volgende knop en selecteer Koppeling openen in nieuwe vensters om zowel de ontwikkelomgeving als de documentatie tegelijkertijd beschikbaar te maken.

    Open in GitHub CodespacesOpenen in GitHub Codespaces

  3. Controleer op de pagina Codespace maken de configuratie-instellingen voor codespace en selecteer vervolgens Nieuwe codespace maken

  4. Wacht tot de coderuimte is gestart. Dit opstartproces kan enkele minuten duren.

  5. Meld u in de terminal onderaan het scherm aan bij Azure met de Azure Developer CLI.

    azd auth login
    
  6. Kopieer de code uit de terminal en plak deze in een browser. Volg de instructies voor verificatie met uw Azure-account.

  7. De resterende taken in dit artikel vinden plaats in de context van deze ontwikkelingscontainer.

Implementeren en uitvoeren

De voorbeeldopslagplaats bevat alle code- en configuratiebestanden die u nodig hebt om een functie-app te implementeren in Azure. Met de volgende stappen doorloopt u het proces voor het implementeren van het voorbeeld in Azure.

De app Assistenten implementeren in Azure

Belangrijk

Voor Azure-resources die in deze sectie zijn gemaakt, worden directe kosten in rekening gebracht, voornamelijk op basis van de Azure AI Search-resource. Deze resources kunnen kosten genereren, zelfs als u de opdracht onderbreekt voordat deze volledig wordt uitgevoerd.

  1. Voer de volgende Azure Developer CLI-opdracht uit om de Azure-resources in te richten en de broncode te implementeren:

    azd up
    
  2. Wanneer u wordt gevraagd een omgevingsnaam in te voeren, moet u deze kort en klein houden. Bijvoorbeeld: myenv. Deze wordt gebruikt als onderdeel van de naam van de resourcegroep.

  3. Wanneer u hierom wordt gevraagd, selecteert u een abonnement waarin u de resources wilt maken.

  4. Wanneer u de eerste keer wordt gevraagd om een locatie te selecteren, selecteert u een locatie bij u in de buurt. Deze locatie wordt gebruikt voor de meeste resources, waaronder hosting.

  5. Als u wordt gevraagd om een locatie voor het OpenAI-model, selecteert u een locatie bij u in de buurt. Als dezelfde locatie beschikbaar is als uw eerste locatie, selecteert u die.

  6. Wacht totdat de app is geïmplementeerd. Het kan 5-10 minuten duren voordat de implementatie is voltooid.

  7. Nadat de toepassing is geïmplementeerd, ziet u een URL die wordt weergegeven in de terminal.

  8. Selecteer die URL die is gelabeld Deploying service web om de assistenttoepassing in een browser te openen.

De assistent-app gebruiken

U kunt de assistent-app gebruiken om de beurskoers van MSFT. Met de volgende stappen doorloopt u het proces voor het gebruik van de assistent-app. De assistent kan u de antwoorden per e-mail sturen. Aangezien de functie voor het verzenden van e-mail niet is geconfigureerd, wijzigt u de prompt om die instructie niet te gebruiken.

  1. Kopieer en plak de volgende prompt in de browser:

    Based on the latest financial data and current stock market trends, can you provide a detailed analysis of Microsoft's current state? Please include insights into their recent performance, market position, and future outlook. Additionally, retrieve and include the latest closing price of Microsoft's stock using its ticker symbol (MSFT). 
    
  2. Selecteer de knop Run (Uitvoeren). Uw resultaten moeten er ongeveer uitzien als in het volgende antwoord.

    Screenshot of assistant app's first answer.Schermopname van het eerste antwoord van de assistent-app.

Resources opschonen

Azure-resources opschonen

De Azure-resources die in dit artikel zijn gemaakt, worden gefactureerd voor uw Azure-abonnement. Als u deze resources in de toekomst niet meer nodig hebt, verwijdert u deze om te voorkomen dat er meer kosten in rekening worden gebracht.

Voer de volgende Azure Developer CLI-opdracht uit om de Azure-resources te verwijderen en de broncode te verwijderen:

azd down --purge

GitHub Codespaces opschonen

Als u de GitHub Codespaces-omgeving verwijdert, zorgt u ervoor dat u de hoeveelheid gratis rechten per kernuren kunt maximaliseren die u voor uw account krijgt.

Belangrijk

Zie GitHub Codespaces maandelijks inbegrepen opslag- en kernuren voor meer informatie over de rechten van uw GitHub-account.

  1. Meld u aan bij het GitHub Codespaces-dashboard (https://github.com/codespaces).

  2. Zoek uw momenteel uitgevoerde Codespaces die afkomstig zijn uit de Azure-Samples/azure-openai-assistant-javascript GitHub-opslagplaats.

    Screenshot of all the running Codespaces including their status and templates.Schermopname van alle actieve Codespaces, inclusief hun status en sjablonen.

  3. Open het contextmenu, ...voor de coderuimte en selecteer Vervolgens Verwijderen.

Hulp vragen

Deze voorbeeldopslagplaats biedt informatie over probleemoplossing.

Als het uitgegeven probleem niet is opgelost, meldt u het probleem aan bij de problemen van de opslagplaats.