Oktatóanyag: 1. rész – Projekt- és fejlesztési környezet beállítása egyéni tudáslekérési (RAG) alkalmazás létrehozásához a Microsoft Foundry SDK-val (klasszikus)

Csak a következőkre vonatkozik:Öntödei (klasszikus) portál. Ez a cikk nem érhető el az új Foundry portálon. További információ az új portálról.

Megjegyzés:

A cikkben szereplő hivatkozások megnyithatják a tartalmat az új Microsoft Foundry-dokumentációban a most megtekintett Foundry (klasszikus) dokumentáció helyett.

Ebben az oktatóanyagban beállítja az egyéni tudáslekérési (RAG) csevegőalkalmazás létrehozásához szükséges erőforrásokat a Microsoft Foundry SDK-val. Ez egy háromrészes oktatóanyag-sorozat első része. Itt hozhatja létre az erőforrásokat, az alkalmazást a második részben hozhatja létre, és kiértékelheti a harmadik részben. Ebben a részben Ön:

  • Projekt létrehozása
  • Azure AI Keresés index létrehozása
  • A Azure CLI telepítése és bejelentkezés
  • Python és csomagok telepítése
  • Modellek üzembe helyezése a projektben
  • A környezeti változók konfigurálása

Ha más oktatóanyagokat vagy rövid útmutatókat végzett, előfordulhat, hogy már létrehozta az oktatóanyaghoz szükséges erőforrások egy részét. Ha mégis, nyugodtan kihagyhatja ezeket a lépéseket.

Előfeltételek

Fontos

Ez a cikk átmeneti támogatást nyújt a központi alapú projektekhez. Az Foundry-projektek esetében nem fog működni. Hogyan tudhatom meg, hogy milyen típusú projektem van?

SDK kompatibilitási megjegyzés: A kódpéldákhoz egy adott Microsoft Foundry SDK-verzió szükséges. Ha kompatibilitási problémákba ütközik, fontolja meg a központi projektből egy Foundry-projektbe való migrálást.

  • Aktív előfizetéssel és Owner vagy Contributor szerepkörrel rendelkező Azure fiók. Ha nem rendelkezik ilyen fiókkal, hozzon létre ingyenes fiókot.
  • Microsoft Foundry: Tulajdonosi vagy közreműködői szerepkör egy projekt létrehozásához.

Központi projekt létrehozása

Ha központi projektet szeretne létrehozni Microsoft Foundry, kövesse az alábbi lépéseket:

  1. Jelentkezzen be Microsoft Foundry. Győződjön meg arról, hogy a New Foundry kapcsoló ki van kapcsolva. Ezek a lépések a Foundryre (klasszikus) vonatkoznak.

  2. A következő lépés attól függ, hogy hol van:

    • Ha nincs projektje, vagy még nem rendelkezik projektel: Válassza az Új létrehozása lehetőséget a jobb felső sarokban egy új Foundry-projekt létrehozásához

      Képernyőkép arról, hogyan hozhat létre új projektet a Foundryben.

    • Ha projektben van: Válassza ki a projekt szélességét, majd válassza az Új erőforrás létrehozása lehetőséget.

      Képernyőkép egy új projekt létrehozásáról egy navigációs morzsából.

  3. Válassza az AI Hub-erőforrást, majd a Tovább gombot.

  4. Adjon meg a projekt nevét.

  5. Ha rendelkezik hubbal, látni fogja, hogy az van kiválasztva, amelyiket legutóbb használt.

    • Ha több központhoz is rendelkezik hozzáféréssel, a legördülő listából választhat másik központot.

    • Ha újat szeretne létrehozni, válassza az Új központ létrehozása lehetőséget a legördülő listában.

      Képernyőkép a projekt részleteinek lapjáról a projekt létrehozása párbeszédpanelen.

  6. Ha nem rendelkezik hubbal, a rendszer létrehoz egy alapértelmezettet.

  7. Válassza a Create gombot.

Modellek üzembe helyezése

RAG-alapú csevegőalkalmazás létrehozásához két modellre van szükség: egy Azure OpenAI-csevegőmodellre (gpt-4o-mini) és egy Azure OpenAI-beágyazási modellre (text-embedding-ada-002). Ezeket a modelleket a Foundry-projektben helyezheti üzembe az egyes modellekhez tartozó lépések segítségével.

Ezek a lépések valós idejű végponton helyezik üzembe a modellt az Foundry Portal modellkatalógusából:

Jótanács

Mivel a bal oldali ablaktáblát testreszabhatja a Microsoft Foundry portálon, az alábbi lépéseknél eltérő elemeket láthat. Ha nem látja, hogy mit keres, válassza a ... Továbbiak a bal oldali panel alján.

  1. A bal oldali panelen válassza a Modellkatalógus lehetőséget.

  2. Válassza ki a gpt-4o-mini modellt a modellek listájából. A keresősávot használhatja a kereséshez.

    Képernyőkép a modellkijelölési oldalról.

  3. A modell részletei lapon válassza a Modell használata lehetőséget.

  4. Hagyja meg az alapértelmezett üzembehelyezési nevet , és válassza az Üzembe helyezés lehetőséget. Vagy ha a modell nem érhető el a régióban, egy másik régió van kiválasztva, és csatlakozik a projekthez. Ebben az esetben válassza a Csatlakozás és üzembe helyezés lehetőséget.

