@librechat/agents 3.7.9 → 3.7.10
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/cjs/tools/search/metrics.cjs +234 -0
- package/dist/cjs/tools/search/metrics.cjs.map +1 -0
- package/dist/cjs/tools/search/rerankers.cjs +80 -68
- package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
- package/dist/cjs/tools/search/search.cjs +95 -45
- package/dist/cjs/tools/search/search.cjs.map +1 -1
- package/dist/cjs/tools/search/tool.cjs +77 -49
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/cjs/tools/search/utils.cjs.map +1 -1
- package/dist/esm/tools/search/metrics.mjs +234 -0
- package/dist/esm/tools/search/metrics.mjs.map +1 -0
- package/dist/esm/tools/search/rerankers.mjs +80 -68
- package/dist/esm/tools/search/rerankers.mjs.map +1 -1
- package/dist/esm/tools/search/search.mjs +96 -46
- package/dist/esm/tools/search/search.mjs.map +1 -1
- package/dist/esm/tools/search/tool.mjs +77 -49
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/esm/tools/search/utils.mjs.map +1 -1
- package/dist/types/tools/search/metrics.d.ts +15 -0
- package/dist/types/tools/search/rerankers.d.ts +30 -5
- package/dist/types/tools/search/tool.d.ts +7 -1
- package/dist/types/tools/search/types.d.ts +88 -4
- package/dist/types/tools/search/utils.d.ts +2 -10
- package/package.json +1 -1
- package/src/tools/search/metrics.ts +400 -0
- package/src/tools/search/rerankers.ts +160 -97
- package/src/tools/search/search.ts +139 -56
- package/src/tools/search/tool.ts +126 -62
- package/src/tools/search/types.ts +104 -4
- package/src/tools/search/utils.ts +2 -10
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { createDefaultLogger, getAttribution } from "./utils.mjs";
|
|
1
|
+
import { createDefaultLogger, formatErrorForLog, getAttribution } from "./utils.mjs";
|
|
2
2
|
import { createKeenableAPI } from "./keenable-search.mjs";
|
|
3
3
|
import { createTavilyAPI } from "./tavily-search.mjs";
|
|
4
|
+
import { createSearchMetrics } from "./metrics.mjs";
|
|
4
5
|
import { createCrwAPI } from "./crw-search.mjs";
|
|
5
6
|
import axios from "axios";
|
|
6
7
|
import { RecursiveCharacterTextSplitter } from "@langchain/textsplitters";
|
|
@@ -65,25 +66,35 @@ function createSourceUpdateCallback(sourceMap) {
|
|
|
65
66
|
});
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
|
-
const getHighlights = async ({ query, content, reranker, topResults = 5, maxContentLength = DEFAULT_MAX_CONTENT_LENGTH, chunkOptions
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
const getHighlights = async ({ query, content, reranker, metrics, topResults = 5, maxContentLength = DEFAULT_MAX_CONTENT_LENGTH, chunkOptions }) => {
|
|
70
|
+
if (!content || !reranker) return;
|
|
71
|
+
const chunkStartedAt = Date.now();
|
|
72
|
+
let documents;
|
|
73
|
+
try {
|
|
74
|
+
documents = await chunker.splitText(truncateContent(content, maxContentLength), chunkOptions);
|
|
75
|
+
} catch (error) {
|
|
76
|
+
metrics.recordRerank({
|
|
77
|
+
provider: reranker.provider,
|
|
78
|
+
chunks: 0,
|
|
79
|
+
results: 0,
|
|
80
|
+
durationMs: Date.now() - chunkStartedAt,
|
|
81
|
+
reason: "chunk_error",
|
|
82
|
+
error: formatErrorForLog(error)
|
|
83
|
+
});
|
|
76
84
|
return;
|
|
77
85
|
}
|
|
86
|
+
const rerankStartedAt = Date.now();
|
|
78
87
|
try {
|
|
79
|
-
|
|
80
|
-
if (Array.isArray(documents)) return await reranker.rerank(query, documents, topResults);
|
|
81
|
-
else {
|
|
82
|
-
logger_.error("Expected documents to be an array, got:", typeof documents);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
88
|
+
return await reranker.rerank(query, documents, topResults, metrics);
|
|
85
89
|
} catch (error) {
|
|
86
|
-
|
|
90
|
+
metrics.recordRerank({
|
|
91
|
+
provider: reranker.provider,
|
|
92
|
+
chunks: documents.length,
|
|
93
|
+
results: 0,
|
|
94
|
+
durationMs: Date.now() - rerankStartedAt,
|
|
95
|
+
reason: "error",
|
|
96
|
+
error: formatErrorForLog(error)
|
|
97
|
+
});
|
|
87
98
|
return;
|
|
88
99
|
}
|
|
89
100
|
};
|
|
@@ -324,7 +335,6 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
324
335
|
content: truncateContent(chunker.cleanText(content), maxContentLength)
|
|
325
336
|
};
|
|
326
337
|
}
|
|
327
|
-
logger_.error(`Error scraping ${url}: ${response.error ?? "Unknown error"}`);
|
|
328
338
|
return {
|
|
329
339
|
url,
|
|
330
340
|
attribution,
|
|
@@ -332,50 +342,84 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
332
342
|
content: ""
|
|
333
343
|
};
|
|
334
344
|
};
|
|
335
|
-
const addHighlights = async (result, query, onGetHighlights) => {
|
|
336
|
-
|
|
345
|
+
const addHighlights = async (result, query, metrics, onGetHighlights) => {
|
|
346
|
+
const highlights = await getHighlights({
|
|
347
|
+
query,
|
|
348
|
+
reranker,
|
|
349
|
+
metrics,
|
|
350
|
+
topResults,
|
|
351
|
+
content: result.content,
|
|
352
|
+
maxContentLength,
|
|
353
|
+
chunkOptions
|
|
354
|
+
});
|
|
355
|
+
if (onGetHighlights) onGetHighlights(result.url);
|
|
356
|
+
return {
|
|
357
|
+
...result,
|
|
358
|
+
highlights
|
|
359
|
+
};
|
|
360
|
+
};
|
|
361
|
+
const processLink = async (url, response, query, metrics, onGetHighlights) => {
|
|
362
|
+
let scraped;
|
|
337
363
|
try {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
maxContentLength,
|
|
344
|
-
chunkOptions,
|
|
345
|
-
logger: logger_
|
|
364
|
+
scraped = processResponse(url, response);
|
|
365
|
+
} catch (error) {
|
|
366
|
+
metrics.recordScrape({
|
|
367
|
+
url,
|
|
368
|
+
error: String(error)
|
|
346
369
|
});
|
|
347
|
-
if (onGetHighlights) onGetHighlights(result.url);
|
|
348
370
|
return {
|
|
349
|
-
|
|
350
|
-
|
|
371
|
+
url,
|
|
372
|
+
error: true,
|
|
373
|
+
content: ""
|
|
351
374
|
};
|
|
352
|
-
} catch (error) {
|
|
353
|
-
logger_.error("Error processing scraped content:", error);
|
|
354
|
-
return result;
|
|
355
375
|
}
|
|
376
|
+
if (scraped.error === true) {
|
|
377
|
+
metrics.recordScrape({
|
|
378
|
+
url,
|
|
379
|
+
error: response.error ?? "Unknown error"
|
|
380
|
+
});
|
|
381
|
+
return scraped;
|
|
382
|
+
}
|
|
383
|
+
const result = await addHighlights(scraped, query, metrics, onGetHighlights).catch((error) => {
|
|
384
|
+
logger_.error("Error processing scraped content:", error);
|
|
385
|
+
return scraped;
|
|
386
|
+
});
|
|
387
|
+
metrics.recordScrape({
|
|
388
|
+
url,
|
|
389
|
+
chars: result.content.length,
|
|
390
|
+
highlights: result.highlights?.length ?? 0
|
|
391
|
+
});
|
|
392
|
+
return result;
|
|
356
393
|
};
|
|
357
|
-
const webScraper = { scrapeMany: async ({ query, links, onGetHighlights }) => {
|
|
358
|
-
|
|
394
|
+
const webScraper = { scrapeMany: async ({ query, links, metrics, onGetHighlights }) => {
|
|
395
|
+
let responses;
|
|
359
396
|
try {
|
|
360
|
-
let responses;
|
|
361
397
|
if (scraper.scrapeUrls) responses = await scraper.scrapeUrls(links);
|
|
362
|
-
else responses = await Promise.all(links.map((link) => scraper.scrapeUrl(link, {}).catch((error) => {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
398
|
+
else responses = await Promise.all(links.map((link) => scraper.scrapeUrl(link, {}).catch((error) => [link, {
|
|
399
|
+
success: false,
|
|
400
|
+
error: String(error)
|
|
401
|
+
}])));
|
|
402
|
+
} catch (error) {
|
|
403
|
+
logger_.error("Error in scrapeMany:", error);
|
|
404
|
+
const message = String(error);
|
|
405
|
+
for (const link of links) metrics.recordScrape({
|
|
406
|
+
url: link,
|
|
407
|
+
error: message
|
|
408
|
+
});
|
|
409
|
+
return [];
|
|
410
|
+
}
|
|
411
|
+
try {
|
|
412
|
+
return await Promise.all(responses.map(([url, response]) => processLink(url, response, query, metrics, onGetHighlights)));
|
|
370
413
|
} catch (error) {
|
|
371
414
|
logger_.error("Error in scrapeMany:", error);
|
|
372
415
|
return [];
|
|
373
416
|
}
|
|
374
417
|
} };
|
|
375
|
-
const fetchContents = async ({ links, query, target, onGetHighlights, onContentScraped }) => {
|
|
418
|
+
const fetchContents = async ({ links, query, target, metrics, onGetHighlights, onContentScraped }) => {
|
|
376
419
|
const initialLinks = links.slice(0, target);
|
|
377
420
|
const results = await webScraper.scrapeMany({
|
|
378
421
|
query,
|
|
422
|
+
metrics,
|
|
379
423
|
links: initialLinks,
|
|
380
424
|
onGetHighlights
|
|
381
425
|
});
|
|
@@ -390,7 +434,8 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
390
434
|
});
|
|
391
435
|
}
|
|
392
436
|
};
|
|
393
|
-
const processSources = async ({ result, numElements, query, news, proMode = true, onGetHighlights }) => {
|
|
437
|
+
const processSources = async ({ result, numElements, query, news, proMode = true, onGetHighlights, metrics: ownerMetrics }) => {
|
|
438
|
+
const metrics = ownerMetrics ?? createSearchMetrics(logger_);
|
|
394
439
|
try {
|
|
395
440
|
if (!result.data) return {
|
|
396
441
|
organic: [],
|
|
@@ -407,6 +452,7 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
407
452
|
wikiSourceMap.set(wikiSources[0].link, wikiSources[0]);
|
|
408
453
|
await fetchContents({
|
|
409
454
|
query,
|
|
455
|
+
metrics,
|
|
410
456
|
target: 1,
|
|
411
457
|
onGetHighlights,
|
|
412
458
|
onContentScraped: createSourceUpdateCallback(wikiSourceMap),
|
|
@@ -432,6 +478,7 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
432
478
|
const promises = [];
|
|
433
479
|
if (organicLinks.length > 0) promises.push(fetchContents({
|
|
434
480
|
query,
|
|
481
|
+
metrics,
|
|
435
482
|
onGetHighlights,
|
|
436
483
|
onContentScraped,
|
|
437
484
|
links: organicLinks,
|
|
@@ -439,6 +486,7 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
439
486
|
}));
|
|
440
487
|
if (news && topStoryLinks.length > 0) promises.push(fetchContents({
|
|
441
488
|
query,
|
|
489
|
+
metrics,
|
|
442
490
|
onGetHighlights,
|
|
443
491
|
onContentScraped,
|
|
444
492
|
links: topStoryLinks,
|
|
@@ -458,6 +506,8 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
|
|
|
458
506
|
...result.data,
|
|
459
507
|
error: error instanceof Error ? error.message : String(error)
|
|
460
508
|
};
|
|
509
|
+
} finally {
|
|
510
|
+
if (ownerMetrics == null) metrics.flush();
|
|
461
511
|
}
|
|
462
512
|
};
|
|
463
513
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.mjs","names":[],"sources":["../../../../src/tools/search/search.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.mjs","names":[],"sources":["../../../../src/tools/search/search.ts"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { createDefaultLogger } from "./utils.mjs";
|
|
|
4
4
|
import { formatResultsForLLM } from "./format.mjs";
|
|
5
5
|
import { INTENT_PROPERTY } from "../intentArg.mjs";
|
|
6
6
|
import { WebSearchToolDescription, WebSearchToolName, countrySchema, dateSchema, imagesSchema, newsSchema, querySchema, videosSchema } from "./schema.mjs";
|
|
7
|
+
import { createSearchMetrics } from "./metrics.mjs";
|
|
7
8
|
import { createSearchAPI, createSourceProcessor } from "./search.mjs";
|
|
8
9
|
import { createKeenableScraper } from "./keenable-scraper.mjs";
|
|
9
10
|
import { createSerperScraper } from "./serper-scraper.mjs";
|
|
@@ -20,53 +21,73 @@ function resolveSearchOutcome(data, query) {
|
|
|
20
21
|
if (count === 0) return;
|
|
21
22
|
return `Found ${count} result${count === 1 ? "" : "s"} for "${query}"`;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
24
|
+
const countWebResults = (data) => {
|
|
25
|
+
const organic = data.organic ?? [];
|
|
26
|
+
const topStories = data.topStories ?? [];
|
|
27
|
+
if (organic.length === 0 || topStories.length === 0) return organic.length + topStories.length;
|
|
28
|
+
const links = /* @__PURE__ */ new Set();
|
|
29
|
+
let unlinked = 0;
|
|
30
|
+
for (const row of [...organic, ...topStories]) {
|
|
31
|
+
if (row.link) {
|
|
32
|
+
links.add(row.link);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
unlinked += 1;
|
|
36
|
+
}
|
|
37
|
+
return links.size + unlinked;
|
|
38
|
+
};
|
|
39
|
+
const countResults = (type, data) => {
|
|
40
|
+
if (data == null) return 0;
|
|
41
|
+
if (type === "images") return data.images?.length ?? 0;
|
|
42
|
+
if (type === "videos") return data.videos?.length ?? 0;
|
|
43
|
+
if (type === "news") return data.news?.length ?? 0;
|
|
44
|
+
return countWebResults(data);
|
|
45
|
+
};
|
|
46
|
+
async function executeParallelSearches({ searchAPI, query, date, country, safeSearch, images, videos, news, logger, provider = "unknown", metrics }) {
|
|
47
|
+
const collector = metrics ?? createSearchMetrics(logger);
|
|
48
|
+
let mainFailure;
|
|
49
|
+
const runSearch = async (type) => {
|
|
50
|
+
const startedAt = Date.now();
|
|
51
|
+
try {
|
|
52
|
+
const result = await searchAPI.getSources({
|
|
53
|
+
query,
|
|
54
|
+
date,
|
|
55
|
+
country,
|
|
56
|
+
safeSearch,
|
|
57
|
+
...type !== "web" && { type }
|
|
58
|
+
});
|
|
59
|
+
collector.recordSearch({
|
|
60
|
+
provider,
|
|
61
|
+
type,
|
|
62
|
+
results: countResults(type, result.data),
|
|
63
|
+
durationMs: Date.now() - startedAt,
|
|
64
|
+
error: result.success ? void 0 : result.error ?? "Search failed"
|
|
65
|
+
});
|
|
66
|
+
return result;
|
|
67
|
+
} catch (error) {
|
|
68
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
69
|
+
collector.recordSearch({
|
|
70
|
+
provider,
|
|
71
|
+
type,
|
|
72
|
+
results: 0,
|
|
73
|
+
durationMs: Date.now() - startedAt,
|
|
74
|
+
error: message,
|
|
75
|
+
thrown: true
|
|
76
|
+
});
|
|
77
|
+
if (type === "web") mainFailure = { error };
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
error: message
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const searchTasks = [runSearch("web")];
|
|
85
|
+
if (images) searchTasks.push(runSearch("images"));
|
|
86
|
+
if (videos) searchTasks.push(runSearch("videos"));
|
|
87
|
+
if (news) searchTasks.push(runSearch("news"));
|
|
69
88
|
const results = await Promise.all(searchTasks);
|
|
89
|
+
if (metrics == null) collector.flush();
|
|
90
|
+
if (mainFailure != null) throw mainFailure.error;
|
|
70
91
|
const mainResult = results[0];
|
|
71
92
|
if (!mainResult.success) throw new Error(mainResult.error ?? "Search failed");
|
|
72
93
|
const mergedResults = { ...mainResult.data };
|
|
@@ -108,8 +129,9 @@ async function executeParallelSearches({ searchAPI, query, date, country, safeSe
|
|
|
108
129
|
data: mergedResults
|
|
109
130
|
};
|
|
110
131
|
}
|
|
111
|
-
function createSearchProcessor({ searchAPI, safeSearch, supportsImages, supportsVideos, supportsNews, sourceProcessor, onGetHighlights, mainExpandBy, separatorExpandBy, logger }) {
|
|
132
|
+
function createSearchProcessor({ searchAPI, provider, safeSearch, supportsImages, supportsVideos, supportsNews, sourceProcessor, onGetHighlights, mainExpandBy, separatorExpandBy, logger }) {
|
|
112
133
|
return async function({ query, date, country, proMode = true, maxSources = 5, onSearchResults, images = false, videos = false, news = false }) {
|
|
134
|
+
const metrics = createSearchMetrics(logger);
|
|
113
135
|
try {
|
|
114
136
|
const searchResult = await executeParallelSearches({
|
|
115
137
|
searchAPI,
|
|
@@ -120,12 +142,15 @@ function createSearchProcessor({ searchAPI, safeSearch, supportsImages, supports
|
|
|
120
142
|
images: supportsImages && images,
|
|
121
143
|
videos: supportsVideos && videos,
|
|
122
144
|
news: supportsNews && news,
|
|
123
|
-
logger
|
|
145
|
+
logger,
|
|
146
|
+
provider,
|
|
147
|
+
metrics
|
|
124
148
|
});
|
|
125
149
|
onSearchResults?.(searchResult);
|
|
126
150
|
return expandHighlights(await sourceProcessor.processSources({
|
|
127
151
|
query,
|
|
128
152
|
news,
|
|
153
|
+
metrics,
|
|
129
154
|
result: searchResult,
|
|
130
155
|
proMode,
|
|
131
156
|
onGetHighlights,
|
|
@@ -142,6 +167,8 @@ function createSearchProcessor({ searchAPI, safeSearch, supportsImages, supports
|
|
|
142
167
|
relatedSearches: [],
|
|
143
168
|
error: error instanceof Error ? error.message : String(error)
|
|
144
169
|
};
|
|
170
|
+
} finally {
|
|
171
|
+
metrics.flush();
|
|
145
172
|
}
|
|
146
173
|
};
|
|
147
174
|
}
|
|
@@ -285,7 +312,7 @@ const createSearchTool = (config = {}) => {
|
|
|
285
312
|
httpsAgent,
|
|
286
313
|
logger
|
|
287
314
|
});
|
|
288
|
-
if (!selectedReranker) logger.warn("No reranker selected. Using default ranking.");
|
|
315
|
+
if (!selectedReranker && rerankerType !== "none") logger.warn("No reranker selected. Using default ranking.");
|
|
289
316
|
const sourceProcessor = createSourceProcessor({
|
|
290
317
|
reranker: selectedReranker,
|
|
291
318
|
topResults,
|
|
@@ -299,6 +326,7 @@ const createSearchTool = (config = {}) => {
|
|
|
299
326
|
return createTool({
|
|
300
327
|
search: createSearchProcessor({
|
|
301
328
|
searchAPI,
|
|
329
|
+
provider: searchProvider,
|
|
302
330
|
safeSearch,
|
|
303
331
|
supportsImages: searchProvider !== "keenable",
|
|
304
332
|
supportsVideos: searchProvider !== "tavily" && searchProvider !== "keenable" && searchProvider !== "crw",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.mjs","names":["params"],"sources":["../../../../src/tools/search/tool.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool.mjs","names":["params"],"sources":["../../../../src/tools/search/tool.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../../src/tools/search/utils.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../../src/tools/search/utils.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type * as t from './types';
|
|
2
|
+
export declare const classifyFailure: (message?: string) => string;
|
|
3
|
+
/**
|
|
4
|
+
* Creates the counter set for one `web_search` call.
|
|
5
|
+
*
|
|
6
|
+
* The pipeline reranks once per scraped source and scrapes once per link, so
|
|
7
|
+
* logging at those points scales the log with the result count. Every phase
|
|
8
|
+
* records into fixed-width counters instead and {@link t.SearchMetrics.flush}
|
|
9
|
+
* emits one line per phase, at the highest severity that phase reached.
|
|
10
|
+
*
|
|
11
|
+
* @param autoFlush emit on every record, for a caller with no enclosing search
|
|
12
|
+
* to fold into (a reranker used directly). Recording is synchronous, so the
|
|
13
|
+
* record/flush/reset cycle can never interleave with a concurrent call.
|
|
14
|
+
*/
|
|
15
|
+
export declare const createSearchMetrics: (logger: t.Logger, autoFlush?: boolean) => t.SearchMetrics;
|
|
@@ -2,11 +2,33 @@ import type * as t from './types';
|
|
|
2
2
|
export declare abstract class BaseReranker {
|
|
3
3
|
protected apiKey: string | undefined;
|
|
4
4
|
protected logger: t.Logger;
|
|
5
|
+
/** Public so a caller that fails before reaching `rerank` can still
|
|
6
|
+
* attribute the attempt to the configured reranker. */
|
|
7
|
+
abstract readonly provider: string;
|
|
8
|
+
private ownMetrics?;
|
|
5
9
|
constructor(logger?: t.Logger);
|
|
6
|
-
|
|
10
|
+
/**
|
|
11
|
+
* A search reranks once per scraped source, so nothing here logs per call:
|
|
12
|
+
* every exit records one observation through `metrics` and the enclosing
|
|
13
|
+
* search emits a single summary. `metrics` is optional only for direct use
|
|
14
|
+
* of a reranker, which falls back to an auto-flushing collector.
|
|
15
|
+
*/
|
|
16
|
+
abstract rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
|
|
7
17
|
protected getDefaultRanking(documents: string[], topK: number): t.Highlight[];
|
|
18
|
+
/** A direct caller has no enclosing search to fold into, so one
|
|
19
|
+
* auto-flushing collector per instance emits that call's summary on its
|
|
20
|
+
* own; record and flush run synchronously, so concurrent calls on the same
|
|
21
|
+
* instance cannot share a total. */
|
|
22
|
+
private localMetrics;
|
|
23
|
+
/** Opens the per-call state every exit path records against. */
|
|
24
|
+
protected beginRerank(documents: string[], topK: number, metrics?: t.SearchMetrics): t.RerankRun;
|
|
25
|
+
private record;
|
|
26
|
+
protected complete(run: t.RerankRun, highlights: t.Highlight[]): t.Highlight[];
|
|
27
|
+
/** Records the call as a fallback and returns the candidates' input order. */
|
|
28
|
+
protected fallback(run: t.RerankRun, reason: t.RerankFallback, error?: t.SafeErrorLog): t.Highlight[];
|
|
8
29
|
}
|
|
9
30
|
export declare class JinaReranker extends BaseReranker {
|
|
31
|
+
readonly provider = "jina";
|
|
10
32
|
private apiUrl;
|
|
11
33
|
private timeout;
|
|
12
34
|
private httpAgent?;
|
|
@@ -17,9 +39,10 @@ export declare class JinaReranker extends BaseReranker {
|
|
|
17
39
|
timeout?: number;
|
|
18
40
|
logger?: t.Logger;
|
|
19
41
|
} & t.HttpAgentConfig);
|
|
20
|
-
rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
|
|
42
|
+
rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
|
|
21
43
|
}
|
|
22
44
|
export declare class CohereReranker extends BaseReranker {
|
|
45
|
+
readonly provider = "cohere";
|
|
23
46
|
private timeout;
|
|
24
47
|
private httpAgent?;
|
|
25
48
|
private httpsAgent?;
|
|
@@ -28,7 +51,7 @@ export declare class CohereReranker extends BaseReranker {
|
|
|
28
51
|
timeout?: number;
|
|
29
52
|
logger?: t.Logger;
|
|
30
53
|
} & t.HttpAgentConfig);
|
|
31
|
-
rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
|
|
54
|
+
rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
|
|
32
55
|
}
|
|
33
56
|
/**
|
|
34
57
|
* Calls the public `danny-avila/rag_api` `/v1/rerank` endpoint (the
|
|
@@ -40,6 +63,7 @@ export declare class CohereReranker extends BaseReranker {
|
|
|
40
63
|
* to the candidates' original order via {@link BaseReranker.getDefaultRanking}.
|
|
41
64
|
*/
|
|
42
65
|
export declare class RagApiReranker extends BaseReranker {
|
|
66
|
+
readonly provider = "rag-api";
|
|
43
67
|
private baseUrl?;
|
|
44
68
|
private tokenSupplier?;
|
|
45
69
|
private profile;
|
|
@@ -53,11 +77,12 @@ export declare class RagApiReranker extends BaseReranker {
|
|
|
53
77
|
timeout?: number;
|
|
54
78
|
logger?: t.Logger;
|
|
55
79
|
} & t.HttpAgentConfig);
|
|
56
|
-
rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
|
|
80
|
+
rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
|
|
57
81
|
}
|
|
58
82
|
export declare class InfinityReranker extends BaseReranker {
|
|
83
|
+
readonly provider = "infinity";
|
|
59
84
|
constructor(logger?: t.Logger);
|
|
60
|
-
rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
|
|
85
|
+
rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
|
|
61
86
|
}
|
|
62
87
|
/**
|
|
63
88
|
* Creates the appropriate reranker based on type and configuration
|
|
@@ -24,7 +24,7 @@ export declare function resolveSearchOutcome(data: t.SearchResultData, query: st
|
|
|
24
24
|
* Executes parallel searches and merges the results,
|
|
25
25
|
* deduplicating top stories by link
|
|
26
26
|
*/
|
|
27
|
-
export declare function executeParallelSearches({ searchAPI, query, date, country, safeSearch, images, videos, news, logger, }: {
|
|
27
|
+
export declare function executeParallelSearches({ searchAPI, query, date, country, safeSearch, images, videos, news, logger, provider, metrics, }: {
|
|
28
28
|
searchAPI: ReturnType<typeof createSearchAPI>;
|
|
29
29
|
query: string;
|
|
30
30
|
date?: DATE_RANGE;
|
|
@@ -34,5 +34,11 @@ export declare function executeParallelSearches({ searchAPI, query, date, countr
|
|
|
34
34
|
videos: boolean;
|
|
35
35
|
news: boolean;
|
|
36
36
|
logger: t.Logger;
|
|
37
|
+
/** Labels the provider in the run summary. Optional so the pre-existing
|
|
38
|
+
* call contract still holds for callers outside this package. */
|
|
39
|
+
provider?: string;
|
|
40
|
+
/** Collector owned by the caller. Without one, this call opens and flushes
|
|
41
|
+
* its own, so a direct caller still gets the single summary line. */
|
|
42
|
+
metrics?: t.SearchMetrics;
|
|
37
43
|
}): Promise<t.SearchResult>;
|
|
38
44
|
export declare const createSearchTool: (config?: t.SearchToolConfig) => DynamicStructuredTool;
|