@arizeai/phoenix-evals 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +42 -0
  2. package/dist/esm/core/EvaluatorBase.d.ts +19 -0
  3. package/dist/esm/core/EvaluatorBase.d.ts.map +1 -0
  4. package/dist/esm/core/EvaluatorBase.js +18 -0
  5. package/dist/esm/core/EvaluatorBase.js.map +1 -0
  6. package/dist/esm/index.d.ts +1 -0
  7. package/dist/esm/index.d.ts.map +1 -1
  8. package/dist/esm/index.js +1 -0
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/llm/ClassificationEvaluator.d.ts +19 -2
  11. package/dist/esm/llm/ClassificationEvaluator.d.ts.map +1 -1
  12. package/dist/esm/llm/ClassificationEvaluator.js +29 -2
  13. package/dist/esm/llm/ClassificationEvaluator.js.map +1 -1
  14. package/dist/esm/llm/LLMEvaluator.d.ts +4 -7
  15. package/dist/esm/llm/LLMEvaluator.d.ts.map +1 -1
  16. package/dist/esm/llm/LLMEvaluator.js +4 -7
  17. package/dist/esm/llm/LLMEvaluator.js.map +1 -1
  18. package/dist/esm/llm/createClassificationEvaluator.d.ts +1 -1
  19. package/dist/esm/llm/createClassificationEvaluator.d.ts.map +1 -1
  20. package/dist/esm/llm/createClassificationEvaluator.js.map +1 -1
  21. package/dist/esm/llm/createDocumentRelevancyEvaluator.d.ts +8 -7
  22. package/dist/esm/llm/createDocumentRelevancyEvaluator.d.ts.map +1 -1
  23. package/dist/esm/llm/createDocumentRelevancyEvaluator.js +1 -2
  24. package/dist/esm/llm/createDocumentRelevancyEvaluator.js.map +1 -1
  25. package/dist/esm/llm/createHallucinationEvaluator.d.ts +6 -6
  26. package/dist/esm/llm/createHallucinationEvaluator.d.ts.map +1 -1
  27. package/dist/esm/llm/createHallucinationEvaluator.js +1 -2
  28. package/dist/esm/llm/createHallucinationEvaluator.js.map +1 -1
  29. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  30. package/dist/esm/types/data.d.ts +194 -0
  31. package/dist/esm/types/data.d.ts.map +1 -0
  32. package/dist/esm/types/data.js +2 -0
  33. package/dist/esm/types/data.js.map +1 -0
  34. package/dist/esm/types/evals.d.ts +17 -3
  35. package/dist/esm/types/evals.d.ts.map +1 -1
  36. package/dist/esm/types/index.d.ts +1 -0
  37. package/dist/esm/types/index.d.ts.map +1 -1
  38. package/dist/esm/types/index.js +1 -0
  39. package/dist/esm/types/index.js.map +1 -1
  40. package/dist/esm/types/otel.d.ts +14 -13
  41. package/dist/esm/types/otel.d.ts.map +1 -1
  42. package/dist/esm/utils/bindEvaluator.d.ts +219 -0
  43. package/dist/esm/utils/bindEvaluator.d.ts.map +1 -0
  44. package/dist/esm/utils/bindEvaluator.js +163 -0
  45. package/dist/esm/utils/bindEvaluator.js.map +1 -0
  46. package/dist/esm/utils/index.d.ts +2 -0
  47. package/dist/esm/utils/index.d.ts.map +1 -0
  48. package/dist/esm/utils/index.js +2 -0
  49. package/dist/esm/utils/index.js.map +1 -0
  50. package/dist/esm/utils/objectMappingUtils.d.ts +166 -0
  51. package/dist/esm/utils/objectMappingUtils.d.ts.map +1 -0
  52. package/dist/esm/utils/objectMappingUtils.js +191 -0
  53. package/dist/esm/utils/objectMappingUtils.js.map +1 -0
  54. package/dist/src/core/EvaluatorBase.d.ts +19 -0
  55. package/dist/src/core/EvaluatorBase.d.ts.map +1 -0
  56. package/dist/src/core/EvaluatorBase.js +17 -0
  57. package/dist/src/core/EvaluatorBase.js.map +1 -0
  58. package/dist/src/index.d.ts +1 -0
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +1 -0
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/llm/ClassificationEvaluator.d.ts +19 -2
  63. package/dist/src/llm/ClassificationEvaluator.d.ts.map +1 -1
  64. package/dist/src/llm/ClassificationEvaluator.js +13 -2
  65. package/dist/src/llm/ClassificationEvaluator.js.map +1 -1
  66. package/dist/src/llm/LLMEvaluator.d.ts +4 -7
  67. package/dist/src/llm/LLMEvaluator.d.ts.map +1 -1
  68. package/dist/src/llm/LLMEvaluator.js +16 -5
  69. package/dist/src/llm/LLMEvaluator.js.map +1 -1
  70. package/dist/src/llm/createClassificationEvaluator.d.ts +1 -1
  71. package/dist/src/llm/createClassificationEvaluator.d.ts.map +1 -1
  72. package/dist/src/llm/createClassificationEvaluator.js.map +1 -1
  73. package/dist/src/llm/createDocumentRelevancyEvaluator.d.ts +8 -7
  74. package/dist/src/llm/createDocumentRelevancyEvaluator.d.ts.map +1 -1
  75. package/dist/src/llm/createDocumentRelevancyEvaluator.js +2 -2
  76. package/dist/src/llm/createDocumentRelevancyEvaluator.js.map +1 -1
  77. package/dist/src/llm/createHallucinationEvaluator.d.ts +6 -6
  78. package/dist/src/llm/createHallucinationEvaluator.d.ts.map +1 -1
  79. package/dist/src/llm/createHallucinationEvaluator.js +2 -2
  80. package/dist/src/llm/createHallucinationEvaluator.js.map +1 -1
  81. package/dist/src/types/data.d.ts +194 -0
  82. package/dist/src/types/data.d.ts.map +1 -0
  83. package/dist/src/types/data.js +3 -0
  84. package/dist/src/types/data.js.map +1 -0
  85. package/dist/src/types/evals.d.ts +17 -3
  86. package/dist/src/types/evals.d.ts.map +1 -1
  87. package/dist/src/types/index.d.ts +1 -0
  88. package/dist/src/types/index.d.ts.map +1 -1
  89. package/dist/src/types/index.js +1 -0
  90. package/dist/src/types/index.js.map +1 -1
  91. package/dist/src/types/otel.d.ts +14 -13
  92. package/dist/src/types/otel.d.ts.map +1 -1
  93. package/dist/src/utils/bindEvaluator.d.ts +219 -0
  94. package/dist/src/utils/bindEvaluator.d.ts.map +1 -0
  95. package/dist/src/utils/bindEvaluator.js +166 -0
  96. package/dist/src/utils/bindEvaluator.js.map +1 -0
  97. package/dist/src/utils/index.d.ts +2 -0
  98. package/dist/src/utils/index.d.ts.map +1 -0
  99. package/dist/src/utils/index.js +18 -0
  100. package/dist/src/utils/index.js.map +1 -0
  101. package/dist/src/utils/objectMappingUtils.d.ts +166 -0
  102. package/dist/src/utils/objectMappingUtils.d.ts.map +1 -0
  103. package/dist/src/utils/objectMappingUtils.js +191 -0
  104. package/dist/src/utils/objectMappingUtils.js.map +1 -0
  105. package/dist/tsconfig.tsbuildinfo +1 -1
  106. package/package.json +2 -1
  107. package/src/core/EvaluatorBase.ts +43 -0
  108. package/src/index.ts +1 -0
  109. package/src/llm/ClassificationEvaluator.ts +39 -3
  110. package/src/llm/LLMEvaluator.ts +7 -16
  111. package/src/llm/createClassificationEvaluator.ts +1 -1
  112. package/src/llm/createDocumentRelevancyEvaluator.ts +17 -12
  113. package/src/llm/createHallucinationEvaluator.ts +12 -10
  114. package/src/types/data.ts +200 -0
  115. package/src/types/evals.ts +25 -5
  116. package/src/types/index.ts +1 -0
  117. package/src/types/otel.ts +15 -13
  118. package/src/utils/bindEvaluator.ts +229 -0
  119. package/src/utils/index.ts +1 -0
  120. package/src/utils/objectMappingUtils.ts +202 -0
