Udostępnij za pośrednictwem


Samouczek: część 1 — Konfigurowanie środowiska projektowego i programistycznego w celu utworzenia niestandardowej aplikacji do pobierania wiedzy (RAG) przy użyciu zestawu AZURE AI Foundry SDK

W tym samouczku użyjesz zestawu AZURE AI Foundry SDK (i innych bibliotek) do kompilowania, konfigurowania i oceniania aplikacji czatu dla firmy zajmującej się sprzedażą detaliczną o nazwie Contoso Trek. Twoja firma detaliczna specjalizuje się w sprzęcie kempingowym na świeżym powietrzu i odzieży. Aplikacja do czatu powinna odpowiadać na pytania dotyczące produktów i usług. Na przykład aplikacja do czatu może odpowiedzieć na pytania, takie jak "który namiot jest najbardziej wodoodporny?" lub "jaki jest najlepszy śpiwór do zimnej pogody?".

Ten samouczek jest częścią jednego z trzech części samouczka. Ta część pierwsza umożliwia przygotowanie do pisania kodu w drugiej części i oceny aplikacji czatu w trzeciej części. W tej części wykonasz następujące elementy:

  • Tworzenie projektu
  • Tworzenie indeksu usługi Azure AI Search
  • Instalowanie interfejsu wiersza polecenia platformy Azure i logowanie
  • Instalowanie języka Python i pakietów
  • Wdrażanie modeli w projekcie
  • Konfigurowanie zmiennych środowiskowych

Jeśli wykonano inne samouczki lub przewodniki Szybki start, niektóre zasoby potrzebne do tego samouczka mogły już zostać utworzone. Jeśli masz, możesz pominąć te kroki tutaj.

Ten samouczek jest częścią jednego z trzech części samouczka.

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Wymagania wstępne

Tworzenie projektu

