> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feature-automate-reference-docs-generation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Evaluation

[**weave**](../README.mdx) • **문서**

***

[weave](../README.mdx) / Evaluation

# Class: Evaluation\<R, E, M>

스코어러 세트와 데이터셋을 포함하는 평가를 설정합니다.

evaluation.evaluate(model)을 호출하면 데이터셋의 행을 모델에 전달하여
데이터셋의 열 이름을 model.predict의 인수 이름과 일치시킵니다.

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

## 예시

```ts
// Collect your examples into a dataset
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' },
  ],
});

// Define any custom scoring function
const scoringFunction = weave.op(function isEqual({ modelOutput, datasetRow }) {
  return modelOutput == datasetRow.expected;
});

// Define the function to evaluate
const model = weave.op(async function alwaysParisModel({ question }) {
  return 'Paris';
});

// Start evaluating
const evaluation = new weave.Evaluation({
  id: 'my-evaluation',
  dataset: dataset,
  scorers: [scoringFunction],
});

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

## 확장

* [`WeaveObject`](WeaveObject.mdx)

## 타입 매개변수

• **R** *extends* `DatasetRow`

• **E** *extends* `DatasetRow`

• **M**

## 생성자

### new Evaluation()

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

#### 매개변수

• **parameters**: `EvaluationParameters`\<`R`, `E`, `M`>

#### 반환

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

#### 오버라이드

[`WeaveObject`](WeaveObject.mdx).[`constructor`](WeaveObject.md#constructors)

#### 정의 위치

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

## 속성

### \_\_savedRef?

> `optional` **\_\_savedRef**: `ObjectRef` | `Promise`\<`ObjectRef`>

#### 상속 출처

[`WeaveObject`](WeaveObject.mdx).[`__savedRef`](WeaveObject.md#__savedref)

#### 정의 위치

[weaveObject.ts:49](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/weaveObject.ts#L49)

***

### \_baseParameters

> `protected` **\_baseParameters**: `WeaveObjectParameters`

#### 상속 출처

[`WeaveObject`](WeaveObject.mdx).[`_baseParameters`](WeaveObject.md#_baseparameters)

#### 정의 위치

[weaveObject.ts:51](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/weaveObject.ts#L51)

## 접근자

### description

> `get` **description**(): `undefined` | `string`

#### 반환

`undefined` | `string`

#### 상속 출처

[`WeaveObject`](WeaveObject.mdx).[`description`](WeaveObject.md#description)

#### 정의 위치

[weaveObject.ts:89](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/weaveObject.ts#L89)

***

### id

> `get` **id**(): `string`

#### 반환

`string`

#### 상속 출처

[`WeaveObject`](WeaveObject.mdx).[`id`](WeaveObject.md#id)

#### 정의 위치

[weaveObject.ts:85](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/weaveObject.ts#L85)

## 메서드

### className()

> **className**(): `any`

#### 반환

`any`

#### 상속 출처

[`WeaveObject`](WeaveObject.mdx).[`className`](WeaveObject.md#classname)

#### 정의 위치

[weaveObject.ts:53](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/weaveObject.ts#L53)

***

### evaluate()

> **evaluate**(`__namedParameters`): `Promise`\<`Record`\<`string`, `any`>>

#### 매개변수

• **\_\_namedParameters**

• **\_\_namedParameters.maxConcurrency?**: `number` = `5`

• **\_\_namedParameters.model**: `WeaveCallable`\<(...`args`) => `Promise`\<`M`>>

• **\_\_namedParameters.nTrials?**: `number` = `1`

#### 반환

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

#### 정의된 곳

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

***

### predictAndScore()

> **predictAndScore**(`__namedParameters`): `Promise`\<`object`>

#### 매개변수

• **\_\_namedParameters**

• **\_\_namedParameters.columnMapping?**: `ColumnMapping`\<`R`, `E`>

• **\_\_namedParameters.example**: `R`

• **\_\_namedParameters.model**: `WeaveCallable`\<(...`args`) => `Promise`\<`M`>>

#### 반환

`Promise`\<`object`>

##### model\_latency

> **model\_latency**: `number` = `modelLatency`

##### model\_output

> **model\_output**: `any` = `modelOutput`

##### model\_success

> **model\_success**: `boolean` = `!modelError`

##### scores

> **scores**: `object`

###### 인덱스 서명

\[`key`: `string`]: `any`

#### 정의된 곳

[evaluation.ts:232](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/evaluation.ts#L232)

***

### saveAttrs()

> **saveAttrs**(): `object`

#### 반환

`object`

#### 상속 출처

[`WeaveObject`](WeaveObject.mdx).[`saveAttrs`](WeaveObject.md#saveattrs)

#### 정의된 곳

[weaveObject.ts:57](https://github.com/wandb/weave/blob/e2313369cb35bc1b6f97c70539926dd951ead21e/sdks/node/src/weaveObject.ts#L57)
