Configure modelos de perguntas, termos e lógica de negócios para ampliar o conhecimento de domínio do LLM e aumentar a precisão das consultas de dados geradas.
Visão geral
O ChatBI utiliza um Large Language Model (LLM) para compreender perguntas em linguagem natural e gerar consultas SQL. Embora os LLMs tenham capacidades gerais robustas, exigem conhecimento adicional de domínio para garantir alta precisão em cenários específicos de negócios. A base de conhecimento fornece esse conhecimento especializado por meio de três tipos de objetos: Question Template, Term Management e Business Logic.
|
Tipo de objeto |
Problema resolvido |
Casos de uso típicos |
|
Question Template |
Oferece respostas rápidas e consistentes para consultas analíticas comuns. |
Consultas frequentes (como "classificação de vendas mensais por loja"), junções complexas de várias tabelas e cenários que exigem mapeamento preciso de campos. |
|
Term Management |
Garante que o LLM reconheça com precisão o vocabulário específico do negócio. |
Abreviações (como "MoM" para comparação mensal ou "YoY" para comparação anual), termos multilíngues e mapeamento de sinônimos. |
|
Business Logic |
Padroniza regras de negócios e métodos de cálculo. |
Definições de métricas de negócios (como "um pedido válido possui valor do pedido > 0 e status 'Pago'") e regras de filtragem de dados. |
Acessar o recurso
Somente administradores do ChatBI podem visualizar e editar a base de conhecimento. Membros não têm acesso a este recurso.
-
Acesse o portal do ChatBI.
Faça login no Alibaba Cloud e abra a página ChatBI Intelligent Data Insights. Selecione o ponto de acesso correspondente à região dos seus recursos do DataWorks, como seu conjunto de dados e grupo de recursos serverless.
-
No painel de navegação à esquerda, clique em Knowledge Base.

