Dela via


Självstudie: Del 1 – Konfigurera projekt- och utvecklingsmiljö för att skapa en anpassad rag-app (knowledge retrieval) med Microsoft Foundry SDK (klassisk)

Gäller endast för:Foundry-portalen (klassisk). Den här artikeln är inte tillgänglig för den nya Foundry-portalen. Läs mer om den nya portalen.

I den här självstudien konfigurerar du de resurser som behövs för att skapa en anpassad chattapp för kunskapshämtning (RAG) med Microsoft Foundry SDK. Det här är del ett i en självstudieserie i tre delar. Du skapar resurserna här, skapar appen i del två och utvärderar den i del tre. I den här delen kommer du att:

  • Skapa ett projekt
  • Skapa ett Azure AI Search index
  • Installera Azure CLI och logga in
  • Installera Python och paket
  • Distribuera modeller till projektet
  • Konfigurera miljövariabler

Om du har slutfört andra självstudier eller snabbstarter kanske du redan har skapat några av de resurser som behövs för den här självstudien. Om du gjorde det kan du hoppa över dessa steg.

Förutsättningar

Viktigt!

Den här artikeln innehåller äldre stöd för hubbbaserade projekt. Det fungerar inte för Foundry-projekt. Se Hur vet jag vilken typ av projekt jag har?

SDK-kompatibilitetsanteckning: Kodexempel kräver en specifik Microsoft Foundry SDK-version. Om du stöter på kompatibilitetsproblem kan du överväga att migrera från en hubbbaserad till ett Foundry-projekt.

  • Ett Azure konto med en aktiv prenumeration och Owner eller Contributor tilldelad roll. Om du inte har något skapar du ett konto kostnadsfritt.
  • Microsoft Foundry: För att skapa ett projekt behöver du rollen som Ägare eller Deltagare.

Skapa ett hubbbaserat projekt

Följ dessa steg för att skapa ett hubbbaserat projekt i Microsoft Foundry:

  1. Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är inaktiverad. De här stegen refererar till Foundry (klassisk).

  2. Vad du gör härnäst beror på var du befinner dig:

    • Om du inte har några befintliga projekt: Följ stegen i Snabbstart: Kom igång med Microsoft Foundry för att skapa ditt första projekt.

    • Om du är i ett projekt: Välj projektets sökväg och välj sedan Skapa ny resurs.

      Skärmbild som visar hur du skapar ett nytt projekt från en brödsmula.

    • Om du inte är i ett projekt: Välj Skapa nytt längst upp till höger för att skapa ett nytt Foundry-projekt

      Skärmbild som visar hur du skapar ett nytt projekt i Foundry.

  3. Välj AI Hub-resurs och välj sedan Nästa.

  4. Ange ett namn för projektet.

  5. Om du har en hubb ser du att den som du använde senast är vald.

    • Om du har åtkomst till mer än en hubb kan du välja en annan hubb i listrutan.

    • Om du vill skapa en ny väljer du Skapa en ny hubb i listrutan.

      Skärmbild av projektinformationssidan i dialogrutan Skapa projekt.

  6. Om du inte har en hubb skapas en standardhubb åt dig.

  7. Välj Skapa.

Implementera modeller

Du behöver två modeller för att skapa en RAG-baserad chattapp: en Azure OpenAI-chattmodell (gpt-4o-mini) och en Azure OpenAI-inbäddningsmodell (text-embedding-ada-002). Distribuera dessa modeller i foundry-projektet med hjälp av den här uppsättningen steg för varje modell.

De här stegen distribuerar en modell till en realtidsslutpunkt från foundry-portalens modellkatalog:

Tips/Råd

Eftersom du kan anpassa det vänstra fönstret i Microsoft Foundry-portalen kan du se andra objekt än vad som visas i de här stegen. Om du inte ser det du letar efter väljer du ... Mer längst ned i det vänstra fönstret.

  1. I den vänstra rutan väljer du Modellkatalog.

  2. Välj gpt-4o-mini-modellen i listan över modeller. Du kan använda sökfältet för att hitta det.

    Skärmbild av sidan för modellval.

  3. På sidan modellinformation väljer du Använd den här modellen.

  4. Lämna standarddistributionsnamnet och välj Distribuera. Eller om modellen inte är tillgänglig i din region väljs en annan region åt dig och är ansluten till projektet. I det här fallet väljer du Anslut och distribuera.

