Ta lekcja pokaże, jak uruchomić przykładowe kody z tego kursu.
Zanim zaczniesz klonować swoje repozytorium, dołącz do kanału Discord AI Agents For Beginners, aby uzyskać pomoc przy konfiguracji, zadawać pytania dotyczące kursu lub nawiązać kontakty z innymi uczniami.
Aby rozpocząć, proszę sklonuj lub forkuj repozytorium GitHub. Dzięki temu stworzysz swoją własną wersję materiałów kursu, aby móc uruchamiać, testować i modyfikować kod!
Można to zrobić klikając na link forkuj repozytorium
Powinieneś teraz mieć własną forę tego kursu pod następującym linkiem:

Pełne repozytorium może być duże (~3 GB), gdy pobierzesz pełną historię i wszystkie pliki. Jeśli uczestniczysz tylko w warsztacie lub potrzebujesz kilku folderów z lekcjami, płytkie klonowanie (lub rzadkie klonowanie) pobiera znacznie mniej.
Zamień <your-username> w poniższych poleceniach na URL twojego fork (lub URL oryginalnego repozytorium jeśli wolisz).
Aby sklonować tylko najnowszą historię commitów (mały download):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
Aby sklonować konkretną gałąź:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
To wykorzystuje częściowe klonowanie i sparse-checkout (wymaga Git 2.25+ i zalecanego nowoczesnego Gita z obsługą częściowego klonowania):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
Przejdź do folderu repozytorium:
cd ai-agents-for-beginners
Następnie określ, które foldery chcesz (przykład poniżej pokazuje dwa foldery):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
Po sklonowaniu i weryfikacji plików, jeśli potrzebujesz tylko plików i chcesz zwolnić miejsce (bez historii git), usuń metadane repozytorium (💀nieodwracalne — stracisz całą funkcjonalność Git):
# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git
Utwórz nowy Codespace dla tego repozytorium przez GitHub UI.
Ten kurs oferuje serię notatników Jupyter, które możesz uruchamiać, aby zdobyć praktyczne doświadczenie w budowaniu Agentów AI.
Przykładowe kody używają Microsoft Agent Framework (MAF) wraz z FoundryChatClient, który łączy się z Microsoft Foundry Agent Service V2 (API Odpowiedzi) poprzez Microsoft Foundry.
Wszystkie notatniki Pythona są oznaczone jako *-python-agent-framework.ipynb.
UWAGA: Jeżeli nie masz zainstalowanego Pythona 3.12, upewnij się, że go zainstalujesz. Następnie utwórz środowisko wirtualne (venv) używając python3.12, aby zapewnić instalację odpowiednich wersji z pliku requirements.txt.
Przykład
Utwórz katalog venv Pythona:
python -m venv venv
Następnie aktywuj środowisko venv dla:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: Dla przykładowych kodów korzystających z .NET, upewnij się, że zainstalowałeś .NET 10 SDK lub nowszą wersję. Następnie sprawdź zainstalowaną wersję SDK .NET:
dotnet --list-sdks
gpt-5-mini). Zobacz Krok 1 poniżej.Dołączyliśmy plik requirements.txt w katalogu głównym tego repozytorium, który zawiera wszystkie potrzebne pakiety Pythona do uruchomienia przykładów.
Możesz je zainstalować uruchamiając poniższe polecenie w terminalu w katalogu głównym repozytorium:
pip install -r requirements.txt
Zalecamy utworzenie wirtualnego środowiska Pythona, aby uniknąć konfliktów i problemów.
Upewnij się, że w VSCode używasz odpowiedniej wersji Pythona.
Potrzebujesz hub i projektu w Microsoft Foundry z wdrożonym modelem, aby uruchomić notatniki.
gpt-5-mini) z Models + Endpoints → Deploy model.Z twojego projektu w portalu Microsoft Foundry:

