「Cogneeに最適なLLMの選定:ローカルでのOllamaセットアップ」

LLMを自社でホストするCogneeについての考察

目次

最適なLLMの選定は、グラフ構築の品質、幻覚率、ハードウェアの制約をバランスよく考慮する必要があります。
Cogneeは、Ollama](https://www.glukhov.org/ja/post/2024/12/ollama-cheatsheet/ “Ollama cheatsheet”)を通じて32B以上の低幻覚モデルで優れたパフォーマンスを発揮しますが、軽量な構成では中規模のオプションも利用可能です。

lecture-in-the-library

Cogneeの主な要件

Cogneeは、LLMを用いてエンティティの抽出、関係性の推論、メタデータの生成に依存しています。32B未満のモデルは、ノイズの多いグラフを生成する傾向があります。また、高幻覚(例えば90%以上)はノードやエッジを汚染し、検索性能を低下させます。公式ドキュメントでは、deepseek-r1:32bまたはllama3.3-70b-instruct-q3_K_MとMistral埋め込みを組み合わせることを推奨しています。

モデル比較表

モデル パラメータ数 幻覚率(SimpleQA/推定) VRAM(量子化済み) Cogneeの強み 弱点
gpt-oss:20b 20B 91.4% ~16GB 速い推論、ツール呼び出し グラフノイズが深刻
Qwen3:14b 14B ~40-45% ~12-14GB 限定的なハードウェアでも効率的 グラフの深さが限られている
Devstral Small 2 24B ~8-10% ~18-20GB コーディングに特化、エンティティがクリーン Qwen3よりもVRAM使用量が大きい
Llama3.3-70b 70B ~30-40% ~40GB+ グラフ品質が最適 リソース使用量が重い
Deepseek-r1:32b 32B 低(推奨) ~24-32GB 論理的推論/グラフに最適 コンシューマーグラフィックカードでは遅い

データは、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%の幻覚率の問題を避けてください。
  • Cogneeでのgpt-oss:20bの使用は避けるべきです。フィルタリングされていないグラフ構築においてその誤りが拡大するという記録があります。しかし、私の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 Embeddings(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

有用なリンク