llamaindex-memory 0.0 on LoCoMollm-baseline 0.0 on LoCoMomem0-local 0.0 on LongMemEvalmem0-local 0.0 on LongMemEvalllamaindex-memory 0.0 on LongMemEvalllm-baseline 0.0 on LongMemEvallangchain-memory 0.0 on LongMemEvalcognee 0.0 on LongMemEval13 systems independently scored64 systems indexedllamaindex-memory 0.0 on LoCoMollm-baseline 0.0 on LoCoMomem0-local 0.0 on LongMemEvalmem0-local 0.0 on LongMemEvalllamaindex-memory 0.0 on LongMemEvalllm-baseline 0.0 on LongMemEvallangchain-memory 0.0 on LongMemEvalcognee 0.0 on LongMemEval13 systems independently scored64 systems indexed
Methodology
Adapter Contractv1.0

Knowledge Brain Adapter Spec

Adapter contract for knowledge brain systems. These systems store, index, and retrieve structured or unstructured knowledge at scale.

Required methods

def setup(self) -> None

Initialize the knowledge system and any backing stores (vector DB, graph, etc.).

def reset(self) -> None

Clear all stored knowledge. Must fully reset the knowledge base.

def teardown(self) -> None

Clean up resources, connections, and temporary files.

def ingest(self, turns: List[Dict[str, Any]]) -> None

Store knowledge from conversation turns. May involve chunking, embedding, or graph construction.

def recall(self, query: str) -> str

Retrieve relevant knowledge. Should return the most relevant content, not the entire knowledge base.

Required capabilities

  • -Knowledge ingestion from conversational format
  • -Semantic or keyword-based retrieval
  • -Scale handling (10-100+ pages of content)
  • -Session isolation

Applicable benchmarks

Example implementation

python
"""Example knowledge brain adapter."""
from typing import Any, Dict, List, Optional
from benchd_harness.adapters.base import BaseAdapter


class MyKnowledgeAdapter(BaseAdapter):

    @property
    def name(self) -> str:
        return "my-knowledge"

    @property
    def version(self) -> Optional[str]:
        return "1.0.0"

    def setup(self) -> None:
        self._store = MyVectorStore()
        self._store.initialize()

    def reset(self) -> None:
        self._store.clear_all()

    def teardown(self) -> None:
        self._store.close()

    def ingest(self, turns: List[Dict[str, Any]]) -> None:
        # Concatenate turns into document text
        text = "\n".join(
            f"[{t['role']}]: {t['content']}" for t in turns
        )
        self._store.add_document(text)

    def recall(self, query: str) -> str:
        results = self._store.search(query, top_k=5)
        return "\n".join(r.text for r in results)

Quick start

Install

bash
pip install benchd-harness

Validate & test

bash
benchd adapter validate my-knowledge && benchd run -a my-knowledge -b knowledge-retrieval-v0

Stable URL: benchd.ai/spec/adapter/knowledge-brain/v10
Version: 1.0 | This spec is referenced in adapter manifests and will not change within the same major version.

Command Palette

Search for a command to run...