{"adoption": {"forks": 709, "observed_at": "2026-08-28T04:10:26.782474+00:00", "stars": 9018}, "canonical_url": "https://ross.abutalabs.com/products/kag", "card": {"archived": false, "artifact_type": "framework", "description": "KAG is a logical form-guided reasoning and retrieval framework based on OpenSPG engine and LLMs.  It is used to build logical reasoning and factual Q&A solutions for professional domain knowledge bases. It can effectively overcome the shortcomings of the traditional RAG vector similarity calculation model.", "domain": ["large-language-models", "artificial-intelligence", "databases"], "enriched": true, "function": ["rag", "search-engine", "nlp", "llm-inference", "agent-framework"], "health_score": 72, "homepage": "https://spg.openkg.cn/en-US", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["OpenSPG/KAG"], "name": "OpenSPG/KAG", "platform": ["python", "self-hosted", "cross-platform"], "pushed_at": "2026-01-28T13:30:54+00:00", "repo": "OpenSPG/KAG", "stars": 9018, "tags": ["knowledge-graph", "logical-reasoning", "multi-hop-question-answering", "openspg", "knowledge-augmented-generation", "graphrag", "retrieval-augmented-generation", "natural-language-processing", "docker"], "topics": ["knowledge-graph", "large-language-model", "logical-reasoning", "multi-hop-question-answering", "trustfulness"], "urls": [], "use_cases": ["build a factual Q&A assistant over a professional domain knowledge base", "answer multi-hop questions requiring logical reasoning across documents", "reduce hallucinations compared to vector-similarity RAG", "construct a schema-constrained knowledge graph from unstructured and structured data", "replace or augment GraphRAG pipelines with semantic reasoning alignment", "query private enterprise knowledge bases with trustworthy, cited answers"], "what_it_is": "KAG (Knowledge Augmented Generation) is a Python framework built on the OpenSPG engine and large language models for logical form-guided reasoning and retrieval over domain knowledge bases. It combines knowledge graphs with mutual indexing of knowledge and text chunks to support logical reasoning and multi-hop factual Q&A, overcoming the ambiguity of vector-similarity RAG and the noise of OpenIE-based GraphRAG.", "when_to_avoid": ["you need a simple plug-and-play RAG pipeline with minimal setup", "your corpus is small and vector search already gives sufficient accuracy", "you cannot invest in schema design and knowledge graph construction", "you need a managed cloud service rather than a self-hosted framework"], "when_to_choose": ["you need multi-hop or logical reasoning Q&A rather than simple semantic retrieval", "your domain benefits from a structured knowledge graph with schema constraints", "you want to combine unstructured documents, structured data, and expert knowledge in one reasoning framework", "you need higher factual accuracy than vanilla vector RAG or OpenIE-based GraphRAG"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kag", "repo": "OpenSPG/KAG", "role": "main", "score": 49}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.782474+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:24:20.401683+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6173752f8b797fa094a33eb0130926c53fc4bca900d1f9fb81737e76a3abe80b", "fetched_at": "2026-08-28T04:10:26.782474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenSPG/KAG"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T08:24:16.228505+00:00", "kind": "homepage", "missing": false, "url": "https://spg.openkg.cn/en-US"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 64, "longevity": 50, "rhythm": 28}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 711, "days_push": 217, "days_rel": 431, "gap_med": 47, "n_releases_24m": 6}, "score": 49, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}