@nestjs-ai/rag
Advanced tools
+14
-0
| # @nestjs-ai/rag | ||
| ## 0.1.0 | ||
| ### Minor Changes | ||
| - ed9c6e0: Migrate CJS to ESM | ||
| ### Patch Changes | ||
| - Updated dependencies [ed9c6e0] | ||
| - @nestjs-ai/client-chat@0.1.0 | ||
| - @nestjs-ai/commons@0.1.0 | ||
| - @nestjs-ai/model@0.1.0 | ||
| - @nestjs-ai/vector-store@0.1.0 | ||
| ## 0.0.2 | ||
@@ -4,0 +18,0 @@ |
@@ -1,2 +0,2 @@ | ||
| export { RetrievalAugmentationAdvisor, type RetrievalAugmentationAdvisorProps, } from "./retrieval-augmentation-advisor"; | ||
| export { RetrievalAugmentationAdvisor, type RetrievalAugmentationAdvisorProps, } from "./retrieval-augmentation-advisor.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/advisor/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,4BAA4B,EAC5B,KAAK,iCAAiC,GACvC,MAAM,kCAAkC,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/advisor/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,4BAA4B,EAC5B,KAAK,iCAAiC,GACvC,MAAM,qCAAqC,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,6 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.RetrievalAugmentationAdvisor = void 0; | ||
| var retrieval_augmentation_advisor_1 = require("./retrieval-augmentation-advisor"); | ||
| Object.defineProperty(exports, "RetrievalAugmentationAdvisor", { enumerable: true, get: function () { return retrieval_augmentation_advisor_1.RetrievalAugmentationAdvisor; } }); | ||
| export { RetrievalAugmentationAdvisor, } from "./retrieval-augmentation-advisor.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/advisor/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,mFAG0C;AAFxC,8IAAA,4BAA4B,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/advisor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,4BAA4B,GAE7B,MAAM,qCAAqC,CAAC"} |
| import { type AdvisorChain, BaseAdvisor, type ChatClientRequest, ChatClientResponse } from "@nestjs-ai/client-chat"; | ||
| import { type QueryAugmenter } from "../generation"; | ||
| import type { DocumentPostProcessor } from "../postretrieval"; | ||
| import type { QueryExpander, QueryTransformer } from "../preretrieval"; | ||
| import { type DocumentJoiner, type DocumentRetriever } from "../retrieval"; | ||
| import { type QueryAugmenter } from "../generation/index.js"; | ||
| import type { DocumentPostProcessor } from "../postretrieval/index.js"; | ||
| import type { QueryExpander, QueryTransformer } from "../preretrieval/index.js"; | ||
| import { type DocumentJoiner, type DocumentRetriever } from "../retrieval/index.js"; | ||
| export interface RetrievalAugmentationAdvisorProps { | ||
@@ -7,0 +7,0 @@ queryTransformers?: QueryTransformer[] | null; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retrieval-augmentation-advisor.d.ts","sourceRoot":"","sources":["../../src/advisor/retrieval-augmentation-advisor.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,iBAAiB,EACtB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,iCAAiC;IAChD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IACxD,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,WAAW;IAC3D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0BAA0B;IAE1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,KAAK,EAAE,iCAAiC;IAkCrC,MAAM,CACnB,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAuD7B;;;OAGG;YACW,oBAAoB;IAOnB,KAAK,CAClB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAsB9B,IAAa,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,CAEjD;IAED,IAAa,KAAK,IAAI,MAAM,CAE3B;CACF"} | ||
| {"version":3,"file":"retrieval-augmentation-advisor.d.ts","sourceRoot":"","sources":["../../src/advisor/retrieval-augmentation-advisor.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,iBAAiB,EACtB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iCAAiC;IAChD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IACxD,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,WAAW;IAC3D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0BAA0B;IAE1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,KAAK,EAAE,iCAAiC;IAkCrC,MAAM,CACnB,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAuD7B;;;OAGG;YACW,oBAAoB;IAOnB,KAAK,CAClB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAsB9B,IAAa,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,CAEjD;IAED,IAAa,KAAK,IAAI,MAAM,CAE3B;CACF"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,13 +16,8 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.RetrievalAugmentationAdvisor = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const client_chat_1 = require("@nestjs-ai/client-chat"); | ||
| const model_1 = require("@nestjs-ai/model"); | ||
| const generation_1 = require("../generation"); | ||
| const query_1 = require("../query"); | ||
| const retrieval_1 = require("../retrieval"); | ||
| import assert from "node:assert/strict"; | ||
| import { BaseAdvisor, ChatClientResponse, } from "@nestjs-ai/client-chat"; | ||
| import { ChatResponse } from "@nestjs-ai/model"; | ||
| import { ContextualQueryAugmenter, } from "../generation/index.js"; | ||
| import { Query } from "../query.js"; | ||
| import { ConcatenationDocumentJoiner, } from "../retrieval/index.js"; | ||
| /** | ||
@@ -34,3 +28,3 @@ * Advisor that implements common Retrieval Augmented Generation (RAG) flows using the | ||
| */ | ||
| class RetrievalAugmentationAdvisor extends client_chat_1.BaseAdvisor { | ||
| export class RetrievalAugmentationAdvisor extends BaseAdvisor { | ||
| static DOCUMENT_CONTEXT = "rag_document_context"; | ||
@@ -47,6 +41,6 @@ _queryTransformers; | ||
| super(); | ||
| (0, strict_1.default)(props.documentRetriever != null, "documentRetriever cannot be null"); | ||
| assert(props.documentRetriever != null, "documentRetriever cannot be null"); | ||
| if (props.queryTransformers != null) { | ||
| for (const queryTransformer of props.queryTransformers) { | ||
| (0, strict_1.default)(queryTransformer != null, "queryTransformers cannot contain null elements"); | ||
| assert(queryTransformer != null, "queryTransformers cannot contain null elements"); | ||
| } | ||
@@ -56,3 +50,3 @@ } | ||
| for (const documentPostProcessor of props.documentPostProcessors) { | ||
| (0, strict_1.default)(documentPostProcessor != null, "documentPostProcessors cannot contain null elements"); | ||
| assert(documentPostProcessor != null, "documentPostProcessors cannot contain null elements"); | ||
| } | ||
@@ -64,7 +58,7 @@ } | ||
| this._documentJoiner = | ||
| props.documentJoiner ?? new retrieval_1.ConcatenationDocumentJoiner(); | ||
| props.documentJoiner ?? new ConcatenationDocumentJoiner(); | ||
| this._documentPostProcessors = props.documentPostProcessors ?? []; | ||
| this._queryAugmenter = | ||
| props.queryAugmenter ?? new generation_1.ContextualQueryAugmenter(); | ||
| this._scheduler = props.scheduler ?? client_chat_1.BaseAdvisor.DEFAULT_SCHEDULER; | ||
| props.queryAugmenter ?? new ContextualQueryAugmenter(); | ||
| this._scheduler = props.scheduler ?? BaseAdvisor.DEFAULT_SCHEDULER; | ||
| this._order = props.order ?? 0; | ||
@@ -76,3 +70,3 @@ } | ||
| const text = chatClientRequest.prompt.userMessage.text; | ||
| const originalQuery = query_1.Query.builder() | ||
| const originalQuery = Query.builder() | ||
| .text(text ?? "") | ||
@@ -121,4 +115,4 @@ .history(chatClientRequest.prompt.instructions) | ||
| const chatResponseBuilder = chatClientResponse.chatResponse == null | ||
| ? model_1.ChatResponse.builder().generations([]) | ||
| : model_1.ChatResponse.builder().from(chatClientResponse.chatResponse); | ||
| ? ChatResponse.builder().generations([]) | ||
| : ChatResponse.builder().from(chatClientResponse.chatResponse); | ||
| const ctx = chatClientResponse.context.get(RetrievalAugmentationAdvisor.DOCUMENT_CONTEXT); | ||
@@ -128,3 +122,3 @@ if (ctx != null) { | ||
| } | ||
| return client_chat_1.ChatClientResponse.builder() | ||
| return ChatClientResponse.builder() | ||
| .chatResponse(chatResponseBuilder.build()) | ||
@@ -141,3 +135,2 @@ .context(chatClientResponse.context) | ||
| } | ||
| exports.RetrievalAugmentationAdvisor = RetrievalAugmentationAdvisor; | ||
| //# sourceMappingURL=retrieval-augmentation-advisor.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"retrieval-augmentation-advisor.js","sourceRoot":"","sources":["../../src/advisor/retrieval-augmentation-advisor.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"retrieval-augmentation-advisor.js","sourceRoot":"","sources":["../../src/advisor/retrieval-augmentation-advisor.ts"],"names":[],"mappings":"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"} |
@@ -1,5 +0,5 @@ | ||
| import { type Document } from "@nestjs-ai/commons"; | ||
| import type { Document } from "@nestjs-ai/commons"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import { Query } from "../../query"; | ||
| import { QueryAugmenter } from "./query-augmenter"; | ||
| import { Query } from "../../query.js"; | ||
| import { QueryAugmenter } from "./query-augmenter.js"; | ||
| export interface ContextualQueryAugmenterProps { | ||
@@ -6,0 +6,0 @@ promptTemplate?: PromptTemplate | null; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"contextual-query-augmenter.d.ts","sourceRoot":"","sources":["../../../src/generation/augmentation/contextual-query-augmenter.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,QAAQ,EAA8B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,0BAA0B,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAiB7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qCAAqC,CAIzD;IAEJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IAE5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAMhC;IAElB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC;IAEpD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAEpC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;gBAElD,KAAK,GAAE,6BAAkC;IAqB5C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK;IAuB5D,OAAO,CAAC,4BAA4B;CAYrC"} | ||
| {"version":3,"file":"contextual-query-augmenter.d.ts","sourceRoot":"","sources":["../../../src/generation/augmentation/contextual-query-augmenter.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,0BAA0B,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAiB7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qCAAqC,CAIzD;IAEJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IAE5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAMhC;IAElB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC;IAEpD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAEpC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;gBAElD,KAAK,GAAE,6BAAkC;IAqB5C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK;IAuB5D,OAAO,CAAC,4BAA4B;CAYrC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,14 +16,9 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ContextualQueryAugmenter = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const node_os_1 = __importDefault(require("node:os")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const model_1 = require("@nestjs-ai/model"); | ||
| const query_1 = require("../../query"); | ||
| const util_1 = require("../../util"); | ||
| const query_augmenter_1 = require("./query-augmenter"); | ||
| import assert from "node:assert/strict"; | ||
| import os from "node:os"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import { LoggerFactory } from "@nestjs-port/core"; | ||
| import { Query } from "../../query.js"; | ||
| import { PromptAssert } from "../../util/index.js"; | ||
| import { QueryAugmenter } from "./query-augmenter.js"; | ||
| /** | ||
@@ -42,5 +36,5 @@ * Augments the user query with contextual data from the content of the provided | ||
| */ | ||
| class ContextualQueryAugmenter extends query_augmenter_1.QueryAugmenter { | ||
| logger = commons_1.LoggerFactory.getLogger(ContextualQueryAugmenter.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new model_1.PromptTemplate(`Context information is below. | ||
| export class ContextualQueryAugmenter extends QueryAugmenter { | ||
| logger = LoggerFactory.getLogger(ContextualQueryAugmenter.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new PromptTemplate(`Context information is below. | ||
@@ -61,3 +55,3 @@ --------------------- | ||
| Answer:`); | ||
| static DEFAULT_EMPTY_CONTEXT_PROMPT_TEMPLATE = new model_1.PromptTemplate(`The user query is outside your knowledge base. | ||
| static DEFAULT_EMPTY_CONTEXT_PROMPT_TEMPLATE = new PromptTemplate(`The user query is outside your knowledge base. | ||
| Politely inform the user that you can't answer it.`); | ||
@@ -68,3 +62,3 @@ static DEFAULT_ALLOW_EMPTY_CONTEXT = false; | ||
| .filter((text) => text != null) | ||
| .join(node_os_1.default.EOL); | ||
| .join(os.EOL); | ||
| promptTemplate; | ||
@@ -87,7 +81,7 @@ emptyContextPromptTemplate; | ||
| ContextualQueryAugmenter.DEFAULT_DOCUMENT_FORMATTER; | ||
| util_1.PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "query", "context"); | ||
| PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "query", "context"); | ||
| } | ||
| augment(query, documents) { | ||
| (0, strict_1.default)(query, "query cannot be null"); | ||
| (0, strict_1.default)(documents, "documents cannot be null"); | ||
| assert(query, "query cannot be null"); | ||
| assert(documents, "documents cannot be null"); | ||
| this.logger.debug("Augmenting query with contextual data"); | ||
@@ -105,3 +99,3 @@ if (documents.length === 0) { | ||
| // 3. Augment user prompt with document context. | ||
| return new query_1.Query(this.promptTemplate.render(promptParameters)); | ||
| return new Query(this.promptTemplate.render(promptParameters)); | ||
| } | ||
@@ -114,6 +108,5 @@ augmentQueryWhenEmptyContext(query) { | ||
| this.logger.debug("Empty context is not allowed. Returning a specific query for empty context."); | ||
| return new query_1.Query(this.emptyContextPromptTemplate.render()); | ||
| return new Query(this.emptyContextPromptTemplate.render()); | ||
| } | ||
| } | ||
| exports.ContextualQueryAugmenter = ContextualQueryAugmenter; | ||
| //# sourceMappingURL=contextual-query-augmenter.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"contextual-query-augmenter.js","sourceRoot":"","sources":["../../../src/generation/augmentation/contextual-query-augmenter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AACxC,sDAAyB;AACzB,gDAA+E;AAC/E,4CAAkD;AAClD,uCAAoC;AACpC,qCAA0C;AAC1C,uDAAmD;AASnD;;;;;;;;;;;GAWG;AACH,MAAa,wBAAyB,SAAQ,gCAAc;IACzC,MAAM,GAAW,uBAAa,CAAC,SAAS,CACvD,wBAAwB,CAAC,IAAI,CAC9B,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,sBAAc,CAClE;;;;;;;;;;;;;;;QAeI,CACL,CAAC;IAEM,MAAM,CAAU,qCAAqC,GAC3D,IAAI,sBAAc,CAChB;mDAC6C,CAC9C,CAAC;IAEI,MAAM,CAAU,2BAA2B,GAAG,KAAK,CAAC;IAEpD,MAAM,CAAU,0BAA0B,GAAG,CACnD,SAAqB,EACb,EAAE,CACV,SAAS;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;SAC9C,IAAI,CAAC,iBAAE,CAAC,GAAG,CAAC,CAAC;IAET,cAAc,CAAiB;IAE/B,0BAA0B,CAAiB;IAE3C,iBAAiB,CAAU;IAE3B,iBAAiB,CAAoC;IAE9D,YAAY,QAAuC,EAAE;QACnD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc,IAAI,wBAAwB,CAAC,uBAAuB,CAAC;QAC3E,IAAI,CAAC,0BAA0B;YAC7B,KAAK,CAAC,0BAA0B;gBAChC,wBAAwB,CAAC,qCAAqC,CAAC;QACjE,IAAI,CAAC,iBAAiB;YACpB,KAAK,CAAC,iBAAiB;gBACvB,wBAAwB,CAAC,2BAA2B,CAAC;QACvD,IAAI,CAAC,iBAAiB;YACpB,KAAK,CAAC,iBAAiB;gBACvB,wBAAwB,CAAC,0BAA0B,CAAC;QAEtD,mBAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,OAAO,EACP,SAAS,CACV,CAAC;IACJ,CAAC;IAEQ,OAAO,CAAC,KAAY,EAAE,SAAqB;QAClD,IAAA,gBAAM,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QACtC,IAAA,gBAAM,EAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAE3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,qCAAqC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE1D,+BAA+B;QAC/B,MAAM,gBAAgB,GAA4B;YAChD,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,OAAO,EAAE,eAAe;SACzB,CAAC;QAEF,gDAAgD;QAChD,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,4BAA4B,CAAC,KAAY;QAC/C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yDAAyD,CAC1D,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6EAA6E,CAC9E,CAAC;QACF,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;;AAvGH,4DAwGC"} | ||
| {"version":3,"file":"contextual-query-augmenter.js","sourceRoot":"","sources":["../../../src/generation/augmentation/contextual-query-augmenter.ts"],"names":[],"mappings":"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"} |
@@ -1,3 +0,3 @@ | ||
| export { ContextualQueryAugmenter, type ContextualQueryAugmenterProps, } from "./contextual-query-augmenter"; | ||
| export { QueryAugmenter } from "./query-augmenter"; | ||
| export { ContextualQueryAugmenter, type ContextualQueryAugmenterProps, } from "./contextual-query-augmenter.js"; | ||
| export { QueryAugmenter } from "./query-augmenter.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/augmentation/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/augmentation/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,8 +16,4 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryAugmenter = exports.ContextualQueryAugmenter = void 0; | ||
| var contextual_query_augmenter_1 = require("./contextual-query-augmenter"); | ||
| Object.defineProperty(exports, "ContextualQueryAugmenter", { enumerable: true, get: function () { return contextual_query_augmenter_1.ContextualQueryAugmenter; } }); | ||
| var query_augmenter_1 = require("./query-augmenter"); | ||
| Object.defineProperty(exports, "QueryAugmenter", { enumerable: true, get: function () { return query_augmenter_1.QueryAugmenter; } }); | ||
| export { ContextualQueryAugmenter, } from "./contextual-query-augmenter.js"; | ||
| export { QueryAugmenter } from "./query-augmenter.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/augmentation/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2EAGsC;AAFpC,sIAAA,wBAAwB,OAAA;AAG1B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/augmentation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,wBAAwB,GAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"} |
| import type { Document } from "@nestjs-ai/commons"; | ||
| import type { Query } from "../../query"; | ||
| import type { Query } from "../../query.js"; | ||
| export declare abstract class QueryAugmenter { | ||
@@ -4,0 +4,0 @@ abstract augment(query: Query, documents: Document[]): Query; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query-augmenter.d.ts","sourceRoot":"","sources":["../../../src/generation/augmentation/query-augmenter.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,8BAAsB,cAAc;IAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK;IAE5D,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK;CAGlD"} | ||
| {"version":3,"file":"query-augmenter.d.ts","sourceRoot":"","sources":["../../../src/generation/augmentation/query-augmenter.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,8BAAsB,cAAc;IAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK;IAE5D,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK;CAGlD"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,5 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryAugmenter = void 0; | ||
| class QueryAugmenter { | ||
| export class QueryAugmenter { | ||
| apply(query, documents) { | ||
@@ -25,3 +22,2 @@ return this.augment(query, documents); | ||
| } | ||
| exports.QueryAugmenter = QueryAugmenter; | ||
| //# sourceMappingURL=query-augmenter.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query-augmenter.js","sourceRoot":"","sources":["../../../src/generation/augmentation/query-augmenter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,MAAsB,cAAc;IAGlC,KAAK,CAAC,KAAY,EAAE,SAAqB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;CACF;AAND,wCAMC"} | ||
| {"version":3,"file":"query-augmenter.js","sourceRoot":"","sources":["../../../src/generation/augmentation/query-augmenter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,OAAgB,cAAc;IAGlC,KAAK,CAAC,KAAY,EAAE,SAAqB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;CACF"} |
@@ -1,2 +0,2 @@ | ||
| export * from "./augmentation"; | ||
| export * from "./augmentation/index.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAgBA,cAAc,gBAAgB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAgBA,cAAc,yBAAyB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,18 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| __exportStar(require("./augmentation"), exports); | ||
| export * from "./augmentation/index.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,iDAA+B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,yBAAyB,CAAC"} |
+7
-7
@@ -1,8 +0,8 @@ | ||
| export * from "./advisor"; | ||
| export * from "./generation"; | ||
| export * from "./postretrieval"; | ||
| export * from "./preretrieval"; | ||
| export { Query, QueryBuilder } from "./query"; | ||
| export * from "./retrieval"; | ||
| export * from "./util"; | ||
| export * from "./advisor/index.js"; | ||
| export * from "./generation/index.js"; | ||
| export * from "./postretrieval/index.js"; | ||
| export * from "./preretrieval/index.js"; | ||
| export { Query, QueryBuilder } from "./query.js"; | ||
| export * from "./retrieval/index.js"; | ||
| export * from "./util/index.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9C,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"} |
+7
-26
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,27 +16,9 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryBuilder = exports.Query = void 0; | ||
| __exportStar(require("./advisor"), exports); | ||
| __exportStar(require("./generation"), exports); | ||
| __exportStar(require("./postretrieval"), exports); | ||
| __exportStar(require("./preretrieval"), exports); | ||
| var query_1 = require("./query"); | ||
| Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return query_1.Query; } }); | ||
| Object.defineProperty(exports, "QueryBuilder", { enumerable: true, get: function () { return query_1.QueryBuilder; } }); | ||
| __exportStar(require("./retrieval"), exports); | ||
| __exportStar(require("./util"), exports); | ||
| export * from "./advisor/index.js"; | ||
| export * from "./generation/index.js"; | ||
| export * from "./postretrieval/index.js"; | ||
| export * from "./preretrieval/index.js"; | ||
| export { Query, QueryBuilder } from "./query.js"; | ||
| export * from "./retrieval/index.js"; | ||
| export * from "./util/index.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;AAEH,4CAA0B;AAC1B,+CAA6B;AAC7B,kDAAgC;AAChC,iDAA+B;AAC/B,iCAA8C;AAArC,8FAAA,KAAK,OAAA;AAAE,qGAAA,YAAY,OAAA;AAC5B,8CAA4B;AAC5B,yCAAuB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"} |
| import type { Document } from "@nestjs-ai/commons"; | ||
| import type { Query } from "../../query"; | ||
| import type { Query } from "../../query.js"; | ||
| export declare abstract class DocumentPostProcessor { | ||
@@ -4,0 +4,0 @@ abstract process(query: Query, documents: Document[]): Document[]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"document-post-processor.d.ts","sourceRoot":"","sources":["../../../src/postretrieval/document/document-post-processor.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,8BAAsB,qBAAqB;IACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE;IAEjE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE;CAGvD"} | ||
| {"version":3,"file":"document-post-processor.d.ts","sourceRoot":"","sources":["../../../src/postretrieval/document/document-post-processor.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,8BAAsB,qBAAqB;IACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE;IAEjE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE;CAGvD"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,5 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DocumentPostProcessor = void 0; | ||
| class DocumentPostProcessor { | ||
| export class DocumentPostProcessor { | ||
| apply(query, documents) { | ||
@@ -25,3 +22,2 @@ return this.process(query, documents); | ||
| } | ||
| exports.DocumentPostProcessor = DocumentPostProcessor; | ||
| //# sourceMappingURL=document-post-processor.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"document-post-processor.js","sourceRoot":"","sources":["../../../src/postretrieval/document/document-post-processor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,MAAsB,qBAAqB;IAGzC,KAAK,CAAC,KAAY,EAAE,SAAqB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;CACF;AAND,sDAMC"} | ||
| {"version":3,"file":"document-post-processor.js","sourceRoot":"","sources":["../../../src/postretrieval/document/document-post-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,OAAgB,qBAAqB;IAGzC,KAAK,CAAC,KAAY,EAAE,SAAqB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;CACF"} |
@@ -1,2 +0,2 @@ | ||
| export { DocumentPostProcessor } from "./document-post-processor"; | ||
| export { DocumentPostProcessor } from "./document-post-processor.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/postretrieval/document/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/postretrieval/document/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,6 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DocumentPostProcessor = void 0; | ||
| var document_post_processor_1 = require("./document-post-processor"); | ||
| Object.defineProperty(exports, "DocumentPostProcessor", { enumerable: true, get: function () { return document_post_processor_1.DocumentPostProcessor; } }); | ||
| export { DocumentPostProcessor } from "./document-post-processor.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/postretrieval/document/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/postretrieval/document/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| export * from "./document"; | ||
| export * from "./document/index.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/postretrieval/index.ts"],"names":[],"mappings":"AAgBA,cAAc,YAAY,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/postretrieval/index.ts"],"names":[],"mappings":"AAgBA,cAAc,qBAAqB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,18 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| __exportStar(require("./document"), exports); | ||
| export * from "./document/index.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/postretrieval/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,6CAA2B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/postretrieval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,qBAAqB,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| export * from "./query"; | ||
| export * from "./query/index.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preretrieval/index.ts"],"names":[],"mappings":"AAgBA,cAAc,SAAS,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preretrieval/index.ts"],"names":[],"mappings":"AAgBA,cAAc,kBAAkB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,18 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| __exportStar(require("./query"), exports); | ||
| export * from "./query/index.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preretrieval/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,0CAAwB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preretrieval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,kBAAkB,CAAC"} |
@@ -1,3 +0,3 @@ | ||
| export { MultiQueryExpander, type MultiQueryExpanderProps, } from "./multi-query-expander"; | ||
| export { QueryExpander } from "./query-expander"; | ||
| export { MultiQueryExpander, type MultiQueryExpanderProps, } from "./multi-query-expander.js"; | ||
| export { QueryExpander } from "./query-expander.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,8 +16,4 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryExpander = exports.MultiQueryExpander = void 0; | ||
| var multi_query_expander_1 = require("./multi-query-expander"); | ||
| Object.defineProperty(exports, "MultiQueryExpander", { enumerable: true, get: function () { return multi_query_expander_1.MultiQueryExpander; } }); | ||
| var query_expander_1 = require("./query-expander"); | ||
| Object.defineProperty(exports, "QueryExpander", { enumerable: true, get: function () { return query_expander_1.QueryExpander; } }); | ||
| export { MultiQueryExpander, } from "./multi-query-expander.js"; | ||
| export { QueryExpander } from "./query-expander.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAGgC;AAF9B,0HAAA,kBAAkB,OAAA;AAGpB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"} |
| import type { ChatClient } from "@nestjs-ai/client-chat"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import type { Query } from "../../../query"; | ||
| import { QueryExpander } from "./query-expander"; | ||
| import type { Query } from "../../../query.js"; | ||
| import { QueryExpander } from "./query-expander.js"; | ||
| export interface MultiQueryExpanderProps { | ||
@@ -24,5 +24,2 @@ chatClientBuilder: ChatClient.Builder; | ||
| * ``` | ||
| * | ||
| * @author Thomas Vitale | ||
| * @since 1.0.0 | ||
| */ | ||
@@ -29,0 +26,0 @@ export declare class MultiQueryExpander extends QueryExpander { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"multi-query-expander.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/multi-query-expander.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAc7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAQ;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;IAEtD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAErB,KAAK,EAAE,uBAAuB;IAmB3B,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CA+CtD"} | ||
| {"version":3,"file":"multi-query-expander.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/multi-query-expander.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAc7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAQ;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;IAEtD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAErB,KAAK,EAAE,uBAAuB;IAmB3B,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CA+CtD"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,7 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.MultiQueryExpander = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const model_1 = require("@nestjs-ai/model"); | ||
| const util_1 = require("../../../util"); | ||
| const query_expander_1 = require("./query-expander"); | ||
| import assert from "node:assert/strict"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import { LoggerFactory, StringUtils } from "@nestjs-port/core"; | ||
| import { PromptAssert } from "../../../util/index.js"; | ||
| import { QueryExpander } from "./query-expander.js"; | ||
| /** | ||
@@ -41,9 +35,6 @@ * Uses a large language model to expand a query into multiple semantically diverse | ||
| * ``` | ||
| * | ||
| * @author Thomas Vitale | ||
| * @since 1.0.0 | ||
| */ | ||
| class MultiQueryExpander extends query_expander_1.QueryExpander { | ||
| logger = commons_1.LoggerFactory.getLogger(MultiQueryExpander.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new model_1.PromptTemplate(`You are an expert at information retrieval and search optimization. | ||
| export class MultiQueryExpander extends QueryExpander { | ||
| logger = LoggerFactory.getLogger(MultiQueryExpander.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new PromptTemplate(`You are an expert at information retrieval and search optimization. | ||
| Your task is to generate {number} different versions of the given query. | ||
@@ -69,3 +60,3 @@ | ||
| super(); | ||
| (0, strict_1.default)(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| assert(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| this.chatClient = props.chatClientBuilder.build(); | ||
@@ -78,6 +69,6 @@ this.promptTemplate = | ||
| props.numberOfQueries ?? MultiQueryExpander.DEFAULT_NUMBER_OF_QUERIES; | ||
| util_1.PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "number", "query"); | ||
| PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "number", "query"); | ||
| } | ||
| async expand(query) { | ||
| (0, strict_1.default)(query, "query cannot be null"); | ||
| assert(query, "query cannot be null"); | ||
| this.logger.debug("Generating {} query variants", this.numberOfQueries); | ||
@@ -103,3 +94,3 @@ const response = await this.chatClient | ||
| const queries = queryVariants | ||
| .filter(commons_1.StringUtils.hasText) | ||
| .filter(StringUtils.hasText) | ||
| .map((queryText) => query.mutate().text(queryText).build()); | ||
@@ -113,3 +104,2 @@ if (this.includeOriginal) { | ||
| } | ||
| exports.MultiQueryExpander = MultiQueryExpander; | ||
| //# sourceMappingURL=multi-query-expander.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"multi-query-expander.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/multi-query-expander.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"multi-query-expander.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/multi-query-expander.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import type { Query } from "../../../query"; | ||
| import type { Query } from "../../../query.js"; | ||
| export declare abstract class QueryExpander { | ||
@@ -3,0 +3,0 @@ abstract expand(query: Query): Promise<Query[]>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query-expander.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/query-expander.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,8BAAsB,aAAa;IACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAGtC"} | ||
| {"version":3,"file":"query-expander.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/query-expander.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,8BAAsB,aAAa;IACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAGtC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,5 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryExpander = void 0; | ||
| class QueryExpander { | ||
| export class QueryExpander { | ||
| apply(query) { | ||
@@ -25,3 +22,2 @@ return this.expand(query); | ||
| } | ||
| exports.QueryExpander = QueryExpander; | ||
| //# sourceMappingURL=query-expander.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query-expander.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/query-expander.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,MAAsB,aAAa;IAGjC,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF;AAND,sCAMC"} | ||
| {"version":3,"file":"query-expander.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/expansion/query-expander.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,OAAgB,aAAa;IAGjC,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF"} |
@@ -1,3 +0,3 @@ | ||
| export * from "./expansion"; | ||
| export * from "./transformation"; | ||
| export * from "./expansion/index.js"; | ||
| export * from "./transformation/index.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preretrieval/query/index.ts"],"names":[],"mappings":"AAgBA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preretrieval/query/index.ts"],"names":[],"mappings":"AAgBA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,19 +16,4 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| __exportStar(require("./expansion"), exports); | ||
| __exportStar(require("./transformation"), exports); | ||
| export * from "./expansion/index.js"; | ||
| export * from "./transformation/index.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preretrieval/query/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,mDAAiC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preretrieval/query/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"} |
| import type { ChatClient } from "@nestjs-ai/client-chat"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import type { Query } from "../../../query"; | ||
| import { QueryTransformer } from "./query-transformer"; | ||
| import type { Query } from "../../../query.js"; | ||
| import { QueryTransformer } from "./query-transformer.js"; | ||
| export interface CompressionQueryTransformerProps { | ||
@@ -6,0 +6,0 @@ chatClientBuilder: ChatClient.Builder; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"compression-query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/compression-query-transformer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAY7C;IAEF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAE5B,KAAK,EAAE,gCAAgC;IAgBpC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA4BtD,OAAO,CAAC,yBAAyB;CAclC"} | ||
| {"version":3,"file":"compression-query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/compression-query-transformer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAY7C;IAEF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAE5B,KAAK,EAAE,gCAAgC;IAgBpC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA4BtD,OAAO,CAAC,yBAAyB;CAclC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,7 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.CompressionQueryTransformer = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const model_1 = require("@nestjs-ai/model"); | ||
| const util_1 = require("../../../util"); | ||
| const query_transformer_1 = require("./query-transformer"); | ||
| import assert from "node:assert/strict"; | ||
| import { MessageType, PromptTemplate } from "@nestjs-ai/model"; | ||
| import { LoggerFactory, StringUtils } from "@nestjs-port/core"; | ||
| import { PromptAssert } from "../../../util/index.js"; | ||
| import { QueryTransformer } from "./query-transformer.js"; | ||
| /** | ||
@@ -35,5 +29,5 @@ * Uses a large language model to compress a conversation history and a follow-up query | ||
| */ | ||
| class CompressionQueryTransformer extends query_transformer_1.QueryTransformer { | ||
| logger = commons_1.LoggerFactory.getLogger(CompressionQueryTransformer.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new model_1.PromptTemplate(`Given the following conversation history and a follow-up query, your task is to synthesize | ||
| export class CompressionQueryTransformer extends QueryTransformer { | ||
| logger = LoggerFactory.getLogger(CompressionQueryTransformer.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new PromptTemplate(`Given the following conversation history and a follow-up query, your task is to synthesize | ||
| a concise, standalone query that incorporates the context from the history. | ||
@@ -53,3 +47,3 @@ Ensure the standalone query is clear, specific, and maintains the user's intent. | ||
| super(); | ||
| (0, strict_1.default)(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| assert(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| this.chatClient = props.chatClientBuilder.build(); | ||
@@ -59,6 +53,6 @@ this.promptTemplate = | ||
| CompressionQueryTransformer.DEFAULT_PROMPT_TEMPLATE; | ||
| util_1.PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "history", "query"); | ||
| PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "history", "query"); | ||
| } | ||
| async transform(query) { | ||
| (0, strict_1.default)(query, "query cannot be null"); | ||
| assert(query, "query cannot be null"); | ||
| this.logger.debug("Compressing conversation history and follow-up query into a standalone query"); | ||
@@ -73,3 +67,3 @@ const compressedQueryText = await this.chatClient | ||
| .content(); | ||
| if (!commons_1.StringUtils.hasText(compressedQueryText)) { | ||
| if (!StringUtils.hasText(compressedQueryText)) { | ||
| this.logger.warn("Query compression result is null/empty. Returning the input query unchanged."); | ||
@@ -85,4 +79,4 @@ return query; | ||
| return history | ||
| .filter((message) => message.messageType === model_1.MessageType.USER || | ||
| message.messageType === model_1.MessageType.ASSISTANT) | ||
| .filter((message) => message.messageType === MessageType.USER || | ||
| message.messageType === MessageType.ASSISTANT) | ||
| .map((message) => `${message.messageType}: ${message.text}`) | ||
@@ -92,3 +86,2 @@ .join("\n"); | ||
| } | ||
| exports.CompressionQueryTransformer = CompressionQueryTransformer; | ||
| //# sourceMappingURL=compression-query-transformer.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"compression-query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/compression-query-transformer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AAExC,gDAA6E;AAE7E,4CAA+D;AAE/D,wCAA6C;AAC7C,2DAAuD;AAOvD;;;;;;GAMG;AACH,MAAa,2BAA4B,SAAQ,oCAAgB;IAC9C,MAAM,GAAW,uBAAa,CAAC,SAAS,CACvD,2BAA2B,CAAC,IAAI,CACjC,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,sBAAc,CAClE;;;;;;;;;;kBAUc,CACf,CAAC;IAEO,UAAU,CAAa;IAEvB,cAAc,CAAiB;IAExC,YAAY,KAAuC;QACjD,KAAK,EAAE,CAAC;QACR,IAAA,gBAAM,EAAC,KAAK,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc;gBACpB,2BAA2B,CAAC,uBAAuB,CAAC;QAEtD,mBAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAAY;QACnC,IAAA,gBAAM,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,CAC/E,CAAC;QAEF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC9C,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAClC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/D,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,CAAC,qBAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8EAA8E,CAC/E,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC;IAEO,yBAAyB,CAAC,OAAkB;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO;aACX,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,WAAW,KAAK,mBAAW,CAAC,IAAI;YACxC,OAAO,CAAC,WAAW,KAAK,mBAAW,CAAC,SAAS,CAChD;aACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;;AAhFH,kEAiFC"} | ||
| {"version":3,"file":"compression-query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/compression-query-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO1D;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,gBAAgB;IAC9C,MAAM,GAAW,aAAa,CAAC,SAAS,CACvD,2BAA2B,CAAC,IAAI,CACjC,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,cAAc,CAClE;;;;;;;;;;kBAUc,CACf,CAAC;IAEO,UAAU,CAAa;IAEvB,cAAc,CAAiB;IAExC,YAAY,KAAuC;QACjD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc;gBACpB,2BAA2B,CAAC,uBAAuB,CAAC;QAEtD,YAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAAY;QACnC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,CAC/E,CAAC;QAEF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC9C,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAClC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/D,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8EAA8E,CAC/E,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC;IAEO,yBAAyB,CAAC,OAAkB;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO;aACX,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI;YACxC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,SAAS,CAChD;aACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC"} |
@@ -1,5 +0,5 @@ | ||
| export { CompressionQueryTransformer, type CompressionQueryTransformerProps, } from "./compression-query-transformer"; | ||
| export { QueryTransformer } from "./query-transformer"; | ||
| export { RewriteQueryTransformer, type RewriteQueryTransformerProps, } from "./rewrite-query-transformer"; | ||
| export { TranslationQueryTransformer, type TranslationQueryTransformerProps, } from "./translation-query-transformer"; | ||
| export { CompressionQueryTransformer, type CompressionQueryTransformerProps, } from "./compression-query-transformer.js"; | ||
| export { QueryTransformer } from "./query-transformer.js"; | ||
| export { RewriteQueryTransformer, type RewriteQueryTransformerProps, } from "./rewrite-query-transformer.js"; | ||
| export { TranslationQueryTransformer, type TranslationQueryTransformerProps, } from "./translation-query-transformer.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,2BAA2B,EAC3B,KAAK,gCAAgC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,KAAK,gCAAgC,GACtC,MAAM,iCAAiC,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,2BAA2B,EAC3B,KAAK,gCAAgC,GACtC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,KAAK,4BAA4B,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,KAAK,gCAAgC,GACtC,MAAM,oCAAoC,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,6 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.TranslationQueryTransformer = exports.RewriteQueryTransformer = exports.QueryTransformer = exports.CompressionQueryTransformer = void 0; | ||
| var compression_query_transformer_1 = require("./compression-query-transformer"); | ||
| Object.defineProperty(exports, "CompressionQueryTransformer", { enumerable: true, get: function () { return compression_query_transformer_1.CompressionQueryTransformer; } }); | ||
| var query_transformer_1 = require("./query-transformer"); | ||
| Object.defineProperty(exports, "QueryTransformer", { enumerable: true, get: function () { return query_transformer_1.QueryTransformer; } }); | ||
| var rewrite_query_transformer_1 = require("./rewrite-query-transformer"); | ||
| Object.defineProperty(exports, "RewriteQueryTransformer", { enumerable: true, get: function () { return rewrite_query_transformer_1.RewriteQueryTransformer; } }); | ||
| var translation_query_transformer_1 = require("./translation-query-transformer"); | ||
| Object.defineProperty(exports, "TranslationQueryTransformer", { enumerable: true, get: function () { return translation_query_transformer_1.TranslationQueryTransformer; } }); | ||
| export { CompressionQueryTransformer, } from "./compression-query-transformer.js"; | ||
| export { QueryTransformer } from "./query-transformer.js"; | ||
| export { RewriteQueryTransformer, } from "./rewrite-query-transformer.js"; | ||
| export { TranslationQueryTransformer, } from "./translation-query-transformer.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iFAGyC;AAFvC,4IAAA,2BAA2B,OAAA;AAG7B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,yEAGqC;AAFnC,oIAAA,uBAAuB,OAAA;AAGzB,iFAGyC;AAFvC,4IAAA,2BAA2B,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,2BAA2B,GAE5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAExB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,GAE5B,MAAM,oCAAoC,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| import type { Query } from "../../../query"; | ||
| import type { Query } from "../../../query.js"; | ||
| export declare abstract class QueryTransformer { | ||
@@ -3,0 +3,0 @@ abstract transform(query: Query): Promise<Query>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/query-transformer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,8BAAsB,gBAAgB;IACpC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAEhD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAGpC"} | ||
| {"version":3,"file":"query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/query-transformer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,8BAAsB,gBAAgB;IACpC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAEhD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAGpC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,5 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryTransformer = void 0; | ||
| class QueryTransformer { | ||
| export class QueryTransformer { | ||
| apply(query) { | ||
@@ -25,3 +22,2 @@ return this.transform(query); | ||
| } | ||
| exports.QueryTransformer = QueryTransformer; | ||
| //# sourceMappingURL=query-transformer.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/query-transformer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,MAAsB,gBAAgB;IAGpC,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAND,4CAMC"} | ||
| {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/query-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,OAAgB,gBAAgB;IAGpC,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF"} |
| import type { ChatClient } from "@nestjs-ai/client-chat"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import type { Query } from "../../../query"; | ||
| import { QueryTransformer } from "./query-transformer"; | ||
| import type { Query } from "../../../query.js"; | ||
| import { QueryTransformer } from "./query-transformer.js"; | ||
| export interface RewriteQueryTransformerProps { | ||
@@ -17,4 +17,2 @@ chatClientBuilder: ChatClient.Builder; | ||
| * | ||
| * @author Thomas Vitale | ||
| * @since 1.0.0 | ||
| * @see https://arxiv.org/pdf/2305.14283 | ||
@@ -21,0 +19,0 @@ */ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"rewrite-query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/rewrite-query-transformer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAQ7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAExD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;gBAExB,KAAK,EAAE,4BAA4B;IAiBhC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA4BvD"} | ||
| {"version":3,"file":"rewrite-query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/rewrite-query-transformer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAQ7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAExD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;gBAExB,KAAK,EAAE,4BAA4B;IAiBhC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA4BvD"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,7 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.RewriteQueryTransformer = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const model_1 = require("@nestjs-ai/model"); | ||
| const util_1 = require("../../../util"); | ||
| const query_transformer_1 = require("./query-transformer"); | ||
| import assert from "node:assert/strict"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import { LoggerFactory, StringUtils } from "@nestjs-port/core"; | ||
| import { PromptAssert } from "../../../util/index.js"; | ||
| import { QueryTransformer } from "./query-transformer.js"; | ||
| /** | ||
@@ -35,9 +29,7 @@ * Uses a large language model to rewrite a user query to provide better results when | ||
| * | ||
| * @author Thomas Vitale | ||
| * @since 1.0.0 | ||
| * @see https://arxiv.org/pdf/2305.14283 | ||
| */ | ||
| class RewriteQueryTransformer extends query_transformer_1.QueryTransformer { | ||
| logger = commons_1.LoggerFactory.getLogger(RewriteQueryTransformer.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new model_1.PromptTemplate(`Given a user query, rewrite it to provide better results when querying a {target}. | ||
| export class RewriteQueryTransformer extends QueryTransformer { | ||
| logger = LoggerFactory.getLogger(RewriteQueryTransformer.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new PromptTemplate(`Given a user query, rewrite it to provide better results when querying a {target}. | ||
| Remove any irrelevant information, and ensure the query is concise and specific. | ||
@@ -55,3 +47,3 @@ | ||
| super(); | ||
| (0, strict_1.default)(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| assert(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| this.chatClient = props.chatClientBuilder.build(); | ||
@@ -62,6 +54,6 @@ this.promptTemplate = | ||
| props.targetSearchSystem ?? RewriteQueryTransformer.DEFAULT_TARGET; | ||
| util_1.PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "target", "query"); | ||
| PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "target", "query"); | ||
| } | ||
| async transform(query) { | ||
| (0, strict_1.default)(query, "query cannot be null"); | ||
| assert(query, "query cannot be null"); | ||
| this.logger.debug("Rewriting query to optimize for querying a {}.", this.targetSearchSystem); | ||
@@ -76,3 +68,3 @@ const rewrittenQueryText = await this.chatClient | ||
| .content(); | ||
| if (!commons_1.StringUtils.hasText(rewrittenQueryText)) { | ||
| if (!StringUtils.hasText(rewrittenQueryText)) { | ||
| this.logger.warn("Query rewrite result is null/empty. Returning the input query unchanged."); | ||
@@ -84,3 +76,2 @@ return query; | ||
| } | ||
| exports.RewriteQueryTransformer = RewriteQueryTransformer; | ||
| //# sourceMappingURL=rewrite-query-transformer.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"rewrite-query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/rewrite-query-transformer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AAExC,gDAA6E;AAC7E,4CAAkD;AAElD,wCAA6C;AAC7C,2DAAuD;AAQvD;;;;;;;;;;GAUG;AACH,MAAa,uBAAwB,SAAQ,oCAAgB;IAC1C,MAAM,GAAW,uBAAa,CAAC,SAAS,CACvD,uBAAuB,CAAC,IAAI,CAC7B,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,sBAAc,CAClE;;;;;;iBAMa,CACd,CAAC;IAEM,MAAM,CAAU,cAAc,GAAG,cAAc,CAAC;IAE/C,UAAU,CAAa;IAEvB,cAAc,CAAiB;IAE/B,kBAAkB,CAAS;IAEpC,YAAY,KAAmC;QAC7C,KAAK,EAAE,CAAC;QACR,IAAA,gBAAM,EAAC,KAAK,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc,IAAI,uBAAuB,CAAC,uBAAuB,CAAC;QAC1E,IAAI,CAAC,kBAAkB;YACrB,KAAK,CAAC,kBAAkB,IAAI,uBAAuB,CAAC,cAAc,CAAC;QAErE,mBAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAAY;QACnC,IAAA,gBAAM,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gDAAgD,EAChD,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC7C,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAClC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;aACxC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,CAAC,qBAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0EAA0E,CAC3E,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;;AAnEH,0DAoEC"} | ||
| {"version":3,"file":"rewrite-query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/rewrite-query-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,gBAAgB;IAC1C,MAAM,GAAW,aAAa,CAAC,SAAS,CACvD,uBAAuB,CAAC,IAAI,CAC7B,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,cAAc,CAClE;;;;;;iBAMa,CACd,CAAC;IAEM,MAAM,CAAU,cAAc,GAAG,cAAc,CAAC;IAE/C,UAAU,CAAa;IAEvB,cAAc,CAAiB;IAE/B,kBAAkB,CAAS;IAEpC,YAAY,KAAmC;QAC7C,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc,IAAI,uBAAuB,CAAC,uBAAuB,CAAC;QAC1E,IAAI,CAAC,kBAAkB;YACrB,KAAK,CAAC,kBAAkB,IAAI,uBAAuB,CAAC,cAAc,CAAC;QAErE,YAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAAY;QACnC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gDAAgD,EAChD,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC7C,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAClC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;aACxC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0EAA0E,CAC3E,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC"} |
| import type { ChatClient } from "@nestjs-ai/client-chat"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import type { Query } from "../../../query"; | ||
| import { QueryTransformer } from "./query-transformer"; | ||
| import type { Query } from "../../../query.js"; | ||
| import { QueryTransformer } from "./query-transformer.js"; | ||
| export interface TranslationQueryTransformerProps { | ||
@@ -6,0 +6,0 @@ chatClientBuilder: ChatClient.Builder; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"translation-query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/translation-query-transformer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAS7C;IAEF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAEpB,KAAK,EAAE,gCAAgC;IAqBpC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA4BvD"} | ||
| {"version":3,"file":"translation-query-transformer.d.ts","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/translation-query-transformer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAS7C;IAEF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAEpB,KAAK,EAAE,gCAAgC;IAqBpC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA4BvD"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,7 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.TranslationQueryTransformer = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const model_1 = require("@nestjs-ai/model"); | ||
| const util_1 = require("../../../util"); | ||
| const query_transformer_1 = require("./query-transformer"); | ||
| import assert from "node:assert/strict"; | ||
| import { PromptTemplate } from "@nestjs-ai/model"; | ||
| import { LoggerFactory, StringUtils } from "@nestjs-port/core"; | ||
| import { PromptAssert } from "../../../util/index.js"; | ||
| import { QueryTransformer } from "./query-transformer.js"; | ||
| /** | ||
@@ -46,5 +40,5 @@ * Uses a large language model to translate a query to a target language that is supported | ||
| */ | ||
| class TranslationQueryTransformer extends query_transformer_1.QueryTransformer { | ||
| logger = commons_1.LoggerFactory.getLogger(TranslationQueryTransformer.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new model_1.PromptTemplate(`Given a user query, translate it to {targetLanguage}. | ||
| export class TranslationQueryTransformer extends QueryTransformer { | ||
| logger = LoggerFactory.getLogger(TranslationQueryTransformer.name); | ||
| static DEFAULT_PROMPT_TEMPLATE = new PromptTemplate(`Given a user query, translate it to {targetLanguage}. | ||
| If the query is already in {targetLanguage}, return it unchanged. | ||
@@ -62,4 +56,4 @@ If you don't know the language of the query, return it unchanged. | ||
| super(); | ||
| (0, strict_1.default)(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| (0, strict_1.default)(commons_1.StringUtils.hasText(props.targetLanguage), "targetLanguage cannot be null or empty"); | ||
| assert(props.chatClientBuilder, "chatClientBuilder cannot be null"); | ||
| assert(StringUtils.hasText(props.targetLanguage), "targetLanguage cannot be null or empty"); | ||
| this.chatClient = props.chatClientBuilder.build(); | ||
@@ -70,6 +64,6 @@ this.promptTemplate = | ||
| this.targetLanguage = props.targetLanguage; | ||
| util_1.PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "targetLanguage", "query"); | ||
| PromptAssert.templateHasRequiredPlaceholders(this.promptTemplate, "targetLanguage", "query"); | ||
| } | ||
| async transform(query) { | ||
| (0, strict_1.default)(query, "query cannot be null"); | ||
| assert(query, "query cannot be null"); | ||
| this.logger.debug("Translating query to target language: {}", this.targetLanguage); | ||
@@ -84,3 +78,3 @@ const translatedQueryText = await this.chatClient | ||
| .content(); | ||
| if (!commons_1.StringUtils.hasText(translatedQueryText)) { | ||
| if (!StringUtils.hasText(translatedQueryText)) { | ||
| this.logger.warn("Query translation result is null/empty. Returning the input query unchanged."); | ||
@@ -92,3 +86,2 @@ return query; | ||
| } | ||
| exports.TranslationQueryTransformer = TranslationQueryTransformer; | ||
| //# sourceMappingURL=translation-query-transformer.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"translation-query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/translation-query-transformer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AAExC,gDAA6E;AAC7E,4CAAkD;AAElD,wCAA6C;AAC7C,2DAAuD;AAQvD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,2BAA4B,SAAQ,oCAAgB;IAC9C,MAAM,GAAW,uBAAa,CAAC,SAAS,CACvD,2BAA2B,CAAC,IAAI,CACjC,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,sBAAc,CAClE;;;;;;;kBAOc,CACf,CAAC;IAEO,UAAU,CAAa;IAEvB,cAAc,CAAiB;IAE/B,cAAc,CAAS;IAEhC,YAAY,KAAuC;QACjD,KAAK,EAAE,CAAC;QACR,IAAA,gBAAM,EAAC,KAAK,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QACpE,IAAA,gBAAM,EACJ,qBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACzC,wCAAwC,CACzC,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc;gBACpB,2BAA2B,CAAC,uBAAuB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAE3C,mBAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,gBAAgB,EAChB,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAAY;QACnC,IAAA,gBAAM,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0CAA0C,EAC1C,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC9C,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAClC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC;aAC5C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,CAAC,qBAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8EAA8E,CAC/E,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC;;AAtEH,kEAuEC"} | ||
| {"version":3,"file":"translation-query-transformer.js","sourceRoot":"","sources":["../../../../src/preretrieval/query/transformation/translation-query-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,2BAA4B,SAAQ,gBAAgB;IAC9C,MAAM,GAAW,aAAa,CAAC,SAAS,CACvD,2BAA2B,CAAC,IAAI,CACjC,CAAC;IAEM,MAAM,CAAU,uBAAuB,GAAG,IAAI,cAAc,CAClE;;;;;;;kBAOc,CACf,CAAC;IAEO,UAAU,CAAa;IAEvB,cAAc,CAAiB;IAE/B,cAAc,CAAS;IAEhC,YAAY,KAAuC;QACjD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QACpE,MAAM,CACJ,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACzC,wCAAwC,CACzC,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc;YACjB,KAAK,CAAC,cAAc;gBACpB,2BAA2B,CAAC,uBAAuB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAE3C,YAAY,CAAC,+BAA+B,CAC1C,IAAI,CAAC,cAAc,EACnB,gBAAgB,EAChB,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,KAAY;QACnC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0CAA0C,EAC1C,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC9C,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAClC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC;aAC5C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAC9B;aACA,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8EAA8E,CAC/E,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,KAAK;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,OAAO,EAAO,EACvB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAiBvC,MAAM,IAAI,YAAY;IAOtB,MAAM,CAAC,OAAO,IAAI,YAAY;CAG/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAA+B;IAE/C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IACjC,OAAO,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IAWpC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK/C,KAAK,IAAI,KAAK;CAOf"} | ||
| {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,qBAAa,KAAK;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,OAAO,EAAO,EACvB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAiBvC,MAAM,IAAI,YAAY;IAOtB,MAAM,CAAC,OAAO,IAAI,YAAY;CAG/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAA+B;IAE/C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IACjC,OAAO,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IAWpC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK/C,KAAK,IAAI,KAAK;CAOf"} |
+10
-18
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,10 +16,5 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.QueryBuilder = exports.Query = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| class Query { | ||
| import assert from "node:assert/strict"; | ||
| import { StringUtils } from "@nestjs-port/core"; | ||
| export class Query { | ||
| text; | ||
@@ -30,10 +24,10 @@ history; | ||
| constructor(text, history = [], context = {}) { | ||
| (0, strict_1.default)(commons_1.StringUtils.hasText(text), "text cannot be null or empty"); | ||
| (0, strict_1.default)(history != null, "history cannot be null"); | ||
| assert(StringUtils.hasText(text), "text cannot be null or empty"); | ||
| assert(history != null, "history cannot be null"); | ||
| for (const message of history) { | ||
| (0, strict_1.default)(message != null, "history elements cannot be null"); | ||
| assert(message != null, "history elements cannot be null"); | ||
| } | ||
| (0, strict_1.default)(context != null, "context cannot be null"); | ||
| assert(context != null, "context cannot be null"); | ||
| for (const key of Object.keys(context)) { | ||
| (0, strict_1.default)(key != null, "context keys cannot be null"); | ||
| assert(key != null, "context keys cannot be null"); | ||
| } | ||
@@ -54,4 +48,3 @@ this.text = text; | ||
| } | ||
| exports.Query = Query; | ||
| class QueryBuilder { | ||
| export class QueryBuilder { | ||
| _text = null; | ||
@@ -77,7 +70,6 @@ _history = []; | ||
| build() { | ||
| (0, strict_1.default)(typeof this._text === "string" && this._text.trim().length > 0, "text cannot be null or empty"); | ||
| assert(typeof this._text === "string" && this._text.trim().length > 0, "text cannot be null or empty"); | ||
| return new Query(this._text, this._history, this._context); | ||
| } | ||
| } | ||
| exports.QueryBuilder = QueryBuilder; | ||
| //# sourceMappingURL=query.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AACxC,gDAAiD;AAGjD,MAAa,KAAK;IACP,IAAI,CAAS;IACb,OAAO,CAAY;IACnB,OAAO,CAA0B;IAE1C,YACE,IAAY,EACZ,UAAqB,EAAE,EACvB,UAAmC,EAAE;QAErC,IAAA,gBAAM,EAAC,qBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAClE,IAAA,gBAAM,EAAC,OAAO,IAAI,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAA,gBAAM,EAAC,OAAO,IAAI,IAAI,EAAE,iCAAiC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAA,gBAAM,EAAC,OAAO,IAAI,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAA,gBAAM,EAAC,GAAG,IAAI,IAAI,EAAE,6BAA6B,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,YAAY,EAAE;aACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,YAAY,EAAE,CAAC;IAC5B,CAAC;CACF;AAnCD,sBAmCC;AAED,MAAa,YAAY;IACf,KAAK,GAAkB,IAAI,CAAC;IAC5B,QAAQ,GAAc,EAAE,CAAC;IACzB,QAAQ,GAA4B,EAAE,CAAC;IAE/C,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAID,OAAO,CAAC,cAAmC,EAAE,GAAG,IAAe;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAgC;QACtC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAA,gBAAM,EACJ,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAC9D,8BAA8B,CAC/B,CAAC;QACF,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACF;AAlCD,oCAkCC"} | ||
| {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,KAAK;IACP,IAAI,CAAS;IACb,OAAO,CAAY;IACnB,OAAO,CAA0B;IAE1C,YACE,IAAY,EACZ,UAAqB,EAAE,EACvB,UAAmC,EAAE;QAErC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,iCAAiC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,6BAA6B,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,YAAY,EAAE;aACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,YAAY,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACf,KAAK,GAAkB,IAAI,CAAC;IAC5B,QAAQ,GAAc,EAAE,CAAC;IACzB,QAAQ,GAA4B,EAAE,CAAC;IAE/C,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAID,OAAO,CAAC,cAAmC,EAAE,GAAG,IAAe;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAgC;QACtC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,CACJ,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAC9D,8BAA8B,CAC/B,CAAC;QACF,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACF"} |
@@ -1,3 +0,3 @@ | ||
| export * from "./join"; | ||
| export * from "./search"; | ||
| export * from "./join/index.js"; | ||
| export * from "./search/index.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieval/index.ts"],"names":[],"mappings":"AAgBA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieval/index.ts"],"names":[],"mappings":"AAgBA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,19 +16,4 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| __exportStar(require("./join"), exports); | ||
| __exportStar(require("./search"), exports); | ||
| export * from "./join/index.js"; | ||
| export * from "./search/index.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/retrieval/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,yCAAuB;AACvB,2CAAyB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/retrieval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"} |
| import type { Document } from "@nestjs-ai/commons"; | ||
| import type { Query } from "../../query"; | ||
| import { DocumentJoiner } from "./document-joiner"; | ||
| import type { Query } from "../../query.js"; | ||
| import { DocumentJoiner } from "./document-joiner.js"; | ||
| /** | ||
@@ -5,0 +5,0 @@ * Combines documents retrieved based on multiple queries and from multiple data sources |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"concatenation-document-joiner.d.ts","sourceRoot":"","sources":["../../../src/retrieval/join/concatenation-document-joiner.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,cAAc;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEO,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;CA8BvE"} | ||
| {"version":3,"file":"concatenation-document-joiner.d.ts","sourceRoot":"","sources":["../../../src/retrieval/join/concatenation-document-joiner.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,cAAc;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEO,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;CA8BvE"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,10 +16,5 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ConcatenationDocumentJoiner = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const document_joiner_1 = require("./document-joiner"); | ||
| import assert from "node:assert/strict"; | ||
| import { LoggerFactory } from "@nestjs-port/core"; | ||
| import { DocumentJoiner } from "./document-joiner.js"; | ||
| /** | ||
@@ -32,11 +26,11 @@ * Combines documents retrieved based on multiple queries and from multiple data sources | ||
| */ | ||
| class ConcatenationDocumentJoiner extends document_joiner_1.DocumentJoiner { | ||
| logger = commons_1.LoggerFactory.getLogger(ConcatenationDocumentJoiner.name); | ||
| export class ConcatenationDocumentJoiner extends DocumentJoiner { | ||
| logger = LoggerFactory.getLogger(ConcatenationDocumentJoiner.name); | ||
| join(documentsForQuery) { | ||
| (0, strict_1.default)(documentsForQuery, "documentsForQuery cannot be null"); | ||
| assert(documentsForQuery, "documentsForQuery cannot be null"); | ||
| for (const key of documentsForQuery.keys()) { | ||
| (0, strict_1.default)(key != null, "documentsForQuery cannot contain null keys"); | ||
| assert(key != null, "documentsForQuery cannot contain null keys"); | ||
| } | ||
| for (const value of documentsForQuery.values()) { | ||
| (0, strict_1.default)(value != null, "documentsForQuery cannot contain null values"); | ||
| assert(value != null, "documentsForQuery cannot contain null values"); | ||
| } | ||
@@ -62,3 +56,2 @@ this.logger.debug("Joining documents by concatenation"); | ||
| } | ||
| exports.ConcatenationDocumentJoiner = ConcatenationDocumentJoiner; | ||
| //# sourceMappingURL=concatenation-document-joiner.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"concatenation-document-joiner.js","sourceRoot":"","sources":["../../../src/retrieval/join/concatenation-document-joiner.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AAExC,gDAAgE;AAEhE,uDAAmD;AAEnD;;;;;GAKG;AACH,MAAa,2BAA4B,SAAQ,gCAAc;IAC5C,MAAM,GAAW,uBAAa,CAAC,SAAS,CACvD,2BAA2B,CAAC,IAAI,CACjC,CAAC;IAEO,IAAI,CAAC,iBAA2C;QACvD,IAAA,gBAAM,EAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAA,gBAAM,EAAC,GAAG,IAAI,IAAI,EAAE,4CAA4C,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAA,gBAAM,EAAC,KAAK,IAAI,IAAI,EAAE,8CAA8C,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD,4EAA4E;QAC5E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEzC,KAAK,MAAM,aAAa,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YAC9B,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAnCD,kEAmCC"} | ||
| {"version":3,"file":"concatenation-document-joiner.js","sourceRoot":"","sources":["../../../src/retrieval/join/concatenation-document-joiner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAe,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IAC5C,MAAM,GAAW,aAAa,CAAC,SAAS,CACvD,2BAA2B,CAAC,IAAI,CACjC,CAAC;IAEO,IAAI,CAAC,iBAA2C;QACvD,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,4CAA4C,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,8CAA8C,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD,4EAA4E;QAC5E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEzC,KAAK,MAAM,aAAa,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YAC9B,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"} |
| import type { Document } from "@nestjs-ai/commons"; | ||
| import type { Query } from "../../query"; | ||
| import type { Query } from "../../query.js"; | ||
| export declare abstract class DocumentJoiner { | ||
@@ -4,0 +4,0 @@ abstract join(documentsForQuery: Map<Query, Document[][]>): Document[]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"document-joiner.d.ts","sourceRoot":"","sources":["../../../src/retrieval/join/document-joiner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,8BAAsB,cAAc;IAClC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;IAEtE,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;CAG/D"} | ||
| {"version":3,"file":"document-joiner.d.ts","sourceRoot":"","sources":["../../../src/retrieval/join/document-joiner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,8BAAsB,cAAc;IAClC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;IAEtE,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;CAG/D"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,5 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DocumentJoiner = void 0; | ||
| class DocumentJoiner { | ||
| export class DocumentJoiner { | ||
| apply(documentsForQuery) { | ||
@@ -25,3 +22,2 @@ return this.join(documentsForQuery); | ||
| } | ||
| exports.DocumentJoiner = DocumentJoiner; | ||
| //# sourceMappingURL=document-joiner.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"document-joiner.js","sourceRoot":"","sources":["../../../src/retrieval/join/document-joiner.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,MAAsB,cAAc;IAGlC,KAAK,CAAC,iBAA2C;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;CACF;AAND,wCAMC"} | ||
| {"version":3,"file":"document-joiner.js","sourceRoot":"","sources":["../../../src/retrieval/join/document-joiner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,OAAgB,cAAc;IAGlC,KAAK,CAAC,iBAA2C;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;CACF"} |
@@ -1,3 +0,3 @@ | ||
| export { ConcatenationDocumentJoiner } from "./concatenation-document-joiner"; | ||
| export { DocumentJoiner } from "./document-joiner"; | ||
| export { ConcatenationDocumentJoiner } from "./concatenation-document-joiner.js"; | ||
| export { DocumentJoiner } from "./document-joiner.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retrieval/join/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retrieval/join/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,8 +16,4 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DocumentJoiner = exports.ConcatenationDocumentJoiner = void 0; | ||
| var concatenation_document_joiner_1 = require("./concatenation-document-joiner"); | ||
| Object.defineProperty(exports, "ConcatenationDocumentJoiner", { enumerable: true, get: function () { return concatenation_document_joiner_1.ConcatenationDocumentJoiner; } }); | ||
| var document_joiner_1 = require("./document-joiner"); | ||
| Object.defineProperty(exports, "DocumentJoiner", { enumerable: true, get: function () { return document_joiner_1.DocumentJoiner; } }); | ||
| export { ConcatenationDocumentJoiner } from "./concatenation-document-joiner.js"; | ||
| export { DocumentJoiner } from "./document-joiner.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retrieval/join/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iFAA8E;AAArE,4IAAA,2BAA2B,OAAA;AACpC,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retrieval/join/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"} |
| import type { Document } from "@nestjs-ai/commons"; | ||
| import type { Query } from "../../query"; | ||
| import type { Query } from "../../query.js"; | ||
| export declare abstract class DocumentRetriever { | ||
@@ -4,0 +4,0 @@ abstract retrieve(query: Query): Promise<Document[]>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"document-retriever.d.ts","sourceRoot":"","sources":["../../../src/retrieval/search/document-retriever.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEpD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGzC"} | ||
| {"version":3,"file":"document-retriever.d.ts","sourceRoot":"","sources":["../../../src/retrieval/search/document-retriever.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEpD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGzC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,5 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DocumentRetriever = void 0; | ||
| class DocumentRetriever { | ||
| export class DocumentRetriever { | ||
| apply(query) { | ||
@@ -25,3 +22,2 @@ return this.retrieve(query); | ||
| } | ||
| exports.DocumentRetriever = DocumentRetriever; | ||
| //# sourceMappingURL=document-retriever.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"document-retriever.js","sourceRoot":"","sources":["../../../src/retrieval/search/document-retriever.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,MAAsB,iBAAiB;IAGrC,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AAND,8CAMC"} | ||
| {"version":3,"file":"document-retriever.js","sourceRoot":"","sources":["../../../src/retrieval/search/document-retriever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,OAAgB,iBAAiB;IAGrC,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF"} |
@@ -1,3 +0,3 @@ | ||
| export { DocumentRetriever } from "./document-retriever"; | ||
| export { VectorStoreDocumentRetriever, type VectorStoreDocumentRetrieverProps, } from "./vector-store-document-retriever"; | ||
| export { DocumentRetriever } from "./document-retriever.js"; | ||
| export { VectorStoreDocumentRetriever, type VectorStoreDocumentRetrieverProps, } from "./vector-store-document-retriever.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retrieval/search/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,KAAK,iCAAiC,GACvC,MAAM,mCAAmC,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retrieval/search/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,4BAA4B,EAC5B,KAAK,iCAAiC,GACvC,MAAM,sCAAsC,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,8 +16,4 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.VectorStoreDocumentRetriever = exports.DocumentRetriever = void 0; | ||
| var document_retriever_1 = require("./document-retriever"); | ||
| Object.defineProperty(exports, "DocumentRetriever", { enumerable: true, get: function () { return document_retriever_1.DocumentRetriever; } }); | ||
| var vector_store_document_retriever_1 = require("./vector-store-document-retriever"); | ||
| Object.defineProperty(exports, "VectorStoreDocumentRetriever", { enumerable: true, get: function () { return vector_store_document_retriever_1.VectorStoreDocumentRetriever; } }); | ||
| export { DocumentRetriever } from "./document-retriever.js"; | ||
| export { VectorStoreDocumentRetriever, } from "./vector-store-document-retriever.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retrieval/search/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,qFAG2C;AAFzC,+IAAA,4BAA4B,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retrieval/search/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,4BAA4B,GAE7B,MAAM,sCAAsC,CAAC"} |
| import type { Document } from "@nestjs-ai/commons"; | ||
| import { Filter, type VectorStore } from "@nestjs-ai/vector-store"; | ||
| import type { Query } from "../../query"; | ||
| import { DocumentRetriever } from "./document-retriever"; | ||
| import type { Query } from "../../query.js"; | ||
| import { DocumentRetriever } from "./document-retriever.js"; | ||
| export interface VectorStoreDocumentRetrieverProps { | ||
@@ -6,0 +6,0 @@ vectorStore: VectorStore; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"vector-store-document-retriever.d.ts","sourceRoot":"","sources":["../../../src/retrieval/search/vector-store-document-retriever.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EACL,MAAM,EAGN,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,iCAAiC;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,CAAC,EACb,MAAM,CAAC,UAAU,GACjB,CAAC,MAAM,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAChC,IAAI,CAAC;CACV;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,oCAAoC;IAErE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;gBAEvD,KAAK,EAAE,iCAAiC;IA6B3C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAYpD,OAAO,CAAC,8BAA8B;CAgBvC"} | ||
| {"version":3,"file":"vector-store-document-retriever.d.ts","sourceRoot":"","sources":["../../../src/retrieval/search/vector-store-document-retriever.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,MAAM,EAGN,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,iCAAiC;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,CAAC,EACb,MAAM,CAAC,UAAU,GACjB,CAAC,MAAM,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAChC,IAAI,CAAC;CACV;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,oCAAoC;IAErE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;gBAEvD,KAAK,EAAE,iCAAiC;IA6B3C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAYpD,OAAO,CAAC,8BAA8B;CAgBvC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,7 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.VectorStoreDocumentRetriever = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| const commons_1 = require("@nestjs-ai/commons"); | ||
| const vector_store_1 = require("@nestjs-ai/vector-store"); | ||
| const document_retriever_1 = require("./document-retriever"); | ||
| class VectorStoreDocumentRetriever extends document_retriever_1.DocumentRetriever { | ||
| import assert from "node:assert/strict"; | ||
| import { Filter, FilterExpressionTextParser, SearchRequest, } from "@nestjs-ai/vector-store"; | ||
| import { StringUtils } from "@nestjs-port/core"; | ||
| import { DocumentRetriever } from "./document-retriever.js"; | ||
| export class VectorStoreDocumentRetriever extends DocumentRetriever { | ||
| static FILTER_EXPRESSION = "vector_store_filter_expression"; | ||
@@ -35,8 +29,8 @@ _vectorStore; | ||
| super(); | ||
| (0, strict_1.default)(props.vectorStore != null, "vectorStore cannot be null"); | ||
| assert(props.vectorStore != null, "vectorStore cannot be null"); | ||
| const similarityThreshold = props.similarityThreshold ?? | ||
| vector_store_1.SearchRequest.SIMILARITY_THRESHOLD_ACCEPT_ALL; | ||
| (0, strict_1.default)(similarityThreshold >= 0.0, "similarityThreshold must be equal to or greater than 0.0"); | ||
| const topK = props.topK ?? vector_store_1.SearchRequest.DEFAULT_TOP_K; | ||
| (0, strict_1.default)(topK > 0, "topK must be greater than 0"); | ||
| SearchRequest.SIMILARITY_THRESHOLD_ACCEPT_ALL; | ||
| assert(similarityThreshold >= 0.0, "similarityThreshold must be equal to or greater than 0.0"); | ||
| const topK = props.topK ?? SearchRequest.DEFAULT_TOP_K; | ||
| assert(topK > 0, "topK must be greater than 0"); | ||
| let filterExpression = () => null; | ||
@@ -56,5 +50,5 @@ if (typeof props.filterExpression === "function") { | ||
| retrieve(query) { | ||
| (0, strict_1.default)(query != null, "query cannot be null"); | ||
| assert(query != null, "query cannot be null"); | ||
| const requestFilterExpression = this.computeRequestFilterExpression(query); | ||
| const searchRequest = vector_store_1.SearchRequest.builder() | ||
| const searchRequest = SearchRequest.builder() | ||
| .query(query.text) | ||
@@ -70,8 +64,8 @@ .filterExpression(requestFilterExpression) | ||
| if (contextFilterExpression != null) { | ||
| if (contextFilterExpression instanceof vector_store_1.Filter.Expression) { | ||
| if (contextFilterExpression instanceof Filter.Expression) { | ||
| return contextFilterExpression; | ||
| } | ||
| const textFilterExpression = contextFilterExpression.toString(); | ||
| if (commons_1.StringUtils.hasText(textFilterExpression)) { | ||
| return new vector_store_1.FilterExpressionTextParser().parse(textFilterExpression); | ||
| if (StringUtils.hasText(textFilterExpression)) { | ||
| return new FilterExpressionTextParser().parse(textFilterExpression); | ||
| } | ||
@@ -82,3 +76,2 @@ } | ||
| } | ||
| exports.VectorStoreDocumentRetriever = VectorStoreDocumentRetriever; | ||
| //# sourceMappingURL=vector-store-document-retriever.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"vector-store-document-retriever.js","sourceRoot":"","sources":["../../../src/retrieval/search/vector-store-document-retriever.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AAExC,gDAAiD;AACjD,0DAKiC;AAEjC,6DAAyD;AAYzD,MAAa,4BAA6B,SAAQ,sCAAiB;IACjE,MAAM,CAAU,iBAAiB,GAAG,gCAAgC,CAAC;IAEpD,YAAY,CAAc;IAC1B,oBAAoB,CAAS;IAC7B,KAAK,CAAS;IACd,iBAAiB,CAAiC;IAEnE,YAAY,KAAwC;QAClD,KAAK,EAAE,CAAC;QACR,IAAA,gBAAM,EAAC,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE,4BAA4B,CAAC,CAAC;QAEhE,MAAM,mBAAmB,GACvB,KAAK,CAAC,mBAAmB;YACzB,4BAAa,CAAC,+BAA+B,CAAC;QAChD,IAAA,gBAAM,EACJ,mBAAmB,IAAI,GAAG,EAC1B,0DAA0D,CAC3D,CAAC;QAEF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,4BAAa,CAAC,aAAa,CAAC;QACvD,IAAA,gBAAM,EAAC,IAAI,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAEhD,IAAI,gBAAgB,GAAmC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClE,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACjD,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,0BAA0B,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAC1D,gBAAgB,GAAG,GAAG,EAAE,CAAC,0BAA0B,IAAI,IAAI,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAEQ,QAAQ,CAAC,KAAY;QAC5B,IAAA,gBAAM,EAAC,KAAK,IAAI,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC9C,MAAM,uBAAuB,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,4BAAa,CAAC,OAAO,EAAE;aAC1C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;aACjB,gBAAgB,CAAC,uBAAuB,CAAC;aACzC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC;aAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAChB,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAEO,8BAA8B,CACpC,KAAY;QAEZ,MAAM,uBAAuB,GAC3B,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,uBAAuB,IAAI,IAAI,EAAE,CAAC;YACpC,IAAI,uBAAuB,YAAY,qBAAM,CAAC,UAAU,EAAE,CAAC;gBACzD,OAAO,uBAAuB,CAAC;YACjC,CAAC;YACD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ,EAAE,CAAC;YAChE,IAAI,qBAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,yCAA0B,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;;AAhEH,oEAiEC"} | ||
| {"version":3,"file":"vector-store-document-retriever.js","sourceRoot":"","sources":["../../../src/retrieval/search/vector-store-document-retriever.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| export { PromptAssert } from "./prompt-assert"; | ||
| export { PromptAssert } from "./prompt-assert.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,6 +16,3 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.PromptAssert = void 0; | ||
| var prompt_assert_1 = require("./prompt-assert"); | ||
| Object.defineProperty(exports, "PromptAssert", { enumerable: true, get: function () { return prompt_assert_1.PromptAssert; } }); | ||
| export { PromptAssert } from "./prompt-assert.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"} |
@@ -1,2 +0,1 @@ | ||
| "use strict"; | ||
| /* | ||
@@ -17,12 +16,7 @@ * Copyright 2023-present the original author or authors. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.PromptAssert = void 0; | ||
| const strict_1 = __importDefault(require("node:assert/strict")); | ||
| class PromptAssert { | ||
| import assert from "node:assert/strict"; | ||
| export class PromptAssert { | ||
| static templateHasRequiredPlaceholders(promptTemplate, ...placeholders) { | ||
| (0, strict_1.default)(promptTemplate != null, "promptTemplate cannot be null"); | ||
| (0, strict_1.default)(placeholders.length > 0, "placeholders cannot be null or empty"); | ||
| assert(promptTemplate != null, "promptTemplate cannot be null"); | ||
| assert(placeholders.length > 0, "placeholders cannot be null or empty"); | ||
| const missingPlaceholders = []; | ||
@@ -39,3 +33,2 @@ for (const placeholder of placeholders) { | ||
| } | ||
| exports.PromptAssert = PromptAssert; | ||
| //# sourceMappingURL=prompt-assert.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"prompt-assert.js","sourceRoot":"","sources":["../../src/util/prompt-assert.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,gEAAwC;AAGxC,MAAsB,YAAY;IAChC,MAAM,CAAC,+BAA+B,CACpC,cAA8B,EAC9B,GAAG,YAAsB;QAEzB,IAAA,gBAAM,EAAC,cAAc,IAAI,IAAI,EAAE,+BAA+B,CAAC,CAAC;QAChE,IAAA,gBAAM,EAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;QAExE,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,sEAAsE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AArBD,oCAqBC"} | ||
| {"version":3,"file":"prompt-assert.js","sourceRoot":"","sources":["../../src/util/prompt-assert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAGxC,MAAM,OAAgB,YAAY;IAChC,MAAM,CAAC,+BAA+B,CACpC,cAA8B,EAC9B,GAAG,YAAsB;QAEzB,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE,+BAA+B,CAAC,CAAC;QAChE,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;QAExE,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,sEAAsE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;CACF"} |
+26
-20
| { | ||
| "name": "@nestjs-ai/rag", | ||
| "version": "0.0.2", | ||
| "version": "0.1.0", | ||
| "private": false, | ||
| "description": "Retrieval Augmented Generation (RAG) support for NestJS AI", | ||
| "keywords": [ | ||
| "ai", | ||
| "nestjs", | ||
| "rag" | ||
| ], | ||
| "homepage": "https://nestjs-port.github.io/nestjs-ai", | ||
| "license": "Apache-2.0", | ||
| "repository": { | ||
@@ -12,8 +18,7 @@ "type": "git", | ||
| }, | ||
| "keywords": [ | ||
| "nestjs", | ||
| "ai", | ||
| "rag" | ||
| "files": [ | ||
| "dist", | ||
| "CHANGELOG.md" | ||
| ], | ||
| "license": "Apache-2.0", | ||
| "type": "module", | ||
| "main": "./dist/index.js", | ||
@@ -24,21 +29,22 @@ "types": "./dist/index.d.ts", | ||
| "types": "./dist/index.d.ts", | ||
| "require": "./dist/index.js" | ||
| "default": "./dist/index.js" | ||
| } | ||
| }, | ||
| "devDependencies": { | ||
| "@nestjs-port/core": "^0.0.4", | ||
| "@nestjs-ai/client-chat": "0.1.0", | ||
| "@nestjs-ai/commons": "0.1.0", | ||
| "@nestjs-ai/model": "0.1.0", | ||
| "@nestjs-ai/vector-store": "0.1.0" | ||
| }, | ||
| "peerDependencies": { | ||
| "@nestjs-ai/client-chat": "*", | ||
| "@nestjs-ai/commons": "*", | ||
| "@nestjs-ai/model": "*", | ||
| "@nestjs-ai/vector-store": "*" | ||
| "@nestjs-port/core": "^0.0.4", | ||
| "@nestjs-ai/client-chat": "^0.1.0", | ||
| "@nestjs-ai/commons": "^0.1.0", | ||
| "@nestjs-ai/model": "^0.1.0", | ||
| "@nestjs-ai/vector-store": "^0.1.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@nestjs-ai/client-chat": "0.0.2", | ||
| "@nestjs-ai/commons": "0.0.2", | ||
| "@nestjs-ai/model": "0.0.2", | ||
| "@nestjs-ai/vector-store": "0.0.2" | ||
| "engines": { | ||
| "node": ">=22.12.0" | ||
| }, | ||
| "files": [ | ||
| "dist", | ||
| "CHANGELOG.md" | ||
| ], | ||
| "scripts": { | ||
@@ -45,0 +51,0 @@ "build": "pnpm clean && tsc -p tsconfig.build.json", |
+198
-61
@@ -5,3 +5,3 @@ # NestJS AI | ||
| **Last synced Spring AI commit:** `da8db657` (Remove Anthropic IT that no longer makes sense) | ||
| **Last synced Spring AI commit:** `d3e495d2` (Expose conversationHistoryEnabled getter in ToolCallAdvisor.Builder) | ||
@@ -14,2 +14,8 @@ ## Overview | ||
| ## Documentation & Resources | ||
| - 📖 **Reference Documentation**: [https://nestjs-port.github.io/nestjs-ai](https://nestjs-port.github.io/nestjs-ai) | ||
| - 💡 **Example Applications**: [nestjs-port/nestjs-ai-examples](https://github.com/nestjs-port/nestjs-ai-examples) | ||
| - 🔗 **Upstream Project**: [Spring AI](https://github.com/spring-projects/spring-ai) — the Java/Spring project this port tracks | ||
| ## Key Features | ||
@@ -30,55 +36,175 @@ | ||
| | Category | Technology | | ||
| |---|---| | ||
| | Language | TypeScript 6.x (strict mode) | | ||
| | Runtime | Node.js >= 20 | | ||
| | Framework | NestJS 11.x | | ||
| | Package Manager | pnpm 10.x | | ||
| | Build | Turborepo + tsc | | ||
| | Test | Vitest 4.x + TestContainers | | ||
| | Lint/Format | Biomejs 2.x | | ||
| | Reactive | RxJS 7.x | | ||
| | Validation | Zod 4.x | | ||
| | Category | Technology | | ||
| | --------------- | ------------------------------------------------------------------------------ | | ||
| | Language | TypeScript 6.x (strict mode) | | ||
| | Runtime | Node.js >= 22.12 | | ||
| | Module format | ESM only | | ||
| | Framework | NestJS 11.x | | ||
| | Package Manager | pnpm 10.x | | ||
| | Build | Turborepo + tsc | | ||
| | Test | Vitest 4.x + TestContainers | | ||
| | Lint/Format | Oxlint + Oxfmt | | ||
| | Reactive | RxJS 7.x | | ||
| | Validation | [Standard Schema](https://standardschema.dev/) (zod / valibot / arktype / ...) | | ||
| ## Porting Progress | ||
| Spring AI module porting status to NestJS AI. (~520 source files, ~180 test files ported across 22 packages) | ||
| | Category | Spring AI Module | nestjs-ai Package | Progress | | ||
| | ----------------------- | ------------------------------------- | ----------------------------------------------- | -------- | | ||
| | **Core** | spring-ai-model | `@nestjs-ai/model` | 100% | | ||
| | | spring-ai-client-chat | `@nestjs-ai/client-chat` | 100% | | ||
| | | spring-ai-commons | `@nestjs-ai/commons` | 100% | | ||
| | | spring-ai-retry | `@nestjs-ai/retry` | 100% | | ||
| | | spring-ai-template-st | `@nestjs-ai/template-st` | 100% | | ||
| | **Model Providers** | spring-ai-openai | `@nestjs-ai/model-openai` | 100% | | ||
| | | spring-ai-google-genai | `@nestjs-ai/model-google-genai` | 100% | | ||
| | | spring-ai-transformers | `@nestjs-ai/model-transformers` | 100% | | ||
| | | spring-ai-anthropic | `@nestjs-ai/model-anthropic` | 100% | | ||
| | | spring-ai-azure-openai | — | 0% | | ||
| | | spring-ai-bedrock | — | 0% | | ||
| | | spring-ai-mistral-ai | — | 0% | | ||
| | | spring-ai-ollama | — | 0% | | ||
| | **RAG & Vector Stores** | spring-ai-rag | `@nestjs-ai/rag` | 100% | | ||
| | | spring-ai-vector-store | `@nestjs-ai/vector-store` | 100% | | ||
| | | spring-ai-redis-store | `@nestjs-ai/vector-store-redis` | 100% | | ||
| | | spring-ai-advisors-vector-store | `@nestjs-ai/advisors-vector-store` | 100% | | ||
| | | spring-ai-pgvector-store | — | 0% | | ||
| | | spring-ai-chroma-store | — | 0% | | ||
| | | spring-ai-pinecone-store | — | 0% | | ||
| | | spring-ai-milvus-store | — | 0% | | ||
| | **Document Readers** | spring-ai-pdf-document-reader | `@nestjs-ai/document-reader-pdf` | 100% | | ||
| | | spring-ai-markdown-document-reader | `@nestjs-ai/document-reader-markdown` | 100% | | ||
| | | spring-ai-tika-document-reader | `@nestjs-ai/document-reader-tika` | 100% | | ||
| | | (cheerio - NestJS specific) | `@nestjs-ai/document-reader-cheerio` | 100% | | ||
| | **Memory** | spring-ai-model-chat-memory-redis | `@nestjs-ai/model-chat-memory-repository-redis` | 100% | | ||
| | | spring-ai-model-chat-memory-jdbc | `@nestjs-ai/model-chat-memory-repository-jsdbc` | 100% | | ||
| | | spring-ai-model-chat-memory-cassandra | — | 0% | | ||
| | **Platform** | spring-ai-autoconfigure | `@nestjs-ai/platform` | 100% | | ||
| | | spring-ai-mcp | `@nestjs-ai/mcp-common` | 10% | | ||
| | | spring-ai-mcp-annotations | `@nestjs-ai/mcp-annotations` | 5% | | ||
| | Category | Spring AI Module | nestjs-ai Package | Progress | | ||
| |---|---|---|---| | ||
| | **Core** | spring-ai-model | `@nestjs-ai/model` | 100% | | ||
| | | spring-ai-client-chat | `@nestjs-ai/client-chat` | 100% | | ||
| | | spring-ai-commons | `@nestjs-ai/commons` | 100% | | ||
| | | spring-ai-retry | `@nestjs-ai/retry` | 100% | | ||
| | | spring-ai-template-st | `@nestjs-ai/template-st` | 100% | | ||
| | | spring-ai-observation | `@nestjs-ai/observation` | 100% | | ||
| | | spring-ai-test | `@nestjs-ai/testing` | 100% | | ||
| | **Model Providers** | spring-ai-openai | `@nestjs-ai/model-openai` | 100% | | ||
| | | spring-ai-openai-sdk | `@nestjs-ai/model-openai-sdk` | 100% | | ||
| | | spring-ai-google-genai | `@nestjs-ai/model-google-genai` | 100% | | ||
| | | spring-ai-transformers | `@nestjs-ai/model-transformers` | 100% | | ||
| | | spring-ai-anthropic | — | 0% | | ||
| | | spring-ai-azure-openai | — | 0% | | ||
| | | spring-ai-bedrock | — | 0% | | ||
| | | spring-ai-mistral-ai | — | 0% | | ||
| | | spring-ai-ollama | — | 0% | | ||
| | **RAG & Vector Stores** | spring-ai-rag | `@nestjs-ai/rag` | 100% | | ||
| | | spring-ai-vector-store | `@nestjs-ai/vector-store` | 100% | | ||
| | | spring-ai-redis-store | `@nestjs-ai/vector-store-redis` | 100% | | ||
| | | spring-ai-advisors-vector-store | `@nestjs-ai/advisors-vector-store` | 100% | | ||
| | | spring-ai-pgvector-store | — | 0% | | ||
| | | spring-ai-chroma-store | — | 0% | | ||
| | | spring-ai-pinecone-store | — | 0% | | ||
| | | spring-ai-milvus-store | — | 0% | | ||
| | **Document Readers** | spring-ai-pdf-document-reader | `@nestjs-ai/document-reader-pdf` | 100% | | ||
| | | spring-ai-markdown-document-reader | `@nestjs-ai/document-reader-markdown` | 100% | | ||
| | | spring-ai-tika-document-reader | `@nestjs-ai/document-reader-tika` | 100% | | ||
| | | (cheerio - NestJS specific) | `@nestjs-ai/document-reader-cheerio` | 100% | | ||
| | **Memory** | spring-ai-model-chat-memory-redis | `@nestjs-ai/model-chat-memory-repository-redis` | 100% | | ||
| | | spring-ai-model-chat-memory-jdbc | — | 0% | | ||
| | | spring-ai-model-chat-memory-cassandra | — | 0% | | ||
| | **Platform** | spring-ai-autoconfigure | `@nestjs-ai/platform` | 100% | | ||
| | | spring-ai-mcp | `@nestjs-ai/mcp-common` | 10% | | ||
| | | spring-ai-jsdbc | `@nestjs-ai/jsdbc` | 30% | | ||
| ## Differences from Spring AI | ||
| NestJS AI mirrors Spring AI's module structure and API design, but adapts the following areas to fit the Node.js / TypeScript ecosystem. | ||
| ### 1. Standard Schema instead of reflection-based JSON Schema | ||
| Spring AI derives JSON Schema for tool/function calling from Java classes via reflection. Node.js reflection is limited, so NestJS AI accepts any schema that implements [**Standard Schema**](https://standardschema.dev/) as the source of truth for tool parameters and structured output. Standard Schema is a vendor-neutral interface (`~standard.validate()` + `~standard.jsonSchema`) that [zod](https://github.com/colinhacks/zod), [valibot](https://github.com/fabian-hiller/valibot), [arktype](https://github.com/arktypeio/arktype), [effect](https://github.com/Effect-TS/effect), and others implement out of the box, so you can pick whichever library you prefer. The schema is both the runtime validator and the JSON Schema fed to the model. | ||
| ```typescript | ||
| import { Tool } from "@nestjs-ai/model"; | ||
| import { z } from "zod"; // or valibot, arktype, ... — any Standard-Schema-compatible library works | ||
| class WeatherTools { | ||
| @Tool({ | ||
| description: "Get current weather for a city", | ||
| parameters: z.object({ | ||
| city: z.string(), | ||
| unit: z.enum(["celsius", "fahrenheit"]).optional(), | ||
| }), | ||
| }) | ||
| getWeather(input: { city: string; unit?: "celsius" | "fahrenheit" }) { | ||
| return fetchWeather(input.city, input.unit); | ||
| } | ||
| } | ||
| ``` | ||
| Structured output works the same way — pass a Standard Schema to `.entity()`: | ||
| ```typescript | ||
| const sentiment = await chatClient | ||
| .prompt("Classify: I love this product!") | ||
| .call() | ||
| .entity(z.object({ sentiment: z.enum(["positive", "negative", "neutral"]) })); | ||
| ``` | ||
| ### 2. NestJS dynamic modules instead of Spring Boot auto-configuration | ||
| Spring AI wires beans through `@EnableAutoConfiguration` and `application.properties`. NestJS AI uses NestJS dynamic modules — `forRoot()`, `forFeature()`, `forFeatureAsync()` — so configuration is explicit in your module graph. | ||
| ```typescript | ||
| import { Module } from "@nestjs/common"; | ||
| import { NestAiModule } from "@nestjs-ai/platform"; | ||
| import { OpenAiChatModelModule } from "@nestjs-ai/model-openai"; | ||
| import { ChatClientModule } from "@nestjs-ai/client-chat"; | ||
| @Module({ | ||
| imports: [ | ||
| NestAiModule.forRoot(), | ||
| OpenAiChatModelModule.forFeature({ | ||
| apiKey: process.env.OPENAI_API_KEY, | ||
| options: { model: "gpt-4o-mini", temperature: 0.7 }, | ||
| }), | ||
| ChatClientModule.forFeature(), | ||
| ], | ||
| }) | ||
| export class AppModule {} | ||
| ``` | ||
| For dynamic configuration (e.g., `ConfigService`), use the async variant: | ||
| ```typescript | ||
| OpenAiChatModelModule.forFeatureAsync({ | ||
| imports: [ConfigModule], | ||
| inject: [ConfigService], | ||
| useFactory: (config: ConfigService) => ({ | ||
| apiKey: config.getOrThrow("OPENAI_API_KEY"), | ||
| options: { model: config.get("OPENAI_MODEL", "gpt-4o-mini") }, | ||
| }), | ||
| }); | ||
| ``` | ||
| ### 3. Props objects instead of builder-only configuration | ||
| Spring AI's options classes are constructed via `.builder()...build()`. NestJS AI keeps the builder available (via `.builder()` / `.mutate()`) but options constructors accept a **plain props object (JSON literal)**, which matches TypeScript idioms and avoids fluent-chain ceremony. | ||
| ```typescript | ||
| import { OpenAiChatOptions } from "@nestjs-ai/model-openai"; | ||
| // Props style (preferred) | ||
| const options = new OpenAiChatOptions({ | ||
| model: "gpt-4o-mini", | ||
| temperature: 0.7, | ||
| maxTokens: 1024, | ||
| }); | ||
| // Builder style (still supported, useful for partial mutation) | ||
| const tuned = OpenAiChatOptions.builder() | ||
| .temperature(0.9) | ||
| .maxTokens(2048) | ||
| .build(); | ||
| ``` | ||
| ### 4. ChatClient `prompt()` accepts both fluent API and JSON literal | ||
| Spring AI's `ChatClient.prompt()` is fluent. NestJS AI's `prompt()` is overloaded so you can pick whichever style fits the call site — a bare string, a `Prompt` instance, a props object, or the fluent chain. | ||
| ```typescript | ||
| // Fluent API (Spring AI-style) | ||
| await chatClient | ||
| .prompt() | ||
| .system("You are a helpful assistant.") | ||
| .user("Summarize TypeScript in one sentence.") | ||
| .call() | ||
| .content(); | ||
| // String shorthand | ||
| await chatClient | ||
| .prompt("Summarize TypeScript in one sentence.") | ||
| .call() | ||
| .content(); | ||
| // JSON literal props — most ergonomic when options are dynamic | ||
| await chatClient | ||
| .prompt({ | ||
| system: "You are a helpful assistant.", | ||
| user: "Summarize TypeScript in one sentence.", | ||
| options: OpenAiChatOptions.builder().temperature(0.3), | ||
| }) | ||
| .call() | ||
| .content(); | ||
| ``` | ||
| All four forms return the same `ChatClientRequestSpec`, so `.call()`, `.stream()`, `.entity(zodSchema)`, and advisor/tool composition work uniformly. | ||
| ## Project Structure | ||
@@ -90,18 +216,18 @@ | ||
| │ ├── model/ # Core chat/embedding abstractions | ||
| │ ├── client-chat/ # High-level client API & advisors | ||
| │ ├── client-chat/ # High-level fluent ChatClient API | ||
| │ ├── commons/ # Shared utilities & tokens | ||
| │ ├── platform/ # NestJS module integration | ||
| │ ├── platform/ # NestJS module integration (NestAiModule) | ||
| │ ├── rag/ # RAG pipeline | ||
| │ ├── vector-store/ # Vector store abstractions | ||
| │ ├── observation/ # OpenTelemetry integration | ||
| │ ├── retry/ # Retry utilities | ||
| │ ├── template-st/ # Prompt templating | ||
| │ ├── testing/ # Test utilities | ||
| │ ├── jsdbc/ # JDBC integration layer | ||
| │ ├── template-st/ # StringTemplate-based prompt templating | ||
| │ ├── integration-tests/ # Cross-package integration test suite | ||
| │ ├── models/ | ||
| │ │ ├── openai/ # OpenAI provider | ||
| │ │ ├── google-genai/ # Google GenAI provider | ||
| │ │ ├── google-genai/ # Google GenAI (Gemini / Vertex AI) provider | ||
| │ │ ├── anthropic/ # Anthropic (Claude) provider | ||
| │ │ └── transformers/ # Hugging Face local embeddings | ||
| │ ├── mcp/ | ||
| │ │ └── common/ # Model Context Protocol | ||
| │ │ ├── common/ # Model Context Protocol core | ||
| │ │ └── annotations/ # MCP annotations (WIP) | ||
| │ ├── vector-stores/ | ||
@@ -111,5 +237,6 @@ │ │ └── redis-store/ # Redis vector store | ||
| │ │ └── repository/ | ||
| │ │ └── model-chat-memory-repository-redis/ | ||
| │ │ ├── model-chat-memory-repository-redis/ # Redis-backed chat memory | ||
| │ │ └── model-chat-memory-repository-jsdbc/ # SQL-backed chat memory (MySQL/Postgres/Oracle/SQL Server/SQLite) | ||
| │ ├── document-readers/ | ||
| │ │ ├── pdf-reader/ # PDF.js reader | ||
| │ │ ├── pdf-reader/ # PDF reader | ||
| │ │ ├── markdown-reader/ # Markdown reader | ||
@@ -119,3 +246,3 @@ │ │ ├── cheerio-reader/ # HTML/web scraping | ||
| │ └── advisors/ | ||
| │ └── advisors-vector-store/ | ||
| │ └── advisors-vector-store/ # Vector-store-backed advisors | ||
| ├── docs/ # Antora documentation site | ||
@@ -129,5 +256,7 @@ └── turbo.json # Turborepo configuration | ||
| - Node.js >= 20.0.0 | ||
| - Node.js >= 22.12.0 (required for `require(esm)` support so ESM-only packages can be consumed from CJS) | ||
| - pnpm >= 10.0.0 | ||
| All packages are published as **ESM only**. Consumer apps running Node.js 22.12+ can import them from either ESM or CJS code. | ||
| ### Installation | ||
@@ -157,1 +286,9 @@ | ||
| ``` | ||
| ## License | ||
| NestJS AI is released under the [Apache License 2.0](./LICENSE), matching the license of the upstream [Spring AI](https://github.com/spring-projects/spring-ai) project. | ||
| ## Acknowledgments | ||
| NestJS AI would not exist without the foundational work of the [Spring AI](https://github.com/spring-projects/spring-ai) team and contributors. This project is a faithful TypeScript/NestJS port of Spring AI's abstractions, module structure, and API design — all credit for the original architecture and research belongs to them. |
287
91.33%Yes
NaN132560
-2.13%5
25%5
25%1444
-14.4%