Skip to main content
Glama

retriEVAL

Оценка LLM как MCP-сервер. Оценивайте ответы вашего ИИ на точность, релевантность и галлюцинации из любого MCP-клиента — без пайплайна и тестового окружения. Каждый результат возвращается со ссылкой на панель, которая хранит историю.

Попробуйте вживую (без регистрации) · Посмотрите 2-минутное демо · Панель


Зачем

Пять ответов службы поддержки, оценённых по двум метрикам:

метрика

оценка

прохождение

answer_relevancy

0.98

5/5

faithfulness

0.70

3/5

Каждый ответ был по теме и хорошо написан. Два из них противоречили политике, на которую они якобы опирались: один обещал бесплатный возврат, которого политика не предусматривает, другой выдумал бесплатную замену в течение ночи. При просмотре глазами вы бы одобрили все пять.

В этом и суть. Релевантность спрашивает: ответил ли он на вопрос. Точность спрашивает: есть ли это на самом деле в источнике. Нужны обе, и вторая ловит дорогостоящие ошибки.

Related MCP server: mcp-llm-eval

Подключение

Самостоятельное размещение. Склонируйте, укажите судью, запустите — ваши данные никогда не покидают вашу машину, и не нужно нигде регистрироваться.

git clone https://github.com/hcarrillo001/retrieval-mcp
cd retrieval-mcp
pip install -r requirements.txt

export ANTHROPIC_API_KEY=sk-ant-...        # or a local judge, below
python server.py                            # stdio, for Claude Desktop / Cursor

Затем просто спросите:

Оцените эти случаи по faithfulness: [{"input": "...", "actual_output": "...", "retrieval_context": ["..."]}]

Передавайте случаи инлайн — ничего не сохраняется: один вызов, без шага настройки. См. Локальный запуск (stdio) для конфигурации клиента и Развертывание как HTTP, если хотите собственный постоянно доступный экземпляр с панелью.

Хотите попробовать, ничего не устанавливая? Есть живая песочница на retrieval-mcp.com — без регистрации, работает на бесплатном судье, ничего не сохраняется.

Полностью локально: установите RETRIEVAL_JUDGE_BACKEND=ollama, и судья тоже работает на вашей машине, так что данные не покидают вашу сеть ни на каком этапе. Полезно, если вы оцениваете то, что нельзя отправлять третьим лицам.

Что вы получаете

  • 9 встроенных метрик плюс пользовательские метрики, которые вы создаёте на простом английском

  • Сменные судьи — Anthropic, Groq, Gemini, OpenRouter или локальная модель Ollama, так что ничего не должно покидать вашу сеть

  • Golden sets из файлов, URL, инлайн JSON, JSONL, CSV или TSV

  • История запусков в Supabase с общими постоянными ссылками и сравнением запусков

  • Лимит расходов, потому что инструмент на основе судьи иначе может накрутить счёт

Честные ограничения

  • Согласованность судьи ещё не проверена на человеческих разметках, поэтому относитесь к оценкам как к сигналу, а не к истине.

  • Golden sets в настоящее время содержат собственные выходы, поэтому повторный запуск одного из них против новых выходов модели означает загрузку второго набора. Разделение — следующее изменение.

  • Golden sets и созданные метрики живут в процессе сервера и теряются при перезапуске. Запуски сохраняются; эти — нет.


Метрики (совместимые с DeepEval)

faithfulness · answer_relevancy · contextual_precision · contextual_recall · contextual_relevancy · hallucination · bias · toxicity · summarization — плюс создаваемые G-Eval метрики, которые вы определяете на простом языке. Все нормализованы так, что выше = лучше (bias/toxicity сообщают чистую долю), и каждая сначала рассуждает, а затем оценивает.

Универсальные golden sets

load_golden_set принимает путь к файлу (включая загруженные файлы), http(s) URL, инлайн JSON-массив или JSONL-текст в форматах JSON / JSONL / CSV / TSV. Имена полей автоматически нормализуются (question→input, answer→actual_output, ground_truth→expected_output, contexts→context, passages→retrieval_context, …), так что большинство публичных бенчмарков загружаются как есть.

Короткие ответы по умолчанию

run_eval оценивает каждый случай, но по умолчанию возвращает только 3 самых низко оценённых (настраивается через limit), с total_cases/shown и указателем на show_run_cases(run_id, offset, limit, metric) для просмотра остальных постранично.

Лимит расходов (чтобы не набежал счёт)

Расходы судьи измеряются по реальному использованию токенов и сохраняются. Установите жёсткий предел:

export RETRIEVAL_BUDGET_USD=20     # 0/unset = unlimited

Как только суммарные расходы достигают лимита, дальнейшие вызовы Anthropic прекращаются, и инструменты возвращают понятное сообщение budget_exceeded. Проверка/сброс через get_budget / reset_budget. (Цены приблизительные — переопределите RETRIEVAL_PRICE_IN/OUT $/1M токенов, чтобы соответствовать текущим ценам для вашей модели.)

Гибридная настройка (локально + постоянно доступная панель)

История запусков использует подключаемое хранилище, выбираемое через env:

  • FileStore (по умолчанию) — JSONL в ~/.retrieval. Ноль настройки, только локально.

  • SupabaseStore — когда заданы SUPABASE_URL + SUPABASE_SERVICE_KEY. История запусков живёт в Postgres, используется локальным CLI, развёрнутым MCP и веб-панелью.

