import { ConfigService } from "@nestjs/config"; import { BaseConfigInterface } from "../../../config/interfaces"; import { EmbedderService } from "../../../core"; import { LLMService } from "../../../core/llm/services/llm.service"; import { AppLoggingService } from "../../../core/logging/services/logging.service"; import { Community } from "../../../foundations/community/entities/community.entity"; import { CommunityRepository } from "../../../foundations/community/repositories/community.repository"; export declare const prompt = "\nYou are an expert knowledge analyst tasked with summarizing a community of related entities from a knowledge graph.\n\n## Your Task\n\nGiven a cluster of entities (key concepts) and their relationships, create a comprehensive summary that:\n\n1. **Identifies the Main Theme**: What is the central topic or domain this cluster represents?\n2. **Describes Key Entities**: Explain the most important entities and their roles within this cluster\n3. **Explains Relationships**: Describe how the entities are connected and interact\n4. **Provides Context**: Give context for why these entities are grouped together\n\n## Guidelines\n\n- Write in clear, professional prose\n- Focus on the most significant entities and relationships\n- Provide actionable insights where possible\n- Keep the summary between 200-500 words\n- Use the entity descriptions when available to enrich your summary\n\n## Output Format\n\nProvide:\n- **title**: A concise, descriptive title for this community (max 50 characters)\n- **summary**: A narrative summary following the guidelines above\n- **rating**: A quality score from 0-100 based on:\n - Coherence: How well do the entities relate to each other?\n - Completeness: Does the cluster represent a meaningful concept?\n - Usefulness: How valuable is this cluster for understanding the domain?\n"; export declare class CommunitySummariserService { private readonly llmService; private readonly embedderService; private readonly communityRepository; private readonly logger; private readonly configService; private readonly systemPrompt; constructor(llmService: LLMService, embedderService: EmbedderService, communityRepository: CommunityRepository, logger: AppLoggingService, configService: ConfigService); /** * Find a community by ID and generate its summary */ generateSummaryById(communityId: string): Promise; /** * Generate summary for a single community */ generateSummary(community: Community): Promise; } //# sourceMappingURL=community.summariser.service.d.ts.map