Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Questo articolo illustra come distribuire ed eseguire la Chat con il proprio campione di dati per .NET. Questo esempio implementa un'app di chat usando C#, il servizio OpenAI di Azure e la generazione aumentata di recupero (RAG) in Azure AI Search per ottenere risposte sui vantaggi dei dipendenti in una società fittizia. L'app di chat per i vantaggi dei dipendenti è completata con file PDF, inclusi un manuale dipendenti, un documento sui vantaggi e un elenco di ruoli e aspettative aziendali.
Seguendo le istruzioni riportate in questo articolo, potrai:
Dopo aver completato questa procedura, è possibile iniziare a modificare il nuovo progetto con il codice personalizzato.
Questo articolo fa parte di una raccolta di articoli che illustrano come creare un'app di chat usando il servizio Open AI di Azure e Azure AI Search.
Altri articoli della raccolta includono:
In questa applicazione di esempio, una società fittizia denominata Contoso Electronics offre ai dipendenti l'esperienza dell'app chat per porre domande sui vantaggi, i criteri interni e le descrizioni e i ruoli dei processi.
L'architettura dell'app di chat è illustrata nel diagramma seguente:
La maggior parte delle risorse in questa architettura usa un piano tariffario di base o a consumo. I prezzi a consumo si basano sull'utilizzo, il che significa che si paga solo per ciò che si usa. Per completare questo articolo, ci sarà un addebito, ma sarà minimo. Al termine dell'articolo, puoi eliminare le risorse per interrompere l’addebito.
Per altre informazioni, vedi Esempi di Azure: Costo nel repository di esempio.
Per completare questo articolo è disponibile un ambiente contenitore di sviluppo con tutte le dipendenze necessarie. Puoi eseguire il contenitore di sviluppo in GitHub Codespaces (in un browser) o in locale usando Visual Studio Code.
Per seguire questo articolo, sono necessari i prerequisiti seguenti:
Inizia ora con un ambiente di sviluppo che ha tutte le dipendenze installate per completare questo articolo.
GitHub Codespaces esegue un contenitore di sviluppo gestito da GitHub con Visual Studio Code per il 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 2 istanze di core. Per altre informazioni, vedere Spazio di archiviazione e ore core mensili inclusi in GitHub Codespaces.
Avviare il processo per creare un nuovo spazio di codice GitHub nel ramo main
del repository GitHub Azure-Samples/azure-search-openai-demo-csharp
.
Per avere sia l'ambiente di sviluppo che la documentazione disponibili contemporaneamente, fare clic con il pulsante destro del mouse sul pulsante seguente Apri in GitHub Codespaces e selezionare Collegamento Apri in nuove finestre.
Nella pagina Crea codespace esamina le impostazioni di configurazione codespace, quindi seleziona Crea nuovo codespace:
Attendere l'avvio del codespace. Questo processo di avvio può richiedere alcuni minuti.
Nel terminale nella parte inferiore della schermata, accedi ad Azure con Azure Developer CLI.
azd auth login
Copia il codice dal terminale e incollalo in un browser. Segui le istruzioni per eseguire l'autenticazione con l'account Azure.
Le attività rimanenti in questo articolo vengono eseguite nel contesto di questo contenitore di sviluppo.
Il repository di esempio contiene tutti i file di codice e configurazione necessari per distribuire un'app di chat in Azure. La procedura seguente illustra il processo di distribuzione dell'esempio in 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 che venga eseguito completamente.
Esegui il seguente comando Azure Developer CLI per effettuare il provisioning delle risorse di Azure e distribuire il codice sorgente:
azd up
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.
Quando richiesto, seleziona una sottoscrizione in cui creare le risorse.
Quando ti viene richiesto di selezionare una posizione la prima volta, seleziona una posizione nelle vicinanze. Questa posizione viene usato per la maggior parte delle risorse, incluso l'hosting.
Se viene ti richiesta una posizione per il modello OpenAI, seleziona una posizione vicina. Se la stessa posizione è disponibile come prima posizione, selezionala.
Attendi la distribuzione dell'app. Il completamento della distribuzione può richiedere fino a 20 minuti.
Dopo che l'applicazione è stata distribuita correttamente, viene visualizzato un URL nel terminale.
Seleziona l'URL etichettato Deploying service web
per aprire l'applicazione di chat in un browser.
L'app di chat viene precaricata con informazioni sui vantaggi dei dipendenti che provengono da file PDF. Puoi usare l'app di chat per porre domande sui vantaggi. I passaggi seguenti illustrano il processo di utilizzo dell'app di chat.
Nel browser accedi alla pagina Chat usando il riquadro di spostamento a sinistra.
Seleziona o immetti "What is included in my Northwind Health Plus plan that not in standard?" (Cosa è incluso nel piano Northwind Health Plus non standard) nella casella di testo della chat. La risposta è simile all’immagine riportata di seguito.
Nella risposta seleziona una citazione. Verrà aperta una finestra popup che mostra la provenienza delle informazioni.
Spostati tra le schede nella parte superiore della casella di risposta per comprendere come è stata generata la risposta.
Scheda | Descrizione |
---|---|
Processo di pensiero | Si tratta di uno script delle interazioni nella chat. Puoi visualizzare la richiesta di sistema (content ) e la domanda dell'utente (content ). |
Contenuto di supporto | Sono incluse le informazioni per rispondere alla domanda e il materiale originario. Il numero di citazioni del materiale di origine è indicato nelle impostazioni sviluppatore. Il valore predefinito è 3. |
Citazione | Questo mostra la pagina di origine contenente la citazione. |
Al termine, torna alla scheda delle risposte.
L'intelligenza della chat è determinata dal modello OpenAI e dalle impostazioni usate per interagire con il modello.
Impostazione | Descrizione |
---|---|
Esegui l'override del modello di richiesta | Questo è il prompt usato per generare la risposta. |
Recupera questi numerosi risultati della ricerca | Questo è il numero dei risultati della ricerca usati per generare la risposta. Puoi visualizzare queste origini restituite nelle schede Processo di pensiero e Contenuto di supporto della citazione. |
Escludi categoria | Si tratta della categoria di documenti esclusi dai risultati della ricerca. |
Usa il classificatore semantico per il recupero | Si tratta di una funzionalità di Azure AI Search che usa l’apprendimento automatico per migliorare la pertinenza dei risultati della ricerca. |
Modalità di recupero | Vettori e testo significa che i risultati della ricerca sono basati sul testo dei documenti e sulle incorporazioni dei documenti. Vettori significa che i risultati della ricerca sono basati sulle incorporazioni dei documenti. Testo significa che i risultati della ricerca sono basati sul testo dei documenti. |
Usa riepiloghi contestuali di query anziché documenti interi | Quando vengono controllati sia Use semantic ranker che Use query-contextual summaries , l'LLM usa didascalie estratte dai passaggi chiave, anziché da tutti i passaggi, nei documenti con classificazione più alta. |
Suggerire domande di follow-up | Fare in modo che l'app di chat suggerisca domande di follow-up in base alla risposta. |
I passaggi seguenti illustrano il processo di modifica delle impostazioni.
Nel browser seleziona l'icona a forma di ingranaggio in alto a destra nella pagina.
Se non è selezionata, seleziona la casella di controllo Suggerisci domande di follow-up e poni nuovamente la stessa domanda.
What is included in my Northwind Health Plus plan that is not in standard?
La chat potrebbe fornire suggerimenti per le domande successive.
Nella scheda Impostazioni deseleziona Usa classificatore semantico per il recupero.
Porre di nuovo la stessa domanda.
What is my deductible?
Qual è la differenza nelle risposte?
La risposta che ha usato il classificatore semantico ha fornito una singola risposta. La risposta senza classificatore semantico ha restituito una risposta meno diretta.
Per completare, pulire le risorse Di Azure e GitHub CodeSpaces usate.
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
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 altre informazioni sui diritti dell'account GitHub, vedere Ore di archiviazione e di core mensili incluse in GitHub Codespaces.
Accedere al dashboard di GitHub Codespaces (https://github.com/codespaces).
Individuare i codespace attualmente in esecuzione provenienti dal repository GitHub Azure-Samples/azure-search-openai-demo-csharp
.
Aprire il menu di scelta rapida per il codespace e selezionare Elimina.
Questo repository di esempio offre informazioni sulla risoluzione dei problemi.
Se il problema non viene risolto, registralo nei Problemi del repository.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoFormazione
Modulo
Creare un copilota di intelligenza artificiale per Contoso Bike Shop. Integrare Azure OpenAI e Cosmos DB per abilitare ricerche avanzate di dati; usare GPT-3.5 per ottenere risultati avanzati e distribuire la soluzione nel servizio Azure Kubernetes.
Certificazione
Microsoft Certified: Azure AI Engineer Associate - Certifications
Progettare e implementare una soluzione di intelligenza artificiale di Azure usando i servizi di Azure AI, Azure AI Search e Azure Open AI.
Documentazione
Ridimensionare l'esempio di chat OpenAI di Azure per .NET con RAG - .NET
Informazioni su come aggiungere il bilanciamento del carico all'applicazione per estendere l'app di chat oltre i limiti di quota del token e del modello di Azure OpenAI.
Gestire il filtro del contenuto OpenAI in un’app .NET - .NET
Informazioni su come gestire il filtro del contenuto OpenAI a livello programmatico in un’app .NET usando la libreria client OpenAI.
Esercitazione: Valutare i completamenti dei prompt di un LLM - .NET
Valutare la coerenza, la pertinenza e il fondamento dei completamenti dei prompt di un LLM usando Azure OpenAI e il Semantic Kernel SDK per .NET.