
Diffbot的GraphRAG大模型
前言
2025 年 1 月 9 日 – 加利福尼亚州门洛帕克 – 世界上最大的开放网络知识图谱创建者 Diffbot宣布推出其第一个大型语言模型 (LLM),这是迄今为止世界上最基于事实的 AI 语言模型。利用 Diffbot 专有的知识图谱(包括超过 100 亿个实体和来自开放网络的超过 1 万亿个结构化事实),新模型在事实可靠性和领域覆盖率方面超过了目前所有可用的 LLM。
当前前沿的 LLM 方法通过扩大模型的大小来减少不良响应(又名“幻觉”),使其代表更多的训练数据,或者增加推理时间,使用 LLM 来“推理”和自我纠正其错误,但代价是运行时间要长得多。在 Diffbot,我们相信我们称之为智能的核心“推理”最终将被提炼为 ~1B 参数,并且事实知识最好在模型权重之外,在外部引用的知识图谱中得到维护。Diffbot LLM 是一个经过微调的 LLama 3.3 70B(和 8B),它已经过培训,可以成为专家工具用户,在推理时查询结构化和非结构化数据库。
通过行业领先的基准(包括 MMLU-Pro 和 FreshQA 分数)衡量,Diffbot 的模型提供了无与伦比的事实性能。它的 MMLU-Pro 分数为 %70.36,击败了所有其他具有 <100B 参数和 %81 FreshQA 分数的开源模型,击败了 ChatGPT 搜索模式、Gemini 和 Perplexity。这种准确性直接归功于 Diffbot 无与伦比的知识图谱及其基于事实的响应的尖端方法。
Diffbot 的大模型也是生产 GraphRAG(图检索增强生成)系统的第一个开源实现。与其他仅依赖内部训练数据和启发式提示工程的 LLM 不同,GraphRAG 动态查询 Diffbot 知识图谱和独立的网络搜索索引,以检索精确、权威的信息。
结果是,该模型不仅从其模型权重中近似出事实,而且还主动实时定位和引用可验证的来源。
真实原文引用和溯源
虽然其他语言模型可能会引用引文,但它们通常无法将陈述追溯到其原始来源(即引文链接经常会不准确)。Diffbot 的 LLM 非常重视引文基础。它经过微调,将每个事实陈述与支持它的特定段落严格匹配,并始终提供对任何引用材料的原始来源的直接引用。这确保了用户对模型如何得出答案完全透明,从而提高了信任度和可靠性。
Diffbot 的 LLM 直接与 Diffbot 的自动提取、结构化知识图谱查询、非结构化 Web 搜索查询和代码解释功能集成。它在复杂的工作流程中表现出色,例如按需聚合数据或从用户选择的自定义数据集生成见解。
随着数据安全性和机密性变得至关重要,Diffbot 的 LLM 在设计时秉持隐私优先的理念。用户保留对其数据的完全控制权,并且该模型的自托管选项确保敏感信息永远不需要离开安全的本地环境。
高级多模态和工具功能
除了基于文本的查询之外,Diffbot 的 LLM 还提供高级多模态推理:
- 图像蕴涵:从“如何画小鲨鱼”到复杂的视觉推理,该模型可以理解和解释图像,确保超越书面文字的无缝交互。
- 代码解释:该模型可以在内部执行 JavaScript 代码解释器,而不是为数学和字符串处理问题提供近似解决方案。这会产生明确、正确的答案,而不是猜测,使其成为开发人员、数据科学家和技术用户的理想选择。
Diffychat:公开演示
鼓励对测试、集成或为项目做出贡献的开发人员、研究人员和组织访问 https://diffy.chat 并探索文档和开源存储库。用户可以在 https://diffy.chat 上测试 Diffbot LLM,让任何人都可以亲身体验其功能。
与许多闭源模型不同,Diffbot 的模型是完全开源的,并带有一个开源的、与 OpenAI 兼容的函数调用 API 服务器,用于自托管。这种开放的方法使企业、研究人员和业余爱好者能够将模型集成到他们自己的系统中,并完全控制他们的数据和配置。
值得注意的是,大型语言模型 (LLM) 已经使用越来越多的数据进行训练,导致参数数量和所需的计算能力增加。但是,如果我们没有为模型提供更多数据,而是有目的地训练它,以减少对预训练数据的依赖,而更多地依赖它查找外部知识的能力,那会怎样?
为了测试这个想法,我们对 LLama 3.3 70B 进行了微调,使其成为实时知识图谱 API 的专家工具用户,提供了第一个性能优于 Google Gemini 和 ChatGPT 的 GraphRAG 系统的开源实现。
值得注意的是,大型语言模型 (LLM) 已经使用越来越多的数据进行训练,导致参数数量和所需的计算能力增加。但是,如果我们没有为模型提供更多数据,而是有目的地训练它,以减少对预训练数据的依赖,而更多地依赖它查找外部知识的能力,那会怎样?
为了测试这个想法,我们对 LLama 3.3 70B 进行了微调,使其成为实时知识图谱 API 的专家工具用户,提供了第一个性能优于 Google Gemini 和 ChatGPT 的 GraphRAG 系统的开源实现。
1. 特点
实时 Web URL 提取
作为一个 RAG 系统,Diffbot LLM 可以实时总结 Web 文档,并适当地注明原始来源。
事实引文的专家检索器
Diffbot LLM 经过明确训练,可以将引用的文本与参考来源对齐。
知识图谱查询
Diffbot LLM 是 Diffbot(知识图谱)查询语言的专家工具用户。
图像蕴涵
Diffbot LLM也包含图像。
Code Interpreter 工具使用
Diffbot LLM 不依赖模型权重来执行实证计算,而是 Javascript 解释器的专家工具用户,它可以使用它来通知它的响应。
有趣的东西
Diffbot LLM 是 ASCII 艺术天气预报的专家制造商,以真实来源为基础。
2. 模型下载
可在 HuggingFace 上下载:
- diffbot-small (8b Llama 3.1 微调):https://huggingface.co/diffbot/Llama-3.1-Diffbot-Small-2412
- diffbot-small-xl (70b Llama 3.3 微调):https://huggingface.co/diffbot/Llama-3.3-Diffbot-Small-XL-2412
3. 准确性基准
FreshQA 数据集
FreshQA 是衡量搜索 RAG 系统实时准确性的基准。Diffbot LLM 在实时事实准确性方面优于 gpt-4o(无网络访问)、ChatGPT(有网络访问)、Google Gemini 和 Perplexity。
在本次评估中,我们重点关注了 130 个 FreshQA 问题,这些问题的答案在 2024 年发生了变化,这是在 2024 年 12 月所有评估模型的知识截止之后。
MMLU-Pro 系列
MMLU-Pro 是 MMLU 基准测试的更困难版本,它使用 57 道选择多项选择题来测试 10 个学术科目的静态知识。MMLU-Pro 排行榜。
下面显示了 diffbot-small 和 diffbot-small-xl 在进行微调的基础模型上的 MMLU-Pro 分数。
Model | 精度(CoT 5 次) |
diffbot-small-xl | 72.89 |
Llama-3.3-70B 说明书 | 65.92 |
Model | 精度(CoT 5 次) |
diffbot-small | 48.64 |
Llama-3.1-8B 指令 | 44.25 |
注意:这是对 Diffbot GraphRAG LLM API 端到端的测量,而不是对权重中包含的知识的测量。与基本模型相比,其性能的提升来自其访问外部工具的能力。
4. 演示
使用 https://diffy.chat 的演示应用程序试用 Diffbot LLM
5. 在本地运行
经过测试的最低硬件配置:
- Nvidia A100 40G 用于 diffbot-small
- Nvidia 2XH100 80G 用于 diffbot-small-xl @ FP8
在 huggingface 中使用 Docker 镜像和模型
- Pull docker image:
docker pull docker.io/diffbot/diffbot-llm-inference:latest
拉取 docker 镜像:docker pull docker.io/diffbot/diffbot-llm-inference:latest - Run docker image. Note: The model weights will be automatically downloaded from huggingface. This might take a few minutes.运行 docker image。注意:模型权重将自动从 huggingface 下载。这可能需要几分钟时间。
Model: diffbot-small型号:diffbot-small
docker run --runtime nvidia --gpus all -p 8001:8001 --ipc=host -e VLLM_OPTIONS="--model diffbot/Llama-3.1-Diffbot-Small-2412 --served-model-name diffbot-small --enable-prefix-caching" docker.io/diffbot/diffbot-llm-inference:latestMdocker run --runtime nvidia --gpus all -p 8001:8001 --ipc=host -e VLLM_OPTIONS= “ --model diffbot/llama-3.1-Diffbot-Small-2412 --served-model-name diffbot-small --enable-prefix-caching ” docker.io/diffbot/diffbot-llm-inference:latestM
odel: diffbot-small-xlODEL:diffbot-small-xl
docker run --runtime nvidia --gpus all -p 8001:8001 --ipc=host -e VLLM_OPTIONS="--model diffbot/Llama-3.3-Diffbot-Small-XL-2412 --served-model-name diffbot-small-xl --enable-prefix-caching --quantization fp8 --tensor-parallel-size 2" docker.io/diffbot/diffbot-llm-inference:latestTdocker run --runtime nvidia --gpus all -p 8001:8001 --ipc=host -e VLLM_OPTIONS= “ --model diffbot/llama-3.3-Diffbot-Small-XL-2412 --served-model-name diffbot-small-xl --enable-prefix-caching --quantization fp8 --tensor-parallel-size 2 ” docker.io/diffbot/diffbot-llm-inference:latestT
Diffbot 服务器利用 vLLM 为模型提供服务,一旦 vLLM 输出以下消息,它就可以接收请求:
信息:应用程序启动 complete.INFO:Uvicorn 在 http://0.0.0.0:8000 上运行(按 CTRL+C 退出) Yo
您现在可以使用终端节点 http://localhost:8001/rag/v1 ,它的工作方式与下面的 Serverless API 完全相同
7. 使用 Serverless API
Get a free Diffbot developer token at https://app.diffbot.com/get-started
在 https://app.diffbot.com/get-started 获取免费的 Diffbot 开发人员令牌
from openai importOpenAI
client =OpenAI(
base_url ="https://llm.diffbot.com/rag/v1",
api_key ="<diffbot_token>"
)
completion = client.chat.completions.create(
model="diffbot-small-xl",
temperature=0,
messages=[
{
"role": "user",
"content": "What is the Diffbot Knowledge Graph?"
}
]
)
print (completion)Contact support@diffbot.com if need more credits or higher limits.
8. 添加自定义工具
GitHub - diffbot/diffbot-llm-inference:DIffbot LLM 推理服务器
https://github.com/diffbot/diffbot-llm-inference/
关于 Diffbot:
Diffbot 是一家领先的人工智能和数据公司,致力于组织和构建世界信息。其行业首创的知识图谱不断从网络上提取和组织事实,为企业、研究和创新的关键任务应用程序提供支持。通过构建最全面的人类知识事实存储并将其与先进的自然语言模型配对,Diffbot 旨在重新定义下一代事实 AI。
本文转载自知识图谱科技,作者:KGGPT
