Skip to content

Latest commit

 

History

History
248 lines (168 loc) · 8.57 KB

00-setup.md

File metadata and controls

248 lines (168 loc) · 8.57 KB

00: 개발 환경 설정

이 세션에서는 워크샵에서 사용할 개발 환경을 설정합니다.

사전 준비 사항

GitHub Codespaces 열기

이 워크샵은 동일한 개발 환경을 유지하기 위해 GitHub Codespaces를 활용합니다.

  1. 아래 버튼을 클릭해서 새 GitHub Codespaces 인스턴스를 생성하세요.

    GitHub Codespaces 인스턴스 생성하기

  2. GitHub Codespaces 인스턴스가 만들어지면 터미널에서 아래 명령어를 하나씩 실행시켜 필요한 환경이 잘 만들어졌는지 확인하세요.

    # .NET SDK
    dotnet --list-sdks
    
    # node.js
    node --version
    npm --version
    
    # PowerShell
    pwsh --version
    
    # Docker
    docker info
    
    # azd CLI
    azd version
    
    # az CLI
    az --version
    az bicep version
    
    # Aspire CLI
    aspire --version
    
    # Ollama
    ollama --version
  3. GitHub 리포지토리 상태를 확인합니다.

    git remote -v

    아래와 같이 보여야 합니다.

    origin  https://github.com/Azure-Samples/maf-workshop-in-a-day-ko.git (fetch)
    origin  https://github.com/Azure-Samples/maf-workshop-in-a-day-ko.git (push)
    

    만약 위와 같이 보이지 않는다면, GitHub Codespaces 인스턴스를 삭제하고 다시 만드세요.

  4. 아래 명령어를 실행시켜 GitHub Codespaces 인스턴스와 리포지토리를 사용자의 계정으로 포크합니다.

    git remote -v > remote.txt
    git add . && git commit -m "Add remote.txt for forking"

    아마도 아래와 비슷한 메시지를 보게 됩니다.

    You don't have write access to the Azure-Samples/maf-workshop-in-a-day-ko repository, so you cannot push changes to it.
    To obtain write access we will point this codespace at your fork of Azure-Samples/maf-workshop-in-a-day-ko, creating that fork if it doesn't exist.
    
    Would you like to proceed?
    

    y를 눌러 계속합니다. 그러면 자동으로 현재 리포지토리를 사용자의 계정으로 포크합니다.

  5. 다시 한 번 리포지토리의 상태를 확인합니다.

    git remote -v

    이번에는 아래와 같이 보여야 합니다.

    origin  https://github.com/{{YOUR_GITHUB_ID}}/maf-workshop-in-a-day-ko.git (fetch)
    origin  https://github.com/{{YOUR_GITHUB_ID}}/maf-workshop-in-a-day-ko.git (push)
    upstream        https://github.com/Azure-Samples/maf-workshop-in-a-day-ko (fetch)
    upstream        https://github.com/Azure-Samples/maf-workshop-in-a-day-ko (push)
    

    만약 위와 같이 보이지 않는다면 다시 GitHub Codespaces 인스턴스를 만들고 이 과정을 반복하세요.

리포지토리 루트 설정

  1. 아래 명령어를 실행시켜 $REPOSITORY_ROOT 환경 변수를 설정합니다.

    # zsh/bash
    REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
    # PowerShell
    $REPOSITORY_ROOT = git rev-parse --show-toplevel

Ollama 설정

NOTE: 로컬 LLM을 활용하고 싶을 경우 진행하세요.

  1. 터미널에서 아래 명령어를 입력해서 Ollama 서버를 실행합니다. 편의상 이 터미널을 터미널 1이라고 하겠습니다.

    ollama serve
  2. 새 터미널을 열고 아래 명령어를 통해 LLM을 실행시킵니다. 편의상 이 터미널을 터미널 2라고 하겠습니다. 여기서는 편의상 granite4:350m 모델을 사용합니다.

    ollama run granite4:350m
  3. 터미널 2에서 프롬프트를 아무거나 입력해 봅니다.

    하늘은 왜 파랄까?
    Why is the sky blue?
    
  4. 터미널 2에서 응답을 확인한 후 아래 커맨드를 입력해서 Ollma 모델 실행을 종료합니다.

    /exit
  5. 터미널 1에서 CTRL+C 키를 눌러 Ollama 서버 실행을 종료합니다.

