Introduzione ad Azure OpenAI con Assistenti e chiamate di funzione in JavaScript

Questo articolo illustra come distribuire ed eseguire la guida introduttiva rapida dell'Assistente Azure OpenAI serverless. Questo esempio implementa un'applicazione di assistenti utilizzando JavaScript, gli assistenti di Servizio Azure OpenAI con chiamata di funzioni e Funzioni di Azure.

Panoramica dell'architettura

Gli assistenti OpenAI di Azure consentono di creare assistenti di intelligenza artificiale personalizzati in base alle proprie esigenze tramite istruzioni personalizzate e ottimizzati da strumenti avanzati come l'interprete del codice e le funzioni personalizzate. In questo articolo viene fornita una procedura dettagliata per iniziare a usare l’API degli assistenti.

Diagramma che mostra l'architettura dal client all'applicazione back-end.

Questa applicazione è basata su due componenti principali:

  • Una semplice pagina HTML con file CSS e JavaScript puri, ospitata in App Web statiche di Azure.

  • Un'API serverless creata con Funzioni di Azure e che usa OpenAI JavaScript SDK. L'app serverless invia la definizione degli assistenti, inclusa la chiamata di funzione all'endpoint OpenAI. L'endpoint risponde con la chiamata di funzione successiva e i parametri necessari per eseguirla.

    • La chiamata di funzione dell'esempio simula una chiamata a un'API generando un valore casuale del ticker azionario in base al simbolo del titolo inviato alla Funzione di Azure. Questa simulazione può essere sostituita con un'API remota nella soluzione.

    Diagramma che mostra l'integrazione tra Funzioni di Azure e Azure OpenAI, in cui Azure OpenAI può restituire i nomi delle funzioni successive che Funzioni di Azure deve chiamare.

Prerequisiti

È disponibile un ambiente container di sviluppo con tutte le dipendenze necessarie per completare questo articolo. Puoi eseguire il contenitore di sviluppo in GitHub Codespaces (in un browser) o in locale usando Visual Studio Code.

Per usare questo articolo, sono necessari i prerequisiti seguenti:

  1. Una sottoscrizione di Azure - Crearne una gratuitamente
  2. Permessi dell'account Azure: l'account Azure deve disporre delle autorizzazioni Microsoft.Authorization/roleAssignments/write, ad esempio Amministratore dell'accesso utente o Proprietario.
  3. Un account GitHub.

Ambiente di sviluppo aperto

Usare le istruzioni seguenti per distribuire un ambiente di sviluppo preconfigurato contenente tutte le dipendenze necessarie per completare questo articolo.

GitHub Codespaces esegue un contenitore di sviluppo gestito da GitHub, utilizzando Visual Studio Code for the Web come interfaccia utente. Per l'ambiente di sviluppo più semplice, usa GitHub Codespaces per avere gli strumenti di sviluppo e le dipendenze corretti preinstallati per completare questo articolo.

Importante

Tutti gli account GitHub possono usare Codespaces per un massimo di 60 ore gratuite ogni mese con due istanze principali. Per altre informazioni, vedi Archiviazione mensile inclusa e ore di core in GitHub Codespaces.

  1. Avvia il processo per creare un nuovo GitHub Codespace sul ramo main del repository GitHub Azure-Samples/azure-openai-assistant-javascript.

  2. Fare clic con il pulsante destro del mouse sul pulsante seguente e selezionare Apri link in nuove finestre per avere sia l'ambiente di sviluppo che la documentazione disponibili contemporaneamente.

    Apri in GitHub Codespaces

  3. Nella pagina Crea spazio codici esaminare le impostazioni di configurazione dello spazio di codice e quindi selezionare Crea nuovo spazio di codice

  4. Attendere l'avvio del codespace. Questo processo di avvio può richiedere alcuni minuti.

  5. Accedere ad Azure con l'interfaccia della riga di comando per sviluppatori di Azure nel terminale nella parte inferiore della schermata.

    azd auth login
    
  6. Copia il codice dal terminale e incollalo in un browser. Segui le istruzioni per eseguire l'autenticazione con l'account Azure.

  7. Le attività rimanenti in questo articolo vengono eseguite nel contesto di questo contenitore di sviluppo.

