From 4ca9c63302ce70e2a4a234f516ad81ff73ccd9bf Mon Sep 17 00:00:00 2001 From: JiaoTianBo Date: Mon, 30 Mar 2026 17:48:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E6=B7=BB=E5=8A=A0Spring=20AI?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=B8=8E=E5=AE=8C=E5=96=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增SpringAiConfig类,配置ChatClient和PgVectorStore向量存储 - 配置PgVectorStore向量维度为1024,使用余弦距离,禁用自动初始化 - 创建基于pgvector扩展的向量存储表vector_store,支持丰富文档元数据和分块信息 - 设计部门、用户、角色及权限管理相关表,支持多维度角色授权管理 - 完善项目管理核心表,包含项目、成员、里程碑和任务详细设计 - 建立工单、工单流转记录表及风险管理表,实现项目工作的风险分派和追踪 - 添加日报数据录入表,支持项目日报的结构化存储与索引优化 - 所有表均设置了合理索引,优化查询性能,添加详细注释方便后续维护 - 设置数据库时区为Asia/Shanghai,统一时间管理标准 --- docs/dev-ops/pgsql/sql/weform_run.sql | 12 ++++++------ .../cn/yinlihupo/common/config/SpringAiConfig.java | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/dev-ops/pgsql/sql/weform_run.sql b/docs/dev-ops/pgsql/sql/weform_run.sql index d7da1b9..137cc98 100644 --- a/docs/dev-ops/pgsql/sql/weform_run.sql +++ b/docs/dev-ops/pgsql/sql/weform_run.sql @@ -19,7 +19,7 @@ CREATE TABLE vector_store ( id VARCHAR(255) PRIMARY KEY, content TEXT, metadata JSONB, - embedding vector(1536), + embedding vector(1024), -- 关联关系 project_id BIGINT, @@ -97,7 +97,7 @@ COMMENT ON TABLE vector_store IS '向量存储表 - 用于RAG文档检索和知 COMMENT ON COLUMN vector_store.id IS '文档ID(字符串类型,兼容PgVectorStore)'; COMMENT ON COLUMN vector_store.content IS '文档内容文本'; COMMENT ON COLUMN vector_store.metadata IS '文档元数据(JSONB格式,兼容PgVectorStore)'; -COMMENT ON COLUMN vector_store.embedding IS '向量嵌入(1536维)'; +COMMENT ON COLUMN vector_store.embedding IS '向量嵌入(1024维,阿里云text-embedding-v4)'; COMMENT ON COLUMN vector_store.project_id IS '关联项目ID'; COMMENT ON COLUMN vector_store.timeline_node_id IS '关联时间节点ID'; COMMENT ON COLUMN vector_store.kb_id IS '关联知识库ID'; @@ -1102,7 +1102,7 @@ CREATE TABLE ai_chat_history ( -- 消息内容 role VARCHAR(20) NOT NULL, content TEXT NOT NULL, - content_embedding vector(1536), + content_embedding vector(1024), -- 引用的知识库文档 referenced_doc_ids BIGINT[], @@ -1170,7 +1170,7 @@ CREATE TABLE ai_analysis_result ( -- 输入输出 input_data JSONB, result_data JSONB, - result_embedding vector(1536), + result_embedding vector(1024), -- 模型信息 confidence DECIMAL(5,2), @@ -1333,7 +1333,7 @@ INSERT INTO sys_role (role_code, role_name, role_type, description, data_scope, -- 初始化系统配置 INSERT INTO sys_config (config_key, config_value, config_type, description) VALUES ('ai.model.default', 'gpt-4o', 'ai', '默认AI模型'), - ('ai.embedding.model', 'text-embedding-3-small', 'ai', '向量嵌入模型'), - ('ai.embedding.dimension', '1536', 'ai', '向量维度'), + ('ai.embedding.model', 'text-embedding-v4', 'ai', '向量嵌入模型'), + ('ai.embedding.dimension', '1024', 'ai', '向量维度'), ('ai.rag.top_k', '5', 'ai', 'RAG检索返回数量'), ('ai.rag.similarity_threshold', '0.7', 'ai', 'RAG相似度阈值'); diff --git a/src/main/java/cn/yinlihupo/common/config/SpringAiConfig.java b/src/main/java/cn/yinlihupo/common/config/SpringAiConfig.java index 68ff1b3..646fbe2 100644 --- a/src/main/java/cn/yinlihupo/common/config/SpringAiConfig.java +++ b/src/main/java/cn/yinlihupo/common/config/SpringAiConfig.java @@ -39,7 +39,7 @@ public class SpringAiConfig { @Primary public VectorStore vectorStore(JdbcTemplate jdbcTemplate, EmbeddingModel embeddingModel) { return PgVectorStore.builder(jdbcTemplate, embeddingModel) - .dimensions(1536) // 向量维度,与配置一致 + .dimensions(1024) // 向量维度,阿里云text-embedding-v4生成1024维向量 .distanceType(PgVectorStore.PgDistanceType.COSINE_DISTANCE) .initializeSchema(false) // 禁用自动初始化,使用SQL文件中已创建的表 .build();