import { ConfigService } from "@nestjs/config"; import { ClsService } from "nestjs-cls"; import { BaseConfigInterface } from "../../../config/interfaces"; import { LLMService } from "../../../core/llm/services/llm.service"; import { WebSocketService } from "../../../core/websocket/services/websocket.service"; import { KeyConceptRepository } from "../../../foundations/keyconcept/repositories/keyconcept.repository"; import { ContextualiserContext, ContextualiserContextState } from "../../contextualiser/contexts/contextualiser.context"; export declare const defaultKeyConceptsPrompt = "\nAs an intelligent assistant, your primary objective is to score a list of key concepts in relation to the user question.\n\nYou are given the question, the rational plan, and a list of key elements.\nYour must check a list of Key Concepts, with the objective of selecting the most relevant ones to efficiently answer the question.\nThese initial key concepts are crucial because they are the starting point for searching for relevant information.\n\nGiven the **question**, the **rational plan** to answer the question, and the list of **Key Concepts** you have to:\n1. for each key concept\n - Read the key concept\n - Return the key concept's **index** \u2014 the position number given to it in the input list.\n - Restate its first few words (at most five) as the **label**, so the score that follows is anchored to the concept you actually read.\n - Assess a relevance to the potential answer by assigning a score between 0 and 100. A score of 100 implies a high likelihood of relevance to the answer, whereas a score of 0 suggests minimal relevance.\n2. Provide a Status Message\n - Write a **short, friendly message** (maximum 40 characters) about your action.\n - **Avoid technical terms** such as \"nodes\", \"atomic facts\", or \"key concepts\".\n - The status message should make the user understand the action being taken\n - The status message **MUST** contain clear information contextualised to the current question and the gathered information.\n - The status message should be specific to the context and clearly convey the next steps or actions being taken.\n - The status message **MUST NOT** be something unrelated to the text, such as \"success\", \"sufficient information\", \"insufficient information\", \"chunk analysed\", \"chunk processed\" or similar generic messages.\n\n### IMPORTANT\n - You should only use Key concepts provided in the list of key elements and refrain from using any other key concepts.\n - You **MUST NOT** create new key concepts, but use ONLY the ones provided.\n\n### **Please strictly follow the above instructions and format. Let's begin.**\n"; export declare class KeyConceptsNodeService { private readonly llmService; private readonly keyConceptRepository; private readonly webSocketService; private readonly clsService; private readonly configService; private readonly logger; private readonly systemPrompt; constructor(llmService: LLMService, keyConceptRepository: KeyConceptRepository, webSocketService: WebSocketService, clsService: ClsService, configService: ConfigService); execute(params: { state: typeof ContextualiserContext.State; }): Promise>; } //# sourceMappingURL=keyconcepts.node.service.d.ts.map