package/README.md CHANGED
@@ -111,6 +111,48 @@ console.log(result);
111
111
  // Output: { label: "hallucinated", score: 0, explanation: "..." }
112
112
  ```
113
113
 
114
+ ### Data Mapping
115
+
116
+ When your data structure doesn't match what an evaluator expects, use `bindEvaluator` to map your fields to the evaluator's expected input format:
117
+
118
+ ```typescript
119
+ import {
120
+ bindEvaluator,
121
+ createHallucinationEvaluator,
122
+ } from "@arizeai/phoenix-evals";
123
+ import { openai } from "@ai-sdk/openai";
124
+
125
+ const model = openai("gpt-4o-mini");
126
+
127
+ type ExampleType = {
128
+ question: string;
129
+ context: string;
130
+ answer: string;
131
+ };
132
+
133
+ const evaluator = bindEvaluator<ExampleType>(
134
+ createHallucinationEvaluator({ model }),
135
+ {
136
+ inputMapping: {
137
+ input: "question", // Map "input" from "question"
138
+ reference: "context", // Map "reference" from "context"
139
+ output: "answer", // Map "output" from "answer"
140
+ },
141
+ }
142
+ );
143
+
144
+ const result = await evaluator.evaluate({
145
+ question: "Is Arize Phoenix Open Source?",
146
+ context:
147
+ "Arize Phoenix is a platform for building and deploying AI applications. It is open source.",
148
+ answer: "Arize is not open source.",
149
+ });
150
+ ```
151
+
152
+ Mapping supports simple properties (`"fieldName"`), dot notation (`"user.profile.name"`), array access (`"items[0].id"`), JSONPath expressions (`"$.items[*].id"`), and function extractors (`(data) => data.customField`).
153
+
154
+ See the complete example in [`examples/bind_evaluator_example.ts`](examples/bind_evaluator_example.ts).
155
+
114
156
  ## Experimentation with Phoenix
115
157
 
116
158
  This package works seamlessly with [`@arizeai/phoenix-client`](https://www.npmjs.com/package/@arizeai/phoenix-client) to enable experimentation workflows. You can create datasets, run experiments, and trace evaluation calls for analysis and debugging.
@@ -0,0 +1,19 @@
1
+ import { CreateEvaluatorArgs, EvaluationKind, EvaluationResult, EvaluatorInterface, OptimizationDirection, TelemetryConfig } from "../types/index.js";
2
+ import { ObjectMapping } from "../types/data.js";
3
+ /**
4
+ * Base class for all evaluators
5
+ */
6
+ export declare abstract class EvaluatorBase<RecordType extends Record<string, unknown>> implements EvaluatorInterface<RecordType> {
7
+ readonly name: string;
8
+ readonly kind: EvaluationKind;
9
+ readonly optimizationDirection?: OptimizationDirection;
10
+ readonly inputMapping?: ObjectMapping<RecordType>;
11
+ readonly telemetry?: TelemetryConfig;
12
+ constructor({ name, kind, optimizationDirection, inputMapping, telemetry, }: CreateEvaluatorArgs<RecordType>);
13
+ abstract evaluate(_example: RecordType): Promise<EvaluationResult>;
14
+ /**
15
+ * Binds the input mapping to the evaluator. It makes a a copy of the evaluator and returns it.
16
+ */
17
+ abstract bindInputMapping(inputMapping: ObjectMapping<RecordType>): EvaluatorBase<RecordType>;
18
+ }
19
+ //# sourceMappingURL=EvaluatorBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvaluatorBase.d.ts","sourceRoot":"","sources":["../../../src/core/EvaluatorBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,8BAAsB,aAAa,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5E,YAAW,kBAAkB,CAAC,UAAU,CAAC;IAEzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;gBACzB,EACV,IAAI,EACJ,IAAI,EACJ,qBAAqB,EACrB,YAAY,EACZ,SAAS,GACV,EAAE,mBAAmB,CAAC,UAAU,CAAC;IAOlC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CACvB,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,GACtC,aAAa,CAAC,UAAU,CAAC;CAC7B"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Base class for all evaluators
3
+ */
4
+ export class EvaluatorBase {
5
+ name;
6
+ kind;
7
+ optimizationDirection;
8
+ inputMapping;
9
+ telemetry;
10
+ constructor({ name, kind, optimizationDirection, inputMapping, telemetry, }) {
11
+ this.name = name;
12
+ this.kind = kind;
13
+ this.optimizationDirection = optimizationDirection;
14
+ this.inputMapping = inputMapping;
15
+ this.telemetry = telemetry;
16
+ }
17
+ }
18
+ //# sourceMappingURL=EvaluatorBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvaluatorBase.js","sourceRoot":"","sources":["../../../src/core/EvaluatorBase.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,OAAgB,aAAa;IAGxB,IAAI,CAAS;IACb,IAAI,CAAiB;IACrB,qBAAqB,CAAyB;IAC9C,YAAY,CAA6B;IACzC,SAAS,CAAmB;IACrC,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,qBAAqB,EACrB,YAAY,EACZ,SAAS,GACuB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CASF"}
@@ -1,4 +1,5 @@
1
1
  export * from "./llm/index.js";
2
2
  export * from "./template/index.js";
3
3
  export * from "./types/index.js";
4
+ export * from "./utils/index.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./llm/index.js";
2
2
  export * from "./template/index.js";
3
3
  export * from "./types/index.js";
4
+ export * from "./utils/index.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1,17 +1,34 @@
1
- import { CreateClassificationEvaluatorArgs, EvaluatorFn, PromptTemplate, WithPromptTemplate } from "../types/index.js";
1
+ import { ClassificationChoicesMap, CreateClassificationEvaluatorArgs, EvaluatorFn, PromptTemplate, WithPromptTemplate } from "../types/index.js";
2
+ import { ObjectMapping } from "../types/data.js";
2
3
  import { LLMEvaluator } from "./LLMEvaluator.js";
4
+ import { LanguageModel } from "ai";
3
5
  /**
4
6
  * An LLM evaluator that performs evaluation via classification
5
7
  */
6
8
  export declare class ClassificationEvaluator<RecordType extends Record<string, unknown>> extends LLMEvaluator<RecordType> implements WithPromptTemplate {
7
9
  readonly evaluatorFn: EvaluatorFn<RecordType>;
8
10
  readonly promptTemplate: PromptTemplate;
11
+ /**
12
+ * A dynamically computed set of prompt template variables
13
+ */
9
14
  private _promptTemplateVariables;
10
- constructor(args: CreateClassificationEvaluatorArgs);
15
+ /**
16
+ * The model to use for classification
17
+ */
18
+ readonly model: LanguageModel;
19
+ /**
20
+ * The choices to classify the example into
21
+ */
22
+ readonly choices: ClassificationChoicesMap;
23
+ constructor(args: CreateClassificationEvaluatorArgs<RecordType>);
11
24
  evaluate: (example: RecordType) => Promise<import("../types/index.js").EvaluationResult>;
12
25
  /**
13
26
  * List out the prompt template variables needed to perform evaluation
14
27
  */
15
28
  get promptTemplateVariables(): string[];
29
+ /**
30
+ * Binds the input mapping to the evaluator. It makes a a copy of the evaluator and returns it.
31
+ */
32
+ bindInputMapping(inputMapping: ObjectMapping<RecordType>): ClassificationEvaluator<RecordType>;
16
33
  }
17
34
  //# sourceMappingURL=ClassificationEvaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClassificationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/ClassificationEvaluator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,EACjC,WAAW,EACX,cAAc,EACd,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,qBAAa,uBAAuB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC7E,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,kBAAkB;IAE7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,OAAO,CAAC,wBAAwB,CAAuB;gBAC3C,IAAI,EAAE,iCAAiC;IAKnD,QAAQ,GAAI,SAAS,UAAU,kDAE7B;IACF;;OAEG;IACH,IAAI,uBAAuB,IAAI,MAAM,EAAE,CAStC;CACF"}
1
+ {"version":3,"file":"ClassificationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/ClassificationEvaluator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,WAAW,EACX,cAAc,EACd,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAEnC;;GAEG;AACH,qBAAa,uBAAuB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC7E,SAAQ,YAAY,CAAC,UAAU,CAC/B,YAAW,kBAAkB;IAE7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,wBAAwB,CAAuB;IACvD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;gBAE/B,IAAI,EAAE,iCAAiC,CAAC,UAAU,CAAC;IAS/D,QAAQ,GAAI,SAAS,UAAU,kDAM7B;IACF;;OAEG;IACH,IAAI,uBAAuB,IAAI,MAAM,EAAE,CAStC;IACD;;OAEG;IACH,gBAAgB,CACd,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,GACtC,uBAAuB,CAAC,UAAU,CAAC;CAMvC"}
@@ -1,4 +1,5 @@
1
1
  import { getTemplateVariables } from "../template/index.js";
2
+ import { remapObject } from "../utils/objectMappingUtils.js";
2
3
  import { createClassifierFn } from "./createClassifierFn.js";
3
4
  import { LLMEvaluator } from "./LLMEvaluator.js";
4
5
  /**
@@ -7,14 +8,31 @@ import { LLMEvaluator } from "./LLMEvaluator.js";
7
8
  export class ClassificationEvaluator extends LLMEvaluator {
8
9
  evaluatorFn;
9
10
  promptTemplate;
11
+ /**
12
+ * A dynamically computed set of prompt template variables
13
+ */
10
14
  _promptTemplateVariables;
15
+ /**
16
+ * The model to use for classification
17
+ */
18
+ model;
19
+ /**
20
+ * The choices to classify the example into
21
+ */
22
+ choices;
11
23
  constructor(args) {
12
24
  super(args);
13
25
  this.promptTemplate = args.promptTemplate;
14
- this.evaluatorFn = createClassifierFn(args);
26
+ this.model = args.model;
27
+ this.choices = args.choices;
28
+ this.evaluatorFn = createClassifierFn({
29
+ ...args,
30
+ });
15
31
  }
16
32
  evaluate = (example) => {
17
- return this.evaluatorFn(example);
33
+ return this.evaluatorFn(this.inputMapping
34
+ ? remapObject(example, this.inputMapping)
35
+ : example);
18
36
  };
19
37
  /**
20
38
  * List out the prompt template variables needed to perform evaluation
@@ -29,5 +47,14 @@ export class ClassificationEvaluator extends LLMEvaluator {
29
47
  // Give a copy of the variables
30
48
  return [...this._promptTemplateVariables];
31
49
  }
50
+ /**
51
+ * Binds the input mapping to the evaluator. It makes a a copy of the evaluator and returns it.
52
+ */
53
+ bindInputMapping(inputMapping) {
54
+ return new ClassificationEvaluator({
55
+ ...this,
56
+ inputMapping,
57
+ });
58
+ }
32
59
  }
33
60
  //# sourceMappingURL=ClassificationEvaluator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClassificationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/ClassificationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAO,uBACX,SAAQ,YAAwB;IAGvB,WAAW,CAA0B;IACrC,cAAc,CAAiB;IAChC,wBAAwB,CAAuB;IACvD,YAAY,IAAuC;QACjD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAa,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,QAAQ,GAAG,CAAC,OAAmB,EAAE,EAAE;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;IACF;;OAEG;IACH,IAAI,uBAAuB;QACzB,0DAA0D;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,wBAAwB,GAAG,oBAAoB,CAAC;gBACnD,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,+BAA+B;QAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"ClassificationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/ClassificationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AASnD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C;;GAEG;AACH,MAAM,OAAO,uBACX,SAAQ,YAAwB;IAGvB,WAAW,CAA0B;IACrC,cAAc,CAAiB;IACxC;;OAEG;IACK,wBAAwB,CAAuB;IACvD;;OAEG;IACM,KAAK,CAAgB;IAC9B;;OAEG;IACM,OAAO,CAA2B;IAE3C,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAa;YAChD,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,GAAG,CAAC,OAAmB,EAAE,EAAE;QACjC,OAAO,IAAI,CAAC,WAAW,CACrB,IAAI,CAAC,YAAY;YACf,CAAC,CAAC,WAAW,CAAa,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,OAAO,CACZ,CAAC;IACJ,CAAC,CAAC;IACF;;OAEG;IACH,IAAI,uBAAuB;QACzB,0DAA0D;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,wBAAwB,GAAG,oBAAoB,CAAC;gBACnD,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,+BAA+B;QAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD;;OAEG;IACH,gBAAgB,CACd,YAAuC;QAEvC,OAAO,IAAI,uBAAuB,CAAC;YACjC,GAAG,IAAI;YACP,YAAY;SACb,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,12 +1,9 @@
1
- import { CreateEvaluatorArgs, EvaluationResult, Evaluator, OptimizationDirection } from "../types/index.js";
1
+ import { EvaluatorBase } from "../core/EvaluatorBase.js";
2
+ import { CreateLLMEvaluatorArgs } from "../types/index.js";
2
3
  /**
3
4
  * Base class for llm evaluation metrics / scores
4
5
  */
5
- export declare abstract class LLMEvaluator<RecordType extends Record<string, unknown>> implements Evaluator<RecordType> {
6
- readonly name: string;
7
- readonly kind: "LLM";
8
- readonly optimizationDirection?: OptimizationDirection;
9
- constructor({ name, optimizationDirection }: CreateEvaluatorArgs);
10
- abstract evaluate(_example: RecordType): Promise<EvaluationResult>;
6
+ export declare abstract class LLMEvaluator<RecordType extends Record<string, unknown>> extends EvaluatorBase<RecordType> {
7
+ constructor({ ...args }: CreateLLMEvaluatorArgs<RecordType>);
11
8
  }
12
9
  //# sourceMappingURL=LLMEvaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LLMEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/LLMEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,8BAAsB,YAAY,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3E,YAAW,SAAS,CAAC,UAAU,CAAC;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;gBAC3C,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,mBAAmB;IAIhE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;CACnE"}
1
+ {"version":3,"file":"LLMEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/LLMEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,8BAAsB,YAAY,CAChC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1C,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACrB,EAAE,GAAG,IAAI,EAAE,EAAE,sBAAsB,CAAC,UAAU,CAAC;CAG5D"}
@@ -1,13 +1,10 @@
1
+ import { EvaluatorBase } from "../core/EvaluatorBase.js";
1
2
  /**
2
3
  * Base class for llm evaluation metrics / scores
3
4
  */
4
- export class LLMEvaluator {
5
- name;
6
- kind = "LLM";
7
- optimizationDirection;
8
- constructor({ name, optimizationDirection }) {
9
- this.name = name;
10
- this.optimizationDirection = optimizationDirection;
5
+ export class LLMEvaluator extends EvaluatorBase {
6
+ constructor({ ...args }) {
7
+ super({ kind: "LLM", ...args });
11
8
  }
12
9
  }
13
10
  //# sourceMappingURL=LLMEvaluator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LLMEvaluator.js","sourceRoot":"","sources":["../../../src/llm/LLMEvaluator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAgB,YAAY;IAGvB,IAAI,CAAS;IACb,IAAI,GAAG,KAAc,CAAC;IACtB,qBAAqB,CAAyB;IACvD,YAAY,EAAE,IAAI,EAAE,qBAAqB,EAAuB;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;CAEF"}
1
+ {"version":3,"file":"LLMEvaluator.js","sourceRoot":"","sources":["../../../src/llm/LLMEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;GAEG;AACH,MAAM,OAAgB,YAEpB,SAAQ,aAAyB;IACjC,YAAY,EAAE,GAAG,IAAI,EAAsC;QACzD,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
1
  import { CreateClassificationEvaluatorArgs } from "../types/evals.js";
2
2
  import { ClassificationEvaluator } from "./ClassificationEvaluator.js";
3
- export declare function createClassificationEvaluator<RecordType extends Record<string, unknown>>(args: CreateClassificationEvaluatorArgs): ClassificationEvaluator<RecordType>;
3
+ export declare function createClassificationEvaluator<RecordType extends Record<string, unknown>>(args: CreateClassificationEvaluatorArgs<RecordType>): ClassificationEvaluator<RecordType>;
4
4
  //# sourceMappingURL=createClassificationEvaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createClassificationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createClassificationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,wBAAgB,6BAA6B,CAC3C,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE1C,IAAI,EAAE,iCAAiC,GACtC,uBAAuB,CAAC,UAAU,CAAC,CAErC"}
1
+ {"version":3,"file":"createClassificationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createClassificationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,wBAAgB,6BAA6B,CAC3C,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE1C,IAAI,EAAE,iCAAiC,CAAC,UAAU,CAAC,GAClD,uBAAuB,CAAC,UAAU,CAAC,CAErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createClassificationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createClassificationEvaluator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,6BAA6B,CAG3C,IAAuC;IAEvC,OAAO,IAAI,uBAAuB,CAAa,IAAI,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"createClassificationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createClassificationEvaluator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,6BAA6B,CAG3C,IAAmD;IAEnD,OAAO,IAAI,uBAAuB,CAAa,IAAI,CAAC,CAAC;AACvD,CAAC"}
@@ -1,9 +1,10 @@
1
- import { CreateClassificationEvaluatorArgs, Evaluator } from "../types/evals.js";
2
- export interface DocumentRelevancyEvaluatorArgs extends Omit<CreateClassificationEvaluatorArgs, "promptTemplate" | "choices" | "optimizationDirection" | "name"> {
3
- optimizationDirection?: CreateClassificationEvaluatorArgs["optimizationDirection"];
4
- name?: CreateClassificationEvaluatorArgs["name"];
5
- choices?: CreateClassificationEvaluatorArgs["choices"];
6
- promptTemplate?: CreateClassificationEvaluatorArgs["promptTemplate"];
1
+ import { CreateClassificationEvaluatorArgs } from "../types/evals.js";
2
+ import { ClassificationEvaluator } from "./ClassificationEvaluator.js";
3
+ export interface DocumentRelevancyEvaluatorArgs<RecordType extends Record<string, unknown> = DocumentRelevancyEvaluationRecord> extends Omit<CreateClassificationEvaluatorArgs<RecordType>, "promptTemplate" | "choices" | "optimizationDirection" | "name"> {
4
+ optimizationDirection?: CreateClassificationEvaluatorArgs<RecordType>["optimizationDirection"];
5
+ name?: CreateClassificationEvaluatorArgs<RecordType>["name"];
6
+ choices?: CreateClassificationEvaluatorArgs<RecordType>["choices"];
7
+ promptTemplate?: CreateClassificationEvaluatorArgs<RecordType>["promptTemplate"];
7
8
  }
8
9
  /**
9
10
  * A record to be evaluated by the document relevancy evaluator.
@@ -39,5 +40,5 @@ export interface DocumentRelevancyEvaluationRecord {
39
40
  * console.log(result.label); // "relevant" or "unrelated"
40
41
  * ```
