[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-robert-mcdermott--ai-knowledge-graph":3,"tool-robert-mcdermott--ai-knowledge-graph":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":79,"owner_email":78,"owner_twitter":78,"owner_website":80,"owner_url":81,"languages":82,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":23,"env_os":95,"env_gpu":96,"env_ram":96,"env_deps":97,"category_tags":107,"github_topics":108,"view_count":114,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":115,"updated_at":116,"faqs":117,"releases":133},404,"robert-mcdermott\u002Fai-knowledge-graph","ai-knowledge-graph","AI Powered Knowledge Graph Generator","ai-knowledge-graph 是一个利用大语言模型（LLM）从非结构化文本中自动提取知识并生成可视化知识图谱的开源工具。它将输入文档拆分为合适大小的段落，通过 LLM 识别其中的实体及其关系，以“主语-谓语-宾语”三元组的形式组织信息，并最终生成可交互的 HTML 知识图谱页面。\n\n该工具解决了从杂乱文本中高效梳理结构化知识的难题，特别适合需要快速理解复杂文档内容、发现隐藏关联的研究人员、数据分析师或开发者。无论是技术文档、历史资料还是行业报告，只需提供纯文本，即可获得直观的关系网络。\n\nai-knowledge-graph 支持任意兼容 OpenAI API 的模型服务（如 Ollama、LM Studio、Azure OpenAI、Anthropic 等），并具备智能分块、实体标准化和关系推理等能力——例如自动合并不同段落中指代同一概念的名称，或推断间接关联。用户可通过配置文件灵活调整处理参数，命令行操作简单，也支持模块化安装使用。整个流程兼顾准确性与易用性，让知识图谱构建不再依赖复杂的数据预处理。","![ai-knowledge-graph-example](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frobert-mcdermott_ai-knowledge-graph_readme_60b5898415e4.png)\n\n# AI Powered Knowledge Graph Generator\n\nThis system takes an unstructured text document, and uses an LLM of your choice to extract knowledge in the form of Subject-Predicate-Object (SPO) triplets, and visualizes the relationships as an interactive knowledge graph.\nA demo of a knowlege graph created with this project can be found here: [Industrial-Revolution Knowledge Graph](https:\u002F\u002Frobert-mcdermott.github.io\u002Fai-knowledge-graph\u002F)\n\n\n## Features\n\n- **Text Chunking**: Automatically splits large documents into manageable chunks for processing\n- **Knowledge Extraction**: Uses AI to identify entities and their relationships\n- **Entity Standardization**: Ensures consistent entity naming across document chunks\n- **Relationship Inference**: Discovers additional relationships between disconnected parts of the graph\n- **Interactive Visualization**: Creates an interactive graph visualization\n- **Works with Any OpenAI Compatible API Endpoint**: Ollama, LM Studio, OpenAI, vLLM, LiteLLM (provides access to AWS Bedrock, Azure OpenAI, Anthropic and many other LLM services) \n\n## Requirements\n\n- Python 3.11+\n- Required packages (install using `pip install -r requirements.txt` or `uv sync`)\n\n## Quick Start\n\n1. Clone this repository\n2. Install dependencies: `pip install -r requirements.txt`\n3. Configure your settings in `config.toml`\n4. Run the system:\n\n```bash\npython generate-graph.py --input your_text_file.txt --output knowledge_graph.html\n```\n\nOr with UV:\n\n```bash\nuv run generate-graph.py --input your_text_file.txt --output knowledge_graph.html\n```\nOr installing and using as a module:\n\n```bash\npip install --upgrade -e .\ngenerate-graph --input your_text_file.txt --output knowledge_graph.html\n```\n\n## Configuration\n\nThe system can be configured using the `config.toml` file:\n\n```toml\n[llm]\nmodel = \"gemma3\"  # Google open weight model\napi_key = \"sk-1234\"\nbase_url = \"http:\u002F\u002Flocalhost:11434\u002Fv1\u002Fchat\u002Fcompletions\" # Local Ollama instance running locally (but can be any OpenAI compatible endpoint)\nmax_tokens = 8192\ntemperature = 0.2\n\n[chunking]\nchunk_size = 200  # Number of words per chunk\noverlap = 20      # Number of words to overlap between chunks\n\n[standardization]\nenabled = true            # Enable entity standardization\nuse_llm_for_entities = true  # Use LLM for additional entity resolution\n\n[inference]\nenabled = true             # Enable relationship inference\nuse_llm_for_inference = true  # Use LLM for relationship inference\napply_transitive = true    # Apply transitive inference rules\n```\n\n## Command Line Options\n\n- `--input FILE`: Input text file to process\n- `--output FILE`: Output HTML file for visualization (default: knowledge_graph.html)\n- `--config FILE`: Path to config file (default: config.toml)\n- `--debug`: Enable debug output with raw LLM responses\n- `--no-standardize`: Disable entity standardization\n- `--no-inference`: Disable relationship inference\n- `--test`: Generate sample visualization using test data\n\n### Usage message (--help)\n\n```bash\ngenerate-graph --help\nusage: generate-graph [-h] [--test] [--config CONFIG] [--output OUTPUT] [--input INPUT] [--debug] [--no-standardize] [--no-inference]\n\nKnowledge Graph Generator and Visualizer\n\noptions:\n  -h, --help        show this help message and exit\n  --test            Generate a test visualization with sample data\n  --config CONFIG   Path to configuration file\n  --output OUTPUT   Output HTML file path\n  --input INPUT     Path to input text file (required unless --test is used)\n  --debug           Enable debug output (raw LLM responses and extracted JSON)\n  --no-standardize  Disable entity standardization\n  --no-inference    Disable relationship inference\n```\n\n### Example Run\n\n**Command:**\n\n```bash\ngenerate-graph --input data\u002Findustrial-revolution.txt --output industrial-revolution-kg.html\n```\n**Console Output:**\n\n```markdown\nUsing input text from file: data\u002Findustrial-revolution.txt\n==================================================\nPHASE 1: INITIAL TRIPLE EXTRACTION\n==================================================\nProcessing text in 13 chunks (size: 100 words, overlap: 20 words)\nProcessing chunk 1\u002F13 (100 words)\nProcessing chunk 2\u002F13 (100 words)\nProcessing chunk 3\u002F13 (100 words)\nProcessing chunk 4\u002F13 (100 words)\nProcessing chunk 5\u002F13 (100 words)\nProcessing chunk 6\u002F13 (100 words)\nProcessing chunk 7\u002F13 (100 words)\nProcessing chunk 8\u002F13 (100 words)\nProcessing chunk 9\u002F13 (100 words)\nProcessing chunk 10\u002F13 (100 words)\nProcessing chunk 11\u002F13 (100 words)\nProcessing chunk 12\u002F13 (86 words)\nProcessing chunk 13\u002F13 (20 words)\n\nExtracted a total of 216 triples from all chunks\n\n==================================================\nPHASE 2: ENTITY STANDARDIZATION\n==================================================\nStarting with 216 triples and 201 unique entities\nStandardizing entity names across all triples...\nApplied LLM-based entity standardization for 15 entity groups\nStandardized 201 entities into 181 standard forms\nAfter standardization: 216 triples and 160 unique entities\n\n==================================================\nPHASE 3: RELATIONSHIP INFERENCE\n==================================================\nStarting with 216 triples\nTop 5 relationship types before inference:\n  - enables: 20 occurrences\n  - impacts: 15 occurrences\n  - enabled: 12 occurrences\n  - pioneered: 10 occurrences\n  - invented: 9 occurrences\nInferring additional relationships between entities...\nIdentified 9 disconnected communities in the graph\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 3 new relationships between communities\nInferred 9 new relationships within communities\nInferred 2 new relationships within communities\nInferred 88 relationships based on lexical similarity\nAdded -22 inferred relationships\n\nTop 5 relationship types after inference:\n  - related to: 65 occurrences\n  - advances via Artificial Intelligence: 36 occurrences\n  - pioneered via computing: 26 occurrences\n  - enables via computing: 24 occurrences\n  - enables: 21 occurrences\n\nAdded 370 inferred relationships\nFinal knowledge graph: 564 triples\nSaved raw knowledge graph data to \u002Fmnt\u002Fc\u002FUsers\u002Frmcdermo\u002FDocuments\u002Findustrial-revolution-kg.json\nProcessing 564 triples for visualization\nFound 161 unique nodes\nFound 355 inferred relationships\nDetected 9 communities using Louvain method\nNodes in NetworkX graph: 161\nEdges in NetworkX graph: 537\nKnowledge graph visualization saved to \u002Fmnt\u002Fc\u002FUsers\u002Frmcdermo\u002FDocuments\u002Findustrial-revolution-kg.html\nGraph Statistics: {\n  \"nodes\": 161,\n  \"edges\": 564,\n  \"original_edges\": 209,\n  \"inferred_edges\": 355,\n  \"communities\": 9\n}\n\nKnowledge Graph Statistics:\nNodes: 161\nEdges: 564\nCommunities: 9\n\nTo view the visualization, open the following file in your browser:\nfile:\u002F\u002F\u002Fmnt\u002Fc\u002FUsers\u002Frmcdermo\u002FDocuments\u002Findustrial-revolution-kg.html\n```\n\n## How It Works\n\n1. **Chunking**: The document is split into overlapping chunks to fit within the LLM's context window\n2. **First Pass - SPO Extraction**: \n   - Each chunk is processed by the LLM to extract Subject-Predicate-Object triplets\n   - Implemented in the `process_with_llm` function\n   - The LLM identifies entities and their relationships within each text segment\n   - Results are collected across all chunks to form the initial knowledge graph\n3. **Second Pass - Entity Standardization**:\n   - Basic standardization through text normalization\n   - Optional LLM-assisted entity alignment (controlled by `standardization.use_llm_for_entities` config)\n   - When enabled, the LLM reviews all unique entities from the graph and identifies groups that refer to the same concept\n   - This resolves cases where the same entity appears differently across chunks (e.g., \"AI\", \"artificial intelligence\", \"AI system\")\n   - Standardization helps create a more coherent and navigable knowledge graph\n4. **Third Pass - Relationship Inference**:\n   - Automatic inference of transitive relationships\n   - Optional LLM-assisted inference between disconnected graph components (controlled by `inference.use_llm_for_inference` config)\n   - When enabled, the LLM analyzes representative entities from disconnected communities and infers plausible relationships\n   - This reduces graph fragmentation by adding logical connections not explicitly stated in the text\n   - Both rule-based and LLM-based inference methods work together to create a more comprehensive graph\n5. **Visualization**: An interactive HTML visualization is generated using the PyVis library\n\nBoth the second and third passes are optional and can be disabled in the configuration to minimize LLM usage or control these processes manually.\n\n## Visualization Features\n\n- **Color-coded Communities**: Node colors represent different communities\n- **Node Size**: Nodes sized by importance (degree, betweenness, eigenvector centrality)\n- **Relationship Types**: Original relationships shown as solid lines, inferred relationships as dashed lines\n- **Interactive Controls**: Zoom, pan, hover for details, filtering and physics controls\n- **Light (default) and Dark mode themes**.\n\n## Project Layout\n\n```\n.\n├── config.toml                     # Main configuration file for the system\n├── generate-graph.py               # Entry point when run directly as a script\n├── pyproject.toml                  # Python project metadata and build configuration\n├── requirements.txt                # Python dependencies for 'pip' users\n├── uv.lock                         # Python dependencies for 'uv' users\n└── src\u002F                            # Source code\n    ├── generate_graph.py           # Main entry point script when run as a module\n    └── knowledge_graph\u002F            # Core package\n        ├── __init__.py             # Package initialization\n        ├── config.py               # Configuration loading and validation\n        ├── entity_standardization.py # Entity standardization algorithms\n        ├── llm.py                  # LLM interaction and response processing\n        ├── main.py                 # Main program flow and orchestration\n        ├── prompts.py              # Centralized collection of LLM prompts\n        ├── text_utils.py           # Text processing and chunking utilities\n        ├── visualization.py        # Knowledge graph visualization generator\n        └── templates\u002F              # HTML templates for visualization\n            └── graph_template.html # Base template for interactive graph\n```\n\n## Program Flow\n\nThis diagram illustrates the program flow.\n\n```mermaid\nflowchart TD\n    %% Main entry points\n    A[main.py - Entry Point] --> B{Parse Arguments}\n    \n    %% Test mode branch\n    B -->|--test flag| C[sample_data_visualization]\n    C --> D[visualize_knowledge_graph]\n    \n    %% Normal processing branch\n    B -->|normal processing| E[load_config]\n    E --> F[process_text_in_chunks]\n    \n    %% Text processing\n    F --> G[chunk_text]\n    G --> H[process_with_llm]\n    \n    %% LLM processing\n    H --> I[call_llm]\n    I --> J[extract_json_from_text]\n    \n    %% Entity standardization phase\n    F --> K{standardization enabled?}\n    K -->|yes| L[standardize_entities]\n    K -->|no| M{inference enabled?}\n    L --> M\n    \n    %% Relationship inference phase\n    M -->|yes| N[infer_relationships]\n    M -->|no| O[visualize_knowledge_graph]\n    N --> O\n    \n    %% Visualization components\n    O --> P[_calculate_centrality_metrics]\n    O --> Q[_detect_communities]\n    O --> R[_calculate_node_sizes]\n    O --> S[_add_nodes_and_edges_to_network]\n    O --> T[_get_visualization_options]\n    O --> U[_save_and_modify_html]\n    \n    %% Subprocesses\n    L --> L1[_resolve_entities_with_llm]\n    N --> N1[_identify_communities]\n    N --> N2[_infer_relationships_with_llm]\n    N --> N3[_infer_within_community_relationships]\n    N --> N4[_apply_transitive_inference]\n    N --> N5[_infer_relationships_by_lexical_similarity]\n    N --> N6[_deduplicate_triples]\n    \n    %% File outputs\n    U --> V[HTML Visualization]\n    F --> W[JSON Data Export]\n    \n    %% Prompts usage\n    Y[prompts.py] --> H\n    Y --> L1\n    Y --> N2\n    Y --> N3\n    \n    %% Module dependencies\n    subgraph Modules\n        main.py\n        config.py\n        text_utils.py\n        llm.py\n        entity_standardization.py\n        visualization.py\n        prompts.py\n    end\n    \n    %% Phases\n    subgraph Phase 1: Triple Extraction\n        G\n        H\n        I\n        J\n    end\n    \n    subgraph Phase 2: Entity Standardization\n        L\n        L1\n    end\n    \n    subgraph Phase 3: Relationship Inference\n        N\n        N1\n        N2\n        N3\n        N4\n        N5\n        N6\n    end\n    \n    subgraph Phase 4: Visualization\n        O\n        P\n        Q\n        R\n        S\n        T\n        U\n    end\n```\n\n## Program Flow Description\n\n1. **Entry Point**: The program starts in `main.py` which parses command-line arguments.\n\n2. **Mode Selection**:\n   - If `--test` flag is provided, it generates a sample visualization\n   - Otherwise, it processes the input text file\n\n3. **Configuration**: Loads settings from `config.toml` using `config.py`\n\n4. **Text Processing**:\n   - Breaks text into chunks with overlap using `text_utils.py`\n   - Processes each chunk with the LLM to extract triples\n   - Uses prompts from `prompts.py` to guide the LLM's extraction process\n\n5. **Entity Standardization** (optional):\n   - Standardizes entity names across all triples\n   - May use LLM for entity resolution in ambiguous cases\n   - Uses specialized prompts from `prompts.py` for entity resolution\n\n6. **Relationship Inference** (optional):\n   - Identifies communities in the graph\n   - Infers relationships between disconnected communities\n   - Applies transitive inference and lexical similarity rules\n   - Uses specialized prompts from `prompts.py` for relationship inference\n   - Deduplicates triples\n\n7. **Visualization**:\n   - Calculates centrality metrics and community detection\n   - Determines node sizes and colors based on importance\n   - Creates an interactive HTML visualization using PyVis\n   - Customizes the HTML with templates\n\n8. **Output**:\n   - Saves the knowledge graph as both HTML and JSON\n   - Displays statistics about nodes, edges, and communities","![ai-knowledge-graph-example](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frobert-mcdermott_ai-knowledge-graph_readme_60b5898415e4.png)\n\n# AI 驱动的知识图谱生成器\n\n该系统接收一份非结构化文本文件，并使用你选择的 LLM（大语言模型，Large Language Model）从中提取以“主语-谓语-宾语”（Subject-Predicate-Object, SPO）三元组形式表示的知识，并将这些关系可视化为一个交互式知识图谱。  \n使用本项目生成的知识图谱示例可在此查看：[工业革命知识图谱](https:\u002F\u002Frobert-mcdermott.github.io\u002Fai-knowledge-graph\u002F)\n\n\n## 功能特性\n\n- **文本分块（Text Chunking）**：自动将大型文档拆分为便于处理的小块\n- **知识抽取（Knowledge Extraction）**：利用 AI 识别实体及其相互关系\n- **实体标准化（Entity Standardization）**：确保不同文本块中的实体命名一致\n- **关系推理（Relationship Inference）**：发现图谱中不相连部分之间的额外关系\n- **交互式可视化（Interactive Visualization）**：生成可交互的图谱可视化结果\n- **兼容任意 OpenAI 兼容的 API 端点**：支持 Ollama、LM Studio、OpenAI、vLLM、LiteLLM（后者可接入 AWS Bedrock、Azure OpenAI、Anthropic 等众多 LLM 服务）\n\n## 依赖要求\n\n- Python 3.11+\n- 所需依赖包（可通过 `pip install -r requirements.txt` 或 `uv sync` 安装）\n\n## 快速开始\n\n1. 克隆本仓库\n2. 安装依赖：`pip install -r requirements.txt`\n3. 在 `config.toml` 中配置你的设置\n4. 运行系统：\n\n```bash\npython generate-graph.py --input your_text_file.txt --output knowledge_graph.html\n```\n\n或使用 UV：\n\n```bash\nuv run generate-graph.py --input your_text_file.txt --output knowledge_graph.html\n```\n\n或安装为模块后使用：\n\n```bash\npip install --upgrade -e .\ngenerate-graph --input your_text_file.txt --output knowledge_graph.html\n```\n\n## 配置说明\n\n系统可通过 `config.toml` 文件进行配置：\n\n```toml\n[llm]\nmodel = \"gemma3\"  # Google 开源权重模型\napi_key = \"sk-1234\"\nbase_url = \"http:\u002F\u002Flocalhost:11434\u002Fv1\u002Fchat\u002Fcompletions\" # 本地运行的 Ollama 实例（也可替换为任意 OpenAI 兼容端点）\nmax_tokens = 8192\ntemperature = 0.2\n\n[chunking]\nchunk_size = 200  # 每个文本块的单词数量\noverlap = 20      # 相邻文本块之间的重叠单词数\n\n[standardization]\nenabled = true            # 启用实体标准化\nuse_llm_for_entities = true  # 使用 LLM 进行额外的实体消歧\n\n[inference]\nenabled = true             # 启用关系推理\nuse_llm_for_inference = true  # 使用 LLM 进行关系推理\napply_transitive = true    # 应用传递性推理规则\n```\n\n## 命令行选项\n\n- `--input FILE`：待处理的输入文本文件\n- `--output FILE`：用于可视化的输出 HTML 文件（默认：knowledge_graph.html）\n- `--config FILE`：配置文件路径（默认：config.toml）\n- `--debug`：启用调试输出，显示原始 LLM 响应\n- `--no-standardize`：禁用实体标准化\n- `--no-inference`：禁用关系推理\n- `--test`：使用测试数据生成示例可视化\n\n### 使用帮助信息（--help）\n\n```bash\ngenerate-graph --help\nusage: generate-graph [-h] [--test] [--config CONFIG] [--output OUTPUT] [--input INPUT] [--debug] [--no-standardize] [--no-inference]\n\nKnowledge Graph Generator and Visualizer\n\noptions:\n  -h, --help        show this help message and exit\n  --test            Generate a test visualization with sample data\n  --config CONFIG   Path to configuration file\n  --output OUTPUT   Output HTML file path\n  --input INPUT     Path to input text file (required unless --test is used)\n  --debug           Enable debug output (raw LLM responses and extracted JSON)\n  --no-standardize  Disable entity standardization\n  --no-inference    Disable relationship inference\n```\n\n### 示例运行\n\n**命令：**\n\n```bash\ngenerate-graph --input data\u002Findustrial-revolution.txt --output industrial-revolution-kg.html\n```\n**控制台输出：**\n\n```markdown\nUsing input text from file: data\u002Findustrial-revolution.txt\n==================================================\n阶段 1：初始三元组提取（Triple Extraction）\n==================================================\n正在将文本处理为 13 个块（每块大小：100 词，重叠：20 词）\n正在处理块 1\u002F13（100 词）\n正在处理块 2\u002F13（100 词）\n正在处理块 3\u002F13（100 词）\n正在处理块 4\u002F13（100 词）\n正在处理块 5\u002F13（100 词）\n正在处理块 6\u002F13（100 词）\n正在处理块 7\u002F13（100 词）\n正在处理块 8\u002F13（100 词）\n正在处理块 9\u002F13（100 词）\n正在处理块 10\u002F13（100 词）\n正在处理块 11\u002F13（100 词）\n正在处理块 12\u002F13（86 词）\n正在处理块 13\u002F13（20 词）\n\n从所有块中共提取出 216 个三元组\n\n==================================================\n阶段 2：实体标准化（Entity Standardization）\n==================================================\n起始状态：216 个三元组，201 个唯一实体\n正在对所有三元组中的实体名称进行标准化...\n对 15 个实体组应用了基于大语言模型（LLM）的实体标准化\n将 201 个实体标准化为 181 种标准形式\n标准化后：216 个三元组，160 个唯一实体\n\n==================================================\n阶段 3：关系推理（Relationship Inference）\n==================================================\n起始状态：216 个三元组\n推理前出现次数最多的 5 种关系类型：\n  - enables: 出现 20 次\n  - impacts: 出现 15 次\n  - enabled: 出现 12 次\n  - pioneered: 出现 10 次\n  - invented: 出现 9 次\n正在推断实体之间的额外关系...\n在图中识别出 9 个不连通的社区（communities）\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 3 个社区间的新关系\n推断出 9 个社区内的新关系\n推断出 2 个社区内的新关系\n基于词汇相似性推断出 88 个关系\n新增了 -22 个推断关系\n\n推理后出现次数最多的 5 种关系类型：\n  - related to: 出现 65 次\n  - advances via Artificial Intelligence: 出现 36 次\n  - pioneered via computing: 出现 26 次\n  - enables via computing: 出现 24 次\n  - enables: 出现 21 次\n\n新增了 370 个推断关系\n最终知识图谱：564 个三元组\n原始知识图谱数据已保存至 \u002Fmnt\u002Fc\u002FUsers\u002Frmcdermo\u002FDocuments\u002Findustrial-revolution-kg.json\n正在处理 564 个三元组以生成可视化\n发现 161 个唯一节点\n发现 355 个推断关系\n使用 Louvain 方法检测到 9 个社区\nNetworkX 图中的节点数：161\nNetworkX 图中的边数：537\n知识图谱可视化已保存至 \u002Fmnt\u002Fc\u002FUsers\u002Frmcdermo\u002FDocuments\u002Findustrial-revolution-kg.html\n图统计信息：{\n  \"nodes\": 161,\n  \"edges\": 564,\n  \"original_edges\": 209,\n  \"inferred_edges\": 355,\n  \"communities\": 9\n}\n\n知识图谱统计信息：\n节点数：161  \n边数：564  \n社区数：9  \n\n要查看可视化结果，请在浏览器中打开以下文件：\nfile:\u002F\u002F\u002Fmnt\u002Fc\u002FUsers\u002Frmcdermo\u002FDocuments\u002Findustrial-revolution-kg.html\n```\n\n## 工作原理\n\n1. **分块（Chunking）**：将文档分割为有重叠的文本块，以适应大语言模型（LLM）的上下文窗口限制。\n2. **第一轮处理 - SPO 提取（Subject-Predicate-Object Extraction）**：\n   - 每个文本块由 LLM 处理，提取主语-谓语-宾语（SPO）三元组\n   - 在 `process_with_llm` 函数中实现\n   - LLM 识别每个文本段中的实体及其关系\n   - 所有块的结果汇总形成初始知识图谱\n3. **第二轮处理 - 实体标准化（Entity Standardization）**：\n   - 通过文本规范化进行基础标准化\n   - 可选启用 LLM 辅助的实体对齐（由配置项 `standardization.use_llm_for_entities` 控制）\n   - 启用后，LLM 会审查图谱中所有唯一实体，并识别指向同一概念的实体组\n   - 解决同一实体在不同文本块中表述不一致的问题（例如：“AI”、“artificial intelligence”、“AI system”）\n   - 标准化有助于构建更连贯、更易浏览的知识图谱\n4. **第三轮处理 - 关系推理（Relationship Inference）**：\n   - 自动推断传递性关系\n   - 可选启用 LLM 辅助的不连通图组件间关系推理（由配置项 `inference.use_llm_for_inference` 控制）\n   - 启用后，LLM 会分析来自不连通社区的代表性实体，并推断合理的关系\n   - 通过添加文本中未明确说明的逻辑连接，减少图谱碎片化\n   - 基于规则和基于 LLM 的推理方法协同工作，构建更全面的图谱\n5. **可视化（Visualization）**：使用 PyVis 库生成交互式 HTML 可视化\n\n第二轮和第三轮处理均为可选项，可在配置中禁用，以最小化 LLM 使用或手动控制这些流程。\n\n## 可视化特性\n\n- **社区颜色编码**：节点颜色代表不同社区\n- **节点大小**：根据重要性（度中心性、介数中心性、特征向量中心性）调整节点大小\n- **关系类型**：原始关系以实线显示，推断关系以虚线显示\n- **交互控件**：支持缩放、平移、悬停查看详情、过滤及物理引擎控制\n- **浅色（默认）和深色主题**\n\n## 项目结构\n\n```\n.\n├── config.toml                     # 系统的主配置文件\n├── generate-graph.py               # 直接作为脚本运行时的入口点\n├── pyproject.toml                  # Python 项目元数据和构建配置\n├── requirements.txt                # 供 'pip' 用户使用的 Python 依赖项\n├── uv.lock                         # 供 'uv' 用户使用的 Python 依赖项\n└── src\u002F                            # 源代码\n    ├── generate_graph.py           # 作为模块运行时的主入口脚本\n    └── knowledge_graph\u002F            # 核心包\n        ├── __init__.py             # 包初始化文件\n        ├── config.py               # 配置加载与验证\n        ├── entity_standardization.py # 实体标准化（Entity Standardization）算法\n        ├── llm.py                  # LLM（大语言模型，Large Language Model）交互与响应处理\n        ├── main.py                 # 主程序流程与协调逻辑\n        ├── prompts.py              # LLM 提示词（Prompts）的集中管理\n        ├── text_utils.py           # 文本处理与分块工具\n        ├── visualization.py        # 知识图谱可视化生成器\n        └── templates\u002F              # 可视化用的 HTML 模板\n            └── graph_template.html # 交互式图谱的基础模板\n```\n\n## 程序流程\n\n下图展示了程序的执行流程。\n\n```mermaid\nflowchart TD\n    %% Main entry points\n    A[main.py - Entry Point] --> B{Parse Arguments}\n    \n    %% Test mode branch\n    B -->|--test flag| C[sample_data_visualization]\n    C --> D[visualize_knowledge_graph]\n    \n    %% Normal processing branch\n    B -->|normal processing| E[load_config]\n    E --> F[process_text_in_chunks]\n    \n    %% Text processing\n    F --> G[chunk_text]\n    G --> H[process_with_llm]\n    \n    %% LLM processing\n    H --> I[call_llm]\n    I --> J[extract_json_from_text]\n    \n    %% Entity standardization phase\n    F --> K{standardization enabled?}\n    K -->|yes| L[standardize_entities]\n    K -->|no| M{inference enabled?}\n    L --> M\n    \n    %% Relationship inference phase\n    M -->|yes| N[infer_relationships]\n    M -->|no| O[visualize_knowledge_graph]\n    N --> O\n    \n    %% Visualization components\n    O --> P[_calculate_centrality_metrics]\n    O --> Q[_detect_communities]\n    O --> R[_calculate_node_sizes]\n    O --> S[_add_nodes_and_edges_to_network]\n    O --> T[_get_visualization_options]\n    O --> U[_save_and_modify_html]\n    \n    %% Subprocesses\n    L --> L1[_resolve_entities_with_llm]\n    N --> N1[_identify_communities]\n    N --> N2[_infer_relationships_with_llm]\n    N --> N3[_infer_within_community_relationships]\n    N --> N4[_apply_transitive_inference]\n    N --> N5[_infer_relationships_by_lexical_similarity]\n    N --> N6[_deduplicate_triples]\n    \n    %% File outputs\n    U --> V[HTML Visualization]\n    F --> W[JSON Data Export]\n    \n    %% Prompts usage\n    Y[prompts.py] --> H\n    Y --> L1\n    Y --> N2\n    Y --> N3\n    \n    %% Module dependencies\n    subgraph Modules\n        main.py\n        config.py\n        text_utils.py\n        llm.py\n        entity_standardization.py\n        visualization.py\n        prompts.py\n    end\n    \n    %% Phases\n    subgraph Phase 1: Triple Extraction\n        G\n        H\n        I\n        J\n    end\n    \n    subgraph Phase 2: Entity Standardization\n        L\n        L1\n    end\n    \n    subgraph Phase 3: Relationship Inference\n        N\n        N1\n        N2\n        N3\n        N4\n        N5\n        N6\n    end\n    \n    subgraph Phase 4: Visualization\n        O\n        P\n        Q\n        R\n        S\n        T\n        U\n    end\n```\n\n## 程序流程说明\n\n1. **入口点**：程序从 `main.py` 开始，解析命令行参数。\n\n2. **模式选择**：\n   - 如果提供了 `--test` 标志，则生成一个示例可视化结果\n   - 否则，处理输入的文本文件\n\n3. **配置加载**：使用 `config.py` 从 `config.toml` 中加载配置\n\n4. **文本处理**：\n   - 使用 `text_utils.py` 将文本按重叠方式切分为多个块\n   - 对每个文本块调用 LLM 提取三元组（triples）\n   - 使用 `prompts.py` 中的提示词引导 LLM 的提取过程\n\n5. **实体标准化**（可选）：\n   - 对所有三元组中的实体名称进行标准化\n   - 在存在歧义的情况下，可能使用 LLM 进行实体消歧（entity resolution）\n   - 使用 `prompts.py` 中专门用于实体消歧的提示词\n\n6. **关系推理**（可选）：\n   - 识别图谱中的社区（communities）\n   - 推理不同社区之间的潜在关系\n   - 应用传递性推理（transitive inference）和词汇相似性规则\n   - 使用 `prompts.py` 中专门用于关系推理的提示词\n   - 对三元组进行去重\n\n7. **可视化**：\n   - 计算中心性指标（centrality metrics）并检测社区结构\n   - 根据节点重要性确定其大小和颜色\n   - 使用 PyVis 生成交互式 HTML 可视化\n   - 利用模板自定义 HTML 内容\n\n8. **输出**：\n   - 将知识图谱同时保存为 HTML 和 JSON 格式\n   - 显示关于节点、边和社区的统计信息","# ai-knowledge-graph 快速上手指南\n\n## 环境准备\n\n- **操作系统**：支持 Windows \u002F macOS \u002F Linux\n- **Python 版本**：3.11 或更高版本\n- **依赖管理工具（可选）**：\n  - 推荐使用 [`uv`](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv)（比 pip 更快）\n  - 或使用标准 `pip`\n\n> 💡 国内用户建议配置 PyPI 镜像源加速安装，例如：\n> ```bash\n> pip config set global.index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 安装步骤\n\n1. 克隆项目仓库：\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph.git\n   cd ai-knowledge-graph\n   ```\n\n2. 安装依赖（任选其一）：\n\n   **使用 pip**：\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n   **使用 uv（推荐）**：\n   ```bash\n   uv sync\n   ```\n\n3. （可选）以模块方式安装（便于全局调用）：\n   ```bash\n   pip install --upgrade -e .\n   ```\n\n## 基本使用\n\n### 1. 配置 LLM 接口\n\n编辑 `config.toml` 文件，设置你的大模型 API：\n\n```toml\n[llm]\nmodel = \"gemma3\"\napi_key = \"sk-1234\"  # 若使用本地模型（如 Ollama），可留空或忽略\nbase_url = \"http:\u002F\u002Flocalhost:11434\u002Fv1\u002Fchat\u002Fcompletions\"  # 本地 Ollama 示例\n```\n\n> ✅ 支持任意 OpenAI 兼容接口，包括：\n> - 本地 Ollama \u002F LM Studio\n> - OpenAI \u002F Azure OpenAI\n> - AWS Bedrock、Anthropic（通过 LiteLLM）\n> - vLLM 等\n\n### 2. 运行生成知识图谱\n\n准备一个 `.txt` 文本文件（如 `input.txt`），然后执行：\n\n```bash\npython generate-graph.py --input input.txt --output graph.html\n```\n\n或使用模块命令（若已执行 `-e .` 安装）：\n\n```bash\ngenerate-graph --input input.txt --output graph.html\n```\n\n或使用 uv：\n\n```bash\nuv run generate-graph.py --input input.txt --output graph.html\n```\n\n### 3. 查看结果\n\n生成完成后，打开输出的 HTML 文件（如 `graph.html`）即可在浏览器中交互式查看知识图谱。\n\n> 🚀 快速体验：运行测试示例\n> ```bash\n> generate-graph --test\n> ```\n> 将自动生成示例图谱并保存为 `knowledge_graph.html`。","某高校历史系研究生正在撰写关于“第二次工业革命”的论文，需从一本200页的英文专著中梳理关键技术、人物与国家之间的复杂关联。\n\n### 没有 ai-knowledge-graph 时\n- 手动通读全文并摘录关键信息，耗时数周且容易遗漏隐含关系  \n- 不同章节对同一实体（如“Thomas Edison” vs “Edison”）命名不一致，导致后续整理混乱  \n- 难以直观发现跨章节的间接联系（例如某项技术如何通过多国合作演进）  \n- 最终只能用静态表格或手绘草图呈现关系，无法交互探索  \n\n### 使用 ai-knowledge-graph 后\n- 将整本PDF转为纯文本后，仅用一条命令即可自动提取数千条结构化三元组（如“Nikola Tesla — 发明 — 交流电系统”）  \n- 内置实体标准化功能自动合并“Bell Telephone Company”和“贝尔电话公司”等变体，确保图谱一致性  \n- 启用关系推理后，系统自动补全了“德国化学工业 → 推动 → 美国染料制造”等原文未明说但逻辑成立的连接  \n- 生成的交互式HTML图谱支持缩放、搜索与点击展开详情，便于快速定位关键节点并导出子图用于论文插图  \n\nai-knowledge-graph 将数周的手工知识整理压缩至几分钟，同时揭示出肉眼难以察觉的深层关联，极大提升人文研究中的信息洞察效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frobert-mcdermott_ai-knowledge-graph_dd8deada.png","robert-mcdermott","Robert McDermott","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Frobert-mcdermott_daea26d8.jpg",null,"Seattle","https:\u002F\u002Frobert-mcdermott.medium.com\u002F","https:\u002F\u002Fgithub.com\u002Frobert-mcdermott",[83,87],{"name":84,"color":85,"percentage":86},"Python","#3572A5",65.1,{"name":88,"color":89,"percentage":90},"HTML","#e34c26",34.9,1961,292,"2026-04-04T04:44:31","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":98,"python":99,"dependencies":100},"支持任何 OpenAI 兼容的 API 端点（如 Ollama、LM Studio、vLLM、LiteLLM 等），可本地或远程调用大语言模型；无需直接加载模型到本地，因此对 GPU 和内存无硬性要求；推荐使用 uv 或 pip 安装依赖。","3.11+",[101,102,103,104,105,106],"openai","pyvis","networkx","tiktoken","tomli","litellm",[13,51,26],[109,110,111,112,103,102,113],"artificial-intelligence","knowledge-distillation","knowledge-graph","llm","visualization",4,"2026-03-27T02:49:30.150509","2026-04-06T05:27:03.714790",[118,123,128],{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},1505,"在 Windows 系统上处理包含非拉丁字符（如波兰语）的文本时，出现 'charmap' codec 无法编码的错误怎么办？","该问题已在 v0.6.1 版本中修复。请确保使用最新版本（main 分支或 >=0.6.1）。此问题是由于 Windows 默认编码（如 cp1250）不支持某些 Unicode 字符导致的，升级后应能正常处理含重音符号的非拉丁字符。","https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fissues\u002F4",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},1506,"requirements.txt 文件第一行出现 '-e file:\u002F\u002F\u002Fhome\u002Frmcdermo\u002Fmycode\u002Fai-knowledge-graph' 是什么问题？","这是开发时遗留的本地路径引用，属于笔误，不应出现在公开的 requirements.txt 中。维护者已确认并修复了该问题，请拉取最新代码以获取修正后的依赖文件。","https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fissues\u002F10",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},1507,"将生成的 JSON 文件直接导入 Neo4j 后，可视化效果与 HTML 输出不一致，如何解决？","当前生成的 JSON 仅包含基础的主谓宾（SPO）三元组结构，未包含 HTML 可视化所需的社区划分、节点样式、布局等元数据。若要在 Neo4j 中获得类似效果，需额外处理：1）在 Neo4j 中运行社区检测算法（如 Louvain）；2）手动添加节点\u002F关系属性以控制显示样式；3）或参考 HTML 源码中的可视化逻辑，在 Neo4j Browser 中使用自定义 Cypher 查询和样式规则。","https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fissues\u002F18",[134,139,144,149,154,159,164,169,174,179,184,189,194,198,202,206],{"id":135,"version":136,"summary_zh":137,"released_at":138},100991,"0.6.3","## What's Changed\r\n* Introduce PromptFactory and modular prompts package by @Deepak-png981 in https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F19\r\n\r\n## New Contributors\r\n* @Deepak-png981 made their first contribution in https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F19\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fcompare\u002F0.6.2...0.6.3","2025-12-28T00:22:07",{"id":140,"version":141,"summary_zh":142,"released_at":143},100992,"0.6.2","## What's Changed\r\n* added filter for inferred vs non-inferred predicates by @esteinholtz-cloudera in https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F13\r\n* added utility tool to convert from JSON to HTML  by @esteinholtz-cloudera in https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F14\r\n\r\n## New Contributors\r\n* @esteinholtz-cloudera made their first contribution in https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F13\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fcompare\u002F0.6.1...0.6.2","2025-12-28T00:02:20",{"id":145,"version":146,"summary_zh":147,"released_at":148},100993,"0.6.1","- Fixed bug with encoding on Windows systems.\r\n- See https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F5\r\n\r\n## What's Changed\r\n* Fixed Issue #4 (charmap) issue on Windows systems by @robert-mcdermott in https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fpull\u002F5\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fcompare\u002F0.6.0...0.6.1","2025-05-12T22:20:05",{"id":150,"version":151,"summary_zh":152,"released_at":153},100994,"0.6.0","- Moved prompts to a dedicated module file\r\n- Added error handling if there are malformed SPO objects returned from the LLM\r\n- Added check and removal of self-referential relationship loops\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Frobert-mcdermott\u002Fai-knowledge-graph\u002Fcompare\u002F0.5.7...0.6.0","2025-03-30T16:25:27",{"id":155,"version":156,"summary_zh":157,"released_at":158},100995,"0.5.7","- forced to make the text of the relationship edges to be no more than 3 words and to abbreviate if possible. ","2025-03-27T18:39:48",{"id":160,"version":161,"summary_zh":162,"released_at":163},100996,"0.5.6","- Improved standardization\r\n- Improved inferred relations\r\n- Less disconnected communities\r\n- Seems Good-to-Go now ","2025-03-25T20:30:43",{"id":165,"version":166,"summary_zh":167,"released_at":168},100997,"0.5.5","minor tweaks","2025-03-25T15:38:08",{"id":170,"version":171,"summary_zh":172,"released_at":173},100998,"0.5.4","- Can changed the edge style (curved types) in the configuration file","2025-03-25T07:31:26",{"id":175,"version":176,"summary_zh":177,"released_at":178},100999,"0.5.3","# New Features:\r\n\r\n- Standardization of entities\r\n- Inferred relations\r\n- Graph stats","2025-03-25T06:36:07",{"id":180,"version":181,"summary_zh":182,"released_at":183},101000,"0.4.3","- Added label hide\u002Ftoggle\r\n- improved appearance ","2025-03-24T20:03:39",{"id":185,"version":186,"summary_zh":187,"released_at":188},101001,"0.4.1","Fixed filtering bug","2025-03-24T01:42:46",{"id":190,"version":191,"summary_zh":192,"released_at":193},101002,"0.4.0","added layout physics menu","2025-03-24T01:26:40",{"id":195,"version":196,"summary_zh":78,"released_at":197},101003,"0.3.3","2025-03-24T00:45:47",{"id":199,"version":200,"summary_zh":78,"released_at":201},101004,"0.3.1","2025-03-23T22:58:36",{"id":203,"version":204,"summary_zh":78,"released_at":205},101005,"0.2.0","2025-03-23T05:55:53",{"id":207,"version":208,"summary_zh":78,"released_at":209},101006,"0.1.0","2025-03-23T05:27:46"]