☰
不花一分钱 API Key 建知识图谱?实体关系抽取免费完整指南
2026/10/2 2:21:07 网站建设 项目流程

不花一分钱 API Key 建知识图谱?实体关系抽取免费完整指南

【免费下载链接】semanticaGraph-Native Infrastructure for Context and Accountable AI Systems项目地址: https://gitcode.com/GitHub_Trending/sema/semantica

想把手头一批文档装进知识图谱,你可能第一反应是丢给 GPT 一条一条抽。Semantica 换了个路子:实体关系抽取默认走本地规则匹配,从抽取、建图到可视化、导出的全链路,一个 API Key 都不用。这篇从零带你看到能在浏览器里拖动的第一张图,再说清楚上生产该怎么接。

10 分钟内看到第一张可交互知识图谱

目标很明确:装包 → 抽实体关系 → 建图 → 导出 HTML,全程不超过十分钟。

一条命令装好并验证版本

pip install semantica # 想要向量库、LLM 等全量能力就装 semantica[all] python -c "import semantica; print(semantica.__version__)"

装完能看到版本号就说明环境没问题。它的设计思路一句话:抽取是可插拔的,图的原生操作(合并、持久化、时序、溯源)全部内置,LLM 只是其中一条可选路径。

从一句话里抽出实体和关系

拿一句英文当语料试试手感:

from semantica.semantic_extract import NERExtractor, RelationExtractor text = "Apple Inc. was founded by Steve Jobs in 1976 in Cupertino." entities = NERExtractor(method="pattern").extract(text) rels = RelationExtractor(method="pattern").extract(text, entities=entities)

它帮你干什么:NERExtractor返回带text、label、confidence的实体列表,RelationExtractor接着产出带predicate的关系列表——两个对象就是建图的全部原料。这里用的是method="pattern",靠内置模板做匹配,本地跑、不花钱。

最快导出可交互 HTML 的方法

建图这步有个参数值得记住:merge_entities=True会按语义相似度把 "Apple"、"Apple Inc." 这类写法归并成同一个节点,省掉手工去重:

from semantica.kg import GraphBuilder from semantica.visualization import KGVisualizer graph = GraphBuilder(merge_entities=True).build({"entities": entities, "relationships": rels}) KGVisualizer(layout="force").visualize_network(graph, output="html", file_path="graph.html", node_color_by="type")

浏览器打开graph.html:可以平移、缩放、点节点看详情、按类型过滤颜色。你手里已有文档的话,前面再加两步——FileIngestor().ingest("data/report.pdf")摄取文件(.docx、.html、.csv、.xlsx、.xml等格式都认,单文件默认上限 100MB),再用DocumentParser().parse(path)取parsed["full_text"]喂给抽取器即可。

不接 LLM 也能做实体关系抽取吗

能,而且有明确边界。

规则模式的擅长面:内置模板覆盖了founded_by、works_for、located_in这类常见句式,标准句式上又稳又快,同一段语料反复跑结果一致——放进 CI 里放心跑批。它的短板是长尾文本:口语化、结构奇怪的句子,命中率会下降。

什么时候切 LLM:复杂语义、专有领域,值得为精度付 token 钱的时候。切换不用改架构,只是把method换成"llm",再补上provider(如"groq")和llm_model(如"llama-3.3-70b-versatile")两个构造参数,对应 provider 的 API Key 放环境变量里就行。

两条路线放一张表里对:

规则模式匹配(默认)LLM 抽取
API Key不需要需要
成本接近零按 token 计费
精度标准句式很稳长尾、口语化文本更高
可复现性同语料重复跑结果一致输出可能有波动
适合大批量文档、CI 跑批复杂语义、专有领域

实用技巧:method还可以传列表做投票,比如method=["llm", "ml"]配merge_strategy="consensus"、min_votes=2,多路结果取共识才算数——精度和可复现性两头都要的时候用这个。

两个抽取器都有一组可调项,按需拧:

  • 实体侧:entity_types限定只抽哪几类(如["PERSON", "ORG"]);min_confidence过滤低置信度实体,默认 0.5
  • 关系侧:confidence_threshold默认 0.6;max_distance限定两端实体之间的最大 token 距离,默认 50;bidirectional是否抽双向关系,默认关

从 Demo 走向生产:三个按需开启的能力

Demo 图放在内存里很好看,但生产上有三件事要补。三条能力互相独立,用到哪条开哪条。🛠️

持久化:进程重启不丢图

GraphStore支持backend="neo4j"、"falkordb"、"age"(Apache AGE)三种后端。你只需建一个 store 实例,再把graph_store=store传给GraphBuilder,之后每次build()直接落库。它帮你解决的是:图的生命周期跟进程解耦,重启、扩容都不用重新抽一遍。

时序查询:问"那个时间点世界长什么样"

给关系加上valid_from/valid_until两个时间字段,再用TemporalGraphQuery(temporal_granularity="day")的query_at_time做定点快照。比如一条 2018 到 2022 的ceo_of边,在 2023 年的查询里不会出现,但同一个人转投新公司的那条边会命中——"谁在哪个时间点担任什么职务"从此有确定答案。

溯源:每个节点都能回答"我从哪来"

基于 W3C PROV-O 模型的ProvenanceManager:

prov = ProvenanceManager() prov.track_entity("Apple Inc.", "data/report.pdf", metadata={"confidence": 0.98}) sources = prov.get_all_sources("Apple Inc.")

它有什么用:审计或复盘时某个节点的数据被质疑,你能一路回溯到来源文档和抽取时的置信度,而不是对着一个"不知道哪来的"数值干瞪眼。

另外,如果你的目标是给 Agent 做决策支撑,入口是AgentContext:配VectorStore(backend="faiss")和decision_tracking=True,事实存储、决策记录、find_precedents历史决策检索一起打包,这是 Semantica 面向 GraphRAG 与多 Agent 共享上下文场景的正式入口。

出问题了先对这张表

现象根因一行修复
extract()返回空列表,解析器还提示 PDF 没有文本层PDF 是纯图片扫描件,没有机器可读文本换DoclingParser(enable_ocr=True),先装semantica[parse-docling]
几万文档跑不动,建大图时内存报错默认内存图 + 一次性读入全部文件先用FileIngestor().scan_directory(path, recursive=True)只扫路径不读内容,再逐文档解析、逐个落图数据库;有 GPU 再装semantica[gpu]走 CUDA
明明配了 LLM,实际跑的还是规则抽取旧版网关兼容问题导致静默回退 pattern(v0.5.0 已修复)pip install --upgrade semantica

🔍 排查顺序建议:先确认抽取器到底跑的是哪条路线,再看语料本身,最后才怀疑环境。

接下来深入去哪

  • 官方快速上手:完整六步流水线,含摄取、解析细节与全部导出器示例
  • Cookbook 示例:40 多个 Notebook,从数据摄取、图谱构建到时序推理、Datalog 风格推理,跟着真实数据集练手

【免费下载链接】semanticaGraph-Native Infrastructure for Context and Accountable AI Systems项目地址: https://gitcode.com/GitHub_Trending/sema/semantica

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询