Aby utworzyć projekt w usłudze Azure AI Foundry, wykonaj następujące kroki:

  1. Przejdź do strony głównej rozwiązania Azure AI Foundry.
  2. Wybierz pozycję + Utwórz projekt.
  3. Wprowadź nazwę dla projektu. Zachowaj wszystkie inne ustawienia jako domyślne.
  4. Projekty są tworzone w centrach. Jeśli zobaczysz pozycję Utwórz nowe centrum , wybierz je i określ nazwę. Następnie kliknij przycisk Dalej. (Jeśli nie widzisz Utwórz nowe centrum, nie martw się. Jest to spowodowane tworzeniem nowego centrum.
  5. Wybierz pozycję Dostosuj , aby określić właściwości centrum.
  6. Użyj dowolnych wartości z wyjątkiem regionów. W tej serii samouczków zalecamy użycie regionu Wschodnie stany USA2 lub Szwecja Środkowa .
  7. Wybierz Dalej.
  8. Wybierz pozycję Utwórz projekt.

Wdrażanie modeli

Potrzebujesz dwóch modeli do utworzenia aplikacji czatu opartej na usłudze RAG: modelu czatu platformy Azure OpenAI (gpt-4o-mini) i modelu osadzania usługi Azure OpenAI (text-embedding-ada-002). Wdróż te modele w projekcie usługi Azure AI Foundry, korzystając z tego zestawu kroków dla każdego modelu.

Te kroki umożliwiają wdrożenie modelu w punkcie końcowym w czasie rzeczywistym z katalogu modeli portalu usługi Azure AI Foundry:

  1. W okienku nawigacji po lewej stronie wybierz pozycję Katalog modeli.

  2. Wybierz model gpt-4o-mini z listy modeli. Aby go znaleźć, możesz użyć paska wyszukiwania.

    Zrzut ekranu przedstawiający stronę wyboru modelu.

  3. Na stronie szczegółów modelu wybierz pozycję Wdróż.

    Zrzut ekranu przedstawiający stronę szczegółów modelu z przyciskiem umożliwiającym wdrożenie modelu.

  4. Pozostaw domyślną nazwę wdrożenia. wybierz pozycję Wdróż. Jeśli model nie jest dostępny w Twoim regionie, wybrany jest inny region i połączony z projektem. W takim przypadku wybierz pozycję Połącz i wdróż.

Po wdrożeniu biblioteki gpt-4o-mini powtórz kroki wdrażania modelu osadzania tekstu-ada-002 .

Tworzenie usługa wyszukiwania sztucznej inteligencji platformy Azure

Celem tej aplikacji jest uziemienie odpowiedzi modelu w danych niestandardowych. Indeks wyszukiwania służy do pobierania odpowiednich dokumentów na podstawie pytania użytkownika.

Aby utworzyć indeks wyszukiwania, potrzebujesz usługa wyszukiwania i połączenia usługi Azure AI.

Uwaga

Tworzenie usługa wyszukiwania sztucznej inteligencji platformy Azure i kolejnych indeksów wyszukiwania wiąże się z kosztami. Szczegółowe informacje na temat cen i warstw cenowych dla usługi Azure AI usługa wyszukiwania można znaleźć na stronie tworzenia, aby potwierdzić koszt przed utworzeniem zasobu.

Jeśli masz już usługa wyszukiwania usługi Azure AI, możesz przejść do następnej sekcji.

W przeciwnym razie możesz utworzyć usługa wyszukiwania usługi Azure AI przy użyciu witryny Azure Portal.

Napiwek

Ten krok jest jedynym czasem korzystania z witryny Azure Portal w tej serii samouczków. Pozostała część pracy odbywa się w portalu Azure AI Foundry lub w lokalnym środowisku projektowym.

  1. Tworzenie usługa wyszukiwania usługi Azure AI w witrynie Azure Portal.
  2. Wybierz grupę zasobów i szczegóły wystąpienia. Szczegółowe informacje o cenach i warstwach cenowych można zobaczyć na tej stronie.
  3. Kontynuuj pracę kreatora i wybierz pozycję Przejrzyj i przypisz , aby utworzyć zasób.
  4. Potwierdź szczegóły usługa wyszukiwania usługi Azure AI, w tym szacowany koszt.
  5. Wybierz pozycję Utwórz, aby utworzyć usługa wyszukiwania usługi Azure AI.

Łączenie usługi Azure AI Search z projektem

Jeśli masz już połączenie usługi Azure AI Search w projekcie, możesz przejść do sekcji Instalowanie interfejsu wiersza polecenia platformy Azure i logowanie.

W portalu azure AI Foundry sprawdź połączony zasób usługi Azure AI Search.

  1. W usłudze Azure AI Foundry przejdź do projektu i wybierz pozycję Centrum zarządzania w okienku po lewej stronie.

  2. W sekcji Połączone zasoby sprawdź, czy masz połączenie typu Azure AI Search.

  3. Jeśli masz połączenie usługi Azure AI Search, możesz przejść do następnej sekcji.

  4. W przeciwnym razie wybierz pozycję Nowe połączenie , a następnie pozycję Azure AI Search.

  5. Znajdź usługa wyszukiwania usługi Azure AI w opcjach i wybierz pozycję Dodaj połączenie.

  6. Użyj klucza interfejsu API do uwierzytelniania.

    Ważne

    Opcja klucza interfejsu API nie jest zalecana w środowisku produkcyjnym. Aby wybrać i użyć zalecanej opcji uwierzytelniania identyfikatora entra firmy Microsoft, należy również skonfigurować kontrolę dostępu dla usługa wyszukiwania usługi Azure AI. Przypisz role Współautor danych indeksu wyszukiwania i Współautor usługi wyszukiwania do konta użytkownika. Aby uzyskać więcej informacji, zobacz Connect to Azure AI Search using roles and Role-based access control in Azure AI Foundry portal (Nawiązywanie połączenia z usługą Azure AI Search przy użyciu ról i kontroli dostępu opartej na rolach w portalu usługi Azure AI Foundry).

  7. Wybierz opcję Dodaj połączenie.

Instalowanie interfejsu wiersza polecenia platformy Azure i logowanie

Zainstaluj interfejs wiersza polecenia platformy Azure i zaloguj się z lokalnego środowiska deweloperskiego, aby można było wywołać usługę Azure OpenAI przy użyciu poświadczeń użytkownika.

W większości przypadków można zainstalować interfejs wiersza polecenia platformy Azure z poziomu terminalu przy użyciu następującego polecenia:

winget install -e --id Microsoft.AzureCLI

Możesz postępować zgodnie z instrukcjami Instalowanie interfejsu wiersza polecenia platformy Azure, jeśli te polecenia nie działają w konkretnym systemie operacyjnym lub konfiguracji.

Po zainstalowaniu interfejsu wiersza polecenia platformy Azure zaloguj się przy użyciu az login polecenia i zaloguj się przy użyciu przeglądarki:

az login

Alternatywnie możesz zalogować się ręcznie za pośrednictwem przeglądarki przy użyciu kodu urządzenia.

az login --use-device-code

Tworzenie nowego środowiska języka Python

Najpierw musisz utworzyć nowe środowisko języka Python, aby zainstalować pakiet potrzebny na potrzeby tego samouczka. Nie instaluj pakietów w globalnej instalacji języka Python. Zawsze należy używać środowiska wirtualnego lub conda podczas instalowania pakietów języka Python. W przeciwnym razie możesz przerwać globalną instalację języka Python.

W razie potrzeby zainstaluj język Python

Zalecamy używanie języka Python w wersji 3.10 lub nowszej, ale wymagana jest co najmniej wersja python 3.8. Jeśli nie masz zainstalowanej odpowiedniej wersji języka Python, możesz postępować zgodnie z instrukcjami w samouczku języka Python programu VS Code, aby uzyskać najprostszy sposób instalowania języka Python w systemie operacyjnym.

Utworzenie środowiska wirtualnego

Jeśli masz już zainstalowany język Python w wersji 3.10 lub nowszej, możesz utworzyć środowisko wirtualne przy użyciu następujących poleceń:

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

Aktywowanie środowiska języka Python oznacza, że po uruchomieniu python lub pip w wierszu polecenia należy użyć interpretera języka Python zawartego .venv w folderze aplikacji.

Uwaga

Możesz użyć deactivate polecenia , aby zamknąć środowisko wirtualne języka Python i później ponownie aktywować je w razie potrzeby.

Instalowanie pakietów

Zainstaluj azure-ai-projects(wersja zapoznawcza) i azure-ai-inference (wersja zapoznawcza) wraz z innymi wymaganymi pakietami.

  1. Najpierw utwórz plik o nazwie requirements.txt w folderze projektu. Dodaj następujące pakiety do pliku:

    azure-ai-projects
    azure-ai-inference[prompts]
    azure-identity
    azure-search-documents
    pandas
    python-dotenv
    opentelemetry-api
    
  2. Zainstaluj wymagane pakiety:

    pip install -r requirements.txt
    

Tworzenie skryptu pomocnika

Utwórz folder dla swojej pracy. Utwórz plik o nazwie config.py w tym folderze. Ten skrypt pomocnika jest używany w dwóch następnych częściach serii samouczków. Dodaj następujący 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)

