Releases: OpenSPG/KAG
Version 0.5.1
Version 0.5.1 (2024-11-21)
OpenSPG released version v0.5.1 on November 21, 2024. This version focuses on addressing user feedback and introduces a series of new features and user experience optimizations.
🌟 New Features
- Support for Word Documents
- Users can now directly upload
.doc
or.docx
files to streamline the knowledge base construction process.
- Users can now directly upload
- New Project Deletion API
- Quickly clear and delete projects and related data through an API, compatible with the latest Neo4j image version.
- Model Call Concurrency Setting
- Added the
builder.model.execute.num
parameter, with a default concurrency of 5, to improve efficiency in large-scale knowledge base construction.
- Added the
- Improved Logging
- Added a startup success marker in the logs to help users quickly verify if the service is running correctly.
⚙️ User Experience Optimizations
- Neo4j Memory Overflow Issues
- Addressed memory overflow problems in Neo4j during large-scale data processing, ensuring stable operation for extensive datasets.
- Concurrent Neo4j Query Execution Issues
- Optimized execution strategies to resolve Graph Data Science (GDS) library conflicts or failures in high-concurrency scenarios.
- Schema Preview Prefix Issue
- Fixed issues where extracted schema preview entities lacked necessary prefixes, ensuring consistency between extracted entities and predefined schemas.
- Default Neo4j Password for Project Creation/Modification
- Automatically fills a secure default password if none is specified during project creation or modification, simplifying the configuration process.
- Frontend Bug Fixes
- Resolved issues with JS dependencies relying on external addresses and embedded all frontend files into the image. Improved the knowledge base management interface for a smoother user experience.
- Empty Node/Edge Type in Neo4j Writes
- Enhanced writing logic to handle empty node or edge types during knowledge graph construction, preventing errors or data loss in such scenarios.
Version 0.5.1 (2024-11-21)
OpenSPG 在 2024 年 11 月 21 日发布了 v0.5.1 版本。此版本重点解决了用户反馈的问题,并带来了一系列新功能和用户体验的优化。
🌟 新增功能
- 支持 word 文档的构建
- 用户现可通过知识库管理页面直接上传 .doc 或 .docx 后缀的文件,进行知识库的构建流程。这一更新使得知识内容的导入更加便捷,提高效率。
- 提供项目删除接口
- 为了帮助用户更高效地管理项目,我们新增了一个项目删除接口。用户可以通过访问 http://127.0.0.1:8887/project/api/delete?projectId=xx 完成项目的快速清空与删除操作。该接口会同步清理项目下的所有schema、知识库任务、知识库问答任务以及关联的 Neo4j 数据库。
Tips:使用此功能前,需确保已将 openspg-neo4j 镜像更新至最新版本
- 为了帮助用户更高效地管理项目,我们新增了一个项目删除接口。用户可以通过访问 http://127.0.0.1:8887/project/api/delete?projectId=xx 完成项目的快速清空与删除操作。该接口会同步清理项目下的所有schema、知识库任务、知识库问答任务以及关联的 Neo4j 数据库。
- 支持模型调用并发度设置
- 在大规模知识库构建过程中,为了提高构建效率,我们引入了模型调用的并发控制机制。用户可以通过设置 builder.model.execute.num 参数来调整并发数量,默认值设定为5。这有助于避免因模型服务性能瓶颈而导致的任务失败或系统卡顿。
- 日志中添加启动成功标识
- 为了让用户能够更直观地判断 OpenSPG 服务是否启动成功,我们在日志输出中加入了明确的启动成功标识。openspg-server 成功启动后,会输出这一标识。
⚙️ 用户体验优化
- 解决大规模数据构建下 Neo4j 调用内存超限问题
- 针对在处理大规模数据集时出现的 Neo4j 内存溢出问题,我们进行了深入分析并实施了有效的解决方案。现在,面对大规模数据集Neo4j 能保持稳定运行,有效防止了因内存不足而导致的服务中断。
- 解决多并发下执行 Neo4j 查询导致的 GDS 加载问题
- 在多并发场景下执行 Neo4j 查询时,图数据科学 (GDS) 库的加载会出现冲突或失败的情况。为此,我们优化了查询执行策略,确保了在高并发环境下的查询性能和稳定性。
- 解决抽取结果 Schema 预览实体无前缀问题
- 在之前版本中,部分用户反馈在查看抽取结果的 Schema 预览时,实体名称缺少必要的前缀信息导致抽取的实体和预定义的Schema不一致。此次更新修正了这一问题,保证了所有实体名称的完整性和准确性。
- 创建修改项目时 Neo4j 无密码时填充默认值
- 当用户在创建或修改项目时,如果未指定 Neo4j 密码,系统将自动填充一个安全的默认值,从而简化了配置流程,减少了用户的输入负担。
- 前端 bugfix
- 修复了JS依赖外部地址问题,已将前端文件全部内置到镜像内;同时针对知识库管理页面进行了多项改进,以提供更加流畅的操作体验。
- 解决点边类型为空导致的 Neo4j 写入失败问题
- 对于在构建知识图谱时可能出现的节点或关系类型为空的情况,我们优化了写入逻辑,确保即便在这些特殊情况下也能顺利完成数据的写入操作,避免了因类型缺失而引发的数据丢失或错误。
Version 0.5
Version 0.5 (2024-10-25)
retrieval Augmentation Generation (RAG) technology promotes the integration of domain applications with large models. However, RAG has problems such as a large gap between vector similarity and knowledge reasoning correlation, and insensitivity to knowledge logic (such as numerical values, time relationships, expert rules, etc.), which hinder the implementation of professional knowledge services. On October 25, officially releasing the professional domain knowledge Service Framework for knowledge enhancement generation (KAG) .
Highlights of the Release Version:
1. KAG: Knowledge Augmented Generation
KAG aims to make full use of the advantages of Knowledge Graph and vector retrieval, and bi-directionally enhance large language models and knowledge graphs through four aspects to solve RAG challenges
(1) LLM-friendly semantic knowledge management
(2) Mutual indexing between the knowledge map and the original snippet.
(3) Logical symbol-guided hybrid inference engine
(4) Knowledge alignment based on semantic reasoning
KAG is significantly better than NaiveRAG, HippoRAG and other methods in multi-hop question and answer tasks. The F1 score on hotpotQA is relatively improved by 19.6, and the F1 score on 2wiki is relatively improved by 33.5
The KAG framework includes three parts: kg-builder, kg-solver, and kag-model. This release only involves the first two parts, kag-model will be gradually open source release in the future.
kg-builder
implements a knowledge representation that is friendly to large-scale language models (LLM). Based on the hierarchical structure of DIKW (data, information, knowledge and wisdom), IT upgrades SPG knowledge representation ability, and is compatible with information extraction without schema constraints and professional knowledge construction with schema constraints on the same knowledge type (such as entity type and event type), it also supports the mutual index representation between the graph structure and the original text block, which supports the efficient retrieval of the reasoning question and answer stage.
kg-solver
uses a logical symbol-guided hybrid solving and reasoning engine that includes three types of operators: planning, reasoning, and retrieval, to transform natural language problems into a problem-solving process that combines language and symbols. In this process, each step can use different operators, such as exact match retrieval, text retrieval, numerical calculation or semantic reasoning, so as to realize the integration of four different problem solving processes: Retrieval, Knowledge Graph reasoning, language reasoning and numerical calculation.
Version 0.5 (2024-10-25)
检索增强生成(RAG)技术推动了领域应用与大模型结合。然而,RAG 存在着向量相似度与知识推理相关性差距大、对知识逻辑(如数值、时间关系、专家规则等)不敏感等问题,这些都阻碍了专业知识服务的落地。10月25日正式发布了知识增强生成(KAG)的专业领域知识服务框架
版本亮点
1. KAG 专业领域知识服务框架
KAG 旨在充分利用知识图谱和向量检索的优势,并通过四个方面双向增强大型语言模型和知识图谱,以解决 RAG 挑战
(1) 对 LLM 友好的语义化知识管理
(2) 知识图谱与原文片段之间的互索引
(3) 逻辑符号引导的混合推理引擎
(4) 基于语义推理的知识对齐
KAG 在多跳问答任务中显著优于 NaiveRAG、HippoRAG 等方法,在 hotpotQA 上的 F1 分数相对提高了 19.6%,在 2wiki 上的 F1 分数相对提高了33.5%
kag 框架包括 kg-builder、kg-solver、kag-model 三部分。本次发布只涉及前两部分,kag-model 将在后续逐步开源发布。
kg-builder
实现了一种对大型语言模型(LLM)友好的知识表示,在 DIKW(数据、信息、知识和智慧)的层次结构基础上,升级 SPG 知识表示能力,在同一知识类型(如实体类型、事件类型)上兼容无 schema 约束的信息提取和有 schema 约束的专业知识构建,并支持图结构与原始文本块之间的互索引表示,为推理问答阶段的高效检索提供支持。
kg-solver
采用逻辑符号引导的混合求解和推理引擎,该引擎包括三种类型的运算符:规划、推理和检索,将自然语言问题转化为结合语言和符号的问题求解过程。在这个过程中,每一步都可以利用不同的运算符,如精确匹配检索、文本检索、数值计算或语义推理,从而实现四种不同问题求解过程的集成:检索、知识图谱推理、语言推理和数值计算。