# 결과 읽기

> 실행 페이지 탭, 점수, 최고 버전을 내보내거나 서빙하는 방법.

실행 페이지는 실행의 진행 상황과 결과를 보여 줍니다. 이 가이드는 실행 페이지의 탭, 점수, 그리고 최고 버전을 내보내거나 서빙하는 방법을 설명합니다.

## 실행 페이지의 탭

실행 페이지는 해당 실행에 적용되는 탭만 보여 줍니다. 일부 탭은 경로, 상태, 경험 수준에 따라 달라집니다.

| 탭                    | 표시되는 경우                                                     | 내용                                                                    |
| --------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **개요**              | 항상                                                              | 진행 상황, 점수, 점수 기록                                              |
| **사용량**            | Skynet이 서빙할 수 있는 프로그램이 있는 성공한 실행               | 최적화된 프로그램을 실행하는 양식과 통합 코드                           |
| **아티팩트**          | 결과가 있는 프롬프트, 코드, 텍스트 실행                           | 아티팩트의 버전들과 최고 버전                                           |
| **데이터**            | 완료된 DSPy 프로그램 실행                                         | 학습, 검증, 테스트 세트로 나눈 데이터와 테스트 세트 평가                |
| **코드**              | 실행에 보여 줄 코드가 있을 때                                     | 실행 코드와 메트릭                                                      |
| **보상**              | 메트릭이 보상 구성 요소를 선언한 프롬프트, 코드, 텍스트 실행      | 보상 구성 요소와 가중치                                                 |
| **아티팩트**          | 최적화된 프롬프트나 파일이 있는 실행                              | 최적화된 출력과 **결과 내보내기**                                       |
| **로그**              | 대부분의 실행                                                     | 실행 로그                                                               |
| **사용량 및 비용**    | 로그인했을 때                                                     | 실행이 지출한 금액                                                      |
| **예약 실행**         | 성공한 프롬프트, 코드, 텍스트 실행                                | 최적화를 다시 실행하는 일정                                             |
| **구성**              | 항상                                                              | 실행 구성                                                               |

> [!NOTE]
> **가이드** 수준에서는 실행 페이지가 **데이터**, **코드**, **로그**, **구성** 탭을 숨깁니다. 이 탭으로 가는 직접 링크는 여전히 탭을 엽니다. 수준은 **설정 → 계정**에서 바꿉니다.

## 점수

Skynet은 검증 케이스에서 버전을 선택합니다. 최종 점수는 테스트 케이스에서 보고합니다. 엔진은 테스트 케이스를 절대 보지 않습니다. [데이터셋과 분할](/docs/ko/concepts/datasets)을 읽어 보세요.

**개요** 탭에는 다음이 표시됩니다.

- **개선**: 시작 버전에서 최고 버전까지의 변화.
- **점수 진행 상황**: 실행 동안의 점수.
- **점수 분석**: 각 메트릭과 **기준선**, **최적화됨**, **변화량** 열.

실행이 진행 중일 때는 개요에 **경과**, **남음**, **속도**도 표시됩니다.

프롬프트, 코드, 텍스트 실행에서 메트릭이 이름 있는 점수를 보고하면 개요에 **이름 있는 점수**도 표시됩니다.

DSPy 프로그램 실행에서는 **데이터** 탭에 **테스트 세트 평가**가 있습니다. 각 테스트 케이스의 기준선 점수와 최적화된 점수를 보여 줍니다.

### 최고 버전이 시작 버전일 때

때로는 어떤 후보도 시작 버전을 이기지 못합니다. 그러면 Skynet은 시작 버전을 반환합니다. **아티팩트** 탭은 회귀 방지 장치가 적용되었다고 알려 줍니다.

실행이 예산에 도달해 멈췄다면, 실행 페이지는 Skynet이 어떤 버전을 저장했는지 알려 줍니다. [실행](/docs/ko/concepts/runs)을 읽어 보세요.

## 최고 버전 내보내기

### 프롬프트, 코드, 텍스트 실행

**아티팩트** 탭에는 아티팩트의 **버전**이 나열됩니다. 각 버전에서 다음을 할 수 있습니다.

- 버전을 복사합니다.
- 버전을 파일로 다운로드합니다.
- 리포지토리 실행에서는 리포지토리 전체를 zip으로 다운로드합니다.

한 버전을 다른 버전과 비교할 수 있습니다. 탭에는 버전의 **스코어러 피드백**도 표시됩니다.

### DSPy 프로그램 실행

**아티팩트** 탭에는 **결과 내보내기** 패널이 있습니다. **다운로드** 메뉴를 엽니다. 실행에 있는 형식이 표시됩니다.

| 옵션                  | 형식                                             |
| --------------------- | ------------------------------------------------ |
| DSPy 프로그램         | `.zip`, 바로 실행할 수 있는 독립형 내보내기      |
| 최적화된 프로그램     | `.pkl`                                           |
| 프롬프트              | `.json`                                          |
| 최적화된 코드         | `.py`                                            |
| 로그                  | `.csv`                                           |

## 최고 버전 서빙하기

최적화된 DSPy 프로그램을 내 코드에서 호출할 수 있습니다. **사용량** 탭에는 두 부분이 있습니다.

- 양식. 입력 필드를 채우고 **실행**을 선택하면 예측을 받습니다.
- cURL, Python, JavaScript, Go, DSPy로 된 **통합 코드**.

프로그램은 항상 최적화할 때 사용한 모델 설정으로 실행됩니다. 모든 입력 필드를 제공해야 합니다. Skynet은 추가 필드를 무시합니다.

프로그램을 호출하려면 **설정 → API**에서 API 토큰을 만드세요. 그런 다음 요청을 보냅니다.

```bash tab="cURL"
export APP_API_TOKEN=skyd_...
curl -X POST "$API_URL/serve/<optimization_id>" \
  -H "Authorization: Bearer $APP_API_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"inputs": {"question": "What is DSPy?"}}'
```

```python tab="Python"
import os
import uuid
import requests

response = requests.post(
    f"{os.environ['API_URL']}/serve/<optimization_id>",
    headers={
        "Authorization": f"Bearer {os.environ['APP_API_TOKEN']}",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    json={"inputs": {"question": "What is DSPy?"}},
)
print(response.json()["outputs"])
```

`question`을 프로그램의 입력 필드로 바꾸세요. **사용량** 탭의 **통합 코드**에는 실제 URL과 필드 이름이 채워져 있습니다.

응답에는 `outputs`, `input_fields`, `output_fields`, `model_used`가 들어 있습니다.

> [!TIP]
> 요청 본문은 `max_cost_cents`도 받습니다. 이 호출 한 번에 쓸 수 있는 최대 비용을 센트 단위로 설정합니다. 일부 실행에서는 필수입니다.

부분 출력을 도착하는 대로 받으려면 같은 요청을 `/serve/<optimization_id>/stream`으로 보내세요. 응답은 서버 전송 이벤트(server-sent events) 스트림입니다.

인증과 다른 엔드포인트는 [API](/docs/ko/api)를 읽어 보세요.

## 결과 공유하기

실행을 다른 사람과 공유하거나 공개 탐색 갤러리에 올릴 수 있습니다. [공유 및 게시](/docs/ko/guides/sharing)를 읽어 보세요.

---

Source: https://staging.skynetml.com/docs/ko/guides/results
