WeKnora icon indicating copy to clipboard operation
WeKnora copied to clipboard

[Bug]: 文档解析一直失败

Open xiaoyaoxiaoguo opened this issue 1 month ago • 2 comments

相关组件

文档解析服务

Bug 描述

上传文档解析显示一直失败

期望行为

希望大佬帮忙看一下,已经折腾很多天了一直解决不了

相关日志

WeKnora-app        | 
WeKnora-app        | 2025/11/12 13:35:31 /app/internal/application/repository/chunk.go:28 ERROR: invalid input syntax for type uuid: "" (SQLSTATE 22P02)
WeKnora-app        | ERROR[2025-11-12 13:35:31.428] [request_id=uD0IOJuNNkJP chunk_count=4 error=ERROR: invalid input syntax for type uuid: "" (SQLSTATE 22P02)] chunk.go:56[CreateChunks] | 发生错误

操作系统

nas docker部署

确认事项

  • [x] 我已经搜索了现有的 issues,确认这是一个新问题

xiaoyaoxiaoguo avatar Nov 12 '25 05:11 xiaoyaoxiaoguo

请问有没有更详细的日志上下文,是在开启了知识图谱或者多模态出现的这个问题?还是没有开启?我们这边加了个保护,应该不会再出现类似问题

lyingbug avatar Nov 26 '25 02:11 lyingbug

仔细检查有没有embeddings表!!!!!!

经验:

创建vector扩展 docker exec WeKnora-postgres psql -U root -d weknora -c "CREATE EXTENSION IF NOT EXISTS vector;"

1. 删除现有表

docker exec WeKnora-postgres psql -U root -d weknora -c "DROP TABLE IF EXISTS embeddings CASCADE;"

2. 创建1024维度的表

docker exec WeKnora-postgres psql -U root -d weknora -c "CREATE TABLE IF NOT EXISTS embeddings ( id SERIAL PRIMARY KEY, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, source_id VARCHAR(64) NOT NULL, source_type INTEGER NOT NULL, chunk_id VARCHAR(64), knowledge_id VARCHAR(64), knowledge_base_id VARCHAR(64), content TEXT, dimension INTEGER NOT NULL, embedding halfvec -- 不指定维度,让数据库自动适应 );"

3. 重新创建索引

docker exec WeKnora-postgres psql -U root -d weknora -c "CREATE UNIQUE INDEX IF NOT EXISTS embeddings_unique_source ON embeddings(source_id, source_type);"

4. 创建动态维度索引

docker exec WeKnora-postgres psql -U root -d weknora -c "CREATE INDEX ON embeddings USING hnsw ((embedding::halfvec(1024)) halfvec_cosine_ops) WITH (m = 16, ef_construction = 64) WHERE (dimension = 1024);" docker exec WeKnora-postgres psql -U root -d weknora -c "CREATE INDEX ON embeddings USING hnsw ((embedding::halfvec(1536)) halfvec_cosine_ops) WITH (m = 16, ef_construction = 64) WHERE (dimension = 1536);"

sulingzhi avatar Dec 04 '25 08:12 sulingzhi