Skip to content

[Bug]: 将向量维度设为 4096 后嵌入索引一直失败 #598

Description

@ADabbler

Affected area

Files / RAG / extraction

Version or commit

v0.3.4, ghcr.io/deeix-ai/deeix-chat:latest, main@026bcf6

Environment

OS: Debian 12
Browser: Google Chrome
Deployment: Docker
PostgreSQL: pgvector/pgvector:pg16
Redis: redis:7
Object storage: local
Embedding Model: Qwen/Qwen3-Embedding-8B

Reproduction steps

  1. 在后台配置中启用 Embedding,并配置可用的 embedding 模型与服务地址。
  2. 向量维度 从默认值 1536 修改为 4096 并保存。
  3. 上传一个文件进入 embedding 索引流程。
  4. 查看文件处理状态和后端日志,报错提示向量维度不匹配。

下面是 AI 调研的问题定位:

  • file.embedding_output_dimensions 当前允许设置为 64–4096,embedding 服务会在写入前将返回向量对齐为该配置的维度。
  • PostgreSQL 向量 schema 将 file_chunks.embedding 固定为 vector(1536)。因此,当输出维度配置为 4096 时,文件 embedding 写入会因向量维度不匹配而失败。
  • 当前 PostgreSQL 路径还为标准 vector 列创建了 IVFFlat 索引。pgvector 官方文档说明:标准 vector 类型可存储最高 16,000 维,但 IVFFlat 对标准 vector 的可索引维度上限为 2,000。

该问题涉及到了向量存储、索引和已有向量数据重建的设计策略。

Expected behavior

将向量维度设置为 4096 后应该能够正常完成文件的嵌入索引。

Actual behavior

无法正常进行文件的嵌入索引,报错提示向量维度不匹配。

Logs, screenshots, or request samples

Image

Configuration and deployment context

file.embedding_enabled=true
file.embedding_output_dimensions=4096
file.rag_model=Qwen/Qwen3-Embedding-8B

Pre-submit checklist

  • I searched existing issues and pull requests.
  • I removed secrets, tokens, credentials, and personal data from this report.
  • This is not a security vulnerability report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions