Skip to content

agentic: add answer-mode retrieval core (contract, evaluator, baselines)#4869

Open
AdnanElAssadi56 wants to merge 2 commits into
embeddings-benchmark:mainfrom
AdnanElAssadi56:feat/agentic-answer-core
Open

agentic: add answer-mode retrieval core (contract, evaluator, baselines)#4869
AdnanElAssadi56 wants to merge 2 commits into
embeddings-benchmark:mainfrom
AdnanElAssadi56:feat/agentic-answer-core

Conversation

@AdnanElAssadi56

Copy link
Copy Markdown
Contributor

First PR of the mteb.agentic subsystem (see #4868 ).

  • Contract: AnswerSystem, CorpusHandle, ChatModel, AnswerResult, Usage
  • AnswerEvaluator: runs a system per query, scores accuracy / cost / latency
  • Judges: ExactMatchJudge, LLMJudge
  • Baselines: ClosedBookSystem (floor), OracleContextSystem (ceiling)
  • from_mteb_retrieval data adapter
  • Tests (tests/test_agentic.py)

@AdnanElAssadi56 AdnanElAssadi56 force-pushed the feat/agentic-answer-core branch from c2c2cd4 to cef55cf Compare June 30, 2026 15:43

@Samoed Samoed left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently a bit hard to judge without full pipeline

Comment thread mteb/agentic/evaluator.py
self.questions = questions
self.references = references
self.corpus = corpus
self.judge = judge

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need an llm judge, because we can just compare ids. With llm answer and cheking it I think this is too much LLM checking

Comment thread mteb/agentic/evaluator.py
per_question: list[dict[str, Any]]


class AnswerEvaluator:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could use some tools, but I don't have, but I don't think we will have much

Comment thread mteb/agentic/corpus.py
from __future__ import annotations


class InMemoryCorpus:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can reuse our existing indexes for that

Comment thread mteb/agentic/interface.py
from collections.abc import Sequence

# Provider-agnostic chat message.
Message = dict[str, str]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we would need to add multimodal support in future

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants