Melhoria das consultas de linguagem natural com configuração de marcador
As instruções de IA adicionam mais contexto de negócios às consultas de linguagem natural. Eles orientam os usuários e promovem respostas que se alinham mais às suas necessidades e expectativas.
Instruções de IA
As instruções de IA ajudam a esclarecer como o gráfico de conhecimento interpreta as consultas do usuário e acessa os dados. Quando um usuário envia uma consulta, instruções relevantes em todos os níveis aplicáveis, como nó, propriedade e borda, são consideradas.
- Nível de nó (entidade/tabela)
- Nível de propriedade (coluna/atributo)
- Edge (relacionamento)
O sinalizador Sempre incluir
A opção para definir um Sempre incluir o sinalizador permite que os usuários indiquem que uma determinada instrução deve ser considerada incondicionalmente. Isso é útil para impor filtros de negócios críticos, como sempre excluir determinados status de ativo, a menos que solicitado de outra forma.
- Uso Sempre incluir para filtros críticos para os negócios que devem ser aplicados independentemente da frase de consulta do usuário.
- Omitir Sempre incluir para instruções contextuais que só devem ser aplicadas quando relevantes.
- Verifique se as instruções sinalizadas não entram em conflito entre si ou produzem resultados duplicados.
A tabela a seguir mostra cenários comuns em que as instruções de IA melhoram a precisão da consulta e fornecem melhor contexto de negócios.
| Nº | Padrão de instrução | Consulta de exemplo | Comportamento sem instrução de IA | Instruções de IA de amostra | Comportamento com instrução de IA |
|---|---|---|---|---|---|
| 1 | Evitando caminhos de travessia incorretos | Quais empresas estão localizadas em Nova York? | Quando nenhuma instrução é adicionada, a consulta vai da tabela core_company para a tabela cmn_location e filtra no campo cidade por padrão. Mas se o seu caso de uso exigir a consulta do local do campo cidade da tabela core_company, você precisará escrever uma instrução de IA para orientar o sistema no caminho transversal. | Instrução da tabela em core_company tabela: Para consultas empresa-cidade, sempre use core_company.city diretamente. NÃO atravesse cmn_location. Esta instrução evita que o sistema use o caminho cmn_location para consultas da empresa baseadas na cidade. |
Quando a instrução é adicionada, a consulta corresponde ao campo cidade na tabela core_company e filtra a cidade como Nova York e retorna todas as empresas correspondentes. |
| 2 | Fornecer contexto específico da coluna | Quem organizou a sessão do BBS0000013 Brown bag? | Quando não houver instrução de IA, o sistema retornará sys_id sem passar para host_s. Você precisa adicionar uma instrução na coluna host_s para fornecer contexto de negócios para usar esta coluna quando a consulta for sobre host. | Instrução de coluna ativada host_s de x_snc_brown_bags_sessions tabela: Use o relacionamento s.host_s ou :host_s para o host de uma sessão marrom, NÃO s.sys_created_by |
Quando as instruções são adicionadas, a consulta retorna corretamente o nome da coluna host_s. |
| 3 | Fornecer contexto específico da coluna | Qual é o tempo de permanência de Kelsey Rodriguez na função atual (meses)? | Quando não há instrução de IA, o sistema pode não fornecer um resultado preciso, pois pode fornecer informações incorretas para a coluna de permanência. Você precisa adicionar uma instrução para orientar o sistema a consultar a coluna à direita para essas consultas. | Instrução de coluna em time_in_current_role coluna: Priorize esta coluna quando a consulta contiver "Permanência na função atual" |
Quando as instruções são adicionadas, a consulta retorna corretamente a hora de time_in_current_role coluna. |
| 4 | Fornecer contexto sobre o que priorizar no caso de tabelas semelhantes | Dê-me o nome dos relatórios de Allison Hill com objetivos passados > 0? |
Quando não houver instrução de IA, o LLM se referirá diretamente à tabela "sys_user" para buscar detalhes do usuário em vez de passar para a tabela WDF onde essas informações são armazenadas. Precisamos adicionar uma instrução para orientar o LLM a consultar a tabela à direita quando houver tabelas semelhantes. |
Instrução de tabela na tabela WDF - "x_snc_wdf_user" "Sempre dê mais prioridade a " x_snc_wdf_user" sobre sys_user e outras tabelas do glide" |
Quando as instruções são adicionadas, a consulta se refere corretamente à tabela WDF e retorna os resultados. |
| 5 | Fornecer contexto sobre o que priorizar no caso de tabelas semelhantes | Qual é o seu cargo? |
Quando não houver instrução de IA, o LLM se referirá diretamente a " sn_hr_core_job " para buscar detalhes do trabalho em vez de ir para sn_hr_core_profile" tabela em que essas informações são armazenadas. Precisamos adicionar uma instrução para orientar o LLM a consultar a tabela à direita quando houver tabelas semelhantes. |
Instrução da tabela na tabela - " sn_hr_core_profile " "Sempre dê mais prioridade a "sn_hr_core_profile" em vez de "sn_hr_core_job" quando o usuário perguntar especificamente sobre cargos de trabalho. |
Quando as instruções são adicionadas, a consulta se refere corretamente à tabela "sn_hr_core_profile" e retorna os resultados. |
| 6 | Disambigue entre vários valores de escolha semelhantes e confusos | Quais são os modelos de hardware que estão no estado normalizado? |
Quando não houver instrução de IA, o LLM se referirá ao valor de escolha "normalizado" da coluna "status de normalização", o que pode confundir o LLM se deve usar outros valores de escolha ou não, pois o campo "status de normalização" tem 5 valores de escolha (normalizado, normalizado pelo fabricante, normalizado manualmente, parcialmente normalizado, correspondência não encontrada). Precisamos adicionar instruções para orientar o LLM sobre as quais todas as opções serão incluídas no status de normalização. |
Instrução de coluna em "coluna- status de normalização": "Sempre considere o status de normalização como normalizado quando os valores de escolha forem qualquer uma das seguintes opções: "Normalizado, Fabricante normalizado, Manualmente normalizado" |
Quando as instruções são adicionadas, a consulta considera corretamente todas as 3 opções "Normalizado, Fabricante normalizado, Manualmente normalizado" como estado normalizado e retorna resultados. |
Práticas recomendadas para instruções de IA
Siga estas diretrizes ao criar instruções de IA para verificar o desempenho e a precisão ideais:
- Escreva instruções claras, inequívocas e acionáveis vinculadas à lógica de negócios. Sempre faça referência às tabelas (nós), colunas (propriedades) e relacionamentos (bordas) corretos. Use sinalizadores como Sempre incluir somente ao impor o comportamento de negócios padrão verdadeiro.
- Evite instruções vagas ou contraditórias. Instruções que não se alinham com o modelo de dados subjacente podem confundir o sistema e levar a resultados incorretos. Por exemplo, uma instrução como "Filtrar por fabricante" sem especificar a coluna ou condição é ambígua.
- Use condições para controlar quando a lógica se aplica. Declare claramente quando uma instrução deve ser aplicada (por exemplo, somente quando o usuário solicita informações do host), em vez de aplicar a lógica universalmente.
- Mantenha as instruções focadas e generalizadas. As instruções devem orientar a interpretação de intenção em consultas semelhantes, não resolver um único caso único.
- Não duplique a lógica já manipulada em outro lugar. Evite reafirmar filtros ou restrições que já foram impostas por meio de filtros de dados para evitar conflitos.
Suporte para sinônimos, filtros de dados e colunas ocultas
Sinônimos:
- Cada entidade pode ter até cinco sinônimos.
- Os sinônimos promovem ampla cobertura para termos alternativos comumente usados.
- Manter um conjunto de sinônimos gerenciável reduz a ambiguidade na resolução da consulta.
Filtros de dados:
- Os filtros são aplicados após a geração de cifra, não durante.
- Os filtros dinâmicos permitem a adaptação em tempo real com base no contexto do usuário.
- Melhora a precisão e a relevância dos dados retornados. Não modifica a consulta de gráfico principal.
Colunas ocultas:
As colunas ocultas não podem ser consultadas e não aparecem no resultado.
Por exemplo: Adicione o número do funcionário como colunas ocultas para a tabela sys_user para ocultar o número do funcionário dos resultados da consulta.