GitHub Models 설정

NOTE: 만약 Azure 구독을 사용할 수 없을 경우 GitHub Models에서 제공하는 gpt-5-mini 모델을 무료로 사용할 수 있습니다.

  1. 퍼스널 액세스 토큰(PAT)을 생성합니다. 이 때, "Models" 👉 "Read-Only" 권한을 주지 않으면 GitHub Models에 접근할 수 없습니다.

  2. PAT 생성 후 잘 보관해 둡니다. 한 번 생성한 토큰은 나중에 다시 확인할 수 없으므로 분실할 경우 새로 생성해야 합니다.

  3. 아래 명령어의 {{GITHUB_PAT}} 부분을 앞서 생성한 실제 PAT 값으로 치환하여 실행합니다. Fine-grained PAT는 github_pat_로 시작하는 문자열입니다.

    # zsh/bash
    githubToken="{{GITHUB_PAT}}"      # 예: githubToken="github_pat_11ABC...XYZ"
    # PowerShell
    $githubToken = "{{GITHUB_PAT}}"   # 예: $githubToken = "github_pat_11ABC...XYZ"

Azure 로그인

NOTE: Azure 구독을 제공 받았을 경우 진행하세요. 워크샵에 따라 Azure 구독을 제공하지 않을 수도 있습니다.

  1. 아래 명령어를 각각 실행시켜 Azure 클라우드에 로그인합니다.

    # Azure Developer CLI 로그인
    azd auth login --use-device-code=true
    
    # Azure CLI 로그인
    az login --use-device-code
  2. 로그인이 끝나면 아래 명령어를 실행시켜 제대로 로그인했는지 확인합니다.

    # Azure Developer CLI 로그인 확인
    azd auth login --check-status
    
    # Azure CLI 로그인 확인
    az account show

Azure OpenAI 인스턴스 생성

NOTE: Azure 구독을 제공 받았을 경우 진행하세요. 워크샵에 따라 Azure 구독을 제공하지 않을 수도 있습니다.

  1. 리포지토리 루트 디렉토리에 있는지 확인합니다.

    cd $REPOSITORY_ROOT
  2. 아래 명령어를 실행시켜 Azure OpenAI 인스턴스를 생성하세요.

    azd up

    아래와 같은 질문이 나오면 적당하게 입력합니다.

    • ? Enter a unique environment name: 👉 환경 이름 (예: mafworkshop-2026)
    • ? Enter a value for the 'location' infrastructure parameter: 👉 지역 선택 (예: Australia East)

    잠시 기다리면 Azure OpenAI 인스턴스가 만들어진 것을 확인할 수 있습니다.

    경우에 따라 AZURE_TENANT_ID 환경 변수를 설정해야 할 수도 있습니다.

    # zsh/bash
    export AZURE_TENANT_ID=$(az account show --query "tenantId" -o tsv)
    # PowerShell
    $env:AZURE_TENANT_ID = az account show --query "tenantId" -o tsv
  3. 아래 명령어를 실행시켜 Azure OpenAI 인스턴스의 엔드포인트와 API 키 값을 확인합니다.

    # zsh/bash
    endpoint=$(azd env get-value 'AZURE_OPENAI_ENDPOINT')
    apiKey=$(az cognitiveservices account keys list --name $(azd env get-value 'AZURE_OPENAI_NAME') --resource-group rg-$(azd env get-value 'AZURE_ENV_NAME') --query "key1" -o tsv)
    
    echo "Endpoint: $endpoint"
    echo "API Key: $apiKey"
    # PowerShell
    $endpoint = azd env get-value 'AZURE_OPENAI_ENDPOINT'
    $apiKey = az cognitiveservices account keys list --name $(azd env get-value 'AZURE_OPENAI_NAME') --resource-group rg-$(azd env get-value 'AZURE_ENV_NAME') --query "key1" -o tsv
    
    echo "Endpoint: $endpoint"
    echo "API Key: $apiKey"

축하합니다! 워크샵을 진행하기 위한 기본 개발 환경 설정이 끝났습니다. 이제 다음 단계로 이동하세요!

👈 README | 01: Microsoft Agent Framework 사용해서 단일 에이전트 개발하기 👉