A gpt-4o-mini üzembe helyezése után ismételje meg a lépéseket a text-embedding-ada-002 modell üzembe helyezéséhez.

Azure AI Keresés szolgáltatás létrehozása

Az alkalmazás célja, hogy a modellválaszokat az egyéni adatokban felhasználja. A keresési index a felhasználó kérdése alapján kéri le a releváns dokumentumokat.

Keresési index létrehozásához Azure AI Keresés szolgáltatásra és kapcsolatra van szükség.

Megjegyzés:

A Azure AI Keresés szolgáltatás és az azt követő keresési indexek létrehozása költségekkel jár. Az erőforrás létrehozása előtt ellenőrizze a Azure AI Keresés szolgáltatás díjszabási és tarifacsomagjait a létrehozási oldalon. Ebben az oktatóanyagban alapszintű vagy magasabb tarifacsomagot használhat.

Ha már rendelkezik Azure AI Keresés szolgáltatással, lépjen a next szakaszra.

Ellenkező esetben hozzon létre egy Azure AI Keresés szolgáltatást a Azure portál használatával.

Jótanács

Ebben az oktatóanyag-sorozatban ez a lépés az egyetlen alkalom, amikor a Azure portált használja. A többi munkát az Foundry portálon vagy a helyi fejlesztési környezetben végezheti el.

  1. A Azure AI Keresés szolgáltatás létrehozása a Azure portálon.
  2. Válassza ki az erőforráscsoport és a példány adatait. Tekintse meg ezen a lapon az árakat és az árajánlatokat. Ebben az oktatóanyagban alapszintű vagy magasabb tarifacsomagot használhat.
  3. Folytassa a varázslót, és válassza a Véleményezés + hozzárendelés lehetőséget az erőforrás létrehozásához.
  4. Erősítse meg az Azure AI Keresés szolgáltatás részleteit, beleértve a becsült költséget is.
  5. Válassza a Create lehetőséget a Azure AI Keresés szolgáltatás létrehozásához.

A Azure AI Keresés csatlakoztatása a projekthez

Ha a projekt már rendelkezik Azure AI Keresés kapcsolattal, lépjen Az Azure CLI telepítésére, majd jelentkezzen be.

Az Foundry portálon keressen Azure AI Keresés csatlakoztatott erőforrást.

  1. Az Foundryben nyissa meg a projektet, és válassza a Felügyeleti központot a bal oldali panelen.

  2. A Kapcsolódott erőforrások szakaszban ellenőrizze, hogy rendelkezik-e Azure AI Keresés típusú kapcsolattal.

  3. Ha Azure AI Keresés kapcsolata van, kihagyhatja a következő lépéseket.

  4. Ellenkező esetben válassza a Kapcsolat, majd Azure AI Keresés lehetőséget.

  5. Keresse meg a Azure AI Keresés szolgáltatást a beállítások között, és válassza a Kapcsolat hozzáadása lehetőséget.

  6. Használja az API-kulcsot a hitelesítéshez.

    Fontos

    Az API-kulcs opció nem javasolt éles környezetben. Az ajánlott módszer a Microsoft Entra ID hitelesítés, amelyhez a Search Index adat-közreműködő és Search szolgáltatás közreműködője szerepkör szükséges (az előfeltételekben konfigurálva). További információ: Kapcsolódás Azure AI Keresés szerepkörök használatával. Ebben az oktatóanyagban az API-kulcs elfogadható, ha gyorsan szeretne haladni. Válts Entra ID-re az éles üzembe helyezés előtt.

  7. Válassza a Kapcsolat hozzáadása lehetőséget.

Új Python környezet létrehozása

A választott IDE-ben hozzon létre egy új mappát a projekthez. Nyisson meg egy terminálablakot a mappában.

Először hozzon létre egy új Python környezetet. Ne telepítsen csomagokat a globális Python telepítésébe. Mindig használjon virtuális vagy conda környezetet Python csomagok telepítésekor. Ellenkező esetben megszakíthatja a Python globális telepítését.

Szükség esetén telepítse a Python

Használja a Python 3.10-et vagy újabb verziót, de legalább Python 3.9 szükséges. Ha nincs telepítve a Python megfelelő verziója, kövesse az VS Code Python oktatóanyag utasításait az operációs rendszerre való Python legegyszerűbb telepítéséhez.

Virtuális környezet létrehozása

Ha már telepítette a Python 3.10-et vagy újabb verziót, hozzon létre egy virtuális környezetet az alábbi parancsokkal:

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

A Python környezet aktiválásakor a parancssorból futó python vagy pip az alkalmazás .venv mappájában található Python értelmezőt használja.

Megjegyzés:

A Python virtuális környezetből a deactivate paranccsal léphet ki. Később szükség esetén újraaktiválhatja.

Csomagok telepítése

