cyber-mysql-openai
Version:
Intelligent natural language to SQL translator with self-correction capabilities using OpenAI and MySQL
46 lines (45 loc) • 1.88 kB
TypeScript
import Logger from "./index";
import { NaturalResponseOptions } from "../types";
import { SupportedLanguage } from "./i18n";
/**
* Clase ResponseFormatter que maneja la generación de respuestas naturales
* a partir de resultados SQL
*/
export declare class ResponseFormatter {
private openai;
private logger;
private model;
private i18n;
private businessContext;
private responseStyleInstruction;
constructor(apiKey: string, model?: string, language?: SupportedLanguage, logger?: Logger, businessContext?: string, responseStyleInstruction?: string, lightModel?: string);
/**
* Cambia el idioma del formateador
*/
setLanguage(language: SupportedLanguage): void;
/**
* Genera una explicación elaborada en lenguaje natural de los resultados SQL
* @param sql - Consulta SQL ejecutada
* @param results - Resultados de la consulta SQL
* @param options - Opciones de configuración
* @returns Explicación en lenguaje natural con formato markdown
*/
generateNaturalResponse(sql: string, results: any[] | Record<string, any>, options?: NaturalResponseOptions): Promise<string>;
/**
* Genera un stream de explicación en lenguaje natural a partir de los resultados de base de datos
*/
generateNaturalResponseStream(sql: string, results: any[] | Record<string, any>, options?: NaturalResponseOptions): AsyncGenerator<string, void, unknown>;
/**
* Genera un prompt para respuestas simples y directas
*/
private generateSimplePrompt;
/**
* Genera un prompt para respuestas elaboradas y analíticas
*/
private generateDetailedPrompt;
/**
* Genera respuestas simples para casos comunes sin usar el modelo
*/
generateSimpleResponse(sql: string, results: any[] | Record<string, any>): string | null;
}
export default ResponseFormatter;