Skip to content

zettle-casters/obsidian_rag_tests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

obsidian-rag-tests

Мини-набор асинхронных проверок для функций obsidian_rag_api.llm:

  • check_relevance
  • should_extend_context

Поскольку для корректной работы системы критично оценивать правильность вызовов инструментов (tools), добавлено тестирование двух ключевых точек работы агента, которые опираются на вызовы LLM и от которых зависит выбор tools и поведение агента в целом: check_relevance и should_extend_context. Эти тесты помогают убедиться, что LLM возвращает значения, на основании которых агент принимает корректные решения о вызовах внешних инструментов.

Запуск

uv run python -m obsidian_rag_tests.run_tests

Выводы теста

После запуска в каждой папке с тестом будет создано два файла:

  • test_results.json — JSON с ключом results, список объектов вида {id, relevant/needs_extension, expected_value/expected, complexity}.
  • test_stats.txt — текстовый отчёт по уровням сложности: количество пройденных, проваленных и неизвестных случаев.

Оба файла сохраняются рядом с исходными test_cases.json в соответствующей папке теста (например src/test_check_relevance/).

Описание тест-кейсов

В папке src/test_check_relevance/ содержится набор кейсов для проверки функции check_relevance. Каждый кейс имеет поля:

  • id — идентификатор кейса
  • query — запрос пользователя
  • note — заметка с полями title и content, по которой проверяется релевантность
  • expected_value — ожидаемое логическое значение (true = релевантно)
  • complexity — уровень сложности (easy, medium, hard)

Краткая статистика по test_check_relevance (15 кейсов):

  • сложности: easy — 5, medium — 4, hard — 6

В папке src/test_should_extend_context/ находятся кейсы для should_extend_context. Поля кейсов:

  • id, query, context — массив заметок (каждая с title и content), expected_value, complexity.

Краткая статистика по test_should_extend_context (14 кейсов):

  • сложности: easy — 5, medium — 4, hard — 5

Примеры кейсов:

  • check_relevance id=1: query «Что такое волна?» и заметка «Механические волны» — ожидается true.
  • check_relevance id=2: query про гепардов и заметка «Скорость звука» — ожидается false.
  • should_extend_context id=2: запрос про ингредиенты для пасты, контекст содержит заметку про звуковые волны — ожидается true (контекст не релевантен, нужно расширить).
  • should_extend_context id=6: query «Как волновое число связано с длиной волны?», контекст содержит заметку «Волновые свойства» — ожидается false (контекст достаточен, расширять не нужно).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages