@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.
- package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
- package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
- package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js +37 -0
- package/dist/esm/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
- package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
- package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
- package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js +43 -0
- package/dist/esm/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
- package/dist/esm/__generated__/default_templates/index.d.ts +3 -0
- package/dist/esm/__generated__/default_templates/index.d.ts.map +1 -0
- package/dist/esm/__generated__/default_templates/index.js +4 -0
- package/dist/esm/__generated__/default_templates/index.js.map +1 -0
- package/dist/esm/__generated__/types.d.ts +9 -0
- package/dist/esm/__generated__/types.d.ts.map +1 -0
- package/dist/esm/__generated__/types.js +3 -0
- package/dist/esm/__generated__/types.js.map +1 -0
- package/dist/esm/core/FunctionEvaluator.d.ts +16 -0
- package/dist/esm/core/FunctionEvaluator.d.ts.map +1 -0
- package/dist/esm/core/FunctionEvaluator.js +18 -0
- package/dist/esm/core/FunctionEvaluator.js.map +1 -0
- package/dist/esm/helpers/asEvaluatorFn.d.ts +6 -0
- package/dist/esm/helpers/asEvaluatorFn.d.ts.map +1 -0
- package/dist/esm/helpers/asEvaluatorFn.js +15 -0
- package/dist/esm/helpers/asEvaluatorFn.js.map +1 -0
- package/dist/esm/helpers/createEvaluator.d.ts +141 -0
- package/dist/esm/helpers/createEvaluator.d.ts.map +1 -0
- package/dist/esm/helpers/createEvaluator.js +96 -0
- package/dist/esm/helpers/createEvaluator.js.map +1 -0
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/index.d.ts.map +1 -0
- package/dist/esm/helpers/index.js +2 -0
- package/dist/esm/helpers/index.js.map +1 -0
- package/dist/esm/helpers/toEvaluationResult.d.ts +67 -0
- package/dist/esm/helpers/toEvaluationResult.d.ts.map +1 -0
- package/dist/esm/helpers/toEvaluationResult.js +133 -0
- package/dist/esm/helpers/toEvaluationResult.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/llm/{createDocumentRelevancyEvaluator.d.ts → createDocumentRelevanceEvaluator.d.ts} +11 -11
- package/dist/esm/llm/{createDocumentRelevancyEvaluator.d.ts.map → createDocumentRelevanceEvaluator.d.ts.map} +1 -1
- package/dist/esm/llm/{createDocumentRelevancyEvaluator.js → createDocumentRelevanceEvaluator.js} +10 -10
- package/dist/esm/llm/createDocumentRelevanceEvaluator.js.map +1 -0
- package/dist/esm/llm/createHallucinationEvaluator.d.ts +0 -1
- package/dist/esm/llm/createHallucinationEvaluator.d.ts.map +1 -1
- package/dist/esm/llm/createHallucinationEvaluator.js +2 -2
- package/dist/esm/llm/createHallucinationEvaluator.js.map +1 -1
- package/dist/esm/llm/index.d.ts +1 -1
- package/dist/esm/llm/index.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types/base.d.ts +2 -0
- package/dist/esm/types/base.d.ts.map +1 -0
- package/dist/esm/types/base.js +2 -0
- package/dist/esm/types/base.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/bindEvaluator.d.ts +1 -1
- package/dist/esm/utils/bindEvaluator.js +1 -1
- package/dist/esm/utils/typeUtils.d.ts +7 -0
- package/dist/esm/utils/typeUtils.d.ts.map +1 -0
- package/dist/esm/utils/typeUtils.js +13 -0
- package/dist/esm/utils/typeUtils.js.map +1 -0
- package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
- package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
- package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js +40 -0
- package/dist/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
- package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts +3 -0
- package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.d.ts.map +1 -0
- package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js +46 -0
- package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js.map +1 -0
- package/dist/src/__generated__/default_templates/index.d.ts +3 -0
- package/dist/src/__generated__/default_templates/index.d.ts.map +1 -0
- package/dist/src/__generated__/default_templates/index.js +9 -0
- package/dist/src/__generated__/default_templates/index.js.map +1 -0
- package/dist/src/__generated__/types.d.ts +9 -0
- package/dist/src/__generated__/types.d.ts.map +1 -0
- package/dist/src/__generated__/types.js +4 -0
- package/dist/src/__generated__/types.js.map +1 -0
- package/dist/src/core/FunctionEvaluator.d.ts +16 -0
- package/dist/src/core/FunctionEvaluator.d.ts.map +1 -0
- package/dist/src/core/FunctionEvaluator.js +33 -0
- package/dist/src/core/FunctionEvaluator.js.map +1 -0
- package/dist/src/helpers/asEvaluatorFn.d.ts +6 -0
- package/dist/src/helpers/asEvaluatorFn.d.ts.map +1 -0
- package/dist/src/helpers/asEvaluatorFn.js +18 -0
- package/dist/src/helpers/asEvaluatorFn.js.map +1 -0
- package/dist/src/helpers/createEvaluator.d.ts +141 -0
- package/dist/src/helpers/createEvaluator.d.ts.map +1 -0
- package/dist/src/helpers/createEvaluator.js +99 -0
- package/dist/src/helpers/createEvaluator.js.map +1 -0
- package/dist/src/helpers/index.d.ts +2 -0
- package/dist/src/helpers/index.d.ts.map +1 -0
- package/dist/src/{default_templates → helpers}/index.js +1 -2
- package/dist/src/helpers/index.js.map +1 -0
- package/dist/src/helpers/toEvaluationResult.d.ts +67 -0
- package/dist/src/helpers/toEvaluationResult.d.ts.map +1 -0
- package/dist/src/helpers/toEvaluationResult.js +136 -0
- package/dist/src/helpers/toEvaluationResult.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/llm/{createDocumentRelevancyEvaluator.d.ts → createDocumentRelevanceEvaluator.d.ts} +11 -11
- package/dist/src/llm/{createDocumentRelevancyEvaluator.d.ts.map → createDocumentRelevanceEvaluator.d.ts.map} +1 -1
- package/dist/src/llm/{createDocumentRelevancyEvaluator.js → createDocumentRelevanceEvaluator.js} +11 -11
- package/dist/src/llm/createDocumentRelevanceEvaluator.js.map +1 -0
- package/dist/src/llm/createHallucinationEvaluator.d.ts +0 -1
- package/dist/src/llm/createHallucinationEvaluator.d.ts.map +1 -1
- package/dist/src/llm/createHallucinationEvaluator.js +2 -2
- package/dist/src/llm/createHallucinationEvaluator.js.map +1 -1
- package/dist/src/llm/index.d.ts +1 -1
- package/dist/src/llm/index.js +1 -1
- package/dist/src/types/base.d.ts +2 -0
- package/dist/src/types/base.d.ts.map +1 -0
- package/dist/src/types/base.js +3 -0
- package/dist/src/types/base.js.map +1 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/utils/bindEvaluator.d.ts +1 -1
- package/dist/src/utils/bindEvaluator.js +1 -1
- package/dist/src/utils/typeUtils.d.ts +7 -0
- package/dist/src/utils/typeUtils.d.ts.map +1 -0
- package/dist/src/utils/typeUtils.js +16 -0
- package/dist/src/utils/typeUtils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -1
- package/src/__generated__/default_templates/DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.ts +39 -0
- package/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.ts +45 -0
- package/src/__generated__/default_templates/index.ts +4 -0
- package/src/__generated__/types.ts +11 -0
- package/src/core/FunctionEvaluator.ts +28 -0
- package/src/helpers/asEvaluatorFn.ts +19 -0
- package/src/helpers/createEvaluator.ts +184 -0
- package/src/helpers/index.ts +1 -0
- package/src/helpers/toEvaluationResult.ts +145 -0
- package/src/index.ts +1 -0
- package/src/llm/{createDocumentRelevancyEvaluator.ts → createDocumentRelevanceEvaluator.ts} +18 -21
- package/src/llm/createHallucinationEvaluator.ts +5 -9
- package/src/llm/index.ts +1 -1
- package/src/types/base.ts +2 -0
- package/src/types/index.ts +1 -0
- package/src/utils/bindEvaluator.ts +1 -1
- package/src/utils/typeUtils.ts +14 -0
- package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts +0 -6
- package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts.map +0 -1
- package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js +0 -25
- package/dist/esm/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js.map +0 -1
- package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.d.ts +0 -6
- package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.d.ts.map +0 -1
- package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.js +0 -31
- package/dist/esm/default_templates/HALLUCINATION_TEMPLATE.js.map +0 -1
- package/dist/esm/default_templates/index.d.ts +0 -3
- package/dist/esm/default_templates/index.d.ts.map +0 -1
- package/dist/esm/default_templates/index.js +0 -3
- package/dist/esm/default_templates/index.js.map +0 -1
- package/dist/esm/llm/createDocumentRelevancyEvaluator.js.map +0 -1
- package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts +0 -6
- package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.d.ts.map +0 -1
- package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js +0 -28
- package/dist/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.js.map +0 -1
- package/dist/src/default_templates/HALLUCINATION_TEMPLATE.d.ts +0 -6
- package/dist/src/default_templates/HALLUCINATION_TEMPLATE.d.ts.map +0 -1
- package/dist/src/default_templates/HALLUCINATION_TEMPLATE.js +0 -34
- package/dist/src/default_templates/HALLUCINATION_TEMPLATE.js.map +0 -1
- package/dist/src/default_templates/index.d.ts +0 -3
- package/dist/src/default_templates/index.d.ts.map +0 -1
- package/dist/src/default_templates/index.js.map +0 -1
- package/dist/src/llm/createDocumentRelevancyEvaluator.js.map +0 -1
- package/src/default_templates/DOCUMENT_RELEVANCY_TEMPLATE.ts +0 -25
- package/src/default_templates/HALLUCINATION_TEMPLATE.ts +0 -31
- 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"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -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
package/dist/esm/index.js.map
CHANGED
|
@@ -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"}
|
package/dist/esm/llm/{createDocumentRelevancyEvaluator.d.ts → createDocumentRelevanceEvaluator.d.ts}
RENAMED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import { CreateClassificationEvaluatorArgs } from "../types/evals.js";
|
|
2
2
|
import { ClassificationEvaluator } from "./ClassificationEvaluator.js";
|
|
3
|
-
export interface
|
|
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
|
|
10
|
+
* A record to be evaluated by the document relevance evaluator.
|
|
11
11
|
*/
|
|
12
|
-
export interface
|
|
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
|
|
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
|
|
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
|
|
27
|
-
* @param args.promptTemplate - The prompt template to use (defaults to
|
|
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
|
|
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 =
|
|
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
|
|
44
|
-
//# sourceMappingURL=
|
|
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":"
|
|
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"}
|
package/dist/esm/llm/{createDocumentRelevancyEvaluator.js → createDocumentRelevanceEvaluator.js}
RENAMED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import {
|
|
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
|
|
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
|
|
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
|
|
13
|
-
* @param args.promptTemplate - The prompt template to use (defaults to
|
|
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
|
|
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 =
|
|
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
|
|
30
|
-
const { choices =
|
|
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=
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHallucinationEvaluator.d.ts","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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 =
|
|
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,
|
|
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"}
|
package/dist/esm/llm/index.d.ts
CHANGED
|
@@ -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 "./
|
|
5
|
+
export * from "./createDocumentRelevanceEvaluator.js";
|
|
6
6
|
export * from "./ClassificationEvaluator.js";
|
|
7
7
|
export * from "./LLMEvaluator.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/llm/index.js
CHANGED
|
@@ -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 "./
|
|
5
|
+
export * from "./createDocumentRelevanceEvaluator.js";
|
|
6
6
|
export * from "./ClassificationEvaluator.js";
|
|
7
7
|
export * from "./LLMEvaluator.js";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|