41
42
  */
42
- export declare function createDocumentRelevancyEvaluator<RecordType extends Record<string, unknown> = DocumentRelevancyEvaluationRecord>(args: DocumentRelevancyEvaluatorArgs): Evaluator<RecordType>;
43
+ export declare function createDocumentRelevancyEvaluator<RecordType extends Record<string, unknown> = DocumentRelevancyEvaluationRecord>(args: DocumentRelevancyEvaluatorArgs<RecordType>): ClassificationEvaluator<RecordType>;
43
44
  //# sourceMappingURL=createDocumentRelevancyEvaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDocumentRelevancyEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevancyEvaluator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iCAAiC,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI9E,MAAM,WAAW,8BACf,SAAQ,IAAI,CACV,iCAAiC,EACjC,gBAAgB,GAAG,SAAS,GAAG,uBAAuB,GAAG,MAAM,CAChE;IACD,qBAAqB,CAAC,EAAE,iCAAiC,CAAC,uBAAuB,CAAC,CAAC;IACnF,IAAI,CAAC,EAAE,iCAAiC,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,SAAS,MAAM,CACvB,MAAM,EACN,OAAO,CACR,GAAG,iCAAiC,EACrC,IAAI,EAAE,8BAA8B,GAAG,SAAS,CAAC,UAAU,CAAC,CAiB7D"}
