Delen via


Zelfstudie: Deel 1: Een project- en ontwikkelomgeving instellen om een aangepaste RAG-app (Knowledge Retrieval) te bouwen met de Azure AI Foundry SDK

In deze zelfstudie gebruikt u de Azure AI Foundry SDK (en andere bibliotheken) om een chat-app te bouwen, configureren en evalueren voor uw retailbedrijf met de naam Contoso Trek. Uw detailhandel is gespecialiseerd in outdoor camping gear en kleding. De chat-app moet vragen beantwoorden over uw producten en services. De chat-app kan bijvoorbeeld vragen beantwoorden zoals 'welke tent is de meest waterdicht?' of 'wat is de beste slaapzak voor koud weer?'.

Deze zelfstudie is deel één van een driedelige zelfstudie. Met dit deel kunt u code schrijven in deel 2 en uw chat-app evalueren in deel drie. In dit gedeelte gaat u het volgende doen:

  • Een project maken
  • Een Azure AI Search-index maken
  • De Azure CLI installeren en u aanmelden
  • Python en pakketten installeren
  • Modellen implementeren in uw project
  • Uw omgevingsvariabelen configureren

Als u andere zelfstudies of quickstarts hebt voltooid, hebt u mogelijk al een aantal resources gemaakt die nodig zijn voor deze zelfstudie. Als u dat hebt, kunt u deze stappen hier overslaan.

Deze zelfstudie is deel één van een driedelige zelfstudie.

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Vereisten

  • Een Azure-account met een actief abonnement. Als u nog geen account hebt, maakt u gratis een account.

Een project maken

Voer de volgende stappen uit om een project te maken in Azure AI Foundry:

  1. Ga naar de startpagina van Azure AI Foundry.
  2. Selecteer + Project maken.
  3. Voer een naam in voor het project. Behoud alle andere instellingen als standaardinstelling.
  4. Projecten worden gemaakt in hubs. Als u Een nieuwe hub maken ziet, selecteert u deze en geeft u een naam op. Selecteer Volgende. (Als u dit niet ziet Maak een nieuwe hub, maakt u zich geen zorgen. Dit komt doordat er een nieuwe wordt gemaakt voor u.)
  5. Selecteer Aanpassen om eigenschappen van de hub op te geven.
  6. Gebruik de gewenste waarden, met uitzondering van Regio. U wordt aangeraden VS - oost 2 of Zweden - centraal te gebruiken voor de regio voor deze reeks zelfstudies.
  7. Selecteer Volgende.
  8. Selecteer Project maken.

Modellen implementeren

U hebt twee modellen nodig om een op RAG gebaseerde chat-app te bouwen: een Azure OpenAI-chatmodel (gpt-4o-mini) en een Azure OpenAI-insluitingsmodel (text-embedding-ada-002). Implementeer deze modellen in uw Azure AI Foundry-project met behulp van deze set stappen voor elk model.

Met deze stappen implementeert u een model naar een realtime-eindpunt vanuit de modelcatalogus van de Azure AI Foundry-portal:

  1. Selecteer modelcatalogus in het linkernavigatiedeelvenster.

  2. Selecteer het gpt-4o-minimodel in de lijst met modellen. U kunt de zoekbalk gebruiken om deze te vinden.

    Schermopname van de pagina voor modelselectie.

  3. Selecteer Implementeren op de pagina met modeldetails.

    Schermopname van de pagina met modeldetails met een knop om het model te implementeren.

  4. Laat de standaardimplementatienaam staan. selecteer Implementeren. Of als het model niet beschikbaar is in uw regio, wordt er een andere regio voor u geselecteerd en verbonden met uw project. In dit geval selecteert u Verbinding maken en implementeren.

Nadat u de gpt-4o-mini hebt geïmplementeerd, herhaalt u de stappen om het model tekst-insluiten-ada-002 te implementeren.

Het doel van deze toepassing is om de modelreacties in uw aangepaste gegevens te gronden. De zoekindex wordt gebruikt om relevante documenten op te halen op basis van de vraag van de gebruiker.

U hebt een Azure AI-Search-service en verbinding nodig om een zoekindex te maken.

Notitie

Er zijn kosten verbonden aan het maken van een Azure AI-Search-service en daaropvolgende zoekindexen. U kunt details bekijken over prijzen en prijscategorieën voor de Azure AI-Search-service op de pagina voor het maken van de resource om de kosten te bevestigen voordat u de resource maakt. Voor deze zelfstudie raden we u aan een prijscategorie basic of hoger te gebruiken.

Als u al een Azure AI-Search-service hebt, kunt u doorgaan naar de volgende sectie.

Anders kunt u een Azure AI-Search-service maken met behulp van Azure Portal.

Tip