gpt-5-mini).az loginWiększość notatników uwierzytelnia się przez logowanie Azure CLI — używając AzureCliCredential lub DefaultAzureCredential (oba pobierają sesję az login) z pakietu azure-identity — więc nie wymagają kluczy API. Kilka lekcji i opcjonalnych integracji korzysta z kluczy API; sprawdź wymagania każdej lekcji pod kątem dodatkowych zmiennych środowiskowych. Wymaga to zalogowania się przez Azure CLI.
Zainstaluj Azure CLI jeśli jeszcze tego nie zrobiłeś: aka.ms/installazurecli
Zaloguj się uruchamiając:
az login
Lub jeśli jesteś w zdalnym środowisku/Codespace bez przeglądarki:
az login --use-device-code
Wybierz subskrypcję jeśli zostanie pokazane — wybierz tę, która zawiera projekt Foundry.
Sprawdź czy jesteś zalogowany:
az account show
Dlaczego
az login? Notatniki uwierzytelniają się zAzureCliCredential(lubDefaultAzureCredential, który też pobiera logowanie Azure CLI) z pakietuazure-identity. Oznacza to, że sesja Azure CLI dostarcza poświadczenia — bez kluczy API lub sekretów w pliku.env. To jest bezpieczna najlepsza praktyka.
.envSkopiuj przykładowy plik:
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
Otwórz .env i wypełnij te dwie wartości:
AZURE_AI_PROJECT_ENDPOINT=https://<your-project>.services.ai.azure.com/api/projects/<your-project-id>
AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-5-mini
| Zmienna | Gdzie ją znaleźć |
|---|---|
AZURE_AI_PROJECT_ENDPOINT |
Portal Foundry → twój projekt → strona Overview |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
Portal Foundry → Models + Endpoints → nazwa twojego wdrożonego modelu |
To wszystko dla większości lekcji! Notatniki uwierzytelnią się automatycznie przez twoją sesję az login.
pip install -r requirements.txt
Zalecamy uruchomienie tego wewnątrz wcześniej utworzonego środowiska wirtualnego.
Notatniki z lekcji 5 (Agentic RAG) i 16 działają od razu z pamięciową bazą wiedzy — bez potrzeby dodatkowych zasobów Azure. Jeśli chcesz je wesprzeć prawdziwym indeksem Azure AI Search, pamiętaj, że notatnik z lekcji 16 aktualnie wymaga uwierzytelniania opartego na kluczach: przełącza się z wyszukiwania w pamięci na Azure AI Search tylko gdy zarówno AZURE_SEARCH_SERVICE_ENDPOINT jak i AZURE_SEARCH_API_KEY są ustawione, w przeciwnym razie pozostaje w wyszukiwaniu pamięciowym — więc aby uruchomić go z prawdziwym indeksem, musisz też ustawić klucz administratora. Bezkluczowe uwierzytelnianie za pomocą Microsoft Entra ID (RBAC) jest zalecanym podejściem dla własnego kodu produkcyjnego, zgodnym z przepływem az login używanym w całym kursie.
Poniższe kroki RBAC odnoszą się do przykładów przewodnika konfiguracji i twojego własnego kodu. Nie włączają bezkluczowego uwierzytelniania w notatniku lekcji 16; lekcja 16 nadal wymaga obu, endpoint i klucza administratora, do korzystania z Azure AI Search.
Włącz dostęp oparty na rolach w usłudze wyszukiwania:
az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
Przypisz sobie wymagane role (tworzenie/ładowanie indeksów i zapytania):
az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
Dodaj endpoint do pliku .env:
| Zmienna | Gdzie ją znaleźć |
|---|---|
AZURE_SEARCH_SERVICE_ENDPOINT |
Portal Azure → twój zasób Azure AI Search → Overview → URL |
AZURE_SEARCH_API_KEY |
Wymagany (razem z endpointem) do uruchomienia Azure AI Search w notatniku z lekcji 16, który używa uwierzytelniania opartego na kluczu. Portal Azure → Settings → Keys → główny klucz administratora |
Dlaczego bezkluczowe? Klucze administratorów dają pełny dostęp do zapisu do usługi wyszukiwania i mogą wyciec przez pliki
.env. Z RBAC twoja tożsamość zaz loginjest używana zamiast tego — ten sam schemat bezkluczowego Entra ID, który notatniki kursu używają (poprzezAzureCliCredential/DefaultAzureCredential). Zobacz Połącz się z Azure AI Search za pomocą ról.
Zobacz przewodnik konfiguracji Azure AI Search dla pełnych przykładów tworzenia indeksów w Python i .NET.
Niektóre notatniki z lekcji 6 i 8 wywołują bezpośrednio Azure OpenAI (używając Responses API) zamiast korzystać z projektu Microsoft Foundry. Przykłady te wcześniej wykorzystywały GitHub Models, które są przestarzałe i nie obsługują Responses API. Dodaj te zmienne do swojego pliku .env:
| Zmienna | Gdzie ją znaleźć |
|---|---|
AZURE_OPENAI_ENDPOINT |
Portal Azure → twój zasób Azure OpenAI → Keys and Endpoint → Endpoint (np. https://<twoj-zasob>.openai.azure.com) |
AZURE_OPENAI_DEPLOYMENT |
Nazwa wdrożonego modelu (np. gpt-5-mini), który obsługuje Responses API |
AZURE_OPENAI_API_KEY |
Opcjonalne — tylko jeśli korzystasz z uwierzytelniania opartego na kluczu zamiast az login / Entra ID |
Responses API używa stabilnego endpointu
/openai/v1/, więc nie wymagaapi-version. Zaloguj się przezaz login, aby użyć bezkluczowego uwierzytelniania Entra ID.
MiniMax dostarcza modele z dużym kontekstem (do 204 tys. tokenów) przez OpenAI-kompatybilne API. Ponieważ OpenAIChatClient w Microsoft Agent Framework działa z dowolnym endpointem kompatybilnym z OpenAI, możesz użyć MiniMax jako zamiennik w lekcjach korzystających z OpenAIChatClient.
Dodaj te zmienne do pliku .env:
| Zmienna | Gdzie ją znaleźć |
|---|---|
MINIMAX_API_KEY |
Platforma MiniMax → Klucze API |
MINIMAX_BASE_URL |
Użyj https://api.minimax.io/v1 (wartość domyślna) |
MINIMAX_MODEL_ID |
Nazwa modelu do użycia (np. MiniMax-M3) |
Przykładowe modele: MiniMax-M3 (zalecany), MiniMax-M2.7, MiniMax-M2.7-highspeed (szybsze odpowiedzi). Nazwy i dostępność modeli mogą się zmieniać, a dostęp do konkretnego modelu może zależeć od twojego konta.
Przykłady kodu używające OpenAIChatClient (np. przepływ rezerwacji hotelu z lekcji 14) automatycznie wykryją i użyją konfiguracji MiniMax, gdy MINIMAX_API_KEY jest ustawiony.
Novita AI udostępnia API kompatybilne z OpenAI dla otwartych i najnowocześniejszych modeli językowych (DeepSeek, Llama, Qwen i inne). Ponieważ OpenAIChatClient Microsoft Agent Framework działa z każdym końcowym punktem zgodnym z OpenAI, możesz używać Novita AI jako bezpośredniej alternatywy dla Azure OpenAI lub OpenAI.
Dodaj te zmienne do swojego pliku .env:
| Zmienna | Gdzie ją znaleźć |
|---|---|
NOVITA_API_KEY |
Panel Novita AI → Klucze API |
NOVITA_BASE_URL |
Użyj https://api.novita.ai/openai/v1 (wartość domyślna) |
NOVITA_MODEL_ID |
Nazwa modelu do użycia (np. moonshotai/kimi-k3) |
Przykładowe modele: moonshotai/kimi-k3, zai-org/glm-5.2, deepseek/deepseek-v4-flash-0731. Novita AI hostuje także wiele innych rodzin modeli open source (Llama, Qwen, GLM i inne) — sprawdź bibliotekę modeli Novita AI dla aktualnej listy dostępnych modeli i ich identyfikatorów.
Aktualne przykłady nie korzystają automatycznie ze zmiennych NOVITA_*. Aby użyć Novita AI, przekaż te wartości jawnie podczas tworzenia OpenAIChatClient w uruchamianym przykładzie.
Foundry Local to lekki runtime, który pobiera, zarządza i udostępnia modele językowe całkowicie na Twoim własnym urządzeniu przez API kompatybilne z OpenAI — bez konieczności chmury.
Ponieważ OpenAIChatClient Microsoft Agent Framework działa z każdym końcowym punktem zgodnym z OpenAI, Foundry Local jest lokalną bezpośrednią alternatywą dla Azure OpenAI.
1. Zainstaluj Foundry Local
# Windows
winget install Microsoft.FoundryLocal
# macOS
brew install foundrylocal
2. Pobierz i uruchom model (to również uruchomi lokalną usługę):
foundry model list # zobacz dostępne modele
foundry model run phi-4-mini
3. Zainstaluj SDK w Pythonie używane do odkrywania lokalnego punktu końcowego:
pip install foundry-local-sdk
4. Skieruj Microsoft Agent Framework na lokalny model:
from foundry_local import FoundryLocalManager
from agent_framework.openai import OpenAIChatClient
# Pobiera (jeśli potrzebne) i udostępnia model lokalnie, następnie odnajduje punkt końcowy/port.
manager = FoundryLocalManager("phi-4-mini")
chat_client = OpenAIChatClient(
base_url=manager.endpoint, # np. http://localhost:<port>/v1
api_key=manager.api_key, # zawsze "nie-wymagane" dla Foundry Local
model_id=manager.get_model_info("phi-4-mini").id,
)
agent = chat_client.as_agent(
name="LocalAgent",
instructions="You are a helpful assistant running fully on-device.",
)
Uwaga: Foundry Local udostępnia OpenAI-kompatybilny punkt końcowy Chat Completions. Używaj go do rozwoju lokalnego i scenariuszy offline. Aby uzyskać pełen zestaw funkcji Responses API (stanowe konwersacje itp.), używaj Azure OpenAI lub projektu Microsoft Foundry.
Notebook z workflow warunkowym w lekcji 8 używa Bing grounding przez Microsoft Foundry. Jeśli planujesz uruchomić ten przykład, dodaj tę zmienną do swojego pliku .env:
| Zmienna | Gdzie ją znaleźć |
|---|---|
BING_CONNECTION_ID |
Portal Microsoft Foundry → twój projekt → Zarządzanie → Połączone zasoby → twoje połączenie Bing → skopiuj identyfikator połączenia |
Jeśli używasz macOS i napotkasz błąd taki jak:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
Jest to znany problem z Pythonem na macOS, gdzie systemowe certyfikaty SSL nie są automatycznie uznawane za zaufane. Spróbuj następujących rozwiązań w kolejności:
Opcja 1: Uruchom skrypt instalujący certyfikaty Pythona (zalecane)
# Zamień 3.XX na zainstalowaną wersję Pythona (np. 3.12 lub 3.13):
/Applications/Python\ 3.XX/Install\ Certificates.command
Opcja 2: Użyj connection_verify=False w notebooku (tylko dla notebooków GitHub Models)
W notebooku Lekcji 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb) znajduje się już zakomentowany obejście. Odkomentuj connection_verify=False gdy pojawią się błędy certyfikatu:
client = ChatCompletionsClient(
endpoint=endpoint,
credential=AzureKeyCredential(token),
connection_verify=False, # Wyłącz weryfikację SSL, jeśli pojawią się błędy certyfikatu
)
⚠️ Ostrzeżenie: Wyłączenie weryfikacji SSL (
connection_verify=False) zmniejsza bezpieczeństwo, pomijając walidację certyfikatu. Używaj tego tylko jako tymczasowego obejścia w środowiskach deweloperskich. Nigdy nie stosuj tego w produkcji.
Opcja 3: Zainstaluj i użyj truststore
pip install truststore
Następnie dodaj poniższe na początku notebooka lub skryptu przed wykonywaniem jakichkolwiek wywołań sieciowych:
import truststore
truststore.inject_into_ssl()
Jeśli masz problemy z uruchomieniem tej konfiguracji, dołącz do naszego Discorda Społeczności Azure AI lub załóż zgłoszenie.
Jesteś teraz gotowy, aby uruchomić kod tego kursu. Życzymy owocnej nauki o świecie Agentów AI!
Wprowadzenie do Agentów AI i Zastosowań Agentów
Zastrzeżenie: Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Choć dążymy do dokładności, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub niedokładności. Oryginalny dokument w jego języku źródłowym należy uznawać za autorytatywne źródło. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.