1
+ {"version":3,"file":"createDocumentRelevancyEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevancyEvaluator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,8BAA8B,CAC7C,UAAU,SAAS,MAAM,CACvB,MAAM,EACN,OAAO,CACR,GAAG,iCAAiC,CACrC,SAAQ,IAAI,CACV,iCAAiC,CAAC,UAAU,CAAC,EAC7C,gBAAgB,GAAG,SAAS,GAAG,uBAAuB,GAAG,MAAM,CAChE;IACD,qBAAqB,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC/F,IAAI,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,SAAS,MAAM,CACvB,MAAM,EACN,OAAO,CACR,GAAG,iCAAiC,EAErC,IAAI,EAAE,8BAA8B,CAAC,UAAU,CAAC,GAC/C,uBAAuB,CAAC,UAAU,CAAC,CAerC"}
@@ -29,12 +29,11 @@ import { createClassificationEvaluator } from "./createClassificationEvaluator.j
29
29
  export function createDocumentRelevancyEvaluator(args) {
30
30
  const { choices = DOCUMENT_RELEVANCY_CHOICES, promptTemplate = DOCUMENT_RELEVANCY_TEMPLATE, optimizationDirection = "MAXIMIZE", name = "document_relevancy", ...rest } = args;
31
31
  return createClassificationEvaluator({
32
- ...args,
32
+ ...rest,
33
33
  promptTemplate,
34
34
  choices,
35
35
  optimizationDirection,
36
36
  name,
37
- ...rest,
38
37
  });
39
38
  }
