20 lines
886 B
JavaScript
20 lines
886 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createRetrieverTool = void 0;
|
|
const zod_1 = require("zod");
|
|
const tools_1 = require("@langchain/core/tools");
|
|
const document_js_1 = require("../../../util/document.cjs");
|
|
/** @deprecated Use "langchain/tools/retriever" instead. */
|
|
function createRetrieverTool(retriever, input) {
|
|
const func = async ({ input }, runManager) => {
|
|
const docs = await retriever.getRelevantDocuments(input, runManager?.getChild("retriever"));
|
|
return (0, document_js_1.formatDocumentsAsString)(docs);
|
|
};
|
|
const schema = zod_1.z.object({
|
|
input: zod_1.z
|
|
.string()
|
|
.describe("Natural language query used as input to the retriever"),
|
|
});
|
|
return new tools_1.DynamicStructuredTool({ ...input, func, schema });
|
|
}
|
|
exports.createRetrieverTool = createRetrieverTool;
|