Distribuire ed eseguire

Il repository di esempio contiene tutti i file di codice e configurazione necessari per distribuire un'app per le funzioni in Azure. La procedura seguente illustra il processo di distribuzione dell'esempio in Azure.

Distribuisci l'app Assistants su Azure

Importante

Le risorse di Azure create in questa sezione comportano costi immediati, principalmente per la risorsa Azure AI Search. Queste risorse possono accumulare costi anche se si interrompe il comando prima del completamento.

  1. Esegui il seguente comando Azure Developer CLI per effettuare il provisioning delle risorse di Azure e distribuire il codice sorgente:

    azd up
    
  2. Quando ti viene richiesto di immettere un nome ambiente, sceglilo breve e in minuscolo. Ad esempio, myenv. Viene usato come parte del nome del gruppo di risorse.

  3. Quando richiesto, seleziona una sottoscrizione in cui creare le risorse.

  4. Quando ti viene richiesto di selezionare una posizione la prima volta, seleziona una posizione nelle vicinanze. Questa località viene utilizzata per la maggior parte delle risorse, tra cui l'hosting.

  5. Se viene ti richiesta una posizione per il modello OpenAI, seleziona una posizione vicina. Se la stessa posizione è disponibile come prima posizione, selezionala.

  6. Attendi la distribuzione dell'app. Il completamento della distribuzione potrebbe richiedere da 5 a 10 minuti.

  7. Dopo aver distribuito correttamente l'applicazione, viene visualizzato un URL nel terminale.

  8. Selezionare l'URL contrassegnato con Deploying service web per aprire l'applicazione dell'assistente nel browser.

Usare l'app di assistente

Usare l'app assistente per ottenere il prezzo del mercato azionario di MSFT. I passaggi seguenti illustrano il processo di utilizzo dell'app assistente. L'assistente può inviare le risposte tramite posta elettronica. Poiché la funzionalità di invio della posta elettronica non è configurata, modificare il prompt per non usare tale istruzione.

  1. Nel browser copiare e incollare il prompt seguente:

    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. Selezionare il pulsante Run (Esegui). I risultati dovrebbero essere simili alla risposta seguente.

    Screenshot della prima risposta dell'app Assistente.

Pulire le risorse

Pulire le risorse di Azure

Le risorse di Azure create in questo articolo vengono fatturate alla sottoscrizione di Azure. Se prevedi che queste risorse non ti servano in futuro, eliminale per evitare di incorrere in costi aggiuntivi.

Esegui il seguente comando Azure Developer CLI per eliminare le risorse di Azure e rimuovere il codice sorgente:

azd down --purge

Pulire GitHub Codespaces

L'eliminazione dell'ambiente GitHub Codespaces offre la possibilità di aumentare le ore gratuite per core a cui si ha diritto per l'account.

Importante

Per ulteriori informazioni sulle risorse incluse nel tuo account GitHub, consulta Archiviazione mensile inclusa e ore di calcolo in GitHub Codespaces.

  1. Accedi al dashboard di GitHub Codespaces .

  2. Individua i Codespaces attualmente in esecuzione associati al repository GitHub Azure-Samples/azure-openai-assistant-javascript.

    Schermata di tutti i Codespace in esecuzione con il relativo stato e i relativi modelli.

  3. Apri il menu di scelta rapida, ..., per il codespace e quindi seleziona Elimina.

Come ottenere assistenza

Questo repository di esempio contiene informazioni per la risoluzione dei problemi.

Se il problema non viene risolto, segnala il problema nella sezione Issues del repository.