När du har distribuerat gpt-4o-mini upprepar du stegen för att distribuera modellen text-embedding-ada-002 .

Skapa en Azure AI Search-tjänst

Målet med den här applikationen är att basera modellsvaren på dina anpassade data. Sökindexet hämtar relevanta dokument baserat på användarens fråga.

Du behöver en Azure AI Search-tjänst och anslutning för att skapa ett sökindex.

Anmärkning

Att skapa en Azure AI Search-tjänst och efterföljande sökindex medför kostnader. Bekräfta kostnaden innan du skapar resursen genom att kontrollera prisnivåerna för Azure AI Search-tjänsten på skapandesidan. I den här självstudien använder du prisnivån Basic eller högre.

Om du redan har en Azure AI Search-tjänst går du till avsnittet nästa.

Annars skapar du en Azure AI Search-tjänst med hjälp av Azure-portalen.

Tips/Råd

Det här steget är den enda gången du använder Azure-portalen i den här självstudieserien. Du utför resten av ditt arbete i Foundry-portalen eller i din lokala utvecklingsmiljö.

  1. Skapa en Azure AI Search-tjänst i Azure portalen.
  2. Välj din resursgrupp och instansinformation. Kontrollera pris- och prisnivåerna på den här sidan. I den här självstudien använder du prisnivån Basic eller högre.
  3. Fortsätt genom guiden och välj Granska + tilldela för att skapa resursen.
  4. Bekräfta information om din Azure AI Search-tjänst, inklusive den uppskattade kostnaden.
  5. Välj Skapa för att skapa Azure AI Search-tjänsten.

Ansluta Azure AI Search till projektet

Om projektet redan har en Azure AI Search anslutning går du till Installera Azure CLI och logga in.

I Foundry-portalen söker du efter en Azure AI Search ansluten resurs.

  1. I Foundry går du till projektet och väljer Hanteringscenter i den vänstra rutan.

  2. I avsnittet Anslutna resurser kan du se om du har en anslutning av typen Azure AI Search.

  3. Om du har en Azure AI Search anslutning kan du hoppa över nästa steg.

  4. Annars väljer du Ny anslutning och sedan Azure AI Search.

  5. Leta upp din Azure AI Search-tjänst i alternativen och välj Lägg till anslutning.

  6. Använd API-nyckel för autentisering.

    Viktigt!

    Alternativet API-nyckel rekommenderas inte för produktion. Den rekommenderade metoden är Microsoft Entra IDautentisering, som kräver rollerna Search Index Data Contributor och Search Service Contributor (konfigurerad i Krav). Mer information finns i Anslut till Azure AI Search med hjälp av roller. I den här handledningen är API-nyckel acceptabel om du vill fortsätta snabbt. Växla till Entra-ID innan du distribuerar till produktion.

  7. Välj Lägg till anslutning.

Skapa en ny Python miljö

I valfri IDE skapar du en ny mapp för projektet. Öppna ett terminalfönster i mappen.

Skapa först en ny Python miljö. Installera inte paket i din globala Python installation. Använd alltid en virtuell miljö eller conda-miljö när du installerar Python paket. Annars kan du avbryta den globala installationen av Python.

Installera Python om det behövs

Använd Python 3.10 eller senare, men minst Python 3.9 krävs. Om du inte har en lämplig version av Python installerad följer du anvisningarna i VS Code Python Tutorial för det enklaste sättet att installera Python på operativsystemet.

Skapa en virtuell miljö

Om du redan har Python 3.10 eller senare installerat skapar du en virtuell miljö med hjälp av följande kommandon:

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

När du aktiverar Python-miljön och kör python eller pip från kommandoraden används Python-tolken i .venv-mappen i din applikation.

Anmärkning

Använd kommandot deactivate för att avsluta den Python virtuella miljön. Du kan återaktivera den senare när det behövs.

Installera paket

Installera de paket som krävs.

  1. Skapa en fil med namnet requirements.txt i projektmappen. Lägg till följande paket i filen:

    azure-ai-projects==1.0.0b10
    azure-ai-inference[prompts]
    azure-identity
    azure-search-documents
    pandas
    python-dotenv
    opentelemetry-api
    

    Referenser: Azure AI Projects-klientbibliotek, azure-ai-inference, python-dotenv.

  2. Installera de paket som krävs:

    pip install -r requirements.txt
    

