Benchmarks

December 24, 2025 ยท View on GitHub

Benchmark dataset adapters. Each benchmark implements the Benchmark interface.

Interface

interface Benchmark {
    name: string
    load(config?: BenchmarkConfig): Promise<void>
    getQuestions(filter?: QuestionFilter): UnifiedQuestion[]
    getHaystackSessions(questionId: string): UnifiedSession[]
    getGroundTruth(questionId: string): string
    getQuestionTypes(): QuestionTypeRegistry
}

Adding a Benchmark

  1. Create src/benchmarks/mybenchmark/index.ts
  2. Implement Benchmark interface
  3. Register in src/benchmarks/index.ts
  4. Add to BenchmarkName type in src/types/benchmark.ts

Required returns:

  • load() - Parse data, populate internal maps
  • getQuestions() - Return UnifiedQuestion[] with filtering support
  • getHaystackSessions() - Return UnifiedSession[] for a question
  • getGroundTruth() - Return expected answer string
  • getQuestionTypes() - Return { [id]: { id, alias, description } }

Existing Benchmarks

BenchmarkSourceDescription
locomoGitHub snap-research/locomoLong context memory benchmark
longmemevalHuggingFace xiaowu0162/longmemeval-cleanedLong-term memory evaluation
convomemHuggingFace Salesforce/ConvoMemConversational memory benchmark

Question Types

LoCoMo

TypeAliasDescription
single-hopsingleSingle-hop fact recall
multi-hopmultiMulti-hop reasoning
temporaltemporalTemporal reasoning
world-knowledgeworldCommonsense knowledge
adversarialadversarialUnanswerable questions

LongMemEval

TypeAliasDescription
single-session-userss-userSingle-session user facts
single-session-assistantss-asstSingle-session assistant facts
single-session-preferencess-prefSingle-session preferences
multi-sessionmultiMulti-session reasoning
temporal-reasoningtemporalTemporal reasoning
knowledge-updateupdateKnowledge update tracking

ConvoMem

TypeAliasDescription
user_evidenceuserUser-stated facts
assistant_facts_evidenceasstAssistant-stated facts
preference_evidenceprefUser preferences
changing_evidencechangeInformation updates
implicit_connection_evidenceimplicitImplicit reasoning
abstention_evidenceabstainUnanswerable questions