🤖 AI 资讯

· ·
← 返回列表

[程序员] 开源更新: graphrag-ts v0.1.8,加入增量 GraphRAG 构建与自定义模型适配器

V2EX2026-09-23 03:39:12大模型,AI应用,开源,OpenAI,Google,Anthropic,Meta,搜索RAG,办公效率,向量数据库,端侧AI,招聘HR,模型发布,产品更新,开发者生态原文 ↗

项目地址:https://github.com/sadofriod/graphrag-ts 相关阅读 这是一个使用 TypeScript/Bun 实现的 GraphRAG 引擎,面向 Markdown 语料构建知识图谱,并通过向量、关键词和图谱关系进行混合检索,最终生成带证据的回答。

相比 v0.1.5 ,这次更新主要集中在两件事上。

1. 支持增量构建

现在不需要每次修改少量文档后都重新构建整个知识库:

  • 使用 SHA-256 判断文档是否发生变化
  • 自动区分新增、修改和未变化文档
  • 未变化文档直接跳过
  • 修改文档时级联清理旧切片、向量、关系和声明
  • 根据社区拓扑指纹判断社区是否变化
  • 未变化的社区复用已有摘要和 embedding ,避免重复调用 LLM
  • 支持按文档标题或父文档 ID 删除数据

新增的主要 API:

startIncrementalBuild(...)
buildIncrementalRAG(...)
deleteRAGDocument(...)
diffDocuments(...)
computeCommunityFingerprint(...)

示例:

const buildId = startIncrementalBuild(
  [
    {
      title: 'doc1.md',
      content: '# Updated document\nAlice and Bob are colleagues.',
    },
    {
      title: 'doc2.md',
      content: '# New document\nCharlie joined the team.',
    },
  ],
  registry,
  'demo-namespace',
);

2. 支持自定义模型适配器

之前主要依赖 OpenAI 兼容接口,现在可以通过适配器接入任意 LangChain-compatible 模型。

例如:

registerChatAdapter('anthropic', ({ config }) => {
  return new ChatAnthropic({
    anthropicApiKey: config.apiKey,
    modelName: config.model,
  });
});

registerEmbeddingAdapter('ollama', ({ config }) => {
  return new OllamaEmbeddings({
    baseUrl: config.baseURL,
    model: config.model,
  });
});

目前适配器层支持:

  • 自定义 Chat Model
  • 自定义 Embedding Model
  • Anthropic 、Ollama 、Google GenAI 等 LangChain provider
  • 通过 RAG_SLICE_PROVIDERRAG_JUDGE_PROVIDERRAG_EMBED_PROVIDER 配置不同模型

其他更新

  • 增加 LM Studio 本地模型 Demo
  • 增加增量构建和社区指纹相关测试
  • 修复社区摘要持久化时的边数量问题
  • 增加 namespace 隔离保护
  • 改进 LLM JSON 解析和类型检查
  • 自动从 Git 提交生成 CHANGELOG 并完成版本发布
  • 继续完善中文和英文文档
  • 保持 PostgreSQL + Prisma + pgvector 的持久化方案

安装:

pnpm add @ashes_born/graph-rag-ts

项目仍然适合用于:

  • Markdown 文档知识库
  • 多租户或多语料库问答
  • 需要跨文档关系分析的 RAG 应用
  • 希望在 TypeScript/Bun 环境中使用 GraphRAG 的后端服务

当前版本:v0.1.8

欢迎试用、提 Issue ,也欢迎对增量构建、模型适配器和检索效果提出建议。