Telepítse a szükséges csomagokat.

  1. Hozzon létre egy requirements.txt nevű fájlt a projektmappában. Adja hozzá a következő csomagokat a fájlhoz:

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

    Hivatkozások: Azure AI-projektek ügyféloldali kódtára, azure-ai-következtetés, python-dotenv.

  2. Telepítse a szükséges csomagokat:

    pip install -r requirements.txt
    

Környezeti változók konfigurálása

A projektkapcsolati karakterlánc szükséges az Azure OpenAI meghívásához a Microsoft Foundry modellekben a kódjából. Ebben a rövid útmutatóban ezt az értéket egy .env fájlba menti, amely egy olyan fájl, amely az alkalmazás által olvasható környezeti változókat tartalmazza.

Hozzon létre egy .env fájlt, és illessze be a következő kódot:

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"
  • Keresse meg a kapcsolati karakterláncet az Ön által a Foundry játszótér gyorsindítójában létrehozott Foundry-projektben. Nyissa meg a projektet, majd keresse meg a kapcsolati karakterlánc a Overview lapon. Másolja ki a kapcsolati karakterlánc, és illessze be a .env fájlba.

    A screenshot a projekt áttekintő oldalát és a kapcsolati karakterlánc helyét jeleníti meg.

  • Ha még nincs keresési indexe, tartsa meg a "példaindex" AISEARCH_INDEX_NAMEértéket. Az oktatóanyag 2. részében ezzel a névvel hozza létre az indexet. Ha korábban létrehozott egy keresési indexet, amelyet inkább használni szeretne, frissítse az értéket úgy, hogy az megfeleljen a keresési index nevének.

  • Ha az üzembe helyezéskor módosította a modellek nevét, frissítse a fájl értékeit a .env használt neveknek megfelelően.

Jótanács

Ha a VS Code-ban dolgozik, zárja be és nyissa meg újra a terminálablakot, miután mentette a fájl módosításait .env .

Figyelmeztetés

Győződjön meg arról, hogy a .env az .gitignore fájlban van, hogy véletlenül se ellenőrizze be azt a git repóba.

A Azure CLI telepítése és bejelentkezés

Telepítse a Azure CLI és jelentkezzen be a helyi fejlesztési környezetből, hogy a kód a felhasználói hitelesítő adatokkal meghívhassa Azure szolgáltatásokat a Foundryn keresztül.

A legtöbb esetben az alábbi paranccsal telepítheti Azure CLI a terminálról:

winget install -e --id Microsoft.AzureCLI

Az Hogyan telepítheti az Azure CLI-t útmutatót követheti, ha ezek a parancsok nem működnek az adott operációs rendszerhez vagy beállításhoz.

A Azure CLI telepítése után jelentkezzen be a az login paranccsal, és jelentkezzen be a böngészőben:

az login

Másik lehetőségként manuálisan is bejelentkezhet a böngészőben egy eszközkóddal.

az login --use-device-code

Tartsa nyitva ezt a terminálablakot a Python-szkriptek innen is való futtatásához, most, hogy bejelentkezett.

A beállítás ellenőrzése

Egy gyorsteszt futtatásával ellenőrizze, hogy a környezet megfelelően van-e beállítva:

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.")

Ha "Setup successful!" jelenik meg, a Azure hitelesítő adatai és az SDK megfelelően vannak konfigurálva.

Jótanács

Ehhez az oktatóanyaghoz Azure AI Projects SDK 1.0.0b10 verzióra van szükség. A fent látható SDK-verzió segít ellenőrizni a kompatibilitást. Ha más verzióval rendelkezik, előfordulhat, hogy a from_connection_string() metódus nem érhető el. A szükséges verzió telepítéséhez futtassa a következőt pip install azure-ai-projects==1.0.0b10: .

Hivatkozások: Azure AI-projektek ügyfélkódtára, DefaultAzureCredential.

Segédszkript létrehozása

Hozzon létre egy mappát a munkájához. Hozzon létre egy config.py nevű fájlt ebben a mappában. Ezt a segédszkriptet az oktatóanyag-sorozat következő két részében fogja használni. A szkript betölti a környezeti változókat, és inicializálja a Azure AI Projects-ügyfelet. Adja hozzá a következő kódot:

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

Hivatkozások: AIProjectClient, DefaultAzureCredential, load_dotenv.

Megjegyzés:

Ez a szkript olyan csomagot is használ, azure.monitor.opentelemetryamelyet még nem telepített. Ezt a csomagot az oktatóanyag-sorozat következő részében fogja telepíteni.

Erőforrások tisztítása

A szükségtelen Azure költségek elkerülése érdekében törölje az oktatóanyagban létrehozott erőforrásokat, ha már nincs rájuk szükség. Az erőforrások kezeléséhez használhatja a Azure portált.

De még ne törölje őket, ha csevegőalkalmazást szeretne létrehozni az oktatóanyag-sorozat következő részében.

Következő lépés

Ebben az oktatóanyagban mindent beállít, amire szüksége van egy egyéni csevegőalkalmazás létrehozásához az Azure AI SDK-val. Az oktatóanyag-sorozat következő részében elkészíti az egyéni alkalmazást.