diff --git a/packages/api-server/src/plugins/services/bot-service/index.ts b/packages/api-server/src/plugins/services/bot-service/index.ts index 988734297ab..49bcdabeb72 100644 --- a/packages/api-server/src/plugins/services/bot-service/index.ts +++ b/packages/api-server/src/plugins/services/bot-service/index.ts @@ -28,6 +28,8 @@ export default fp(async (fastify) => { const GENERATE_ANSWER_PROMPT_TEMPLATE_NAME = 'explorer-generate-answer'; +const tableColumnRegexp = /(?.+)\.(?.+)/; + export class BotService { private readonly openai: OpenAIApi; @@ -150,7 +152,7 @@ export class BotService { chart: answer.chart ? { chartName: answer.chart.chartName, title: answer.chart.title, - ...answer.chart.options + ...this.removeTableNameForColumn(answer.chart.options) } : null, questions: answer.questions || [], } @@ -168,6 +170,17 @@ export class BotService { } } + removeTableNameForColumn(chartOptions: Record) { + Object.entries(chartOptions).forEach(([key, value]) => { + const match = tableColumnRegexp.exec(value); + if (match) { + const groups = match.groups as any; + chartOptions[key] = groups.column_name; + } + }); + return chartOptions; + } + async generateRecommendQuestions(template: GenerateQuestionsPromptTemplate, n: number): Promise { const prompt = template.stringify(n);