40
39
  //# sourceMappingURL=createDocumentRelevancyEvaluator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDocumentRelevancyEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevancyEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAsBhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gCAAgC,CAK9C,IAAoC;IACpC,MAAM,EACJ,OAAO,GAAG,0BAA0B,EACpC,cAAc,GAAG,2BAA2B,EAC5C,qBAAqB,GAAG,UAAU,EAClC,IAAI,GAAG,oBAAoB,EAC3B,GAAG,IAAI,EACR,GAAG,IAAI,CAAC;IAET,OAAO,6BAA6B,CAAa;QAC/C,GAAG,IAAI;QACP,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,IAAI;QACJ,GAAG,IAAI;KACR,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"createDocumentRelevancyEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevancyEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,kDAAkD,CAAC;AAI1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AA0BhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gCAAgC,CAM9C,IAAgD;IAEhD,MAAM,EACJ,OAAO,GAAG,0BAA0B,EACpC,cAAc,GAAG,2BAA2B,EAC5C,qBAAqB,GAAG,UAAU,EAClC,IAAI,GAAG,oBAAoB,EAC3B,GAAG,IAAI,EACR,GAAG,IAAI,CAAC;IACT,OAAO,6BAA6B,CAAa;QAC/C,GAAG,IAAI;QACP,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { CreateClassificationEvaluatorArgs } from "../types/evals.js";
