Skip to content

assistant: semantic_search филтрира по 'ns' метаданни без провизиран metadata index #317

Description

@nedda76

Последващо от само-ревюто на PR #223.

Cloudflare Vectorize зачита metadata филтри само върху свойства с изричен metadata index (wrangler vectorize create-metadata-index). Репото не провизира нито един — README gate-ът пуска само wrangler vectorize create — а semanticSearch (apps/web/app/lib/assistant/rag.ts) заявява с filter: { ns: 'entity' }. Retrieval-ът на схемата мина към native namespace в PR #223 точно за да избяга от тази зависимост; entity страната още я носи. Върху реален индекс филтрираната заявка греши или под-филтрира, а извикващите поглъщат грешките — инструментът деградира тихо, докато unit тестовете срещу фейкове остават зелени. (Lane-ът на #79 има същия filter: { ns: 'entity' } шаблон.)

Варианти:

  1. Мигрирай entity векторите към native namespace, огледално на схема-корпуса (предпочитано — без допълнително провизиране, а namespace филтрирането се прилага преди metadata филтрите).
  2. Или добави wrangler vectorize create-metadata-index sigma-assistant --property-name=ns --type=string към provisioning gate-а (README + чеклиста на AI асистент (#80) — launch-gate чеклист преди provision/изложение #83) и към reindex потока на feat(ai-assistant): conversational analytic layer (BgGPT) #79.

Бележка за помиряване при мърдж на #79 + #223: POST /assistant/reindex на #79 сее вектори в старата форма (metadata: { ns: 'schema' }, неверсионирани id-та, без native namespace). След #223 retrieval-ът е ограничен до native namespace schema-v2, така че reindex през непомирения endpoint на #79 би записал вектори, които retrieval-ът не вижда — RAG тихо изключен. Който PR мърджне втори, трябва да пренесе SCHEMA_NS версионирането в seed endpoint-а.

Реф: PR #223, PR #79, #83, #275.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions