架构解读:单轮问答
概述
AskTable 是一款智能化的对话机器人,能够处理复杂的数据查询并提供个性化回答。本文档详细介绍了 AskTable 在处理用户单次对话时的完整流程,包括各个模块的功能和交互方式。
架构解读
以下是 AskTable 单次对话技术架构图:
![at_database_query_via_natural_language](/img/asktable/at_database_query_via_natural_language.png)
AskTable 将传统数据库与现代 AI 大语言模型(LLM)相结合,实现了智能、精准、个性化的数据检索与分析。
整个系统可划分为三大核心模块:Meta Brain、Meta Retrieval 和 Data Retrieval。
- AskTable Meta Brain:构建元数据图谱
Meta Brain 是 AskTable 的核心模块,它充当了整个数据系统的知识库。Meta Brain 存储了数据库中所有的元数据以及必要的关键词数据,包括库名、表名、字段名及其注释信息,完全由 AI 驱动自动化构建了一个全面的数据库元数据图谱。这使得 AskTable 能够理解不同数据库系统(如 MySQL、Oracle、TiDB 等)中的数据结构,并在需要时高效、准确地生成对应的 SQL 查询语句。
Meta Brain 同时也是 embedding 等多种相关/相似性搜索的存储与计算中心。所有的查询在这里进行搜索与计算,从而找到最符合用户查询意图的数据表、字段和数据值。向量搜索和图数据库技术的结合,使得 Meta Brain 能够在大规模数据中迅速定位目标数据,提高查询效率。
- AskTable Meta Retrieval: 实体识别与元数据检索
当用户发起查询时,系统首先进入 Meta Retrieval 模块。这里,问句经过自然语言处理,从中提取出关键实体或关系,如地名、用户等。这一步骤通过实体识别技术,使系统能够识别并理解用户查询的核心内容。
接着,系统会调用 embedding 模型,将提取的实体转化为向量表示。这些向量表示在 Meta Brain 中进行查询,以找出与之最相关的数据库字段和表。向量的语义检索使得系统能够在复杂数据结构中高效匹配,确保查询的精准性,以及对口语化表达的识别。
同时,系统还会使用内置的专门针对 Meta Data 和 Short Value 结构优化的搜索算法,从 Meta Brain 中匹配真实实体名字,这样才能避免后续生成 SQL 时 Value Missing。
另外,Meta Retrieval 还负责查询权限的管理。根据用户的角色与权限,系统会过滤掉不符合访问要求的数据,这一过程同 样通过 embedding 模型的权限过滤技术来实现。
- AskTable Data Retrieval:智能学习与动态纠错
Data Retrieval 模块负责执行生成的 SQL 查询并获取数据。不同于传统数据库查询,AskTable 在这个过程中加入了智能学习与纠错机制。当查询结果与预期不符时,系统会利用 AI 模型对 SQL 进行动态调整或重写,以优化查询结果。这种动态纠错机制显著提高了复杂查询场景下的响应准确性。同时,AskTable 还会通过对 Good/Bad Case 的分析,通过基于用户反馈的强化学习与训练等手段持续优化 SQL 在不同数据库方言、不同表结构下的生成效果,进一步提升查询准确性。
在数据查询前,系统还会进行进一步的权限校验。每一行数据在返回给用户前,都会根据权限规则再次过滤,确保数据的合规性与安全性。通过这一严密的多层过滤,AskTable 不仅保证了数据安全性,还在极大程度上减少了数据冗余。
技术复杂度与优势
AskTable 的技术架构展示了现代数据库管理与 AI 技术深度融合的可能性。通过向量检索、RAG、Agent、动态权限管理、动态 SQL 重写等技术,系统实现了传统应用难以企及的智能与灵活性。
高效的元数据管理
Meta Brain 中的元数据管理使得系统可以轻松适应多种不同的数据库结构,在查询时根据用户意图智能匹配相关数据。
智能查询优化
通过 LLM 的嵌入表示和动态学习,系统能够对用户查询进行智能优化和定位,提供精确且相关的查询结果。
复杂权限控制
通过多层权限过滤和嵌入模型的结合,系统能够在大规模数据访问场景中确保数据安全性和合规性。
这种架构使得 AskTable 在处理复杂查询和个性化回答时,展现出极高的效率和准确性。
如有更多疑问,请访问官网 AskTable 网站 联系我们获取详细信息。