Skonfiguruj zmienne środowiskowe

Projekt parametry połączenia jest wymagany do wywołania usługi Azure OpenAI z poziomu kodu. W tym przewodniku Szybki start zapiszesz tę wartość w .env pliku, który jest plikiem zawierającym zmienne środowiskowe, które aplikacja może odczytać.

.env Utwórz plik i wklej następujący 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"
  • Znajdź swoje parametry połączenia w projekcie Azure AI Foundry utworzonym w przewodniku Szybki start dotyczący platformy Azure AI Foundry. Otwórz projekt, a następnie znajdź parametry połączenia na stronie Przegląd. Skopiuj parametry połączenia i wklej go do .env pliku.

    Zrzut ekranu przedstawia stronę przeglądu projektu i lokalizację parametry połączenia.

  • Jeśli jeszcze nie masz indeksu wyszukiwania, zachowaj wartość "example-index" dla elementu AISEARCH_INDEX_NAME. W części 2 tego samouczka utworzysz indeks przy użyciu tej nazwy. Jeśli wcześniej utworzono indeks wyszukiwania, którego chcesz użyć, zaktualizuj wartość tak, aby odpowiadała nazwie tego indeksu wyszukiwania.

  • Jeśli nazwy modeli zostały zmienione podczas ich wdrażania, zaktualizuj wartości w .env pliku, aby były zgodne z użytymi nazwami.

Napiwek

Jeśli pracujesz w programie VS Code, zamknij i otwórz ponownie okno terminalu .env po zapisaniu zmian w pliku.

Ostrzeżenie

Upewnij się, że plik .env znajduje się w .gitignore pliku, aby nie przypadkowo zaewidencjonować go w repozytorium git.

Czyszczenie zasobów

Aby uniknąć niepotrzebnych kosztów platformy Azure, usuń zasoby utworzone w tym samouczku, jeśli nie są już potrzebne. Aby zarządzać zasobami, możesz użyć witryny Azure Portal.

Ale nie usuwaj ich jeszcze, jeśli chcesz utworzyć aplikację czatu w następnej części tej serii samouczków.

Następny krok

W tym samouczku skonfigurujesz wszystko, czego potrzebujesz, aby utworzyć niestandardową aplikację do czatów przy użyciu zestawu AZURE AI SDK. W następnej części tej serii samouczków utworzysz aplikację niestandardową.