零代码知识图谱构建快速上手指南:SmartKG如何让一张Excel变身智能问答机器人
【免费下载链接】SmartKGThis project accepts excel files as input which contains the description of a Knowledge Graph (Vertexes and Edges) and convert it into an in-memory Graph Store. This project implements APIs to search/filter/get nodes and relations from the in-memory Knowledge Graph. This project also provides a dialog management framework and enable a chatbot based on its knowledge graph.项目地址: https://gitcode.com/gh_mirrors/smar/SmartKG
你是否算过一笔账:一套知识图谱系统,从数据清洗、图建模、写查询接口,到前端可视化,传统做法少说也要三四周,还得配齐开发团队。而很多业务真正需要的,其实只是"把已有的结构化数据变成能查、能看、能聊的图谱"。SmartKG正是这样一个零代码知识图谱开源框架——它接收描述知识图谱的 Excel 文件(顶点与边),自动转换为内存图存储,提供节点与关系的搜索/筛选 API,并内置对话管理框架,让你一键拥有基于图谱的智能问答机器人。
这张"神奇表格"背后,到底藏着什么?
如果你第一次见到 SmartKG,最直观的感受是:它把知识图谱从"程序员专属"拉回了"业务人员也能上手"的范畴。它的输入非常简单——一份 Excel,两个 Sheet:
| Sheet | 作用 | 打个比方 |
|---|---|---|
| 顶点页(Vertexes) | 定义图谱中的实体,如实体ID、名称、类型、属性 | 图书的目录 |
| 边页(Edges) | 定义实体间的关系,如"A 的某种关系是 B" | 目录上的页签指引 |
你填表,它干活。系统拿到表格后自动完成三件事:解析实体属性与关系类型、构建内存图存储、加载可视化与问答所需的全部配置。模板就放在SmartKGUI/public/SmartKG_KGDesc_Template.xlsx,照着样例填即可。
幕后揭秘:图谱是怎样"活"起来的?
SmartKG 不是一个"一个文件走天下"的玩具,它由三个各司其职的部件组成,彼此像流水线一样衔接。
第一环:数据导入引擎——把表格变成图
src/SmartKG.Common/Importer/KGDataImporter.cs负责把 Excel 中的顶点和边解析成标准的数据结构。你不需要关心 JSON 序列化、数据校验这些细节,只要保证表格格式正确,导入环节基本零门槛。仓库里还预置了西游记、红楼梦、中学物理、COVID19 等多份可直接体验的测试数据,放在Resources/Data/Excel/input/下,第一次使用不用从零造数据。
第二环:图查询 API——给数据装上报错即得的"检索器"
src/SmartKG.KGBot是后端服务,基于 Asp.NET 用 C# 开发,启动后访问http://localhost:8082/swagger/index.html就能看到完整的 API 列表。搜索实体、获取子图、过滤关系……这些能力都以 RESTful 接口的形式暴露出来,前端调用、二次开发都很顺手。
第三环:对话管理框架——让图谱"会聊天"
这是最出彩的部分。src/SmartKG.KGBot/NaturalLanguageUnderstanding/NLUProcessor.cs承担意图识别与实体抽取,通过intentrules.tsv、entitymap.tsv这类纯文本配置驱动,不写一行模型代码就能让机器人理解"谁的关系是什么"这类问句。src/SmartKG.KGBot/Controllers/BotController.cs则负责把对话请求转发给图谱引擎,实现多轮上下文管理。
15分钟上手:从零搭出你的第一张图谱
不用编译源码、不用配数据库,Docker 一行命令就能把整套服务拉起来。整个流程可以拆成四步:
第1步:一键起服务
git clone https://gitcode.com/gh_mirrors/smar/SmartKG cd SmartKG/dockers/smartkg_services docker-compose up -d服务启动后,后端 API 在8082端口(含 Swagger 文档),前端主界面在8083端口。配置文件docker-compose.yml里能直接看到端口映射,遇到冲突改一下即可。
第2步:填一张"会说话的表格"
打开模板SmartKG_KGDesc_Template.xlsx,顶点页填入实体,边页填入关系。比如想做一个简单的"文学人物关系图谱",顶点页写"孙悟空、唐僧、猪八戒……",边页写"孙悟空 的师父是 唐僧"——就这么朴素,一个知识点也不需要额外学。
第3步:上传,然后等待魔法发生
访问http://localhost:8083/upload,选好文件、起一个图谱名字,点击上传。系统会自动校验数据、构建图谱、应用可视化配置。如果不想先填表,直接用仓库里的SmartKG_Xiyouji_relations_new.xlsx(西游记数据)体验,几分钟就能看到一张完整的人物关系图谱。
第4步:验证效果
打开主界面,图谱会以节点连线的方式展示出来,支持搜索、缩放、拖拽;点击右下角的机器人图标,输入"孙悟空的师父是谁",机器人会根据图谱返回答案。到这一步,你的知识图谱智能问答机器人就已经上线了。
实战演练:两个"拿来即用"的场景
场景一:教育领域——物理知识点图谱
仓库预置了中学物理七年级的知识图谱数据(Resources/Data/Excel/input/Physics/下的力学与自然拼读数据)。老师把知识点、概念、公式间的关系整理成表格导入后,学生就能在图上直观看到知识点之间的依赖关系,还可以直接问机器人"什么是力""运动和力的关系是什么",把被动背诵变成主动探索。
场景二:医疗信息问答——COVID19 知识图谱
Resources/Data/Excel/input/COVID19/里提供了中英文两版疫情相关知识图谱数据,顶点覆盖病毒、传播、防护、治疗等实体,边则记录了它们之间的逻辑关系,配套的intentrules.tsv定义了数十种问法模式。这类图谱非常适合做内部知识库:把标准答案沉淀成图,让客服、导诊机器人随时按需抽取。
进阶玩法:给图谱装上一颗"大模型大脑"
如果你觉得规则问答还不够"聪明",仓库里的PySmartKG子项目给出了答案——它演示了如何把 LLM 集成到知识图谱查看器中。原理很简单:图谱负责提供准确的上下文,LLM 负责根据上下文组织自然流畅的回答。
cd PySmartKG pip install -r requirements.txt python kg_api.py只需在PySmartKG/data/目录下放置一个openai_key.txt存放 API 密钥,访问http://localhost:5000即可体验。这种"图谱给事实、大模型给语言"的组合,既避免了幻觉问题,又让回答变得有人情味,是当下很值得尝试的方向。
避坑手册:新手最容易踩的五个坑
即便工具再简单,一些细节不注意也会卡壳,这里提前给你排雷:
坑1:表格格式不对齐。模板的表头不要改动,只填数据行,尤其注意顶点ID要全局唯一。
坑2:图谱名重复。上传时如果用了已存在的图谱名,系统会报"文件夹已存在",换个名字即可。
坑3:改了配置不生效。修改
appsettings.json等配置文件后要重启后端服务,而不是只刷新浏览器。坑4:前后端只开一半。使用过程中前后端服务都要保持运行,关掉任意一个都会导致界面异常。
坑5:数据量一步到位。建议先用小数据集跑通全流程,确认格式无误后再导入大文件,能少走很多弯路。
数据与信任背书:凭什么相信它
- 部署成本:单机 Docker 即可运行,无需 GPU、无需图数据库、无需分布式集群。
- 上手门槛:业务人员按模板填表即可生成知识图谱可视化界面,无需掌握 Cypher、图建模等技能。
- 扩展能力:数据规模增长后可切换到 MongoDB 存储方案,配置参考
dockers/smartkg_services/smartkg/local_config/appsettings.MongoDB.json,支持水平扩展。 - 开放生态:后端 C#、前端 Vue、
PySmartKG提供 Python 与 LLM 集成示范,三种语言栈覆盖不同团队的偏好。
它不是一个重型平台,而是一个轻量、可裁剪、能快速落地的最小闭环。正因如此,它特别适合中小团队、教育机构、内部知识库建设者,以及想快速验证知识图谱价值的产品经理们。
让知识流动,让智慧增值
知识图谱的价值不在于"图"本身,而在于它把碎片信息变成了可推理、可追问的结构化资产。SmartKG 的意义在于把这条门槛很高的路,铺成了"填表—上传—使用"的三级台阶,让任何会使用 Excel 的人都能亲手把数据变成会思考的助手。
现在就动手吧:克隆仓库、下载模板、上传你的第一份数据,30 分钟内,你就能看到自己的知识以图谱的形态"活"过来。记住这句话——智能问答不是大厂的专利,一张 Excel 加上一个开源框架,就足够了。
【免费下载链接】SmartKGThis project accepts excel files as input which contains the description of a Knowledge Graph (Vertexes and Edges) and convert it into an in-memory Graph Store. This project implements APIs to search/filter/get nodes and relations from the in-memory Knowledge Graph. This project also provides a dialog management framework and enable a chatbot based on its knowledge graph.项目地址: https://gitcode.com/gh_mirrors/smar/SmartKG
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考