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

Cognee 的关键需求
Cognee 依赖于 LLM 进行实体提取、关系推理和元数据生成。32B 以下的模型通常会产生噪声图,而高幻觉(例如 90%+)会污染节点/边,降低检索效果。官方文档推荐使用 deepseek-r1:32b 或 llama3.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 |