De Azure OpenAI-web-app gebruiken
Samen met Azure AI Studio, Azure OpenAI Studio, API's en SDK's kunt u de aanpasbare zelfstandige web-app gebruiken om te communiceren met Azure OpenAI-modellen met behulp van een grafische gebruikersinterface. Belangrijke functies omvatten onder meer:
- Connectiviteit met meerdere gegevensbronnen ter ondersteuning van uitgebreide query's en het ophalen van uitgebreide generatie, waaronder Azure AI Search, Prompt Flow en meer.
- Gespreksgeschiedenis en gebruikersfeedbackverzameling via Cosmos DB.
- Verificatie met op rollen gebaseerd toegangsbeheer via Microsoft Entra-id.
- Aanpassing van de gebruikersinterface, gegevensbronnen en functies met behulp van omgevingsvariabelen (zonder code via Azure Portal).
- Ondersteuning voor het wijzigen van de onderliggende broncode van de webtoepassing als een opensource-opslagplaats.
U kunt de app implementeren met behulp van Azure AI Studio of Azure OpenAI Studio, of via een handmatige implementatie via Azure Portal of de Azure Developer CLI via uw lokale computer (hier vindt u instructies in de opslagplaats). Afhankelijk van uw implementatiekanaal kunt u een gegevensbron vooraf laden om met de webtoepassing te chatten, maar dit kan na de implementatie worden gewijzigd.
Voor beginners van Azure OpenAI die willen chatten met hun gegevens via de webtoepassing, is Azure AI Studio het aanbevolen medium voor de eerste implementatie en configuratie van gegevensbronnen.
Belangrijke aandachtspunten
- Deze webtoepassing en veel van de functies zijn in preview, wat betekent dat er fouten kunnen optreden en dat niet alle functies mogelijk zijn voltooid. Als u een fout vindt of hulp nodig hebt, dient u een probleem op te lossen in de bijbehorende GitHub-opslagplaats.
- Als u een web-app publiceert, wordt er een Azure-app Service-exemplaar in uw abonnement gemaakt. Er kunnen kosten in rekening worden gebracht, afhankelijk van het prijsplan dat u selecteert. Wanneer u klaar bent met uw app, kunt u deze en alle bijbehorende resources verwijderen uit Azure Portal.
- GPT-4 Turbo met Vision-modellen worden momenteel niet ondersteund.
- De app wordt standaard geïmplementeerd met de Microsoft-id-provider die al is geconfigureerd. De id-provider beperkt de toegang tot de app tot leden van uw Azure-tenant. Verificatie toevoegen of wijzigen:
Ga naar Azure Portal en zoek naar de app-naam die u tijdens het publiceren hebt opgegeven. Selecteer de web-app en selecteer vervolgens Verificatie in het menu links. Selecteer vervolgens Id-provider toevoegen.
Selecteer Microsoft als id-provider. De standaardinstellingen op deze pagina beperken de app alleen tot uw tenant, dus u hoeft hier niets anders te wijzigen. Selecteer Toevoegen.
Gebruikers worden nu gevraagd zich aan te melden met hun Microsoft Entra-account om toegang te krijgen tot uw app. U kunt een vergelijkbaar proces volgen om desgewenst een andere id-provider toe te voegen. De app gebruikt de aanmeldingsgegevens van de gebruiker niet op een andere manier dan controleren of de gebruiker lid is van uw tenant. Bekijk deze quickstart over verificatie voor web-apps in Azure-app Service voor meer informatie over het beheren van verificatie.
De toepassing aanpassen met behulp van omgevingsvariabelen
U kunt de front-end- en back-endlogica van de app aanpassen. De app biedt verschillende omgevingsvariabelen voor veelvoorkomende aanpassingsscenario's , zoals het wijzigen van het pictogram in de app.
Deze omgevingsvariabelen kunnen worden gewijzigd via Azure Portal nadat de webtoepassing is geïmplementeerd.
- Zoek en selecteer in Azure Portal de pagina App Services.
- Selecteer de web-app die u zojuist hebt geïmplementeerd.
- Selecteer > in het linkermenu van de app instellingen omgevingsvariabelen.
- Als u een bestaande omgevingsvariabele wilt wijzigen, klikt u op de naam ervan.
- Als u één nieuwe omgevingsvariabele wilt toevoegen, klikt u op Toevoegen in de bovenste menubalk van het deelvenster.
- Als u de op JSON gebaseerde editor wilt gebruiken om omgevingsvariabelen te beheren, klikt u op Geavanceerd bewerken.
Wanneer u de app aan het aanpassen bent, raden we het volgende aan:
Duidelijk communiceren hoe elke instelling die u implementeert van invloed is op de gebruikerservaring.
De app-instellingen voor elk van uw geïmplementeerde apps bijwerken om nieuwe API-sleutels te gebruiken nadat u sleutels voor uw Azure OpenAI- of Azure AI Search-resource hebt gedraaid.
Voorbeeldbroncode voor de web-app is beschikbaar op GitHub. Broncode wordt 'zoals is' opgegeven en alleen als voorbeeld. Klanten zijn verantwoordelijk voor alle aanpassingen en implementatie van hun web-apps.
De gebruikersinterface van de toepassing wijzigen
De omgevingsvariabelen die relevant zijn voor aanpassing van de gebruikersinterface zijn:
UI_CHAT_DESCRIPTION
: Dit is de kleinere alineatekst die onder hetUI_CHAT_TITLE
midden van de pagina wordt weergegeven bij het laden.- Gegevenstype: tekst
UI_CHAT_LOGO
: Dit is de grote afbeelding die wordt weergegeven in het midden van de pagina bij het laden.- Gegevenstype: URL naar afbeelding
UI_CHAT_TITLE
: Dit is de grote tekst die wordt weergegeven in het midden van de pagina bij het laden.- Gegevenstype: tekst
UI_FAVICON
: Dit is het favicon dat op het browservenster/tabblad wordt weergegeven.- Gegevenstype: URL naar afbeelding
UI_LOGO
: Dit logo wordt linksboven op de pagina weergegeven en links van de titel.- Gegevenstype: URL naar afbeelding
UI_TITLE
: Dit is de titel die wordt weergegeven in het browservenster/tabblad. Het wordt ook weergegeven in de linkerbovenhoek van de pagina door het logo.- Gegevenstype: tekst
UI_SHOW_SHARE_BUTTON
: Deze knop wordt rechtsboven op de pagina weergegeven en stelt gebruikers in staat om een URL te delen die is gekoppeld aan de web-app.- Gegevenstype: Booleaanse waarde moet Waar of Onwaar invoeren, standaard ingesteld op Waar als deze leeg of niet is opgegeven.
UI_SHOW_CHAT_HISTORY_BUTTON
: Dit wordt rechtsboven op de pagina en links van de UI_SHOW_SHARE_BUTTON weergegeven.- Gegevenstype: Booleaanse waarde moet Waar of Onwaar invoeren, standaard ingesteld op Waar als deze leeg of niet is opgegeven.
Als u de gebruikersinterface van de toepassing wilt wijzigen, volgt u de instructies in de vorige stap om de pagina met omgevingsvariabelen voor uw web-app te openen. Gebruik vervolgens Geavanceerde bewerking om de op JSON gebaseerde editor te openen. Plak boven aan de JSON (na het [
teken) het onderstaande codeblok en pas de waarden dienovereenkomstig aan:
{
"name": "UI_CHAT_DESCRIPTION",
"value": "This is an example of a UI Chat Description. Chatbots can make mistakes. Check important info and sensitive info.",
"slotSetting": false
},
{
"name": "UI_CHAT_LOGO",
"value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
"slotSetting": false
},
{
"name": "UI_CHAT_TITLE",
"value": "This is an example of a UI Chat Title. Start chatting",
"slotSetting": false
},
{
"name": "UI_FAVICON",
"value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
"slotSetting": false
},
{
"name": "UI_LOGO",
"value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
"slotSetting": false
},
{
"name": "UI_TITLE",
"value": "This is an example of a UI Title",
"slotSetting": false
},
Chatgeschiedenis inschakelen met Cosmos DB
U kunt chatgeschiedenis inschakelen voor uw gebruikers van de web-app. Wanneer u de functie inschakelt, hebben gebruikers toegang tot hun afzonderlijke eerdere query's en antwoorden.
Als u chatgeschiedenis wilt inschakelen, implementeert of implementeert u uw model als een web-app met behulp van Azure OpenAI Studio of Azure AI Studio en selecteert u Chatgeschiedenis en feedback van gebruikers in de web-app inschakelen.
Belangrijk
Als u chatgeschiedenis inschakelt, wordt een Azure Cosmos DB-exemplaar in uw resourcegroep gemaakt en worden er extra kosten in rekening gebracht voor de opslag die u buiten eventuele gratis lagen gebruikt.
Nadat u de chatgeschiedenis hebt ingeschakeld, kunnen uw gebruikers deze weergeven en verbergen in de rechterbovenhoek van de app. Wanneer gebruikers chatgeschiedenis weergeven, kunnen ze gesprekken hernoemen of verwijderen. U kunt wijzigen of gebruikers toegang hebben tot deze functie met behulp van de omgevingsvariabele UI_SHOW_CHAT_HISTORY_BUTTON
zoals opgegeven in de vorige sectie. Omdat de gebruikers zijn aangemeld bij de app, worden gesprekken automatisch van nieuw naar oud geordend. Gesprekken worden benoemd op basis van de eerste query in het gesprek.
Notitie
Populaire Azure-regio's, zoals VS - oost, kunnen perioden van hoge vraag ervaren, waar het mogelijk niet mogelijk is om een nieuw exemplaar van Cosmos DB te implementeren. In dat geval kiest u ervoor om te implementeren in een alternatieve regio, zoals VS - oost 2, of probeert u de implementatie opnieuw uit te voeren totdat deze is geslaagd. Als de implementatie van Cosmos DB mislukt, is uw app beschikbaar op de opgegeven URL, maar is de chatgeschiedenis niet beschikbaar. Als u gespreksgeschiedenis inschakelt, wordt ook de knop Gespreksgeschiedenis weergeven in de rechterbovenhoek ingeschakeld.
Als u implementeert met de geselecteerde chatgeschiedenisoptie, worden automatisch de volgende omgevingsvariabelen ingevuld. U hoeft ze dus niet te wijzigen, tenzij u van Cosmos DB-exemplaar wilt wisselen. Dit zijn:
AZURE_COSMOSDB_ACCOUNT
: Dit is de naam van het Cosmos DB-account dat samen met uw web-app wordt geïmplementeerd.- Gegevenstype: tekst
AZURE_COSMOSDB_ACCOUNT_KEY
: Dit is een alternatieve omgevingsvariabele die alleen wordt gebruikt wanneer machtigingen niet worden verleend via Microsoft Entra-id en verificatie op basis van sleutels wordt gebruikt.- Gegevenstype: tekst. Is normaal gesproken niet aanwezig of ingevuld.
AZURE_COSMOSDB_DATABASE
: Dit is de naam van het databaseobject in Cosmos DB dat samen met uw web-app wordt geïmplementeerd.- Gegevenstype: tekst, moet zijn
db_conversation_history
- Gegevenstype: tekst, moet zijn
AZURE_COSMOSDB_CONTAINER
: Dit is de naam van het databasecontainerobject in Cosmos DB dat samen met uw web-app wordt geïmplementeerd.- Gegevenstype: tekst, moet zijn
conversations
- Gegevenstype: tekst, moet zijn
AZURE_COSMOSDB_ACCOUNT
: Dit is de naam van het Cosmos DB-account dat samen met uw web-app wordt geïmplementeerd.- Gegevenstype: tekst
Gebruikersfeedback verzamelen
Als u feedback van gebruikers wilt verzamelen, kunt u een set pictogrammen 'duim omhoog' en 'duim omlaag' inschakelen die worden weergegeven op elk van de reacties van de chatbot. Hierdoor kunnen gebruikers de kwaliteit van een antwoord evalueren en aangeven waar fouten optreden met behulp van een modaal venster 'negatieve feedback geven'.
Als u deze functie wilt inschakelen, stelt u de volgende omgevingsvariabele in op Waar:
AZURE_COSMOSDB_ENABLE_FEEDBACK
: Dit is de naam van het Cosmos DB-account dat samen met uw web-app wordt geïmplementeerd.- Gegevenstype: Gegevenstype: Booleaanse waarde, moet Waar of Onwaar invoeren
Dit kan worden bereikt met behulp van de geavanceerde bewerkings- of eenvoudige bewerkingsopties zoals eerder uitgelegd. De JSON die moet worden geplakt in de JSON-editor Geavanceerd bewerken is:
{
"name": "AZURE_COSMOSDB_ENABLE_FEEDBACK",
"value": "True",
"slotSetting": false
},
Verbinding maken met Azure AI Search en geüploade bestanden als gegevensbron
Azure AI Studio gebruiken
Volg deze zelfstudie over het integreren van Azure AI Search met AI Studio en het opnieuw implementeren van uw toepassing.
Azure OpenAI Studio gebruiken
Volg deze zelfstudie over het integreren van Azure AI Search met OpenAI Studio en het opnieuw implementeren van uw toepassing.
Omgevingsvariabelen gebruiken
Als u verbinding wilt maken met Azure AI Search zonder uw app opnieuw te implementeren, kunt u de volgende verplichte omgevingsvariabelen wijzigen met behulp van een van de bewerkingsopties zoals eerder beschreven.
DATASOURCE_TYPE
: Hiermee bepaalt u welke gegevensbron moet worden gebruikt bij het beantwoorden van de query's van een gebruiker.- Gegevenstype: tekst. Moet worden ingesteld op
AzureCognitiveSearch
(voormalige naam voor Azure AI Search)
- Gegevenstype: tekst. Moet worden ingesteld op
AZURE_SEARCH_SERVICE
: Dit is de naam van uw Azure AI Search-exemplaar.- Gegevenstype: tekst
AZURE_SEARCH_INDEX
: Dit is de naam van de indexnaam van uw Azure AI Search-exemplaar.- Gegevenstype: tekst
AZURE_SEARCH_KEY
: Dit is de verificatiesleutel van uw Azure AI Search-exemplaar. Optioneel als u Microsoft Entra-id gebruikt voor verificatie.- Gegevenstype: tekst
Verdere aanpassingsscenario's met behulp van omgevingsvariabelen
AZURE_SEARCH_USE_SEMANTIC_SEARCH
: Geeft aan of semantische zoekopdrachten moeten worden gebruikt in Azure AI Search.- Gegevenstype: Booleaanse waarde moet worden ingesteld op
False
als u geen semantische zoekopdracht gebruikt.
- Gegevenstype: Booleaanse waarde moet worden ingesteld op
AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG
: Hiermee geeft u de naam op van de semantische zoekconfiguratie die moet worden gebruikt als semantische zoekopdracht is ingeschakeld.- Gegevenstype: tekst, standaard ingesteld op
azureml-default
.
- Gegevenstype: tekst, standaard ingesteld op
AZURE_SEARCH_INDEX_TOP_K
: Definieert het aantal belangrijkste documenten dat moet worden opgehaald uit Azure AI Search.- Gegevenstype: geheel getal, moet worden ingesteld op
5
.
- Gegevenstype: geheel getal, moet worden ingesteld op
AZURE_SEARCH_ENABLE_IN_DOMAIN
: Hiermee beperkt u antwoorden op query's die alleen betrekking hebben op uw gegevens.- Gegevenstype: Booleaanse waarde moet worden ingesteld op
True
.
- Gegevenstype: Booleaanse waarde moet worden ingesteld op
AZURE_SEARCH_CONTENT_COLUMNS
: Hiermee geeft u de lijst met velden in uw Azure AI Search-index op die de tekstinhoud van uw documenten bevatten, die wordt gebruikt bij het formuleren van een botantwoord.- Gegevenstype: tekst, standaard ingesteld
content
op indien geïmplementeerd vanuit Azure AI Studio of Azure OpenAI Studio,
- Gegevenstype: tekst, standaard ingesteld
AZURE_SEARCH_FILENAME_COLUMN
: Hiermee geeft u het veld op uit uw Azure AI Search-index die een unieke id biedt van de brongegevens die moeten worden weergegeven in de gebruikersinterface.- Gegevenstype: tekst, standaard ingesteld
filepath
op indien geïmplementeerd vanuit Azure AI Studio of Azure OpenAI Studio,
- Gegevenstype: tekst, standaard ingesteld
AZURE_SEARCH_TITLE_COLUMN
: Hiermee geeft u het veld op uit uw Azure AI Search-index die een relevante titel of koptekst biedt voor uw gegevensinhoud die in de gebruikersinterface moet worden weergegeven.- Gegevenstype: tekst, standaard ingesteld
title
op indien geïmplementeerd vanuit Azure AI Studio of Azure OpenAI Studio,
- Gegevenstype: tekst, standaard ingesteld
AZURE_SEARCH_URL_COLUMN
: Hiermee geeft u het veld op uit uw Azure AI Search-index die een URL voor het document bevat.- Gegevenstype: tekst, standaard ingesteld
url
op indien geïmplementeerd vanuit Azure AI Studio of Azure OpenAI Studio,
- Gegevenstype: tekst, standaard ingesteld
AZURE_SEARCH_VECTOR_COLUMNS
: Hiermee geeft u de lijst met velden in uw Azure AI Search-index op die vector-insluitingen van uw documenten bevatten, die worden gebruikt bij het formuleren van een botreactie.- Gegevenstype: tekst, standaard ingesteld
contentVector
op indien geïmplementeerd vanuit Azure AI Studio of Azure OpenAI Studio,
- Gegevenstype: tekst, standaard ingesteld
AZURE_SEARCH_QUERY_TYPE
: Hiermee geeft u het querytype op dat moet worden gebruikt: , , , ofvectorSemanticHybrid
vectorSimpleHybrid
.vector
semantic
simple
Deze instelling heeft voorrang opAZURE_SEARCH_USE_SEMANTIC_SEARCH
.- Gegevenstype: tekst, we raden u aan te testen met
vectorSemanticHybrid
.
- Gegevenstype: tekst, we raden u aan te testen met
AZURE_SEARCH_PERMITTED_GROUPS_COLUMN
: Hiermee geeft u het veld op uit uw Azure AI Search-index met Microsoft Entra-groeps-id's, waarmee toegangsbeheer op documentniveau wordt bepaald.- Gegevenstype: tekst
AZURE_SEARCH_STRICTNESS
: Hiermee geeft u het striktheidsniveau op voor het model dat reacties op uw gegevens beperkt.- Gegevenstype: geheel getal, moet worden ingesteld tussen
1
en5
, met3
aanbevolen.
- Gegevenstype: geheel getal, moet worden ingesteld tussen
AZURE_OPENAI_EMBEDDING_NAME
: Hiermee geeft u de naam van de implementatie van het insluitmodel op als u vectorzoekopdrachten gebruikt.- Gegevenstype: tekst
De JSON die moet worden geplakt in de JSON-editor Geavanceerd bewerken is:
{
"name": "AZURE_SEARCH_CONTENT_COLUMNS",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_ENABLE_IN_DOMAIN",
"value": "true",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_FILENAME_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_INDEX",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_KEY",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_PERMITTED_GROUPS_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_QUERY_TYPE",
"value": "vectorSemanticHybrid",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG",
"value": "azureml-default",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_SERVICE",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_STRICTNESS",
"value": "3",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_TITLE_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_TOP_K",
"value": "5",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_URL_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_USE_SEMANTIC_SEARCH",
"value": "true",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_VECTOR_COLUMNS",
"value": "contentVector",
"slotSetting": false
},
Verbinding maken met promptstroom als gegevensbron
Met promptstromen kunt u zeer aanpasbare RAG- en verwerkingslogica definiëren voor de query's van een gebruiker.
Uw promptstroom maken en implementeren in Azure AI Studio
Volg deze zelfstudie om een deductie-eindpunt te maken, testen en implementeren voor uw promptstroom in Azure AI Studio.
Onderliggende bronvermeldingen inschakelen vanuit uw promptstroom
Wanneer u de promptstroom configureert om bronvermeldingen weer te geven wanneer deze webtoepassing is geïntegreerd, moet deze twee belangrijke uitvoer retourneren: één aangeroepen documents
(uw bronvermeldingen) en één met de naam reply
(uw antwoord in natuurlijke taal).
documents
is een JSON-object dat de volgende elementen moet bevatten.citations
is een lijst die meerdere items kan bevatten die hetzelfde schema volgen. hetdocuments
object moet worden gegenereerd en ingevuld op basis van het geselecteerde RAG-patroon.
{
"citations": [
{
"content": "string",
"id": 12345,
"title": "string",
"filepath": "string",
"url": "string",
"metadata": "string",
"chunk_id": None,
"reindex_id": None,
"part_index": None
}
],
"intent": "Your_string_here"
}
reply
bestaat uit een geretourneerde tekenreeks die de uiteindelijke natuurlijke taal vertegenwoordigt voor een bepaalde gebruikersquery. Ureply
moet verwijzingen bevatten naar elk van de documenten (bronnen) in de volgende indeling:[doc1], [doc2]
, enzovoort. De webtoepassing parseertreply
en verwerkt de verwijzingen, waarbij alle exemplaren van[doc1]
kleine superscript-numerieke indicatoren worden vervangen die rechtstreeks zijn gekoppeld aan de geordendedocuments
die worden geretourneerd. Daarom moet u uw LLM vragen waarmee de uiteindelijke natuurlijke taal wordt gegenereerd om deze verwijzingen op te nemen, die ook moeten worden doorgegeven in uw LLM-aanroep om ervoor te zorgen dat ze correct worden uitgelijnd. Voorbeeld:
system:
You are a helpful chat assistant that answers a user's question based on the information retrieved from a data source.
YOU MUST ALWAYS USE CITATIONS FOR ALL FACTUAL RESPONSES. YOU MUST INCLUDE CITATIONS IN YOUR ANSWER IN THE FORMAT [doc1], [doc2], ... AND SO FORTH WHEN YOU ARE USING INFORMATION RELATING TO SAID SOURCE. THIS MUST BE RETURNED IN YOUR ANSWER.
Provide sort and concise answers with details directly related to the query.
## Conversation history for context
{% for item in chat_history %}
user:
{{item.inputs.query}}
assistant:
{{item.outputs.reply}}
{% endfor %}
## Current question
user:
### HERE ARE SOME CITED SOURCE INFORMATION FROM A MOCKED API TO ASSIST WITH ANSWERING THE QUESTION BELOW. ANSWER ONLY BASED ON THE TRUTHS PRESENTED HERE.
{{your_input_name_for_documents}}
FOR EACH OF THE CITATIONS ABOVE, YOU MUST INCLUDE IN YOUR ANSWER [doc1], [doc2], ... AND SO FORTH WHEN YOU ARE USING INFORMATION RELATING TO SAID SOURCE. THIS MUST BE RETURNED IN YOUR ANSWER.
### HERE IS THE QUESTION TO ANSWER.
{{question}}
Omgevingsvariabelen configureren om promptstroom te integreren
De omgevingsvariabelen die u wilt wijzigen, zijn:
AZURE_OPENAI_STREAM
: Hiermee bepaalt u of het antwoord wordt geladen in een streaming-indeling (incrementele belasting). Dit wordt niet ondersteund voor promptstroom en moet dus worden ingesteld om deze functie teFalse
kunnen gebruiken.- Gegevenstype: Booleaanse waarde, ingesteld op
True
als er geen promptstroom wordt gebruikt,False
als u een promptstroom gebruikt
- Gegevenstype: Booleaanse waarde, ingesteld op
USE_PROMPTFLOW
: Geeft aan of er een bestaand eindpunt voor de promptstroom moet worden gebruikt. Als deze optie is ingesteld opTrue
, beidePROMPTFLOW_ENDPOINT
enPROMPTFLOW_API_KEY
moet worden ingesteld.- Gegevenstype: Booleaanse waarde, moet worden ingesteld op
False
als er geen promptstroom wordt gebruikt.
- Gegevenstype: Booleaanse waarde, moet worden ingesteld op
PROMPTFLOW_ENDPOINT
: Hiermee geeft u de URL van het geïmplementeerde promptstroomeindpunt op.- Gegevenstype: tekst, bijvoorbeeld
https://pf-deployment-name.region.inference.ml.azure.com/score
- Gegevenstype: tekst, bijvoorbeeld
PROMPTFLOW_API_KEY
: De verificatiesleutel voor het geïmplementeerde promptstroomeindpunt. Opmerking: alleen verificatie op basis van sleutels wordt ondersteund.- Gegevenstype: tekst
PROMPTFLOW_RESPONSE_TIMEOUT
: Hiermee definieert u de time-outwaarde in seconden voordat het eindpunt van de promptstroom reageert.- Gegevenstype: geheel getal, moet worden ingesteld op
120
.
- Gegevenstype: geheel getal, moet worden ingesteld op
PROMPTFLOW_REQUEST_FIELD_NAME
: De standaardveldnaam voor het samenstellen van de aanvraag voor de promptstroom. Opmerking:chat_history
wordt automatisch samengesteld op basis van de interactie. Als uw API andere verplichte velden verwacht, moet u de aanvraagparameters onder depromptflow_request
functie wijzigen.- Gegevenstype: tekst, moet worden ingesteld op
query
.
- Gegevenstype: tekst, moet worden ingesteld op
PROMPTFLOW_RESPONSE_FIELD_NAME
: De standaardveldnaam voor het verwerken van het antwoord van de promptstroomaanvraag.- Gegevenstype: tekst, moet worden ingesteld op
reply
.
- Gegevenstype: tekst, moet worden ingesteld op
PROMPTFLOW_CITATIONS_FIELD_NAME
: De standaardveldnaam voor het verwerken van de bronvermeldingen van de promptstroomaanvraag.- Gegevenstype: tekst, moet worden ingesteld op
documents
.
- Gegevenstype: tekst, moet worden ingesteld op
Verbinding maken met andere gegevensbronnen
Andere gegevensbronnen worden ondersteund, waaronder:
- Azure Cosmos DB
- Elasticsearch
- Azure SQL Server
- Pinecone
- Azure Machine Learning-index
Zie de GitHub-opslagplaats voor meer instructies over het inschakelen van deze gegevensbronnen.
De web-app bijwerken om de meest recente wijzigingen op te nemen
Notitie
Vanaf 1 februari 2024 moet de web-app de opdracht voor het opstarten van de app instellen op python3 -m gunicorn app:app
. Wanneer u een app bijwerkt die vóór 1 februari 2024 is gepubliceerd, moet u de opstartopdracht handmatig toevoegen vanaf de pagina App Service-configuratie .
We raden u aan om regelmatig wijzigingen op te halen uit de main
vertakking voor de broncode van de web-app om ervoor te zorgen dat u over de meest recente bugfixes, API-versie en verbeteringen beschikt. Daarnaast moet de web-app worden gesynchroniseerd telkens wanneer de API-versie die u gebruikt buiten gebruik wordt gesteld. U kunt de knop Watch of Star in de GitHub-opslagplaats van de web-app selecteren om op de hoogte te worden gesteld van wijzigingen en updates van de broncode.
Als u de web-app niet hebt aangepast, kunt u deze stappen gebruiken om deze te synchroniseren:
Ga naar uw web-app in Azure Portal.
Selecteer In het linkermenu onder Implementatie het Implementatiecentrum.
Selecteer Synchroniseren bovenaan het deelvenster en bevestig dat de app opnieuw wordt geïmplementeerd.
Als u de broncode van de app hebt aangepast of gewijzigd, moet u de broncode van uw app handmatig bijwerken en opnieuw implementeren:
- Als uw app wordt gehost op GitHub, pusht u de codewijzigingen naar uw opslagplaats en gebruikt u de voorgaande synchronisatiestappen.
- Als u de app handmatig opnieuw implementeert (bijvoorbeeld met behulp van de Azure CLI), volgt u de stappen voor uw implementatiestrategie.
Uw Cosmos DB-exemplaar verwijderen
Als u uw web-app verwijdert, wordt uw Cosmos DB-exemplaar niet automatisch verwijderd. Als u uw Cosmos DB-exemplaar samen met alle opgeslagen chats wilt verwijderen, gaat u naar de bijbehorende resource in Azure Portal en verwijdert u deze. Als u de Cosmos DB-resource verwijdert, maar de chatgeschiedenisoptie selecteert voor volgende updates vanuit Azure OpenAI Studio, ontvangt de toepassing een melding van de gebruiker van een verbindingsfout. De gebruiker kan echter de web-app blijven gebruiken zonder toegang tot de chatgeschiedenis.
Verificatie van Microsoft Entra-id tussen services inschakelen
Volg deze stappen om Microsoft Entra ID in te schakelen voor verificatie binnen de service voor uw web-app.
Beheerde identiteit inschakelen in uw Azure OpenAI-resource en Azure-app Service
U kunt beheerde identiteit inschakelen voor de Azure OpenAI-resource en de Azure-app Service door naar Identiteit te navigeren en de door het systeem toegewezen beheerde identiteit in te schakelen in Azure Portal voor elke resource.
Notitie
Als u een insluitmodel gebruikt dat is geïmplementeerd in dezelfde resource die wordt gebruikt voor deductie, hoeft u alleen beheerde identiteit in te schakelen op één Azure OpenAI-resource. Als u een insluitmodel gebruikt dat is geïmplementeerd in een andere resource dan het model dat wordt gebruikt voor deductie, moet u ook beheerde identiteit inschakelen op de Azure OpenAI-resource die wordt gebruikt om uw insluitmodel te implementeren.
Op rollen gebaseerd toegangsbeheer (RBAC) inschakelen in uw Azure Search-resource (optioneel)
Als u On Your Data gebruikt met Azure Search, moet u deze stap volgen.
Als u uw Azure OpenAI-resource toegang wilt geven tot uw Azure Search-resource, moet u op rollen gebaseerd toegangsbeheer inschakelen voor uw Azure Search-resource. Meer informatie over het inschakelen van RBAC-rollen voor uw resources.
RBAC-rollen toewijzen om communicatie tussen services mogelijk te maken
De volgende tabel bevat een overzicht van de RBAC-roltoewijzingen die nodig zijn voor alle Azure-resources die aan uw toepassing zijn gekoppeld.
Role | Gevolmachtigde | Bron |
---|---|---|
Search Index Data Reader |
Azure OpenAI (deductie) | Azure AI Search |
Search Service Contributor |
Azure OpenAI (deductie) | Azure AI Search |
Cognitive Services OpenAI User |
Webapp | Azure OpenAI (deductie) |
Cognitive Services OpenAI User |
Azure OpenAI (deductie) | Azure OpenAI (Embeddings) |
Volg deze instructies om de benodigde roltoewijzingen te maken om deze rollen toe te wijzen.
Wijzigingen in app-instellingen
Navigeer in de instellingen van de web-app naar Omgevingsvariabelen en breng de volgende wijzigingen aan:
- Verwijder de omgevingsvariabele
AZURE_OPENAI_KEY
omdat deze niet meer nodig is. - Als u On Your Data gebruikt met Azure Search en Microsoft Entra ID-verificatie gebruikt tussen Azure OpenAI en Azure Search, moet u ook de
AZURE_SEARCH_KEY
omgevingsvariabelen voor de toegangssleutels voor de gegevensbron verwijderen.
Als u een insluitmodel gebruikt dat is geïmplementeerd in dezelfde resource als uw model dat wordt gebruikt voor deductie, zijn er geen andere instellingenwijzigingen vereist.
Als u echter een insluitmodel gebruikt dat is geïmplementeerd in een andere resource, brengt u de volgende extra wijzigingen aan in de omgevingsvariabelen van uw app:
- Stel
AZURE_OPENAI_EMBEDDING_ENDPOINT
een variabele in op het volledige API-pad van de insluit-API voor de resource die u gebruikt voor insluitingen, bijvoorbeeldhttps://<your embedding AOAI resource name>.openai.azure.com/openai/deployments/<your embedding deployment name>/embeddings
- Verwijder de
AZURE_OPENAI_EMBEDDING_KEY
variabele voor het gebruik van Microsoft Entra ID-verificatie.
Zodra alle wijzigingen in de omgevingsvariabele zijn voltooid, start u de web-app opnieuw om microsoft Entra ID-verificatie tussen services in de web-app te gebruiken. Het duurt enkele minuten nadat de instellingen zijn gewijzigd.