为Cognee选择合适的LLM:本地Ollama设置

关于自托管Cognee中使用LLM的思考

目录

选择 最适合 Cognee 的 LLM 需要平衡图构建质量、幻觉率和硬件限制。
Cognee 在使用较大且低幻觉模型(32B+)时表现优异,例如通过 Ollama,但中等规模的模型也适用于较轻量的设置。

lecture-in-the-library

Cognee 的关键需求

Cognee 依赖于 LLM 进行实体提取、关系推理和元数据生成。32B 以下的模型通常会产生噪声图,而高幻觉(例如 90%+)会污染节点/边,降低检索效果。官方文档推荐使用 deepseek-r1:32bllama3.3-70b-instruct-q3_K_M 配合 Mistral 嵌入。

模型对比表

模型 参数量 幻觉率(简单问答/估算) VRAM(量化后) Cognee 优势 劣势
gpt-oss:20b 20B 91.4% ~16GB 推理速度快,支持工具调用 图噪声严重
Qwen3:14b 14B ~40-45% ~12-14GB 在中等硬件上效率高 图深度有限
Devstral Small 2 24B ~8-10% ~18-20GB 编程专注,实体干净 VRAM 比 Qwen3 更高
Llama3.3-70b 70B ~30-40% ~40GB+ 图质量最佳 资源需求高
Deepseek-r1:32b 32B 低(推荐) ~24-32GB 最适合推理/图构建 在消费级 GPU 上速度较慢

数据来自 Cognee 文档、模型卡和基准测试,尽管幻觉数据看起来有些异常,但可能并不远。

按硬件推荐

  • 高端(32GB+ VRAM):Deepseek-r1:32b 或 Llama3.3-70b。根据 Cognee 指南,这些模型能生成最干净的图。
  • 中端(16-24GB VRAM):Devstral Small 2。低幻觉和编程能力适合结构化记忆任务。
  • 预算(12-16GB VRAM):Qwen3:14b 优于 gpt-oss:20b,避免 91% 幻觉陷阱。
  • 考虑避免使用 gpt-oss:20b 用于 Cognee;有记录显示其错误在未过滤的图构建中会放大。但在我的 GPU 上推理速度是 2 倍以上。

快速 Ollama + Cognee 配置

# 1. 拉取模型(例如 Devstral)
ollama pull devstral-small-2:24b  # 或 qwen3:14b 等

# 2. 安装 Cognee
pip install "cognee[ollama]"

# 3. 环境变量
export LLM_PROVIDER="ollama"
export LLM_MODEL="devstral-small-2:24b"
export EMBEDDING_PROVIDER="ollama"
export EMBEDDING_MODEL="nomic-embed-text"  # 768 维
export EMBEDDING_DIMENSIONS=768

# 4. 测试图
cognee add --file "your_data.txt" --name "test_graph"

确保配置和向量存储中的嵌入维度一致(例如 768、1024)。Qwen3 嵌入(在 Cognee 中尚未验证)如果 Ollama 支持,可以在 1024-4096 维度下使用。

在生产 Cognee 管道中优先选择低幻觉模型——你的图会感谢你。
在你的硬件上进行测试并监控图的一致性。

嵌入模型

我对此考虑不多,但这是我整理的表格,供以后参考:

Ollama 模型 大小(GB) 嵌入维度 上下文长度
nomic-embed-text:latest 0.274 768 2k
jina-embeddings-v2-base-en:latest 0.274 768 8k
nomic-embed-text-v2-moe 0.958 768 512
qwen3-embedding:0.6b 0.639 1024 32K
qwen3-embedding:4b 2.5 2560 32K
qwen3-embedding:8b 4.7 4096 32K
avr/sfr-embedding-mistral:latest 4.4 4096 32K

有用的链接