Delen via


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.

Schermopname van de web-app-interface.

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:
    1. 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.

      Schermopname van het verificatiedeelvenster in Azure Portal.

    2. 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.

  1. Zoek en selecteer in Azure Portal de pagina App Services.
  2. Selecteer de web-app die u zojuist hebt geïmplementeerd.
  3. Selecteer > in het linkermenu van de app instellingen omgevingsvariabelen.
  4. Als u een bestaande omgevingsvariabele wilt wijzigen, klikt u op de naam ervan.
  5. Als u één nieuwe omgevingsvariabele wilt toevoegen, klikt u op Toevoegen in de bovenste menubalk van het deelvenster.
  6. 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 het UI_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.

Schermopname van het selectievakje voor het inschakelen van chatgeschiedenis in Azure OpenAI of Azure AI Studio.

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
  • 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
  • AZURE_COSMOSDB_ACCOUNT: Dit is de naam van het Cosmos DB-account dat samen met uw web-app wordt geïmplementeerd.
    • Gegevenstype: tekst

Schermopname van de chatgeschiedenis in de web-app.

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)
  • 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.
  • 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.
  • 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.
  • 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.
  • 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,
  • 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,
  • 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,
  • 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,
  • 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,
  • AZURE_SEARCH_QUERY_TYPE: Hiermee geeft u het querytype op dat moet worden gebruikt: , , , of vectorSemanticHybridvectorSimpleHybrid. vectorsemanticsimple Deze instelling heeft voorrang op AZURE_SEARCH_USE_SEMANTIC_SEARCH.
    • Gegevenstype: tekst, we raden u aan te testen met vectorSemanticHybrid.
  • 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 en 5, met 3 aanbevolen.
  • 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).

  1. documents is een JSON-object dat de volgende elementen moet bevatten. citations is een lijst die meerdere items kan bevatten die hetzelfde schema volgen. het documents 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"
}
  1. reply bestaat uit een geretourneerde tekenreeks die de uiteindelijke natuurlijke taal vertegenwoordigt voor een bepaalde gebruikersquery. U reply moet verwijzingen bevatten naar elk van de documenten (bronnen) in de volgende indeling: [doc1], [doc2], enzovoort. De webtoepassing parseert reply en verwerkt de verwijzingen, waarbij alle exemplaren van [doc1] kleine superscript-numerieke indicatoren worden vervangen die rechtstreeks zijn gekoppeld aan de geordende documents 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 te False kunnen gebruiken.
    • Gegevenstype: Booleaanse waarde, ingesteld op True als er geen promptstroom wordt gebruikt, False als u een promptstroom gebruikt
  • USE_PROMPTFLOW: Geeft aan of er een bestaand eindpunt voor de promptstroom moet worden gebruikt. Als deze optie is ingesteld op True, beide PROMPTFLOW_ENDPOINT en PROMPTFLOW_API_KEY moet worden ingesteld.
    • Gegevenstype: Booleaanse waarde, moet worden ingesteld op False als er geen promptstroom wordt gebruikt.
  • 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
  • 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.
  • 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 de promptflow_request functie wijzigen.
    • Gegevenstype: tekst, moet worden ingesteld op query.
  • PROMPTFLOW_RESPONSE_FIELD_NAME: De standaardveldnaam voor het verwerken van het antwoord van de promptstroomaanvraag.
    • Gegevenstype: tekst, moet worden ingesteld op reply.
  • PROMPTFLOW_CITATIONS_FIELD_NAME: De standaardveldnaam voor het verwerken van de bronvermeldingen van de promptstroomaanvraag.
    • Gegevenstype: tekst, moet worden ingesteld op documents.

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:

  1. Ga naar uw web-app in Azure Portal.

  2. Selecteer In het linkermenu onder Implementatie het Implementatiecentrum.

  3. Selecteer Synchroniseren bovenaan het deelvenster en bevestig dat de app opnieuw wordt geïmplementeerd.

    Een schermopname van de knop Synchronisatie van web-apps in Azure Portal.

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.

Schermopname van de configuratie van de toepassingsidentiteit in Azure Portal.

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_KEYomdat 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, bijvoorbeeld https://<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.