Рекомендуемый гибридный процесс:

  1. Выполните supabase_schema.sql в Supabase (создаёт таблицу runs).

  2. Установите SUPABASE_URL + SUPABASE_SERVICE_KEY на MCP (локально и/или Railway), чтобы каждый запуск записывался централизованно. Каждый запуск фиксирует свои generator_model и judge_model для сравнения между моделями.

  3. Разверните web/ на Vercel (задайте те же переменные окружения Supabase) и привяжите к retrieval-mcp.com. Панель читает историю через /api/runs (сервисный ключ остаётся на сервере) и отображает тренд по моделям, лидерборд моделей и историю запусков. Пока Supabase не подключён, показывает примеры данных.

Локально остаётся вашей бесплатной песочницей (судья Ollama, файловая история); веб-сайт — постоянно доступное окно в общую историю.

Локальный запуск (stdio) — Claude Desktop

pip install -r requirements.txt
export ANTHROPIC_API_KEY=sk-ant-...
{
  "mcpServers": {
    "retrieval": {
      "command": "python",
      "args": ["/ABSOLUTE/PATH/server.py"],
      "env": { "ANTHROPIC_API_KEY": "sk-ant-...", "RETRIEVAL_BUDGET_USD": "10" }
    }
  }
}

Затем: «Загрузите examples/rag_golden.jsonl как 'space', запустите faithfulness, пометьте как v1».

Развертывание как HTTP (доступ откуда угодно)

export RETRIEVAL_TOKEN=$(openssl rand -hex 24)   # required for a public endpoint
export ANTHROPIC_API_KEY=sk-ant-...
export RETRIEVAL_BUDGET_USD=20
python app.py        # serves $PORT (default 8000); MCP at /mcp, health at /healthz

Разверните на Railway (или любом хосте): включённые Dockerfile / Procfile работают как есть. Задайте ANTHROPIC_API_KEY, RETRIEVAL_TOKEN, RETRIEVAL_BUDGET_USD в окружении хоста. Клиенты подключаются к https://<host>/mcp с заголовком Authorization: Bearer <token> — добавьте его как пользовательский коннектор в claude.ai / Claude Desktop или укажите Agent Builder / CI. Состояние (golden sets, история запусков, расходы) живёт на сервере, поэтому сохраняется между машинами.

Посмотрите на реальном RAG-пайплайне (демо)

demo/rag_demo.py строит крошечный сквозной RAG на небольшом размеченном наборе данных (demo/labeled.json + demo/corpus.json): он извлекает с помощью BM25, вычисляет recall@k по золотым отрывкам (детерминированно — оценка ретривера), генерирует ответ, а затем оценивает faithfulness (оценка генератора). Один ответ намеренно галлюцинирован, чтобы вы увидели, как разделяются два типа ошибок.

python demo/rag_demo.py            # offline, no key needed
python demo/rag_demo.py --real     # real generation + RetriEval judge (needs ANTHROPIC_API_KEY)

Он также записывает demo/generated_goldenset.jsonl — загрузите его в MCP (load_golden_setrun_eval) для версии с оценкой судьи. Это мост: ваш пайплайн выдаёт предсказания, набор данных предоставляет метки, а RetriEval оценивает ретривер и генератор независимо.

Подключение к RAG-пайплайну

  • Офлайн (по умолчанию): экспортируйте извлечённый контекст и ответ вашего пайплайна в golden set и оцените его — RetriEval не касается вашего пайплайна.

  • Вживую: добавьте инструмент query_rag(question), который вызывает ваш RAG-эндпоинт или векторное хранилище (Chroma / Supabase pgvector), захватывает контекст и ответ и оценивает за один раз.

Бэкенд судьи

export RETRIEVAL_JUDGE_BACKEND=anthropic          # default
export RETRIEVAL_JUDGE_MODEL=claude-sonnet-4-6
# or local, free:
export RETRIEVAL_JUDGE_BACKEND=ollama
export RETRIEVAL_JUDGE_MODEL=deepseek-r1:70b

Инструменты

Инструмент

Назначение

list_metrics

встроенные + созданные метрики

load_golden_set(name, source, fmt)

назвать набор для повторного использования (только self-host — общий и теряется при перезапуске)

list_golden_sets

что загружено

author_metric(name, criteria, examples)

простой язык → скорер

run_eval(metrics, cases, golden_set, threshold, outputs, label, limit)

оценить набор; передать cases инлайн (JSON/JSONL/CSV/TSV/путь/URL) — ничего не сохраняется

show_run_cases(run_id, offset, limit, metric)

просмотр остальных постранично

evaluate_case(...)

разовая оценка

ground_against_url(url, output, question)

проверить согласованность вывода с веб-страницей (без меток — согласованность, а не корректность)

list_runs(golden_set, last_n)

сохранённые запуски

plot_metric_trend / plot_run / compare_runs

встроенные графики

get_budget / reset_budget

статус лимита расходов / сброс


Лицензия

Apache License 2.0. Автор: Ханнс Каррильо.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides advanced evaluation tools for assessing AI safety, alignment, and performance of LLM outputs. Enables programmatic evaluation of quality, safety metrics like toxicity and PII detection, and operational metrics including carbon footprint and cost estimation.
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables LLM evaluation and observability by uploading documents, building test sets, running RAG pipelines, and automatically scoring answers for groundedness, hallucination risk, retrieval quality, latency, and cost, with tools exposed to MCP-compatible clients.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • A paid remote MCP for AI SDK eval dashboard, built to return verdicts, receipts, usage logs, and aud

  • Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hcarrillo001/retrieval-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server