Configurar a base de conhecimento
A base de conhecimento contém três tipos de objetos: Question Template, Term Management e Business Logic.
Configurar modelos de perguntas
Acesse a página da base de conhecimento e clique na aba Question Template. Adicione um novo modelo de pergunta de duas formas:
-
Adicionar um modelo pela interface.
Na página da base de conhecimento, clique em Add para abrir a página Create Question Template.
-
Configure os parâmetros do modelo de pergunta:
Parâmetro
Descrição
Question
Defina uma pergunta comum usada em uma sessão. Exemplo:
Monthly sales trend of Product B in Store A.A pergunta pode incluir variáveis no formato
${parameter_name}. Se definir variáveis, forneça valores enumerados ou de exemplo no campo Parameters. Exemplo:Monthly sales trend of ${commodityName} in ${shopName}.SQL
Forneça uma consulta SQL precisa e executável com base na pergunta. Se a pergunta contiver um
${parameter_name}, o SQL também deverá incluir um parâmetro com o mesmo nome. Exemplo:SELECT shop_name, commodity_name, sales, month FROM ads_order_table WHERE shop_Name = ${shopName} AND commodity_Name = ${commodityName} ORDER BY month;Parameter
Se usar variáveis como
${parameter_name}na pergunta ou no SQL, forneça uma lista de valores possíveis ou de exemplo aqui. Exemplo:${parameter_name}: ["value1","value2","value3"]Datasets
Conjuntos de dados aos quais este modelo se aplica. Se estiver vazio, aplica-se globalmente.
Após concluir a configuração, clique em Save.
-
Importar modelos em massa a partir de um arquivo.
Na página da base de conhecimento, clique em Import and Add.
Na caixa de diálogo de importação, clique em Download Template. No arquivo de modelo, preencha as colunas Question Template, Template Script, Template Parameters e Datasets. Os parâmetros são os mesmos usados na configuração pela interface.
Arraste e solte o arquivo local ou clique em + na caixa de diálogo para selecionar o arquivo a importar.
Após adicionar o arquivo, clique em Confirm.
Recomendações
Priorize perguntas frequentes: Comece configurando modelos para as 20 perguntas mais comuns.
Use parâmetros para melhorar a reutilização: Defina partes variáveis de uma pergunta (como nomes de lojas, nomes de produtos ou intervalos de tempo) como ${parameter_name}. Isso permite que um único modelo cubra várias perguntas semelhantes.
Valide seu SQL: Antes de salvar, execute a consulta SQL no seu conjunto de dados para garantir que a sintaxe esteja correta e que os resultados retornados sejam os esperados.
Configurar o gerenciamento de termos
Acesse a página da base de conhecimento e clique na aba Term Management. Adicione um termo de duas maneiras:
-
Adicionar um termo pela interface.
Clique em Add para abrir a página Create Term.
-
Configure os principais parâmetros do termo:
Parâmetro
Descrição
Term
Palavra comum ou especializada usada na comunicação e análise de negócios. Exemplo: month-over-month.
Alias
Sinônimos, abreviações, nomes completos ou traduções do termo. Pressione Enter após cada alias para adicionar vários aliases.
Datasets
Especifica os conjuntos de dados aos quais este termo se aplica. Se deixado em branco, o termo se aplica globalmente.
Após concluir a configuração, clique em Save.
-
Importar termos em massa a partir de um arquivo.
Na página da base de conhecimento, clique em Import and Add.
Na caixa de diálogo de importação, clique em Download Template. No arquivo de modelo, preencha as colunas Term, Alias, Description e Datasets. Os parâmetros são os mesmos usados na configuração pela interface.
Arraste e solte o arquivo local ou clique em + na caixa de diálogo para selecionar o arquivo a importar.
Após adicionar o arquivo, clique em Confirm.
Recomendações
Priorize termos específicos do negócio: Concentre-se em adicionar jargões, abreviações e codinomes internos que o LLM provavelmente não conhece.
Construa um sistema abrangente de aliases: Para um único termo, configure múltiplas formas, como sua abreviação em inglês, nome completo e expressões informais. Por exemplo, aliases para "month-over-month" podem incluir ["MoM", "Month over Month", "monthly growth rate"].
Evite conflitos com palavras comuns: Não configure termos para palavras genéricas como "pedido" ou "usuário", a menos que tenham um significado especial no negócio.
Configurar lógica de negócios
Acesse a página da base de conhecimento e clique na aba Business Logic. Adicione lógica de negócios de duas maneiras:
-
Adicionar lógica de negócios pela interface.
Clique em Add para abrir a página Create Business Logic.
-
Configure os principais parâmetros da lógica de negócios:
Parâmetro
Descrição
Business Concept
Nome de um conceito comum na comunicação e análise de negócios. Exemplo: valid order.
Logic Explanation
Definição do conceito de negócio. Exemplo: ord_cnt_1d > 0 indica um pedido válido.
Datasets
Especifica os conjuntos de dados aos quais esta lógica de negócios se aplica. Se deixado em branco, a lógica se aplica globalmente.
Field
Associe o conceito de negócio a campos específicos de tabela do conjunto de dados selecionado.
Após concluir a configuração, clique em Save.
-
Importar lógica de negócios em massa a partir de um arquivo.
Na página da base de conhecimento, clique em Import and Add.
Na caixa de diálogo de importação, clique em Download Template. No arquivo de modelo, preencha as colunas Business Concept, Logic Explanation, Associated table fields e Datasets. Os parâmetros são os mesmos usados na configuração pela interface.
Arraste e solte o arquivo local ou clique em + na caixa de diálogo para selecionar o arquivo a importar.
Após adicionar o arquivo, clique em Confirm.
Recomendações
Defina métricas-chave de negócios: Configure a lógica de cálculo para KPIs principais como lógica de negócios, como "pedidos válidos", "usuários ativos" e "taxa de conversão".
Seja específico na explicação da lógica: Explique não apenas o que é o conceito, mas também como calculá-lo. Exemplo: "valid order = valid_order_flag = 1 and sales_amount > 0".
Associe campos físicos: Selecione todos os campos relevantes envolvidos na lógica de negócios para ajudar o modelo a entender as relações entre eles.
Gerenciar a base de conhecimento
Administradores do ChatBI podem editar e excluir os objetos da base de conhecimento que criaram.
Editar um objeto da base de conhecimento
No painel de navegação à esquerda, clique em Knowledge Base para acessar a página da base de conhecimento.
-
Na aba do tipo de objeto desejado, clique em Operation na coluna Edit.
Os parâmetros são os mesmos descritos em Configurar a base de conhecimento.
Pesquisar um objeto da base de conhecimento
Para encontrar um objeto, acesse a aba relevante, insira uma palavra-chave na caixa de pesquisa e pressione Enter.
Você também pode clicar em um objeto da base de conhecimento para visualizar seus detalhes.
Excluir um objeto da base de conhecimento
Para remover um objeto, localize-o na aba apropriada e clique em Operation na coluna Delete.
Passo a passo de caso de uso
Este cenário de e-commerce compara o desempenho do ChatBI com e sem uma base de conhecimento.
Cenário
Uma empresa de e-commerce usa o ChatBI para analisar dados de vendas. O esquema da tabela subjacente é o seguinte:
Nome da tabela:
ads_order_tableCampos principais:
shop_name(nome da loja),product_name(nome do produto),sales_amount(valor das vendas),order_date(data do pedido) evalid_order_flag(sinalizador de pedido válido, onde 1 indica um pedido válido)
Caso 1: Valor dos modelos de perguntas
Pergunta do usuário
"Quais foram as vendas de iPhones na Loja Sinalizadora da China Oriental no mês passado?"
❌ Sem base de conhecimento
Interpretação do ChatBI:
Pode falhar ao mapear corretamente "Loja Sinalizadora da China Oriental" para o valor de campo correspondente.
Pode interpretar "iPhones" como uma correspondência de palavra-chave em vez de uma correspondência exata.
Pode calcular incorretamente o intervalo de tempo para "mês passado".
SQL gerado (potencialmente incorreto):
SELECT SUM(sales_amount)
FROM ads_order_table
WHERE shop_name LIKE '%East China%'
AND product_name LIKE '%iPhone%'
AND order_date >= '2026-02-01'
AND order_date < '2026-03-01';
Problemas:
A condição
shop_name LIKE '%East China%'pode corresponder às lojas erradas.A consulta não filtra pedidos válidos.
O intervalo de tempo pode ser impreciso.
Resultado: ⚠️ Dados imprecisos ou falha na consulta.
✅ Com um modelo de pergunta
Configuração da base de conhecimento:
|
Question |
What are the ${period} sales for ${productCategory} in ${region}${shopName}? |
|
SQL |
|
|
Parameters |
|
Fluxo de trabalho do ChatBI:
Corresponde a pergunta ao modelo de pergunta configurado.
Extrai parâmetros: shopName="East China Flagship Store", productCategory="iPhone" e period="last month".
Calcula automaticamente o intervalo de tempo para "last month": 1º de fevereiro de 2026 a 1º de março de 2026.
Gera uma consulta precisa usando o SQL do modelo.
SQL gerado (correto):
SELECT SUM(sales_amount) as total_sales
FROM ads_order_table
WHERE shop_name = 'East China Flagship Store'
AND product_category = 'iPhone'
AND order_date >= '2026-02-01'
AND order_date < '2026-03-01'
AND valid_order_flag = 1;
Resultado: ✅ Correspondência precisa e consulta exata.
Caso 2: Valor do gerenciamento de termos
Pergunta do usuário
"Qual foi a taxa de crescimento MoM da Loja Sinalizadora da China Oriental no mês passado?"
❌ Sem termos
Interpretação do ChatBI:
Não reconhece o significado de "MoM".
Pode interpretar como um nome de campo ou retornar um erro.
Resultado: ⚠️ "Campo 'MoM' não encontrado" ou falha na consulta devido a mal-entendido.
✅ Com gerenciamento de termos
Configuração da base de conhecimento:
|
Term |
month-over-month |
|
Alias |
["MoM", "Month over Month", "monthly growth rate"] |
|
Description |
O aumento percentual nos dados do mês atual em comparação com o mês anterior. |
Fluxo de trabalho do ChatBI:
Reconhece que "MoM" é um alias para "month-over-month".
Entende que precisa calcular: (Mês Atual - Mês Anterior) / Mês Anterior * 100%.
Gera uma consulta que recupera dados dos últimos dois meses para realizar o cálculo.
SQL gerado (correto):
WITH monthly_sales AS (
SELECT
DATE_FORMAT(order_date, '%Y-%m') as month,
SUM(sales_amount) as sales
FROM ads_order_table
WHERE shop_name = 'East China Flagship Store'
AND valid_order_flag = 1
AND order_date >= '2026-01-01'
AND order_date < '2026-03-01'
GROUP BY DATE_FORMAT(order_date, '%Y-%m')
)
SELECT
(curr.sales - prev.sales) / prev.sales * 100 as mom_growth_rate
FROM monthly_sales curr
JOIN monthly_sales prev
ON prev.month = '2026-01'
AND curr.month = '2026-02';
Resultado: ✅ Calcula corretamente a taxa de crescimento month-over-month.
Caso 3: Valor da lógica de negócios
Pergunta do usuário
"Calcule as vendas de pedidos válidos da Loja Sinalizadora da China Oriental no mês passado."
❌ Sem lógica de negócios
Interpretação do ChatBI:
Não conhece a definição específica de "pedido válido".
Pode omitir a condição de filtragem chave.
SQL gerado (incompleto):
SELECT SUM(sales_amount)
FROM ads_order_table
WHERE shop_name = 'East China Flagship Store'
AND order_date >= '2026-02-01'
AND order_date < '2026-03-01';
Problema: A consulta não filtra pedidos válidos.
Resultado: ⚠️ Os dados incluem pedidos inválidos, resultando em um valor inflado.
✅ Com lógica de negócios
Configuração da base de conhecimento:
|
Business concept |
valid order |
|
Logic |
Um pedido válido é definido por valid_order_flag = 1 e sales_amount > 0. |
|
Associated fields |
ads_order_table.valid_order_flag, ads_order_table.sales_amount |
Fluxo de trabalho do ChatBI:
Reconhece "valid order" como um conceito de negócio.
Recupera a definição de lógica de negócios da base de conhecimento.
Adiciona automaticamente as condições de filtragem corretas à consulta.
SQL gerado (correto):
SELECT SUM(sales_amount) as valid_sales
FROM ads_order_table
WHERE shop_name = 'East China Flagship Store'
AND order_date >= '2026-02-01'
AND order_date < '2026-03-01'
AND valid_order_flag = 1
AND sales_amount > 0;
Resultado: ✅ Calcula com precisão as vendas de pedidos válidos.
Verificar a base de conhecimento
Após configurar a base de conhecimento, verifique se ela funciona corretamente:
Faça perguntas em uma sessão do ChatBI: Use as perguntas de exemplo dos seus modelos de perguntas configurados e verifique se o SQL gerado atende às suas expectativas.
Teste o reconhecimento de termos: Use aliases de termos configurados (como "MoM") nas suas perguntas e observe se o ChatBI os compreende corretamente.
Valide a lógica de negócios: Faça perguntas envolvendo conceitos de negócios (como "valid order") e verifique se o SQL gerado inclui as condições de filtragem de lógica de negócios corretas.
Compare resultados: Registre a mudança na precisão das respostas antes e depois de configurar a base de conhecimento para quantificar a melhoria.
FAQ
-
P: O que fazer se minha configuração da base de conhecimento não entrar em vigor?
R: Verifique os seguintes pontos:
Confirme se o objeto da base de conhecimento está associado ao conjunto de dados correto ou definido para aplicação global.
Verifique se a sintaxe SQL no modelo de pergunta está correta e se os nomes dos parâmetros correspondem.
Certifique-se de que a pergunta do usuário seja semelhante o suficiente ao modelo de pergunta para uma correspondência bem-sucedida.
Termos e lógica de negócios só são acionados quando mencionados explicitamente na pergunta.
-
P: Como o ChatBI lida com conflitos entre regras?
R: O ChatBI aplica regras na seguinte ordem de precedência:
Configurações no nível do conjunto de dados têm precedência sobre configurações globais.
Modelos de perguntas têm a maior prioridade e seu SQL é usado diretamente.
Recomendamos revisar e mesclar periodicamente configurações duplicadas ou conflitantes.
P: A base de conhecimento afeta o desempenho do ChatBI?
R: Não. A base de conhecimento usa um processo de recuperação e correspondência com impacto insignificante na velocidade de resposta (geralmente abaixo de 100 ms). Uma base de conhecimento bem configurada frequentemente melhora a eficiência geral ao reduzir consultas incorretas e correções manuais.