08 Apr, 2026
1 commit
04 Apr, 2026
1 commit
-
Exact Match High Relevant Low Relevant Irrelevant to Fully Relevant Mostly Relevant Weakly Relevant Irrelevant
02 Apr, 2026
1 commit
-
目前在54训练数据里面,拆分44条train + 10 test,训练集显著提升但是test上不及基线 作为基础设施保留,以后可以考虑扩大数据集进行使用
01 Apr, 2026
5 commits
-
Irrelevant
-
scripts/evaluation/eval_framework/constants.py:500 → 200 Rebuild 里 rank <= recall_n 的 rerank_score: 1.0 仍按该 K 生效。 2. LLM 批次上下限 最少批次:DEFAULT_REBUILD_MIN_LLM_BATCHES 20 → 10 最多批次:仍为 40(未改) 3. 提前结束条件(_annotate_rebuild_batches) 在已跑满 min_batches 之后,对每个批次: 本批无 Exact(exact_n == 0),且满足其一即视为 bad batch: irrelevant_ratio >= 0.94 或 (irrelevant + Low Relevant) / n >= 0.96(弱相关用 RELEVANCE_LOW) 连续 2 个 bad batch 则 early stop(原先是连续 3 次、irrelevant > 0.92)。 批次日志里增加了 low_ratio、irrelevant_plus_low_ratio;rebuild 元数据里增加了 rebuild_irrel_low_combined_stop_ratio。 4. CLI --search-recall-top-k 说明改为默认 200 --rebuild-min-batches 说明改为默认 10 --rebuild-irrelevant-stop-ratio / --rebuild-irrelevant-stop-streak 说明与新逻辑一致 新增 --rebuild-irrel-low-combined-stop-ratio(默认 0.96)
31 Mar, 2026
10 commits
17 Mar, 2026
1 commit
12 Mar, 2026
2 commits
11 Mar, 2026
3 commits
-
去掉 START_* 控制变量逻辑,默认只启动核心服务 backend/indexer/frontend。 可选服务改为显式命令:./scripts/service_ctl.sh start embedding translator reranker tei cnclip。 统一 translator 端口读取为 TRANSLATION_PORT(移除 TRANSLATOR_PORT 兼容)。 保留未知服务强校验。 关键文件:service_ctl.sh “重名/歧义”修复 frontend 端口命名统一:FRONTEND_PORT 为主,PORT 仅后备。 start_frontend.sh 显式导出 PORT="${FRONTEND_PORT}",避免配置了 FRONTEND_PORT 但服务仍跑 6003 的问题。 文件:start_frontend.sh、frontend_server.py、env_config.py 日志/PID 命名治理继续收口 统一规则继续落地为 logs/<service>.log、logs/<service>.pid。 cnclip 保持 logs/cnclip.log + logs/cnclip.pid。 文件:service_ctl.sh、start_cnclip_service.sh、stop_cnclip_service.sh backend/indexer 启动风格统一补齐相关项 frontend/translator 也对齐到 set -euo pipefail,并用 exec 直启主进程。 文件:start_frontend.sh、start_translator.sh、start_backend.sh、start_indexer.sh legacy 入口清理 删除:start_servers.py、stop_reranker.sh、stop_translator.sh。 reranker 停止逻辑并入 service_ctl(含 VLLM::EngineCore 清理)。 benchmark 脚本改为统一入口:service_ctl.sh stop reranker。 文件:benchmark_reranker_1000docs.sh
10 Mar, 2026
1 commit
-
1. 新增 `scripts/init_env.sh` - 若 `.env` 不存在,从 `.env.example` 复制生成 - 支持 `--force`:覆盖 `.env` 并备份为 `.env.bak` - 首次搭建时统一执行:`./scripts/init_env.sh` 2. 统一加载逻辑 `scripts/lib/load_env.sh` - 移除 `activate.sh` 和 `service_ctl.sh` 中的重复解析逻辑 - 使用共享的 `load_env_file`,并改为 `eval "$(printf 'export %s=%q\n' "$key" "$value")"` 安全导出 - 支持含 ``、`$`、空格等特殊字符的值(需在 `.env` 中用引号包裹) 3. 使用方式 - **activate.sh**:`source scripts/lib/load_env.sh` 后调用 `load_env_file` - **service_ctl.sh**:同上,去掉内联的 `load_env_file` 实现 - **create_tenant_index.sh**:改为使用共享 loader,不再用 `set -a; source .env` 4. 文档更新 - **README.md**:在快速开始中加入 `./scripts/init_env.sh` - **docs/QUICKSTART.md**:说明 `init_env.sh` 用法,并强调含特殊字符的密码需加引号 - **.env.example**:补充注释说明引号规则 5. setup.sh - 用 `./scripts/init_env.sh` 替代原先的 `cp .env.example .env` --- **推荐流程**: ```bash ./scripts/create_venv.sh ./scripts/init_env.sh 从 .env.example 生成本地 .env source activate.sh ./run.sh ``` **密码写法**:若密码包含 ``、`$`、`&`、空格等,需加引号,例如: ```env DB_PASSWORD="qY8tgodLoA&KTyQ" ES_PASSWORD="4hOaLaf41y2VuI8y" ```
09 Mar, 2026
1 commit
-
config/config.yaml: - qwen3_vllm: enable_prefix_caching true(启用前缀缓存) - qwen3_vllm: enforce_eager false(允许 CUDA graph 加速) reranker/backends/qwen3_vllm.py: - TokensPrompt 导入改为 vllm.inputs.data(官方路径,兼容性更好) - 缺失 token 时使用 logprob=-10,与官方一致(原为 1e-10) - 使用批量 apply_chat_template 替代逐条调用,提升效率 - logprobs 访问改为官方模式:token not in last 时 -10,否则 last[token].logprob 其他: docs、embeddings、README 等文档更新 Made-with: Cursor
08 Mar, 2026
3 commits
07 Mar, 2026
2 commits
06 Mar, 2026
2 commits
02 Mar, 2026
1 commit
-
- 新增 /indexer/build-docs 与 /indexer/build-docs-from-db 接口:前者接收上游传入的 SPU/SKU/Option 原始行数据构建 ES doc(不写 ES),后者在测试场景下基于 tenant_id+spu_ids 内部查库并复用同一套文档构建逻辑 - 调整增量与全量索引 SQL 与聚合逻辑:移除 shoplazza_product_spu.compare_at_price 读取,统一从 SKU 表聚合最大 compare_at_price,修复 1054 列不存在错误,保证 ES 字段 compare_at_price 来源与索引字段说明v2 保持一致 - 更新 SPUDocumentTransformer:完善价格区间计算、compare_at_price 聚合以及多语言字段输出,确保输出结构与 mappings/search_products.json、Java 侧 ProductIndexDocument 完全对齐 - 为 indexer 模块补充 README 与 prompts:系统化说明 Java 调度 + Python 富化的职责划分、翻译缓存方案(Redis translation:{tenant_id}:{target_lang}:{md5(text)})以及 HTTP 接口使用方式 - 更新顶层 README、搜索API对接指南与测试Pipeline说明:增加关于 indexer 专用服务(serve-indexer, 端口6004)、正式文档构建接口以及手动链路验证(MySQL → build-docs → ES 查询对比)的说明 - 清理并修正 ES 诊断脚本 docs/常用查询 - ES.md:统一改为 per-tenant 索引 search_products_tenant_{tenant_id},修正过期字段名(keywords 等)和分面聚合字段(去掉 .keyword,使用当前 mapping 中的字段) Made-with: Cursor
27 Jan, 2026
1 commit
-
- config: 新增 SUPPORTED_INDEX_LANGUAGES(38 种语言)、DEFAULT_INDEX_LANGUAGES、 normalize_index_languages、resolve_index_languages;get_tenant_config 统一注入 index_languages - config.yaml: 租户配置改用 index_languages,默认 [en,zh],保留 translate_to_* 兼容解析 - query/translator: translate_for_indexing 改为接收 index_languages,返回多语言 Dict - query/query_parser: 翻译目标从 index_languages 解析,need_wait_translation 按 index_langs 判断 - search/searcher: enable_translation 改为基于 index_languages 是否非空 - indexer: document_transformer 按 index_languages 填多语言字段;indexing_utils 仅多语言时初始化翻译器 - tests: 租户配置与索引测试改为断言 index_languages - README: 更新 TODO 说明已支持 index_languages
06 Jan, 2026
2 commits
-
mappings/search_products.json:把原来的 title_zh/title_en/brief_zh/... 改成 按语言 key 的对象结构( /products/_doc/1 { "title": {"en":...} } ) 同时在这些字段下 预置了全部 analyzer 语言: arabic, armenian, basque, brazilian, bulgarian, catalan, chinese, cjk, czech, danish, dutch, english, finnish, french, galician, german, greek, hindi, hungarian, indonesian, italian, norwegian, persian, portuguese, romanian, russian, spanish, swedish, turkish, thai 实现为 type: object + properties,同时满足“按语言灌入”和“按语言 analyzer”。 索引灌入(全量/增量/transformer)已同步改完 indexer/document_transformer.py:输出从 title_zh/title_en/... 改为: title: {<primary_lang>: 原文, en?: 翻译, zh?: 翻译} brief/description/vendor 同理 category_path/category_name_text 也改为语言对象(避免查询侧继续依赖旧字段) indexer/incremental_service.py:embedding 取值从 title_en/title_zh 改为从 title 对象里优先取 en,否则取 zh,否则取任一可用语言。 查询侧与配置、API/文档已同步 search/es_query_builder.py:查询字段统一改成点路径:title.zh / title.en / vendor.zh / vendor.zh.keyword / category_name_text.zh 等。 config/config.yaml:field boosts / indexes 里的字段名同步为新点路径。 API & formatter: api/result_formatter.py 已支持新结构(并保留对旧 *_zh/_en 的兼容兜底)。 api/models.py、相关 docs/examples 里的 vendor_zh.keyword 等已更新为 vendor.zh.keyword。 文档/脚本:docs/、README.md、scripts/ 里所有旧字段名引用已批量替换为新结构。
04 Jan, 2026
1 commit
31 Dec, 2025
1 commit
22 Dec, 2025
1 commit