@arizeai/phoenix-evals 0.6.0 → 0.6.2

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 (176) hide show
  1. package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
  2. package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
  3. package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js +37 -0
  4. package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
  5. package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
  6. package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
  7. package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js +43 -0
  8. package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
  9. package/dist/esm/__generated__/default_templates/index.d.ts +3 -0
  10. package/dist/esm/__generated__/default_templates/index.d.ts.map +1 -0
  11. package/dist/esm/__generated__/default_templates/index.js +4 -0
  12. package/dist/esm/__generated__/default_templates/index.js.map +1 -0
  13. package/dist/esm/__generated__/types.d.ts +9 -0
  14. package/dist/esm/__generated__/types.d.ts.map +1 -0
  15. package/dist/esm/__generated__/types.js +3 -0
  16. package/dist/esm/__generated__/types.js.map +1 -0
  17. package/dist/esm/core/FunctionEvaluator.d.ts +16 -0
  18. package/dist/esm/core/FunctionEvaluator.d.ts.map +1 -0
  19. package/dist/esm/core/FunctionEvaluator.js +18 -0
  20. package/dist/esm/core/FunctionEvaluator.js.map +1 -0
  21. package/dist/esm/helpers/asEvaluatorFn.d.ts +6 -0
  22. package/dist/esm/helpers/asEvaluatorFn.d.ts.map +1 -0
  23. package/dist/esm/helpers/asEvaluatorFn.js +15 -0
  24. package/dist/esm/helpers/asEvaluatorFn.js.map +1 -0
  25. package/dist/esm/helpers/createEvaluator.d.ts +141 -0
  26. package/dist/esm/helpers/createEvaluator.d.ts.map +1 -0
  27. package/dist/esm/helpers/createEvaluator.js +96 -0
  28. package/dist/esm/helpers/createEvaluator.js.map +1 -0
  29. package/dist/esm/helpers/index.d.ts +2 -0
  30. package/dist/esm/helpers/index.d.ts.map +1 -0
  31. package/dist/esm/helpers/index.js +2 -0
  32. package/dist/esm/helpers/index.js.map +1 -0
  33. package/dist/esm/helpers/toEvaluationResult.d.ts +67 -0
  34. package/dist/esm/helpers/toEvaluationResult.d.ts.map +1 -0
  35. package/dist/esm/helpers/toEvaluationResult.js +133 -0
  36. package/dist/esm/helpers/toEvaluationResult.js.map +1 -0
  37. package/dist/esm/index.d.ts +1 -0
  38. package/dist/esm/index.d.ts.map +1 -1
  39. package/dist/esm/index.js +1 -0
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/llm/{createDocumentRelevancyEvaluator.d.ts → createDocumentRelevanceEvaluator.d.ts} +11 -11
  42. package/dist/esm/llm/{createDocumentRelevancyEvaluator.d.ts.map → createDocumentRelevanceEvaluator.d.ts.map} +1 -1
  43. package/dist/esm/llm/{createDocumentRelevancyEvaluator.js → createDocumentRelevanceEvaluator.js} +10 -10
  44. package/dist/esm/llm/createDocumentRelevanceEvaluator.js.map +1 -0
  45. package/dist/esm/llm/createHallucinationEvaluator.d.ts +0 -1
  46. package/dist/esm/llm/createHallucinationEvaluator.d.ts.map +1 -1
  47. package/dist/esm/llm/createHallucinationEvaluator.js +2 -2
  48. package/dist/esm/llm/createHallucinationEvaluator.js.map +1 -1
  49. package/dist/esm/llm/index.d.ts +1 -1
  50. package/dist/esm/llm/index.js +1 -1
  51. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  52. package/dist/esm/types/base.d.ts +2 -0
  53. package/dist/esm/types/base.d.ts.map +1 -0
  54. package/dist/esm/types/base.js +2 -0
  55. package/dist/esm/types/base.js.map +1 -0
  56. package/dist/esm/types/index.d.ts +1 -0
  57. package/dist/esm/types/index.d.ts.map +1 -1
  58. package/dist/esm/types/index.js +1 -0
  59. package/dist/esm/types/index.js.map +1 -1
  60. package/dist/esm/utils/bindEvaluator.d.ts +1 -1
  61. package/dist/esm/utils/bindEvaluator.js +1 -1
  62. package/dist/esm/utils/typeUtils.d.ts +7 -0
  63. package/dist/esm/utils/typeUtils.d.ts.map +1 -0
  64. package/dist/esm/utils/typeUtils.js +13 -0
  65. package/dist/esm/utils/typeUtils.js.map +1 -0
  66. package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
  67. package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
  68. package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js +40 -0
  69. package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
  70. package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
  71. package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
  72. package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js +46 -0
  73. package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
  74. package/dist/src/__generated__/default_templates/index.d.ts +3 -0
  75. package/dist/src/__generated__/default_templates/index.d.ts.map +1 -0
  76. package/dist/src/__generated__/default_templates/index.js +9 -0
  77. package/dist/src/__generated__/default_templates/index.js.map +1 -0
  78. package/dist/src/__generated__/types.d.ts +9 -0
  79. package/dist/src/__generated__/types.d.ts.map +1 -0
  80. package/dist/src/__generated__/types.js +4 -0
  81. package/dist/src/__generated__/types.js.map +1 -0
  82. package/dist/src/core/FunctionEvaluator.d.ts +16 -0
  83. package/dist/src/core/FunctionEvaluator.d.ts.map +1 -0
  84. package/dist/src/core/FunctionEvaluator.js +33 -0
  85. package/dist/src/core/FunctionEvaluator.js.map +1 -0
  86. package/dist/src/helpers/asEvaluatorFn.d.ts +6 -0
  87. package/dist/src/helpers/asEvaluatorFn.d.ts.map +1 -0
  88. package/dist/src/helpers/asEvaluatorFn.js +18 -0
  89. package/dist/src/helpers/asEvaluatorFn.js.map +1 -0
  90. package/dist/src/helpers/createEvaluator.d.ts +141 -0
  91. package/dist/src/helpers/createEvaluator.d.ts.map +1 -0
  92. package/dist/src/helpers/createEvaluator.js +99 -0
  93. package/dist/src/helpers/createEvaluator.js.map +1 -0
  94. package/dist/src/helpers/index.d.ts +2 -0
  95. package/dist/src/helpers/index.d.ts.map +1 -0
  96. package/dist/src/{default_templates → helpers}/index.js +1 -2
  97. package/dist/src/helpers/index.js.map +1 -0
  98. package/dist/src/helpers/toEvaluationResult.d.ts +67 -0
  99. package/dist/src/helpers/toEvaluationResult.d.ts.map +1 -0
  100. package/dist/src/helpers/toEvaluationResult.js +136 -0
  101. package/dist/src/helpers/toEvaluationResult.js.map +1 -0
  102. package/dist/src/index.d.ts +1 -0
  103. package/dist/src/index.d.ts.map +1 -1
  104. package/dist/src/index.js +1 -0
  105. package/dist/src/index.js.map +1 -1
  106. package/dist/src/llm/{createDocumentRelevancyEvaluator.d.ts → createDocumentRelevanceEvaluator.d.ts} +11 -11
  107. package/dist/src/llm/{createDocumentRelevancyEvaluator.d.ts.map → createDocumentRelevanceEvaluator.d.ts.map} +1 -1
  108. package/dist/src/llm/{createDocumentRelevancyEvaluator.js → createDocumentRelevanceEvaluator.js} +11 -11
  109. package/dist/src/llm/createDocumentRelevanceEvaluator.js.map +1 -0
  110. package/dist/src/llm/createHallucinationEvaluator.d.ts +0 -1
  111. package/dist/src/llm/createHallucinationEvaluator.d.ts.map +1 -1
  112. package/dist/src/llm/createHallucinationEvaluator.js +2 -2
  113. package/dist/src/llm/createHallucinationEvaluator.js.map +1 -1
  114. package/dist/src/llm/index.d.ts +1 -1
  115. package/dist/src/llm/index.js +1 -1
  116. package/dist/src/types/base.d.ts +2 -0
  117. package/dist/src/types/base.d.ts.map +1 -0
  118. package/dist/src/types/base.js +3 -0
  119. package/dist/src/types/base.js.map +1 -0
  120. package/dist/src/types/index.d.ts +1 -0
  121. package/dist/src/types/index.d.ts.map +1 -1
  122. package/dist/src/types/index.js +1 -0
  123. package/dist/src/types/index.js.map +1 -1
  124. package/dist/src/utils/bindEvaluator.d.ts +1 -1
  125. package/dist/src/utils/bindEvaluator.js +1 -1
  126. package/dist/src/utils/typeUtils.d.ts +7 -0
  127. package/dist/src/utils/typeUtils.d.ts.map +1 -0
  128. package/dist/src/utils/typeUtils.js +16 -0
  129. package/dist/src/utils/typeUtils.js.map +1 -0
  130. package/dist/tsconfig.tsbuildinfo +1 -1
  131. package/package.json +7 -1
  132. package/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.ts +39 -0
  133. package/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.ts +45 -0
  134. package/src/__generated__/default_templates/index.ts +4 -0
  135. package/src/__generated__/types.ts +11 -0
  136. package/src/core/FunctionEvaluator.ts +28 -0
  137. package/src/helpers/asEvaluatorFn.ts +19 -0
  138. package/src/helpers/createEvaluator.ts +184 -0
  139. package/src/helpers/index.ts +1 -0
  140. package/src/helpers/toEvaluationResult.ts +145 -0
  141. package/src/index.ts +1 -0
  142. package/src/llm/{createDocumentRelevancyEvaluator.ts → createDocumentRelevanceEvaluator.ts} +18 -21
  143. package/src/llm/createHallucinationEvaluator.ts +5 -9
  144. package/src/llm/index.ts +1 -1
  145. package/src/types/base.ts +2 -0
  146. package/src/types/index.ts +1 -0
  147. package/src/utils/bindEvaluator.ts +1 -1
  148. package/src/utils/typeUtils.ts +14 -0
  149. package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts +0 -6
  150. package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts.map +0 -1
  151. package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js +0 -25
  152. package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js.map +0 -1
  153. package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.d.ts +0 -6
  154. package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.d.ts.map +0 -1
  155. package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.js +0 -31
  156. package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.js.map +0 -1
  157. package/dist/esm/default_templates/index.d.ts +0 -3
  158. package/dist/esm/default_templates/index.d.ts.map +0 -1
  159. package/dist/esm/default_templates/index.js +0 -3
  160. package/dist/esm/default_templates/index.js.map +0 -1
  161. package/dist/esm/llm/createDocumentRelevancyEvaluator.js.map +0 -1
  162. package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts +0 -6
  163. package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts.map +0 -1
  164. package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js +0 -28
  165. package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js.map +0 -1
  166. package/dist/src/default_templates/HALLUCINATION_TEMPLATE.d.ts +0 -6
  167. package/dist/src/default_templates/HALLUCINATION_TEMPLATE.d.ts.map +0 -1
  168. package/dist/src/default_templates/HALLUCINATION_TEMPLATE.js +0 -34
  169. package/dist/src/default_templates/HALLUCINATION_TEMPLATE.js.map +0 -1
  170. package/dist/src/default_templates/index.d.ts +0 -3
  171. package/dist/src/default_templates/index.d.ts.map +0 -1
  172. package/dist/src/default_templates/index.js.map +0 -1
  173. package/dist/src/llm/createDocumentRelevancyEvaluator.js.map +0 -1
  174. package/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.ts +0 -25
  175. package/src/default_templates/HALLUCINATION_TEMPLATE.ts +0 -31
  176. package/src/default_templates/index.ts +0 -2
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Type guard to check if a value has a score property.
3
+ *
4
+ * @param result - The value to check
5
+ * @returns True if the value is an object with a numeric score property
6
+ *
7
+ * @internal
8
+ */
9
+ function resultHasScore(result) {
10
+ return (typeof result === "object" &&
11
+ result !== null &&
12
+ "score" in result &&
13
+ typeof result.score === "number");
14
+ }
15
+ /**
16
+ * Type guard to check if a value has a label property.
17
+ *
18
+ * @param result - The value to check
19
+ * @returns True if the value is an object with a string label property
20
+ *
21
+ * @internal
22
+ */
23
+ function resultHasLabel(result) {
24
+ return (typeof result === "object" &&
25
+ result !== null &&
26
+ "label" in result &&
27
+ typeof result.label === "string");
28
+ }
29
+ /**
30
+ * Type guard to check if a value has an explanation property.
31
+ *
32
+ * @param result - The value to check
33
+ * @returns True if the value is an object with a string explanation property
34
+ *
35
+ * @internal
36
+ */
37
+ function resultHasExplanation(result) {
38
+ return (typeof result === "object" &&
39
+ result !== null &&
40
+ "explanation" in result &&
41
+ typeof result.explanation === "string");
42
+ }
43
+ /**
44
+ * Converts an unknown value to an {@link EvaluationResult}.
45
+ *
46
+ * This function provides a flexible way to normalize various return types from
47
+ * evaluator functions into a standardized `EvaluationResult` format. It handles
48
+ * multiple input types:
49
+ *
50
+ * - **Numbers**: Converted to `{ score: number }`
51
+ * - **Strings**: Converted to `{ label: string }`
52
+ * - **Objects**: Extracts `score`, `label`, and `explanation` properties if present
53
+ * - **Other types**: Returns an empty `EvaluationResult` object
54
+ *
55
+ * This is particularly useful when creating evaluators from functions that may
56
+ * return different types, ensuring consistent evaluation result formatting.
57
+ *
58
+ * @param result - The value to convert to an EvaluationResult. Can be:
59
+ * - A number (converted to score)
60
+ * - A string (converted to label)
61
+ * - An object with optional `score`, `label`, and/or `explanation` properties
62
+ * - Any other value (returns empty object)
63
+ *
64
+ * @returns An {@link EvaluationResult} object with extracted properties
65
+ *
66
+ * @example
67
+ * Convert a number to an EvaluationResult:
68
+ * ```typescript
69
+ * const result = toEvaluationResult(0.95);
70
+ * // Returns: { score: 0.95 }
71
+ * ```
72
+ *
73
+ * @example
74
+ * Convert a string to an EvaluationResult:
75
+ * ```typescript
76
+ * const result = toEvaluationResult("correct");
77
+ * // Returns: { label: "correct" }
78
+ * ```
79
+ *
80
+ * @example
81
+ * Convert an object with all properties:
82
+ * ```typescript
83
+ * const result = toEvaluationResult({
84
+ * score: 0.9,
85
+ * label: "high",
86
+ * explanation: "High quality output"
87
+ * });
88
+ * // Returns: { score: 0.9, label: "high", explanation: "High quality output" }
89
+ * ```
90
+ *
91
+ * @example
92
+ * Convert an object with partial properties:
93
+ * ```typescript
94
+ * const result = toEvaluationResult({ score: 0.8 });
95
+ * // Returns: { score: 0.8 }
96
+ * ```
97
+ *
98
+ * @example
99
+ * Handle null or undefined:
100
+ * ```typescript
101
+ * const result = toEvaluationResult(null);
102
+ * // Returns: {}
103
+ * ```
104
+ *
105
+ * @public
106
+ */
107
+ export function toEvaluationResult(result) {
108
+ if (typeof result === "number") {
109
+ return {
110
+ score: result,
111
+ };
112
+ }
113
+ if (typeof result === "string") {
114
+ return {
115
+ label: result,
116
+ };
117
+ }
118
+ if (typeof result === "object" && result !== null) {
119
+ const evaluationResult = {};
120
+ if (resultHasScore(result)) {
121
+ evaluationResult.score = result.score;
122
+ }
123
+ if (resultHasLabel(result)) {
124
+ evaluationResult.label = result.label;
125
+ }
126
+ if (resultHasExplanation(result)) {
127
+ evaluationResult.explanation = result.explanation;
128
+ }
129
+ return evaluationResult;
130
+ }
131
+ return {};
132
+ }
133
+ //# sourceMappingURL=toEvaluationResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toEvaluationResult.js","sourceRoot":"","sources":["../../../src/helpers/toEvaluationResult.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAO,IAAI,MAAM;QACjB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAO,IAAI,MAAM;QACjB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,MAAe;IAEf,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,aAAa,IAAI,MAAM;QACvB,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,KAAK,EAAE,MAAM;SACd,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,KAAK,EAAE,MAAM;SACd,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,gBAAgB,GAAqB,EAAE,CAAC;QAC9C,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,gBAAgB,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACpD,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -2,4 +2,5 @@ export * from "./llm/index.js";
2
2
  export * from "./template/index.js";
