@absolutejs/absolute 0.19.0-beta.515 → 0.19.0-beta.517
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/ai/client/index.js +112 -1
- package/dist/ai/client/index.js.map +3 -3
- package/dist/ai/index.js +3223 -3105
- package/dist/ai/index.js.map +6 -6
- package/dist/angular/index.js +2 -2
- package/dist/angular/index.js.map +1 -1
- package/dist/angular/server.js +2 -2
- package/dist/angular/server.js.map +1 -1
- package/dist/build.js +2 -2
- package/dist/build.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/react/ai/index.js +112 -1
- package/dist/react/ai/index.js.map +3 -3
- package/dist/src/ai/index.d.ts +2 -2
- package/dist/src/ai/rag/index.d.ts +3 -2
- package/dist/src/ai/rag/quality.d.ts +7 -1
- package/dist/src/ai/rag/types.d.ts +1 -1
- package/dist/svelte/ai/index.js +112 -1
- package/dist/svelte/ai/index.js.map +3 -3
- package/dist/types/ai.d.ts +61 -0
- package/dist/vue/ai/index.js +112 -1
- package/dist/vue/ai/index.js.map +3 -3
- package/package.json +1 -1
package/dist/react/ai/index.js
CHANGED
|
@@ -1647,6 +1647,30 @@ var buildSources = (results) => results.map((result) => ({
|
|
|
1647
1647
|
text: result.chunkText,
|
|
1648
1648
|
title: result.title
|
|
1649
1649
|
}));
|
|
1650
|
+
var buildAnswerGroundingStatus = ({
|
|
1651
|
+
coverage,
|
|
1652
|
+
expectedCount,
|
|
1653
|
+
matchedCount,
|
|
1654
|
+
unresolvedCitationCount,
|
|
1655
|
+
resolvedCitationCount
|
|
1656
|
+
}) => {
|
|
1657
|
+
if (expectedCount > 0) {
|
|
1658
|
+
if (matchedCount === expectedCount && unresolvedCitationCount === 0 && coverage !== "ungrounded") {
|
|
1659
|
+
return "pass";
|
|
1660
|
+
}
|
|
1661
|
+
if (matchedCount > 0 || resolvedCitationCount > 0) {
|
|
1662
|
+
return "partial";
|
|
1663
|
+
}
|
|
1664
|
+
return "fail";
|
|
1665
|
+
}
|
|
1666
|
+
if (coverage === "grounded" && unresolvedCitationCount === 0) {
|
|
1667
|
+
return "pass";
|
|
1668
|
+
}
|
|
1669
|
+
if (resolvedCitationCount > 0 || coverage === "partial") {
|
|
1670
|
+
return "partial";
|
|
1671
|
+
}
|
|
1672
|
+
return "fail";
|
|
1673
|
+
};
|
|
1650
1674
|
var buildRAGEvaluationLeaderboard = (runs) => {
|
|
1651
1675
|
const sorted = [...runs].sort((left, right) => {
|
|
1652
1676
|
if (right.response.passingRate !== left.response.passingRate) {
|
|
@@ -1799,6 +1823,93 @@ var buildRAGEvaluationResponse = (cases) => {
|
|
|
1799
1823
|
totalCases
|
|
1800
1824
|
};
|
|
1801
1825
|
};
|
|
1826
|
+
var evaluateRAGAnswerGroundingCase = ({
|
|
1827
|
+
caseIndex,
|
|
1828
|
+
caseInput
|
|
1829
|
+
}) => {
|
|
1830
|
+
const mode = resolveEvaluationMode(caseInput);
|
|
1831
|
+
const expectedIds = normalizeExpectedIds(mode === "chunkId" ? caseInput.expectedChunkIds ?? [] : mode === "source" ? caseInput.expectedSources ?? [] : caseInput.expectedDocumentIds ?? []);
|
|
1832
|
+
const groundedAnswer = buildRAGGroundedAnswer(caseInput.answer, caseInput.sources);
|
|
1833
|
+
const citedReferences = groundedAnswer.parts.flatMap((part) => part.type === "citation" ? part.references : []);
|
|
1834
|
+
const citedIds = normalizeExpectedIds(citedReferences.map((reference) => extractExpectedId(reference, mode)));
|
|
1835
|
+
const expectedSet = new Set(expectedIds);
|
|
1836
|
+
const citedSet = new Set(citedIds);
|
|
1837
|
+
const matchedIds = normalizeExpectedIds([...expectedSet].filter((id) => citedSet.has(id)));
|
|
1838
|
+
const missingIds = normalizeExpectedIds([...expectedSet].filter((id) => !citedSet.has(id)));
|
|
1839
|
+
const extraIds = normalizeExpectedIds([...citedSet].filter((id) => !expectedSet.has(id)));
|
|
1840
|
+
const matchedCount = matchedIds.length;
|
|
1841
|
+
const expectedCount = expectedIds.length;
|
|
1842
|
+
const citedCount = citedIds.length;
|
|
1843
|
+
const precision = citedCount > 0 ? matchedCount / citedCount : 0;
|
|
1844
|
+
const recall = expectedCount > 0 ? matchedCount / expectedCount : 0;
|
|
1845
|
+
const citationF1 = precision + recall > 0 ? 2 * precision * recall / (precision + recall) : 0;
|
|
1846
|
+
const citationCount = groundedAnswer.parts.filter((part) => part.type === "citation").length;
|
|
1847
|
+
const unresolvedCitationCount = new Set(groundedAnswer.ungroundedReferenceNumbers).size;
|
|
1848
|
+
const resolvedCitationCount = citedReferences.length;
|
|
1849
|
+
const resolvedCitationRate = citationCount > 0 ? Math.min(1, resolvedCitationCount / citationCount) : 0;
|
|
1850
|
+
return {
|
|
1851
|
+
answer: caseInput.answer,
|
|
1852
|
+
caseId: caseInput.id ?? `case-${caseIndex + 1}`,
|
|
1853
|
+
citationCount,
|
|
1854
|
+
citationF1,
|
|
1855
|
+
citationPrecision: precision,
|
|
1856
|
+
citationRecall: recall,
|
|
1857
|
+
citedIds,
|
|
1858
|
+
coverage: groundedAnswer.coverage,
|
|
1859
|
+
expectedCount,
|
|
1860
|
+
expectedIds,
|
|
1861
|
+
extraIds,
|
|
1862
|
+
groundedAnswer,
|
|
1863
|
+
hasCitations: groundedAnswer.hasCitations,
|
|
1864
|
+
label: caseInput.label,
|
|
1865
|
+
matchedCount,
|
|
1866
|
+
matchedIds,
|
|
1867
|
+
metadata: caseInput.metadata,
|
|
1868
|
+
missingIds,
|
|
1869
|
+
mode,
|
|
1870
|
+
query: caseInput.query,
|
|
1871
|
+
referenceCount: groundedAnswer.references.length,
|
|
1872
|
+
resolvedCitationCount,
|
|
1873
|
+
resolvedCitationRate,
|
|
1874
|
+
status: buildAnswerGroundingStatus({
|
|
1875
|
+
coverage: groundedAnswer.coverage,
|
|
1876
|
+
expectedCount,
|
|
1877
|
+
matchedCount,
|
|
1878
|
+
resolvedCitationCount,
|
|
1879
|
+
unresolvedCitationCount
|
|
1880
|
+
}),
|
|
1881
|
+
unresolvedCitationCount
|
|
1882
|
+
};
|
|
1883
|
+
};
|
|
1884
|
+
var buildRAGAnswerGroundingEvaluationResponse = (cases) => {
|
|
1885
|
+
const totalCases = cases.length;
|
|
1886
|
+
const passedCases = cases.filter((entry) => entry.status === "pass").length;
|
|
1887
|
+
const partialCases = cases.filter((entry) => entry.status === "partial").length;
|
|
1888
|
+
const failedCases = cases.filter((entry) => entry.status === "fail").length;
|
|
1889
|
+
const groundedCases = cases.filter((entry) => entry.coverage === "grounded").length;
|
|
1890
|
+
const partiallyGroundedCases = cases.filter((entry) => entry.coverage === "partial").length;
|
|
1891
|
+
const ungroundedCases = cases.filter((entry) => entry.coverage === "ungrounded").length;
|
|
1892
|
+
return {
|
|
1893
|
+
cases,
|
|
1894
|
+
ok: true,
|
|
1895
|
+
passingRate: totalCases > 0 ? passedCases / totalCases * 100 : 0,
|
|
1896
|
+
summary: {
|
|
1897
|
+
averageCitationF1: cases.reduce((sum, result) => sum + result.citationF1, 0) / (totalCases || 1),
|
|
1898
|
+
averageCitationPrecision: cases.reduce((sum, result) => sum + result.citationPrecision, 0) / (totalCases || 1),
|
|
1899
|
+
averageCitationRecall: cases.reduce((sum, result) => sum + result.citationRecall, 0) / (totalCases || 1),
|
|
1900
|
+
averageResolvedCitationRate: cases.reduce((sum, result) => sum + result.resolvedCitationRate, 0) / (totalCases || 1),
|
|
1901
|
+
failedCases,
|
|
1902
|
+
groundedCases,
|
|
1903
|
+
partiallyGroundedCases,
|
|
1904
|
+
passedCases,
|
|
1905
|
+
partialCases,
|
|
1906
|
+
totalCases,
|
|
1907
|
+
ungroundedCases
|
|
1908
|
+
},
|
|
1909
|
+
totalCases
|
|
1910
|
+
};
|
|
1911
|
+
};
|
|
1912
|
+
var evaluateRAGAnswerGrounding = (input) => buildRAGAnswerGroundingEvaluationResponse(input.cases.map((caseInput, caseIndex) => evaluateRAGAnswerGroundingCase({ caseIndex, caseInput })));
|
|
1802
1913
|
var compareRAGRerankers = async ({
|
|
1803
1914
|
collection,
|
|
1804
1915
|
suite,
|
|
@@ -2953,5 +3064,5 @@ export {
|
|
|
2953
3064
|
AIStreamProvider
|
|
2954
3065
|
};
|
|
2955
3066
|
|
|
2956
|
-
//# debugId=
|
|
3067
|
+
//# debugId=586E6D6CBA45E2DA64756E2164756E21
|
|
2957
3068
|
//# sourceMappingURL=index.js.map
|