> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-run-filter-ui-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 클래스: Evaluation<R, E, M>

> TypeScript SDK 레퍼런스

[weave](../) / Evaluation

scorer 집합과 데이터셋을 포함하는 Evaluation을 설정합니다.

`evaluation.evaluate(model)`을 호출하면 데이터셋의 각 행이 모델에 전달되며, 데이터셋의 column 이름이 `model.predict`의 argument 이름에 맞게 매핑됩니다.

그런 다음 모든 scorer를 호출하고 결과를 weave에 저장합니다.

`예시`

```ts theme={null}
// 예시를 데이터셋에 수집합니다
const dataset = new weave.Dataset({
  id: 'my-dataset',
  rows: [
    { question: 'What is the capital of France?', expected: 'Paris' },
    { question: 'Who wrote "To Kill a Mockingbird"?', expected: 'Harper Lee' },
    { question: 'What is the square root of 64?', expected: '8' },
  ],
});

// 맞춤형 채점 함수를 정의합니다
const scoringFunction = weave.op(function isEqual({ modelOutput, datasetRow }) {
  return modelOutput == datasetRow.expected;
});

// 평가할 함수를 정의합니다
const model = weave.op(async function alwaysParisModel({ question }) {
  return 'Paris';
});

// 평가를 시작합니다
const evaluation = new weave.Evaluation({
  id: 'my-evaluation',
  dataset: dataset,
  scorers: [scoringFunction],
});

const results = await evaluation.evaluate({ model });
```

## 타입 매개변수

| 이름  | 유형                   |
| :-- | :------------------- |
| `R` | extends `DatasetRow` |
| `E` | extends `DatasetRow` |
| `M` | `M`                  |

<div id="hierarchy">
  ## 계층
</div>

* [`WeaveObject`](./weaveobject)

  ↳ `Evaluation`

<div id="table-of-contents">
  ## 목차
</div>

<div id="constructors">
  ### 생성자
</div>

* [생성자](./evaluation#constructor)

<div id="properties">
  ### 속성
</div>

* [\_\_savedRef](./evaluation#__savedref)

<div id="accessors">
  ### 접근자
</div>

* [설명](./evaluation#description)
* [이름](./evaluation#name)

<div id="methods">
  ### 메서드
</div>

* [evaluate](./evaluation#evaluate)
* [predictAndScore](./evaluation#predictandscore)
* [saveAttrs](./evaluation#saveattrs)

## 생성자

<div id="constructors">
  ### 생성자
</div>

• **new Evaluation**\<`R`, `E`, `M`>(`parameters`): [`Evaluation`](./evaluation)\<`R`, `E`, `M`>

<div id="type-parameters">
  #### 타입 매개변수
</div>

| 이름  | 유형                   |
| :-- | :------------------- |
| `R` | extends `DatasetRow` |
| `E` | extends `DatasetRow` |
| `M` | `M`                  |

<div id="parameters">
  #### 매개변수
</div>

| 이름           | 유형                                     |
| :----------- | :------------------------------------- |
| `parameters` | `EvaluationParameters`\<`R`, `E`, `M`> |

<div id="returns">
  #### 반환값
</div>

[`Evaluation`](./evaluation)\<`R`, `E`, `M`>

<div id="overrides">
  #### 오버라이드
</div>

[WeaveObject](./weaveobject).[constructor](./weaveobject#constructor)

<div id="defined-in">
  #### 정의 위치
</div>

[evaluation.ts:148](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/evaluation.ts#L148)

## 속성

<div id="__savedref">
  ### \_\_savedRef
</div>

• `선택` **\_\_savedRef**: [`ObjectRef`](./objectref) | `Promise`\<[`ObjectRef`](./objectref)>

<div id="inherited-from">
  #### 상속 출처
</div>

[WeaveObject](./weaveobject).[\_\_savedRef](./weaveobject#__savedref)

<div id="defined-in">
  #### 정의 위치
</div>

[weaveObject.ts:73](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/weaveObject.ts#L73)

## 접근자

<div id="description">
  ### 설명
</div>

• `get` **설명**(): `undefined` | `string`

<div id="returns">
  #### 반환값
</div>

`undefined` | `string`

<div id="inherited-from">
  #### 상속 출처
</div>

WeaveObject.description

<div id="defined-in">
  #### 정의 위치
</div>

[weaveObject.ts:100](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/weaveObject.ts#L100)

***

<div id="name">
  ### 이름
</div>

• `get` **name**(): `string`

<div id="returns">
  #### 반환값
</div>

`string`

<div id="inherited-from">
  #### 상속 출처
</div>

WeaveObject.name

<div id="defined-in">
  #### 정의 위치
</div>

[weaveObject.ts:96](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/weaveObject.ts#L96)

## 메서드

<div id="evaluate">
  ### evaluate
</div>

▸ **evaluate**(`«destructured»`): `Promise`\<`Record`\<`string`, `any`>>

<div id="parameters">
  #### 매개변수
</div>

| 이름                  | 유형                                                                           | 기본값         |
| :------------------ | :--------------------------------------------------------------------------- | :---------- |
| `«destructured»`    | `객체`                                                                         | `undefined` |
| › `maxConcurrency?` | `number`                                                                     | `5`         |
| › `model`           | `WeaveCallable`\<(...`args`: \[\{ `datasetRow`: `R`  }]) => `Promise`\<`M`>> | `undefined` |
| › `nTrials?`        | `number`                                                                     | `1`         |

<div id="returns">
  #### 반환값
</div>

`Promise`\<`Record`\<`string`, `any`>>

<div id="defined-in">
  #### 정의 위치
</div>

[evaluation.ts:163](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/evaluation.ts#L163)

***

<div id="predictandscore">
  ### predictAndScore
</div>

▸ **predictAndScore**(`«destructured»`): `Promise`\<\{ `model_latency`: `number` = modelLatency; `model_output`: `any` = modelOutput; `model_success`: `boolean` = !modelError; `scores`: \{ `[key: string]`: `any`;  }  }>

<div id="parameters">
  #### 매개변수
</div>

| 이름                 | 유형                                                                           |
| :----------------- | :--------------------------------------------------------------------------- |
| `«destructured»`   | `객체`                                                                         |
| › `columnMapping?` | `ColumnMapping`\<`R`, `E`>                                                   |
| › `example`        | `R`                                                                          |
| › `model`          | `WeaveCallable`\<(...`args`: \[\{ `datasetRow`: `E`  }]) => `Promise`\<`M`>> |

<div id="returns">
  #### 반환값
</div>

`Promise`\<\{ `model_latency`: `number` = modelLatency; `model_output`: `any` = modelOutput; `model_success`: `boolean` = !modelError; `scores`: \{ `[key: string]`: `any`;  }  }>

<div id="defined-in">
  #### 정의 위치
</div>

[evaluation.ts:231](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/evaluation.ts#L231)

***

<div id="saveattrs">
  ### saveAttrs
</div>

▸ **saveAttrs**(): `객체`

<div id="returns">
  #### 반환값
</div>

`객체`

<div id="inherited-from">
  #### 상속 출처
</div>

[WeaveObject](./weaveobject).[saveAttrs](./weaveobject#saveattrs)

<div id="defined-in">
  #### 정의 위치
</div>

[weaveObject.ts:77](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/weaveObject.ts#L77)