Deze stap is de enige keer dat u Azure Portal in deze reeks zelfstudies gebruikt. De rest van uw werk wordt uitgevoerd in de Azure AI Foundry-portal of in uw lokale ontwikkelomgeving.

  1. Maak een Azure AI-Search-service in Azure Portal.
  2. Selecteer uw resourcegroep en instantiegegevens. Op deze pagina vindt u meer informatie over prijzen en prijscategorieën.
  3. Ga door met de wizard en selecteer Beoordelen en toewijzen om de resource te maken.
  4. Bevestig de details van uw Azure AI-Search-service, inclusief geschatte kosten.
  5. Selecteer Maken om de Azure AI-Search-service te maken.

Azure AI Search verbinden met uw project

Als u al een Azure AI Search-verbinding in uw project hebt, kunt u doorgaan met het installeren van de Azure CLI en u aan te melden.

Controleer in de Azure AI Foundry-portal op een met Azure AI Search verbonden resource.

  1. Ga in Azure AI Foundry naar uw project en selecteer Beheercentrum in het linkerdeelvenster.

  2. Kijk in de sectie Verbonden resources of u een verbinding hebt van het type Azure AI Search.

  3. Als u een Azure AI Search-verbinding hebt, kunt u verdergaan met de volgende sectie.

  4. Anders selecteert u Nieuwe verbinding en vervolgens Azure AI Search.

  5. Zoek uw Azure AI-Search-service in de opties en selecteer Verbinding toevoegen.

  6. Api-sleutel gebruiken voor verificatie.

    Belangrijk

    De optie API-sleutel wordt niet aanbevolen voor productie. Als u de aanbevolen Microsoft Entra ID-verificatieoptie wilt selecteren en gebruiken, moet u ook toegangsbeheer configureren voor de Azure AI-Search-service. Wijs de rollen Inzender en Inzender voor zoekservices toe aan uw gebruikersaccount. Zie Verbinding maken met Azure AI Search met behulp van rollen en op rollen gebaseerd toegangsbeheer in de Azure AI Foundry-portal voor meer informatie.

  7. Selecteer Verbinding toevoegen.

De Azure CLI installeren en u aanmelden

U installeert de Azure CLI en meldt u zich aan vanuit uw lokale ontwikkelomgeving, zodat u uw gebruikersreferenties kunt gebruiken om de Azure OpenAI-service aan te roepen.

In de meeste gevallen kunt u de Azure CLI installeren vanuit uw terminal met behulp van de volgende opdracht:

winget install -e --id Microsoft.AzureCLI

U kunt de instructies volgen voor het installeren van de Azure CLI als deze opdrachten niet werken voor uw specifieke besturingssysteem of installatie.

Nadat u de Azure CLI hebt geïnstalleerd, meldt u zich aan met behulp van de az login opdracht en meldt u zich aan met behulp van de browser:

az login

U kunt zich ook handmatig aanmelden via de browser met een apparaatcode.

az login --use-device-code

Een nieuwe Python-omgeving maken

Eerst moet u een nieuwe Python-omgeving maken om het pakket te installeren dat u nodig hebt voor deze zelfstudie. INSTALLEER GEEN pakketten in uw globale Python-installatie. U moet altijd een virtuele of conda-omgeving gebruiken bij het installeren van Python-pakketten, anders kunt u uw globale installatie van Python verbreken.

Installeer Python indien nodig

U wordt aangeraden Python 3.10 of hoger te gebruiken, maar python 3.8 is vereist. Als u geen geschikte versie van Python hebt geïnstalleerd, kunt u de instructies in de VS Code Python-zelfstudie volgen voor de eenvoudigste manier om Python op uw besturingssysteem te installeren.

Een virtuele omgeving maken

Als Python 3.10 of hoger al is geïnstalleerd, kunt u een virtuele omgeving maken met behulp van de volgende opdrachten:

py -3 -m venv .venv
.venv\scripts\activate

Als u de Python-omgeving activeert, betekent dit dat wanneer u de opdrachtregel uitvoert python of pip vanaf de opdrachtregel de Python-interpreter gebruikt die zich in de .venv map van uw toepassing bevindt.

Notitie

U kunt de deactivate opdracht gebruiken om de virtuele Python-omgeving af te sluiten en deze later opnieuw te activeren wanneer dat nodig is.

Pakketten installeren

Installeer azure-ai-projects(preview) en azure-ai-inference (preview) samen met andere vereiste pakketten.

  1. Maak eerst een bestand met de naam requirements.txt in de projectmap. Voeg de volgende pakketten toe aan het bestand:

    azure-ai-projects
    azure-ai-inference[prompts]
    azure-identity
    azure-search-documents
    pandas
    python-dotenv
    opentelemetry-api
    
  2. Installeer de vereiste pakketten:

    pip install -r requirements.txt
    

