1장 문제: AI 앱과 Foundry 기초
공식 범위를 참고한 자체 제작 연습문제입니다. 공통 시험 유형을 연습하며 AI-103의 실제 문항 구성·난이도를 재현하지 않습니다. 공식 연습 평가 안내 (로그인 필요) · 공식 모듈 샘플 · 공식 시험 화면 체험
5문항 · 기록 불러오는 중
1.1 모델의 동작과 선택
스트리밍 상담 앱에서 사용자가 첫 글자를 보기까지의 대기 시간을 줄이려 합니다. 모델 후보를 비교할 때 우선 볼 벤치마크는?
- Time to first token (TTFT)
- Generated tokens per second (GTPS)
- Quality index
- Groundedness
풀이 기록 기능을 불러오는 중…
해설 보기
정답: A. Time to first token (TTFT)
TTFT는 요청 후 첫 토큰이 도착할 때까지의 시간입니다. GTPS는 생성 중의 출력 처리량이므로 첫 응답의 대기 시간과 구분합니다. 품질·근거성도 평가해야 하지만 이 질문의 직접적인 대기 시간 지표는 아닙니다.
1.2 Foundry의 구성
배포 점검 기록에서 아직 완료되지 않은 기능은?
model_deployment: chat-prod / inference_test=200 agent_definition: helper-v2 / tools=[get_order] tool_connection: get_order / credential=unset evaluation_dataset: support-v3 / run=not_started 출시 조건: 주문 조회 성공 + 평가 기준 통과
- 도구 스키마와 모델 배포 이름을 수정한다
- 도구 인증과 평가 실행을 각각 완료한다
- 도구 호출 지침과 평가 임계값을 조정한다
- 도구 응답 캐시와 평가 결과 캐시를 비운다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: B. 도구 인증과 평가 실행을 각각 완료한다
추론 성공은 확인됐지만 도구 인증이 없고 평가도 실행하지 않았습니다. 두 출시 조건 모두 추가 증거가 필요합니다.
1.3 Python으로 모델 호출하기
포털에서는 성공하고 앱에서는 배포를 찾지 못합니다. 가장 좁은 수정은?
포털: endpoint=resource-A / deployment=support-prod / HTTP 200 앱: endpoint=resource-A / model=support-test / HTTP 404 resource-A 배포 목록: [support-prod] 앱의 같은 ID로 support-prod 호출: HTTP 200
- 앱의 배포 인수를 support-prod로 맞춰 재호출한다
- 앱의 엔드포인트를 resource-B로 바꿔 재호출한다
- 앱의 실행 ID를 포털 사용자 ID로 바꿔 재호출한다
- 앱의 패키지 버전을 이전 버전으로 내려 재호출한다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: A. 앱의 배포 인수를 support-prod로 맞춰 재호출한다
엔드포인트와 ID를 고정한 호출이 성공했으므로 현재 차이는 존재하지 않는 support-test 배포 인수입니다.
아래 코드는 의사 코드입니다. 추론은 성공하고 프로젝트 조회만 실패할 때 첫 확인은?
client = InferenceClient(endpoint=MODEL_ENDPOINT) client.generate(...) # HTTP 200 client.projects.list() # AttributeError: projects 요구: 추론 호출과 프로젝트 리소스 조회 설치된 패키지 이름·버전: 확인 전
- 설치 SDK의 작업별 클라이언트·엔드포인트 계약을 대조한다
- 추론 클라이언트의 토큰 권한을 프로젝트 관리자까지 넓힌다
- 같은 메서드를 유지하고 MODEL_ENDPOINT의 지역을 바꾼다
- 같은 클라이언트에서 모델 배포 인수를 프로젝트명으로 바꾼다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: A. 설치 SDK의 작업별 클라이언트·엔드포인트 계약을 대조한다
AttributeError는 해당 클라이언트에 메서드가 없다는 관찰입니다. 추론과 프로젝트 기능을 제공하는 설치 SDK의 표면과 연결 계약을 확인해야 합니다.
두 실행의 인증 결과를 비교했습니다. 현재 403을 좁힐 대상은?
project_client = AIProjectClient(
endpoint=os.environ["PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
)
두 실행의 endpoint·토큰 audience: 동일하고 유효
로컬: principal=dev17 / project_read=allowed / HTTP 200
배포: principal=mi42 / project_read=denied / HTTP 403- dev17의 로컬 토큰 캐시를 비우고 다시 실행한다
- mi42의 대상 프로젝트 역할과 범위를 확인한다
- PROJECT_ENDPOINT를 모델 추론 주소로 바꿔 실행한다
- DefaultAzureCredential을 유지하고 배포 이름을 바꾼다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: B. mi42의 대상 프로젝트 역할과 범위를 확인한다
인증 토큰과 주소는 같은 조건에서 유효합니다. 달라진 주체 mi42의 project_read 거부가 대상 범위의 인가를 확인할 근거입니다.