Konfigurera miljövariabler

Projektets anslutningssträng krävs för att anropa Azure OpenAI i Microsoft Foundry-modeller från din kod. I den här snabbstarten sparar du det här värdet i en .env fil, som är en fil som innehåller miljövariabler som programmet kan läsa.

Skapa en .env fil och klistra in följande kod:

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"
  • Hitta din connection string i foundry-projektet som du skapade i snabbstarten Foundry playground. Öppna projektet och leta upp connection string på sidan Overview. Kopiera connection string och klistra in den i filen .env.

    Screenshot visar översiktssidan för ett projekt och platsen för connection string.

  • Om du ännu inte har ett sökindex behåller du värdet "example-index" för AISEARCH_INDEX_NAME. I del 2 av den här självstudien skapar du indexet med det här namnet. Om du tidigare har skapat ett sökindex som du vill använda i stället uppdaterar du värdet så att det matchar namnet på det sökindexet.

  • Om du ändrade namnen på modellerna när du distribuerade dem uppdaterar du värdena i .env filen så att de matchar de namn som du använde.

Tips/Råd

Om du arbetar i VS Code stänger och öppnar du terminalfönstret igen när du har sparat ändringarna i .env filen.

Varning

Kontrollera att din .env finns i .gitignore filen så att du inte av misstag checkar in den på git-lagringsplatsen.

Installera Azure CLI och logga in

Du installerar Azure CLI och loggar in från din lokala utvecklingsmiljö, så att du kan använda dina användarautentiseringsuppgifter för att anropa Azure OpenAI i Microsoft Foundry Models.

I de flesta fall kan du installera Azure CLI från terminalen med hjälp av följande kommando:

winget install -e --id Microsoft.AzureCLI

Du kan följa anvisningarna Så här installerar du Azure CLI om dessa kommandon inte fungerar för ditt specifika operativsystem eller installationsprogram.

När du har installerat Azure CLI loggar du in med kommandot az login och loggar in med webbläsaren:

az login

Du kan också logga in manuellt via webbläsaren med en enhetskod.

az login --use-device-code

Håll det här terminalfönstret öppet för att köra python-skript härifrån också, nu när du har loggat in.

Kontrollera konfigurationen

Kontrollera att din miljö är korrekt konfigurerad genom att köra ett snabbtest:

import os
from azure.identity import DefaultAzureCredential
import azure.ai.projects

# Check the SDK version
print(f"Azure AI Projects SDK version: {azure.ai.projects.__version__}")

# Test that you can connect to your project
project = AIProjectClient.from_connection_string(
    conn_str=os.environ["AIPROJECT_CONNECTION_STRING"], credential=DefaultAzureCredential()
)
print("✓ Setup verified! Ready to build your RAG app.")

Om du ser "Setup successful!" är dina Azure autentiseringsuppgifter och SDK rätt konfigurerade.

Tips/Råd

Den här självstudien kräver Azure AI Projects SDK-version 1.0.0b10. SDK-versionen som visas ovan hjälper dig att verifiera kompatibiliteten. Om du har en annan version from_connection_string() kanske metoden inte är tillgänglig. Om du vill installera den version som krävs kör du pip install azure-ai-projects==1.0.0b10.

Referenser: Azure AI Projects-klientbibliotek, DefaultAzureCredential.

Skapa hjälpskript

Skapa en mapp för ditt arbete. Skapa en fil med namnet config.py i den här mappen. Du använder det här hjälpskriptet i de kommande två delarna av självstudieserien. Skriptet läser in miljövariablerna och initierar Azure AI Projects-klienten. Lägg till följande kod:

# 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)

Referenser: AIProjectClient, DefaultAzureCredential, load_dotenv.

Anmärkning

Det här skriptet använder också ett paket som du inte har installerat ännu, azure.monitor.opentelemetry. Du installerar det här paketet i nästa del av självstudieserien.

Rensa resurser

För att undvika onödiga Azure kostnader tar du bort de resurser som du skapade i den här självstudien om de inte längre behövs. Om du vill hantera resurser kan du använda portalen Azure.

Men ta inte bort dem ännu om du vill skapa en chattapp i nästa del av den här självstudieserien.

Nästa steg

I den här självstudien konfigurerar du allt du behöver för att skapa en anpassad chattapp med Azure AI SDK. I nästa del av den här självstudieserien skapar du den anpassade appen.