1Panel-dev / 1Panel-dev/MaxKB

[Feature] 支持 qwen3-vl-embedding 等多模态向量模型的图文检索

Open
#6,879 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Type: Feature Request
Dominant language
Python
Stars
22.8k
Forks
3.2k
Avg merge
45m
Merged PRs (30d)
270

Description

MaxKB Version

2.10.5

Please describe your needs or suggestions for improvements

当前 MaxKB 的知识库向量化和检索流程只支持纯文本 Embedding,无法使用 qwen3-vl-embedding 等多模态向量模型进行图片向量化和图文跨模态检索。

在配置多模态向量模型后,图片内容仍只能先经过 OCR 或视觉模型转换为文本,再生成文本向量,无法直接生成图片向量。因此无法实现“文字检索图片”“图片检索文字”以及图文统一向量空间检索。

Please describe the solution you suggest

建议增加多模态向量模型能力:

  • 在模型配置中标识文本、图片或图文多模态输入能力;
  • 向量化任务支持将图片文件传递给 Embedding 模型,而不仅是 List[str]
  • 查询侧支持文本、图片和图文混合输入;
  • 向量存储和索引记录模型、维度及模态信息,避免与现有文本向量混用;
  • 保持现有纯文本 Embedding 和已有知识库的兼容性。
Additional Information

MaxKB v2.10.5-lts 的 PGVector 入库和查询均调用 embed_query(text) / embed_documents(List[str]),当前模型抽象没有图片输入通道。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the PGVector ingestion and query entry points that call embed_query(text) and embed_documents(List[str]), then inspect the model abstraction's supported input types. Define how image and mixed text-image inputs, model metadata, dimensions, and modality information are represented while preserving existing text embeddings. Done means compatible ingestion and retrieval paths support the requested modalities without mixing incompatible vectors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, databases, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.