Skip to content

Bug: 语义搜索在 fast 配置下仍触发 code 模型 fallback 告警 #133

@ljh740

Description

@ljh740

问题描述

在 embedding 配置为 fastembed + fast 的情况下,执行语义搜索仍会出现以下警告:

  • Embedding model 'jinaai/jina-embeddings-v2-base-code' not supported by installed fastembed; falling back to 'jinaai/jina-embeddings-v2-base-en'.

搜索结果最终是能返回的,但会持续产生误导性告警,且首轮搜索耗时明显变长(冷启动更明显)。

环境

  • codex-lens: 0.1.0
  • Python: 3.12.12
  • uv: 0.10.0
  • 平台: macOS (Apple Silicon)

配置示例

settings.json / .env 中均为:

  • embedding.backend = fastembed
  • embedding.model = fast

复现步骤

  1. 完成索引与 embeddings 生成。
  2. 执行:
python -m codexlens search "how to route requests" --path /path/to/project --method dense_rerank --limit 5
  1. 观察日志会出现 ...base-code not supported... fallback...

现象分析

代码中存在一处预热逻辑硬编码:

  • src/codexlens/search/chain_search.py
  • 位置约在 search() 内的预热分支(get_embedder(profile="code", use_gpu=True)

这会在用户配置为 fast 时仍尝试加载 code profile,触发 fallback 警告。

期望行为

  • 预热逻辑应与当前配置保持一致(读取配置中的 embedding_model),不要硬编码 code
  • 当用户已配置 fast 时,不应出现 code -> base-en 的回退告警。

备注

这是“可用但有告警噪音”的问题:搜索功能可用,但日志与配置不一致,容易让用户误以为配置失效或模型异常。

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions