rag-multilang-test

Verify multilingual glossary entries expand Polish and German queries to canonical English documents.

Updated Nov 19, 2020
One-click install
npx skills add https://github.com/kwojtasinski-repo/ECommerceApp --skill rag-multilang-test-kwojtasinski-repo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rag-multilang-test
Source: https://github.com/kwojtasinski-repo/ECommerceApp/tree/main/.github/skills/rag-multilang-test
Command: npx skills add https://github.com/kwojtasinski-repo/ECommerceApp --skill rag-multilang-test-kwojtasinski-repo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After editing a multilingual RAG glossary, there is no guarantee that Polish or German queries actually expand to the intended English term or that both the Python and .NET retrieval servers picked up the change. This Skill provides a repeatable verification procedure that catches glossary drift, missing preprocessor registration, and over-broad term mappings before they silently degrade search quality. ## Core Features & Use Cases - Dual-server verification: Restarts both the Python (:3002) and .NET (:3001) HTTP servers and confirms each returns the expected canonical English document in its top-k results. - Drift and misconfiguration diagnosis: Checks that the canonical glossary and its .NET mirror are byte-identical, inspects container mounts and logs, and confirms the GlossaryExpansionPreprocessor is registered. - Regression checking: Runs the full multilingual eval slice (ML-pl-* / ML-de-* queries) to detect when a new entry breaks previously passing queries. - Use Case: After adding a Polish term like "refresh tokeny" to multilingual-glossary.yaml, run this Skill to confirm both servers return the IAM refresh token ADR as the top result and that no existing German queries regressed. ## Quick Start Verify that my new glossary entry expands the query "Jak są obsługiwane refresh tokeny w IAM?" to the expected English document on both RAG servers.

Frequently Asked Questions about rag-multilang-test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test a multilingual RAG glossary entry after editing it?

Restart both the Python and .NET HTTP servers so they reload the glossary, then run probe_weights.py with a source-language query. Confirm the expected canonical English document appears in the top-5 results from both servers.

How do I verify query expansion works on both Python and .NET RAG servers?

Query both servers with the same Polish or German phrase and compare top-k results. Top-1 matching the expected document on both confirms the entry works; a match only in top-5 indicates partial expansion needing a wider compare_queries.py run.

Why is my new glossary entry not being applied by the RAG server?

Common causes are forgetting to restart the servers (the glossary loads only at startup), editing only the .NET mirror instead of the canonical YAML, or a missing GlossaryExpansionPreprocessor registration in the .NET Program.cs.

Why did an existing multilingual query start failing after my glossary edit?

A previously passing query failing after an edit indicates an over-broad expansion, such as mapping a term that collides with another canonical concept. Narrow the glossary entry or split it into multiple keys, then rerun compare_queries.py.

Does the .NET RAG server read the same glossary file as the Python server?

The Docker-mounted .NET HTTP container reads the canonical glossary at tools/rag/multilingual-glossary.yaml, while local dotnet run uses a mirror copy. The two files must be kept byte-identical to avoid asymmetric multilingual behavior.