3
3
  export * from "./types/index.js";
4
4
  export * from "./utils/index.js";
5
+ export * from "./helpers/index.js";
5
6
  //# 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;AACxB,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;AACxB,cAAc,WAAW,CAAC"}
package/dist/esm/index.js CHANGED
@@ -2,4 +2,5 @@ export * from "./llm/index.js";
2
2
  export * from "./template/index.js";
3
3
  export * from "./types/index.js";
4
4
  export * from "./utils/index.js";
5
+ export * from "./helpers/index.js";
5
6
  //# 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;AACxB,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;AACxB,cAAc,WAAW,CAAC"}
@@ -1,38 +1,38 @@
1
1
  import { CreateClassificationEvaluatorArgs } from "../types/evals.js";
2
2
  import { ClassificationEvaluator } from "./ClassificationEvaluator.js";
3
- export interface DocumentRelevancyEvaluatorArgs<RecordType extends Record<string, unknown> = DocumentRelevancyEvaluationRecord> extends Omit<CreateClassificationEvaluatorArgs<RecordType>, "promptTemplate" | "choices" | "optimizationDirection" | "name"> {
3
+ export interface DocumentRelevanceEvaluatorArgs<RecordType extends Record<string, unknown> = DocumentRelevanceEvaluationRecord> extends Omit<CreateClassificationEvaluatorArgs<RecordType>, "promptTemplate" | "choices" | "optimizationDirection" | "name"> {
4
4
  optimizationDirection?: CreateClassificationEvaluatorArgs<RecordType>["optimizationDirection"];
5
5
  name?: CreateClassificationEvaluatorArgs<RecordType>["name"];
6
6
  choices?: CreateClassificationEvaluatorArgs<RecordType>["choices"];
7
7
  promptTemplate?: CreateClassificationEvaluatorArgs<RecordType>["promptTemplate"];
8
8
  }
9
9
  /**
10
- * A record to be evaluated by the document relevancy evaluator.
10
+ * A record to be evaluated by the document relevance evaluator.
11
11
  */
12
- export interface DocumentRelevancyEvaluationRecord {
12
+ export interface DocumentRelevanceEvaluationRecord {
13
13
  input: string;
14
14
  documentText: string;
15
15
  [key: string]: unknown;
16
16
  }
17
17
  /**
18
- * Creates a document relevancy evaluator function.
18
+ * Creates a document relevance evaluator function.
19
19
  *
20
20
  * This function returns an evaluator that determines whether a given document text
21
21
  * is relevant to a provided input question. The evaluator uses a classification model
22
22
  * and a prompt template to make its determination.
23
23
  *
24
- * @param args - The arguments for creating the document relevancy evaluator.
24
+ * @param args - The arguments for creating the document relevance evaluator.
25
25
  * @param args.model - The model to use for classification.
26
- * @param args.choices - The possible classification choices (defaults to DOCUMENT_RELEVANCY_CHOICES).
27
- * @param args.promptTemplate - The prompt template to use (defaults to DOCUMENT_RELEVANCY_TEMPLATE).
26
+ * @param args.choices - The possible classification choices (defaults to DOCUMENT_RELEVANCE_CHOICES).
27
+ * @param args.promptTemplate - The prompt template to use (defaults to DOCUMENT_RELEVANCE_TEMPLATE).
28
28
  * @param args.telemetry - The telemetry to use for the evaluator.
29
29
  *
30
- * @returns An evaluator function that takes a {@link DocumentRelevancyExample} and returns a classification result
30
+ * @returns An evaluator function that takes a {@link DocumentRelevanceExample} and returns a classification result
31
31
  * indicating whether the document is relevant to the input question.
32
32
  *
33
33
  * @example
34
34
  * ```ts
35
- * const evaluator = createDocumentRelevancyEvaluator({ model: openai("gpt-4o-mini") });
35
+ * const evaluator = createDocumentRelevanceEvaluator({ model: openai("gpt-4o-mini") });
36
36
  * const result = await evaluator.evaluate({
37
37
  * input: "What is the capital of France?",
38
38
  * documentText: "Paris is the capital and most populous city of France.",
@@ -40,5 +40,5 @@ export interface DocumentRelevancyEvaluationRecord {
40
40
  * console.log(result.label); // "relevant" or "unrelated"
41
41
  * ```
42
42
  */
43
- export declare function createDocumentRelevancyEvaluator<RecordType extends Record<string, unknown> = DocumentRelevancyEvaluationRecord>(args: DocumentRelevancyEvaluatorArgs<RecordType>): ClassificationEvaluator<RecordType>;
44
- //# sourceMappingURL=createDocumentRelevancyEvaluator.d.ts.map
43
+ export declare function createDocumentRelevanceEvaluator<RecordType extends Record<string, unknown> = DocumentRelevanceEvaluationRecord>(args: DocumentRelevanceEvaluatorArgs<RecordType>): ClassificationEvaluator<RecordType>;
44
+ //# sourceMappingURL=createDocumentRelevanceEvaluator.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,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"}
1
+ {"version":3,"file":"createDocumentRelevanceEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevanceEvaluator.ts"],"names":[],"mappings":"AACA,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"}
@@ -1,24 +1,24 @@
1
- import { DOCUMENT_RELEVANCY_CHOICES, DOCUMENT_RELEVANCY_TEMPLATE, } from "../default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js";
1
+ import { DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG } from "../__generated__/default_templates/index.js";
2
2
  import { createClassificationEvaluator } from "./createClassificationEvaluator.js";
3
3
  /**
4
- * Creates a document relevancy evaluator function.
4
+ * Creates a document relevance evaluator function.
5
5
  *
6
6
  * This function returns an evaluator that determines whether a given document text
7
7
  * is relevant to a provided input question. The evaluator uses a classification model
8
8
  * and a prompt template to make its determination.
9
9
  *
10
- * @param args - The arguments for creating the document relevancy evaluator.
10
+ * @param args - The arguments for creating the document relevance evaluator.
11
11
  * @param args.model - The model to use for classification.
12
- * @param args.choices - The possible classification choices (defaults to DOCUMENT_RELEVANCY_CHOICES).
13
- * @param args.promptTemplate - The prompt template to use (defaults to DOCUMENT_RELEVANCY_TEMPLATE).
12
+ * @param args.choices - The possible classification choices (defaults to DOCUMENT_RELEVANCE_CHOICES).
13
+ * @param args.promptTemplate - The prompt template to use (defaults to DOCUMENT_RELEVANCE_TEMPLATE).
14
14
  * @param args.telemetry - The telemetry to use for the evaluator.
15
15
  *
16
- * @returns An evaluator function that takes a {@link DocumentRelevancyExample} and returns a classification result
16
+ * @returns An evaluator function that takes a {@link DocumentRelevanceExample} and returns a classification result
17
17
  * indicating whether the document is relevant to the input question.
18
18
  *
19
19
  * @example
20
20
  * ```ts
21
- * const evaluator = createDocumentRelevancyEvaluator({ model: openai("gpt-4o-mini") });
21
+ * const evaluator = createDocumentRelevanceEvaluator({ model: openai("gpt-4o-mini") });
22
22
  * const result = await evaluator.evaluate({
23
23
  * input: "What is the capital of France?",
24
24
  * documentText: "Paris is the capital and most populous city of France.",
@@ -26,8 +26,8 @@ import { createClassificationEvaluator } from "./createClassificationEvaluator.j
26
26
  * console.log(result.label); // "relevant" or "unrelated"
27
27
  * ```
28
28
  */
29
- export function createDocumentRelevancyEvaluator(args) {
30
- const { choices = DOCUMENT_RELEVANCY_CHOICES, promptTemplate = DOCUMENT_RELEVANCY_TEMPLATE, optimizationDirection = "MAXIMIZE", name = "document_relevancy", ...rest } = args;
29
+ export function createDocumentRelevanceEvaluator(args) {
30
+ const { choices = DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.choices, promptTemplate = DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.template, optimizationDirection = DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.optimizationDirection, name = DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.name, ...rest } = args;
31
31
  return createClassificationEvaluator({
32
32
  ...rest,
33
33
  promptTemplate,
@@ -36,4 +36,4 @@ export function createDocumentRelevancyEvaluator(args) {
36
36
  name,
37
37
  });
38
38
  }
39
- //# sourceMappingURL=createDocumentRelevancyEvaluator.js.map
39
+ //# sourceMappingURL=createDocumentRelevanceEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDocumentRelevanceEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevanceEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kDAAkD,EAAE,MAAM,oCAAoC,CAAC;AAIxG,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AA0BhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gCAAgC,CAM9C,IAAgD;IAEhD,MAAM,EACJ,OAAO,GAAG,kDAAkD,CAAC,OAAO,EACpE,cAAc,GAAG,kDAAkD,CAAC,QAAQ,EAC5E,qBAAqB,GAAG,kDAAkD,CAAC,qBAAqB,EAChG,IAAI,GAAG,kDAAkD,CAAC,IAAI,EAC9D,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"}
@@ -12,7 +12,6 @@ export interface HallucinationEvaluatorArgs<RecordType extends Record<string, un
12
12
  export type HallucinationEvaluationRecord = {
13
13
  input: string;
14
14
  output: string;
15
- reference?: string;
16
15
  context?: string;
17
16
  };
18
17
  /**
@@ -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,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"}
1
+ {"version":3,"file":"createHallucinationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"AACA,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,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"}
@@ -1,4 +1,4 @@
1
- import { HALLUCINATION_CHOICES, HALLUCINATION_TEMPLATE, } from "../default_templates/HALLUCINATION_TEMPLATE.js";
1
+ import { HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG } from "../__generated__/default_templates/index.js";
2
2
  import { createClassificationEvaluator } from "./createClassificationEvaluator.js";
3
3
  /**
4
4
  * Creates a function that evaluates whether an answer is factual or hallucinated based on a query and reference text.
@@ -7,7 +7,7 @@ import { createClassificationEvaluator } from "./createClassificationEvaluator.j
7
7
  * @returns A function that evaluates whether an answer is factual or hallucinated based on a query and reference text.
8
8
  */
9
9
  export function createHallucinationEvaluator(args) {
10
- const { choices = HALLUCINATION_CHOICES, promptTemplate = HALLUCINATION_TEMPLATE, optimizationDirection = "MINIMIZE", name = "hallucination", ...rest } = args;
10
+ const { choices = HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.choices, promptTemplate = HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.template, optimizationDirection = HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.optimizationDirection, name = HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.name, ...rest } = args;
11
11
  return createClassificationEvaluator({
12
12
  ...rest,
13
13
  promptTemplate,
@@ -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;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"}
1
+ {"version":3,"file":"createHallucinationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6CAA6C,EAAE,MAAM,oCAAoC,CAAC;AAInG,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAsBhF;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAG1C,IAA4C;IAE5C,MAAM,EACJ,OAAO,GAAG,6CAA6C,CAAC,OAAO,EAC/D,cAAc,GAAG,6CAA6C,CAAC,QAAQ,EACvE,qBAAqB,GAAG,6CAA6C,CAAC,qBAAqB,EAC3F,IAAI,GAAG,6CAA6C,CAAC,IAAI,EACzD,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"}
@@ -2,7 +2,7 @@ export * from "./generateClassification.js";
2
2
  export * from "./createClassifierFn.js";
3
3
  export * from "./createClassificationEvaluator.js";
4
4
  export * from "./createHallucinationEvaluator.js";
5
- export * from "./createDocumentRelevancyEvaluator.js";
5
+ export * from "./createDocumentRelevanceEvaluator.js";
6
6
  export * from "./ClassificationEvaluator.js";
7
7
  export * from "./LLMEvaluator.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -2,7 +2,7 @@ export * from "./generateClassification.js";
2
2
  export * from "./createClassifierFn.js";
3
3
  export * from "./createClassificationEvaluator.js";
4
4
  export * from "./createHallucinationEvaluator.js";
5
- export * from "./createDocumentRelevancyEvaluator.js";
5
+ export * from "./createDocumentRelevanceEvaluator.js";
6
6
  export * from "./ClassificationEvaluator.js";
7
7
  export * from "./LLMEvaluator.js";
8
8
  //# sourceMappingURL=index.js.map