UNPKG

crewai-ts

Version:

TypeScript port of crewAI for agent-based workflows

81 lines 2.62 kB
/** * Task Evaluator * Evaluates task outputs to extract insights and assess quality * Optimized for efficient entity extraction and quality assessment */ import { BaseAgent } from '../../BaseAgent.js'; import { Task } from '../../../task/Task.js'; import { TaskEvaluation } from '../types/index.js'; /** * Entity extraction result */ export interface ExtractedEntity { name: string; type: string; description: string; relationships: string[]; } /** * Evaluation options */ export interface EvaluationOptions { /** Maximum number of entities to extract */ maxEntities?: number; /** Custom quality assessment function */ qualityAssessor?: (text: string, task: Task) => Promise<number>; /** Custom suggestion generator */ suggestionGenerator?: (text: string, task: Task) => Promise<string[]>; /** Custom entity extractor */ entityExtractor?: (text: string) => Promise<ExtractedEntity[]>; } /** * Evaluates task outputs to extract entities, assess quality, and generate suggestions * Optimized for performance and memory efficiency */ export declare class TaskEvaluator { private agent; private maxEntities; private qualityAssessor?; private suggestionGenerator?; private entityExtractor?; /** * Create a new TaskEvaluator * @param agent Agent that executed the task * @param options Evaluation options */ constructor(agent: BaseAgent, options?: EvaluationOptions); /** * Evaluate a task output * @param task Task that was executed * @param outputText Output text to evaluate * @returns Evaluation result or null if evaluation failed */ evaluate(task: Task, outputText: string): Promise<TaskEvaluation | null>; /** * Assess the quality of the output * @param outputText Output text to assess * @param task Task that was executed * @returns Quality score between 0 and 1 */ private assessQuality; /** * Generate suggestions for improving the output * @param outputText Output text to generate suggestions for * @param task Task that was executed * @returns Array of suggestions */ private generateSuggestions; /** * Extract entities from the output text * @param outputText Output text to extract entities from * @returns Array of extracted entities */ private extractEntities; /** * Extract keywords from a text * @param text Text to extract keywords from * @returns Array of keywords */ private extractKeywords; } //# sourceMappingURL=TaskEvaluator.d.ts.map