@arizeai/phoenix-evals 0.6.0 → 0.6.1
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/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/utils/bindEvaluator.d.ts +1 -1
- package/dist/esm/utils/bindEvaluator.js +1 -1
- 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/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/utils/bindEvaluator.d.ts +1 -1
- package/dist/src/utils/bindEvaluator.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -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/llm/{createDocumentRelevancyEvaluator.ts → createDocumentRelevanceEvaluator.ts} +18 -21
- package/src/llm/createHallucinationEvaluator.ts +5 -9
- package/src/llm/index.ts +1 -1
- package/src/utils/bindEvaluator.ts +1 -1
- 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 +0 -19
- 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
package/dist/src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file is generated. Do not edit by hand.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG = void 0;
|
|
5
|
+
exports.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG = {
|
|
6
|
+
name: "hallucination",
|
|
7
|
+
description: "A specialized evaluator for detecting hallucinations in grounded LLM responses.",
|
|
8
|
+
optimizationDirection: "MINIMIZE",
|
|
9
|
+
template: [
|
|
10
|
+
{
|
|
11
|
+
role: "user",
|
|
12
|
+
content: `
|
|
13
|
+
In this task, you will be presented with a query, some context and a response. The response
|
|
14
|
+
is generated to the question based on the context. The response may contain false
|
|
15
|
+
information. You must use the context to determine if the response to the question
|
|
16
|
+
contains false information, if the response is a hallucination of facts. Your objective is
|
|
17
|
+
to determine whether the response text contains factual information and is not a
|
|
18
|
+
hallucination. A 'hallucination' refers to a response that is not based on the context or
|
|
19
|
+
assumes information that is not available in the context. Your response should be a single
|
|
20
|
+
word: either 'factual' or 'hallucinated', and it should not include any other text or
|
|
21
|
+
characters. 'hallucinated' indicates that the response provides factually inaccurate
|
|
22
|
+
information to the query based on the context. 'factual' indicates that the response to
|
|
23
|
+
the question is correct relative to the context, and does not contain made up
|
|
24
|
+
information. Please read the query and context carefully before determining your
|
|
25
|
+
response.
|
|
26
|
+
|
|
27
|
+
[BEGIN DATA]
|
|
28
|
+
************
|
|
29
|
+
[Query]: {{input}}
|
|
30
|
+
************
|
|
31
|
+
[Context]: {{context}}
|
|
32
|
+
************
|
|
33
|
+
[Response]: {{output}}
|
|
34
|
+
************
|
|
35
|
+
[END DATA]
|
|
36
|
+
|
|
37
|
+
Is the response above factual or hallucinated based on the query and context?
|
|
38
|
+
`,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
choices: {
|
|
42
|
+
"hallucinated": 1,
|
|
43
|
+
"factual": 0
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.js","sourceRoot":"","sources":["../../../../src/__generated__/default_templates/HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAIlC,QAAA,6CAA6C,GAAkC;IAC1F,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,iFAAiF;IAC9F,qBAAqB,EAAE,UAAU;IACjC,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bd;SACI;KACF;IACD,OAAO,EAAE;QACT,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,CAAC;KACb;CACA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/__generated__/default_templates/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kDAAkD,EAAE,MAAM,sDAAsD,CAAC;AAC1H,OAAO,EAAE,6CAA6C,EAAE,MAAM,iDAAiD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file is generated. Do not edit by hand.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG = exports.DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG = void 0;
|
|
5
|
+
var DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG_1 = require("./DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG");
|
|
6
|
+
Object.defineProperty(exports, "DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG", { enumerable: true, get: function () { return DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG_1.DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG; } });
|
|
7
|
+
var HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG_1 = require("./HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG");
|
|
8
|
+
Object.defineProperty(exports, "HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG", { enumerable: true, get: function () { return HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG_1.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/__generated__/default_templates/index.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAE/C,2HAA0H;AAAjH,wLAAA,kDAAkD,OAAA;AAC3D,iHAAgH;AAAvG,8KAAA,6CAA6C,OAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptTemplate } from "../types/templating";
|
|
2
|
+
export type ClassificationEvaluatorConfig = {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
optimizationDirection: "MINIMIZE" | "MAXIMIZE";
|
|
6
|
+
template: PromptTemplate;
|
|
7
|
+
choices: Record<string, number>;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/__generated__/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/C,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/__generated__/types.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
|
package/dist/src/llm/{createDocumentRelevancyEvaluator.d.ts → createDocumentRelevanceEvaluator.d.ts}
RENAMED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import { CreateClassificationEvaluatorArgs } from "../types/evals";
|
|
2
2
|
import { ClassificationEvaluator } from "./ClassificationEvaluator";
|
|
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/src/llm/{createDocumentRelevancyEvaluator.js → createDocumentRelevanceEvaluator.js}
RENAMED
|
@@ -11,28 +11,28 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
15
|
-
const
|
|
14
|
+
exports.createDocumentRelevanceEvaluator = createDocumentRelevanceEvaluator;
|
|
15
|
+
const default_templates_1 = require("../__generated__/default_templates");
|
|
16
16
|
const createClassificationEvaluator_1 = require("./createClassificationEvaluator");
|
|
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,11 +40,11 @@ const createClassificationEvaluator_1 = require("./createClassificationEvaluator
|
|
|
40
40
|
* console.log(result.label); // "relevant" or "unrelated"
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
|
-
function
|
|
44
|
-
const { choices =
|
|
43
|
+
function createDocumentRelevanceEvaluator(args) {
|
|
44
|
+
const { choices = default_templates_1.DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.choices, promptTemplate = default_templates_1.DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.template, optimizationDirection = default_templates_1.DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.optimizationDirection, name = default_templates_1.DOCUMENT_RELEVANCE_CLASSIFICATION_EVALUATOR_CONFIG.name } = args, rest = __rest(args, ["choices", "promptTemplate", "optimizationDirection", "name"]);
|
|
45
45
|
return (0, createClassificationEvaluator_1.createClassificationEvaluator)(Object.assign(Object.assign({}, rest), { promptTemplate,
|
|
46
46
|
choices,
|
|
47
47
|
optimizationDirection,
|
|
48
48
|
name }));
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=createDocumentRelevanceEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDocumentRelevanceEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createDocumentRelevanceEvaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAwDA,4EAsBC;AA9ED,0EAAwG;AAIxG,mFAAgF;AA0BhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,gCAAgC,CAM9C,IAAgD;IAEhD,MAAM,EACJ,OAAO,GAAG,sEAAkD,CAAC,OAAO,EACpE,cAAc,GAAG,sEAAkD,CAAC,QAAQ,EAC5E,qBAAqB,GAAG,sEAAkD,CAAC,qBAAqB,EAChG,IAAI,GAAG,sEAAkD,CAAC,IAAI,KAE5D,IAAI,EADH,IAAI,UACL,IAAI,EANF,8DAML,CAAO,CAAC;IACT,OAAO,IAAA,6DAA6B,kCAC/B,IAAI,KACP,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,IAAI,IACJ,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"}
|
|
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.createHallucinationEvaluator = createHallucinationEvaluator;
|
|
15
|
-
const
|
|
15
|
+
const default_templates_1 = require("../__generated__/default_templates");
|
|
16
16
|
const createClassificationEvaluator_1 = require("./createClassificationEvaluator");
|
|
17
17
|
/**
|
|
18
18
|
* Creates a function that evaluates whether an answer is factual or hallucinated based on a query and reference text.
|
|
@@ -21,7 +21,7 @@ const createClassificationEvaluator_1 = require("./createClassificationEvaluator
|
|
|
21
21
|
* @returns A function that evaluates whether an answer is factual or hallucinated based on a query and reference text.
|
|
22
22
|
*/
|
|
23
23
|
function createHallucinationEvaluator(args) {
|
|
24
|
-
const { choices =
|
|
24
|
+
const { choices = default_templates_1.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.choices, promptTemplate = default_templates_1.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.template, optimizationDirection = default_templates_1.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.optimizationDirection, name = default_templates_1.HALLUCINATION_CLASSIFICATION_EVALUATOR_CONFIG.name } = args, rest = __rest(args, ["choices", "promptTemplate", "optimizationDirection", "name"]);
|
|
25
25
|
return (0, createClassificationEvaluator_1.createClassificationEvaluator)(Object.assign(Object.assign({}, rest), { promptTemplate,
|
|
26
26
|
choices,
|
|
27
27
|
optimizationDirection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHallucinationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createHallucinationEvaluator.js","sourceRoot":"","sources":["../../../src/llm/createHallucinationEvaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAgCA,oEAmBC;AAnDD,0EAAmG;AAInG,mFAAgF;AAsBhF;;;;;GAKG;AACH,SAAgB,4BAA4B,CAG1C,IAA4C;IAE5C,MAAM,EACJ,OAAO,GAAG,iEAA6C,CAAC,OAAO,EAC/D,cAAc,GAAG,iEAA6C,CAAC,QAAQ,EACvE,qBAAqB,GAAG,iEAA6C,CAAC,qBAAqB,EAC3F,IAAI,GAAG,iEAA6C,CAAC,IAAI,KAEvD,IAAI,EADH,IAAI,UACL,IAAI,EANF,8DAML,CAAO,CAAC;IACT,OAAO,IAAA,6DAA6B,kCAC/B,IAAI,KACP,cAAc;QACd,OAAO;QACP,qBAAqB;QACrB,IAAI,IACJ,CAAC;AACL,CAAC"}
|
package/dist/src/llm/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export * from "./generateClassification";
|
|
|
2
2
|
export * from "./createClassifierFn";
|
|
3
3
|
export * from "./createClassificationEvaluator";
|
|
4
4
|
export * from "./createHallucinationEvaluator";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./createDocumentRelevanceEvaluator";
|
|
6
6
|
export * from "./ClassificationEvaluator";
|
|
7
7
|
export * from "./LLMEvaluator";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/llm/index.js
CHANGED
|
@@ -18,7 +18,7 @@ __exportStar(require("./generateClassification"), exports);
|
|
|
18
18
|
__exportStar(require("./createClassifierFn"), exports);
|
|
19
19
|
__exportStar(require("./createClassificationEvaluator"), exports);
|
|
20
20
|
__exportStar(require("./createHallucinationEvaluator"), exports);
|
|
21
|
-
__exportStar(require("./
|
|
21
|
+
__exportStar(require("./createDocumentRelevanceEvaluator"), exports);
|
|
22
22
|
__exportStar(require("./ClassificationEvaluator"), exports);
|
|
23
23
|
__exportStar(require("./LLMEvaluator"), exports);
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -204,7 +204,7 @@ export type BindingContext<RecordType extends Record<string, unknown>> = {
|
|
|
204
204
|
*
|
|
205
205
|
* // Document relevancy evaluator (if it exists)
|
|
206
206
|
* const relevancyEvaluator = bindEvaluator<EvaluationData>(
|
|
207
|
-
*
|
|
207
|
+
* createDocumentRelevanceEvaluator({ model: openai("gpt-4") }),
|
|
208
208
|
* {
|
|
209
209
|
* inputMapping: {
|
|
210
210
|
* query: "userQuery",
|
|
@@ -145,7 +145,7 @@ exports.bindEvaluator = bindEvaluator;
|
|
|
145
145
|
*
|
|
146
146
|
* // Document relevancy evaluator (if it exists)
|
|
147
147
|
* const relevancyEvaluator = bindEvaluator<EvaluationData>(
|
|
148
|
-
*
|
|
148
|
+
* createDocumentRelevanceEvaluator({ model: openai("gpt-4") }),
|
|
149
149
|
* {
|
|
150
150
|
* inputMapping: {
|
|
151
151
|
* query: "userQuery",
|