2
2
  import { ClassificationEvaluator } from "./ClassificationEvaluator.js";
3
- export interface HallucinationEvaluatorArgs extends Omit<CreateClassificationEvaluatorArgs, "promptTemplate" | "choices" | "optimizationDirection" | "name"> {
4
- optimizationDirection?: CreateClassificationEvaluatorArgs["optimizationDirection"];
5
- name?: CreateClassificationEvaluatorArgs["name"];
6
- choices?: CreateClassificationEvaluatorArgs["choices"];
7
- promptTemplate?: CreateClassificationEvaluatorArgs["promptTemplate"];
3
+ export interface HallucinationEvaluatorArgs<RecordType extends Record<string, unknown> = HallucinationEvaluationRecord> extends Omit<CreateClassificationEvaluatorArgs<RecordType>, "promptTemplate" | "choices" | "optimizationDirection" | "name"> {
4
+ optimizationDirection?: CreateClassificationEvaluatorArgs<RecordType>["optimizationDirection"];
5
+ name?: CreateClassificationEvaluatorArgs<RecordType>["name"];
6
+ choices?: CreateClassificationEvaluatorArgs<RecordType>["choices"];
7
+ promptTemplate?: CreateClassificationEvaluatorArgs<RecordType>["promptTemplate"];
8
8
  }
9
9
  /**
10
10
  * A record to be evaluated by the hallucination evaluator.
@@ -21,5 +21,5 @@ export type HallucinationEvaluationRecord = {
21
21
  * @param args - The arguments for creating the hallucination evaluator.
22
22
  * @returns A function that evaluates whether an answer is factual or hallucinated based on a query and reference text.
23
23
  */
24
- export declare function createHallucinationEvaluator<RecordType extends Record<string, unknown> = HallucinationEvaluationRecord>(args: HallucinationEvaluatorArgs): ClassificationEvaluator<RecordType>;
24
+ export declare function createHallucinationEvaluator<RecordType extends Record<string, unknown> = HallucinationEvaluationRecord>(args: HallucinationEvaluatorArgs<RecordType>): ClassificationEvaluator<RecordType>;
25
25
  //# sourceMappingURL=createHallucinationEvaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createHallucinationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,0BACf,SAAQ,IAAI,CACV,iCAAiC,EACjC,gBAAgB,GAAG,SAAS,GAAG,uBAAuB,GAAG,MAAM,CAChE;IACD,qBAAqB,CAAC,EAAE,iCAAiC,CAAC,uBAAuB,CAAC,CAAC;IACnF,IAAI,CAAC,EAAE,iCAAiC,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,EAC1E,IAAI,EAAE,0BAA0B,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAgBvE"}
1
+ {"version":3,"file":"createHallucinationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,0BAA0B,CACzC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,CAC1E,SAAQ,IAAI,CACV,iCAAiC,CAAC,UAAU,CAAC,EAC7C,gBAAgB,GAAG,SAAS,GAAG,uBAAuB,GAAG,MAAM,CAChE;IACD,qBAAqB,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC/F,IAAI,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,EAE1E,IAAI,EAAE,0BAA0B,CAAC,UAAU,CAAC,GAC3C,uBAAuB,CAAC,UAAU,CAAC,CAerC"}
@@ -9,12 +9,11 @@ import { createClassificationEvaluator } from "./createClassificationEvaluator.j
9
9
  export function createHallucinationEvaluator(args) {
10
10
  const { choices = HALLUCINATION_CHOICES, promptTemplate = HALLUCINATION_TEMPLATE, optimizationDirection = "MINIMIZE", name = "hallucination", ...rest } = args;
11
11
  return createClassificationEvaluator({
12
- ...args,
12
+ ...rest,
13
13
  promptTemplate,
14
14
  choices,
15
15
  optimizationDirection,
16
16
  name,
17
- ...rest,
18
17
  });
19
18
  }
20
19
  //# sourceMappingURL=createHallucinationEvaluator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createHallucinationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAsBhF;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAE1C,IAAgC;IAChC,MAAM,EACJ,OAAO,GAAG,qBAAqB,EAC/B,cAAc,GAAG,sBAAsB,EACvC,qBAAqB,GAAG,UAAU,EAClC,IAAI,GAAG,eAAe,EACtB,GAAG,IAAI,EACR,GAAG,IAAI,CAAC;IACT,OAAO,6BAA6B,CAAa;QAC/C,GAAG,IAAI;QACP,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,IAAI;QACJ,GAAG,IAAI;KACR,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"createHallucinationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAuBhF;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAG1C,IAA4C;IAE5C,MAAM,EACJ,OAAO,GAAG,qBAAqB,EAC/B,cAAc,GAAG,sBAAsB,EACvC,qBAAqB,GAAG,UAAU,EAClC,IAAI,GAAG,eAAe,EACtB,GAAG,IAAI,EACR,GAAG,IAAI,CAAC;IACT,OAAO,6BAA6B,CAAa;QAC/C,GAAG,IAAI;QACP,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}