Dela via


Självstudie: Del 1 – Konfigurera projekt- och utvecklingsmiljö för att skapa en anpassad RAG-app (Knowledge Retrieval) med Azure AI Foundry SDK

I den här självstudien använder du Azure AI Foundry SDK (och andra bibliotek) för att skapa, konfigurera och utvärdera en chattapp för ditt detaljhandelsföretag med namnet Contoso Trek. Ditt detaljhandelsföretag specialiserar sig på utomhus campingutrustning och kläder. Chattappen bör svara på frågor om dina produkter och tjänster. Chattappen kan till exempel svara på frågor som "vilket tält är mest vattentätt?" eller "vad är den bästa sovsäcken för kallt väder?".

Den här självstudien är del ett i en självstudie i tre delar. I den här delen är du redo att skriva kod i del två och utvärdera chattappen i del tre. I den här delen:

  • 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 har det kan du hoppa över dessa steg här.

Den här självstudien är del ett i en självstudie i tre delar.

Viktigt!

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Förutsättningar

Skapa ett projekt

Följ dessa steg för att skapa ett projekt i Azure AI Foundry:

  1. Gå till startsidan för Azure AI Foundry.
  2. Välj + Skapa projekt.
  3. Ange ett namn för projektet. Behåll alla andra inställningar som standard.
  4. Projekt skapas i hubbar. Om du ser Skapa en ny hubb väljer du den och anger ett namn. Välj sedan Nästa. (Om du inte ser Skapa en ny hubb, oroa dig inte. Det beror på att en ny skapas åt dig.)
  5. Välj Anpassa för att ange egenskaper för hubben.
  6. Använd alla värden som du vill, förutom Region. Vi rekommenderar att du använder antingen USA, östra 2 eller Sverige, centrala för regionen för den här självstudieserien.
  7. Välj Nästa.
  8. Välj Skapa projekt.

Distribuera 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 ditt Azure AI Foundry-projekt 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 Azure AI Foundry-portalens modellkatalog:

  1. I det vänstra navigeringsfönstret 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 Distribuera.

    Skärmbild av sidan med modellinformation med en knapp för att distribuera modellen.

  4. Lämna standarddistributionsnamnet. 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 .

Målet med det här programmet är att jorda modellsvaren i dina anpassade data. Sökindexet används för att hämta relevanta dokument baserat på användarens fråga.

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

Kommentar

Att skapa en Azure AI-tjänsten Search och efterföljande sökindex har associerade kostnader. Du kan se information om pris- och prisnivåer för Azure AI-tjänsten Search på sidan för att bekräfta kostnaden innan du skapar resursen.

Om du redan har en Azure AI-tjänsten Search kan du gå vidare till nästa avsnitt.

Annars kan du skapa en Azure AI-tjänsten Search med hjälp av Azure Portal.

Dricks

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

  1. Skapa en Azure AI-tjänsten Search i Azure Portal.
  2. Välj din resursgrupp och instansinformation. Du kan se information om pris- och prisnivåer på den här sidan.
  3. Fortsätt genom guiden och välj Granska + tilldela för att skapa resursen.
  4. Bekräfta information om din Azure AI-tjänsten Search, inklusive uppskattad kostnad.
  5. Välj Skapa för att skapa Azure AI-tjänsten Search.

Ansluta Azure AI Search till ditt projekt

Om du redan har en Azure AI Search-anslutning i projektet kan du gå vidare till Installera Azure CLI och logga in.

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

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

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

  3. Om du har en Azure AI Search-anslutning kan du gå vidare till nästa avsnitt.

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

  5. Hitta din Azure AI-tjänsten Search 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. Om du vill välja och använda det rekommenderade autentiseringsalternativet för Microsoft Entra-ID måste du även konfigurera åtkomstkontroll för Azure AI-tjänsten Search. Tilldela rollerna Search Index Data Contributor och Search Service Contributor till ditt användarkonto. Mer information finns i Ansluta till Azure AI Search med hjälp av roller och rollbaserad åtkomstkontroll i Azure AI Foundry-portalen.

  7. Välj Lägg till anslutning.

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 autentiseringsuppgifter för att anropa Azure OpenAI-tjänsten.

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 operativsystem eller din installation.

När du har installerat Azure CLI loggar du in med az login kommandot 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

Skapa en ny Python-miljö

Först måste du skapa en ny Python-miljö som ska användas för att installera det paket du behöver för den här självstudien. Installera INTE paket i din globala Python-installation. Du bör alltid använda en virtuell miljö eller conda-miljö när du installerar Python-paket, annars kan du avbryta din globala installation av Python.

Installera Python om det behövs

Vi rekommenderar att du använder Python 3.10 eller senare, men minst Python 3.8 krävs. Om du inte har en lämplig version av Python installerad kan du följa anvisningarna i VS Code Python-självstudien 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 kan du skapa 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 innebär det att när du kör python eller pip från kommandoraden använder du sedan Python-tolken .venv som finns i mappen för ditt program.

Kommentar

Du kan använda deactivate kommandot för att avsluta den virtuella python-miljön och senare återaktivera den när det behövs.

Installera paket

Installera azure-ai-projects(förhandsversion) och azure-ai-inference (förhandsversion) tillsammans med andra nödvändiga paket.

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

    azure-ai-projects
    azure-ai-inference[prompts]
    azure-identity
    azure-search-documents
    pandas
    python-dotenv
    opentelemetry-api
    
  2. Installera de paket som krävs:

    pip install -r requirements.txt
    

Skapa hjälpskript

Skapa en mapp för ditt arbete. Skapa en fil med namnet config.py i den här mappen. Det här hjälpskriptet används i de kommande två delarna av självstudieserien. 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)

Konfigurera miljövariabler

Ditt projekt anslutningssträng krävs för att anropa Azure OpenAI-tjänsten 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 anslutningssträng i Azure AI Foundry-projektet som du skapade i snabbstarten för Azure AI Foundry Playground. Öppna projektet och leta upp anslutningssträng på sidan Översikt. Kopiera anslutningssträng och klistra in den i .env filen.

    Skärmbild som visar översiktssidan för ett projekt och platsen för anslutningssträng.

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

Dricks

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.

Rensa resurser

För att undvika onödiga Azure-kostnader bör du ta 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 Azure Portal.

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

Gå vidare

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.