Helperscript maken

Maak een map voor uw werk. Maak een bestand met de naam config.py in deze map. Dit helperscript wordt gebruikt in de volgende twee onderdelen van de reeks zelfstudies. Voeg de volgende code toe:

# ruff: noqa: ANN201, ANN001

import os
import sys
import pathlib
import logging
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.inference.tracing import AIInferenceInstrumentor

# load environment variables from the .env file
from dotenv import load_dotenv

load_dotenv()

# Set "./assets" as the path where assets are stored, resolving the absolute path:
ASSET_PATH = pathlib.Path(__file__).parent.resolve() / "assets"

# Configure an root app logger that prints info level logs to stdout
logger = logging.getLogger("app")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(stream=sys.stdout))


# Returns a module-specific logger, inheriting from the root app logger
def get_logger(module_name):
    return logging.getLogger(f"app.{module_name}")


# Enable instrumentation and logging of telemetry to the project
def enable_telemetry(log_to_project: bool = False):
    AIInferenceInstrumentor().instrument()

    # enable logging message contents
    os.environ["AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED"] = "true"

    if log_to_project:
        from azure.monitor.opentelemetry import configure_azure_monitor

        project = AIProjectClient.from_connection_string(
            conn_str=os.environ["AIPROJECT_CONNECTION_STRING"], credential=DefaultAzureCredential()
        )
        tracing_link = f"https://ai.azure.com/tracing?wsid=/subscriptions/{project.scope['subscription_id']}/resourceGroups/{project.scope['resource_group_name']}/providers/Microsoft.MachineLearningServices/workspaces/{project.scope['project_name']}"
        application_insights_connection_string = project.telemetry.get_connection_string()
        if not application_insights_connection_string:
            logger.warning(
                "No application insights configured, telemetry will not be logged to project. Add application insights at:"
            )
            logger.warning(tracing_link)

            return

        configure_azure_monitor(connection_string=application_insights_connection_string)
        logger.info("Enabled telemetry logging to project, view traces at:")
        logger.info(tracing_link)

Omgevingsvariabelen configureren

Uw project verbindingsreeks is vereist om de Azure OpenAI-service aan te roepen vanuit uw code. In deze quickstart slaat u deze waarde op in een .env bestand. Dit is een bestand dat omgevingsvariabelen bevat die door uw toepassing kunnen worden gelezen.

Maak een .env bestand en plak de volgende code:

AIPROJECT_CONNECTION_STRING=<your-connection-string>
AISEARCH_INDEX_NAME="example-index"
EMBEDDINGS_MODEL="text-embedding-ada-002"
INTENT_MAPPING_MODEL="gpt-4o-mini"
CHAT_MODEL="gpt-4o-mini"
EVALUATION_MODEL="gpt-4o-mini"
  • Zoek uw verbindingsreeks in het Azure AI Foundry-project dat u hebt gemaakt in de quickstart voor de Azure AI Foundry-speeltuin. Open het project en zoek vervolgens de verbindingsreeks op de pagina Overzicht. Kopieer de verbindingsreeks en plak deze in het .env bestand.

    Schermopname van de overzichtspagina van een project en de locatie van de verbindingsreeks.

  • Als u nog geen zoekindex hebt, houdt u de waarde 'example-index' voor AISEARCH_INDEX_NAME. In deel 2 van deze zelfstudie maakt u de index met deze naam. Als u eerder een zoekindex hebt gemaakt die u wilt gebruiken, werkt u de waarde bij zodat deze overeenkomt met de naam van die zoekindex.

  • Als u de namen van de modellen bij het implementeren ervan hebt gewijzigd, werkt u de waarden in het .env bestand bij zodat deze overeenkomen met de namen die u hebt gebruikt.

Tip

Als u in VS Code werkt, sluit en opent u het terminalvenster opnieuw nadat u wijzigingen in het .env bestand hebt opgeslagen.

Waarschuwing

Zorg ervoor dat uw .env bestand zich in het .gitignore bestand bevindt, zodat u het niet per ongeluk in uw Git-opslagplaats controleert.

Resources opschonen

Als u onnodige Azure-kosten wilt voorkomen, moet u de resources verwijderen die u in deze zelfstudie hebt gemaakt als ze niet meer nodig zijn. Als u resources wilt beheren, kunt u Azure Portal gebruiken.

Maar verwijder ze nog niet, als u een chat-app wilt bouwen in het volgende deel van deze reeks zelfstudies.

Volgende stap

In deze zelfstudie stelt u alles in wat u nodig hebt om een aangepaste chat-app te bouwen met de Azure AI SDK. In het volgende deel van deze zelfstudiereeks bouwt u de aangepaste app.