crewai-ts
Version:
TypeScript port of crewAI for agent-based workflows
81 lines • 2.62 kB
TypeScript
/**
* 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