skailan-ai
Version:
Servicio de IA y procesamiento de lenguaje natural para Skailan
25 lines • 1.22 kB
JavaScript
import { AIService } from '../../domain/services/AIService';
export class ProcessTextWithAI {
promptRepository;
llmConfigRepository;
constructor(promptRepository, llmConfigRepository) {
this.promptRepository = promptRepository;
this.llmConfigRepository = llmConfigRepository;
}
async execute(request) {
const { organizationId, text, promptName, llmConfigName, parameters } = request;
const prompt = await this.promptRepository.findByName(promptName, organizationId);
if (!prompt) {
throw new Error(`Prompt '${promptName}' not found for this organization.`);
}
const llmConfig = await this.llmConfigRepository.findByName(llmConfigName, organizationId);
if (!llmConfig || !llmConfig.isActive) {
throw new Error(`LLM configuration '${llmConfigName}' not found or is inactive for this organization.`);
}
const aiService = new AIService(llmConfig);
// Replace placeholder in prompt template with actual text
const finalPrompt = prompt.template.replace('{{text}}', text);
return aiService.generateText(finalPrompt, parameters);
}
}
//# sourceMappingURL=ProcessTextWithAI.js.map