From 410c87e02f881b3ae616c346e49d190d8b71c249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Thu, 6 Aug 2026 14:25:03 +0800 Subject: [PATCH] 1 --- common/pool.go | 31 ++++++ config.yml | 8 ++ data/business.db | Bin 4509696 -> 4509696 bytes docs/实现方案.md | 51 ++++++++-- kb/consts/consts.go | 9 +- kb/dao/kg_entity_dao.go | 43 ++++++-- kb/dao/kg_relation_dao.go | 43 ++++++-- kb/service/annotation_service.go | 169 +++++++++++++++++++++---------- kb/service/chat_service.go | 132 +++++++++++++++++++----- kb/service/kg_entity_service.go | 80 ++++++++++++--- kb/service/parse_task_service.go | 18 ++-- 11 files changed, 448 insertions(+), 136 deletions(-) create mode 100644 common/pool.go diff --git a/common/pool.go b/common/pool.go new file mode 100644 index 0000000..6b0df19 --- /dev/null +++ b/common/pool.go @@ -0,0 +1,31 @@ +package common + +import ( + "context" + + "rag-local/kb/consts" + + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/grpool" +) + +// 各并行点协程池。池内任务只做读查询与 LLM/Embedding 调用(纯 IO), +// SQLite 写一律收敛回主 goroutine 串行执行(business.db 无 WAL,并发写会 database is locked)。 +// 防死锁:被等待的池(AnnotationDatasetPool / ChatRetrievePool)任务内不得再等待任何池, +// 等待链单向「主 → A池 → B池」;池无 Wait 方法,等待用调用方的 sync.WaitGroup。 +var ( + KgExtractPool = newPool(consts.KgExtractPoolSize, "kg_extract") + AnnotationClausePool = newPool(consts.AnnotationClausePoolSize, "annotation_clause") + AnnotationDatasetPool = newPool(consts.AnnotationDatasetPoolSize, "annotation_dataset") + ChatPool = newPool(consts.ChatPoolSize, "chat") + ChatRetrievePool = newPool(consts.ChatRetrievePoolSize, "chat_retrieve") +) + +// newPool 从 config pool. 读取池大小(<1 或缺失时回退默认值 def) +func newPool(def int, key string) *grpool.Pool { + size := g.Cfg().MustGet(context.Background(), "pool."+key, def).Int() + if size < 1 { + size = def + } + return grpool.New(size) +} diff --git a/config.yml b/config.yml index 04ef6ae..0d18bb5 100644 --- a/config.yml +++ b/config.yml @@ -28,3 +28,11 @@ vector: chat: timeout: 600 # 对话模型API请求超时时间(秒) max_retries: 3 # 请求失败最大重试次数 + +# 协程池配置(各并行点并发度,缺失或 <1 时回退代码内默认值) +pool: + kg_extract: 4 # 知识图谱:逐 chunk LLM 抽取 + annotation_clause: 4 # 合同标注:逐条款 (recall+judge) + annotation_dataset: 8 # 条款内:逐 dataset 召回 + chat: 4 # 问答:retrieve 与 GraphEnhance 并行 + chat_retrieve: 4 # 检索:vec 与 fts 并行 diff --git a/data/business.db b/data/business.db index 03e17f755c6aa744a95e1f2916461886f84fa027..98c88240a76a8b9e77eaf184b761fb3c7b87d4fb 100644 GIT binary patch literal 4509696 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
G}zPWT^Rds=H&eV!b#ZLbz`@nIO zgrfy~Wr!R?2D zs>(%j`cT>6c)*iu`F-L=?m$Q)6Z(T)z||csD9T}0(56abVMqZy&Ng7f?{xX28@vY} zbHL@r?~w#No*=vupTh+V@s^DDa~2dj=F39-dY^6w;=!TRu|3m4T_*mq9{NJVj zE@9xG7Xz!_><~*s&ttEZEDcpG5>ShZtpQA2)M`=_2|EJKA?|7x1*c{f$m+_IJGzN5 zFEduKs%SlP8&)b(tTHMgs{simC8_KVu=EYX6aWSAW;p(;UDC4(C_K9V`vEaV8ahtH za;B_PVG(9by{shVcesd6y3BCFRei|&j#5-e(oW^G!~_`~x)}v{j*MhHD~8{I3g#~w zQI9+QxntJt)IVmE1HW(-QA;r5RT&|HE`b1^NuV%a{&viCsKYfUW&bg6Qbv!I*<)3d zwDvkXS;HSA;<|Fqx?gV>dfWKGs~1Xdjt#>{Y0%oA8*(#$W5&fsw)#V+ZPy4iV-654 zy@om<5AXhSgZtoBiD{O{X0#@7V8eRkJn}|M!=moW5N%lUz{s+a!Vo6&Qf!Ph9AI7? z!+{TC1fh@?FQ!t##S$6jb3fcGF-2!~Kv=@~c4lD(M^+LYo;NU|S}7o990*L_acc|S z&^xvnCh!dqymr7c0>zdyK(YYM+3y>lf5{Pb$P}fjFExGI>Vpsx1P~R#?BXOfo;!=; zfv|9(_yd+1u!YkRV$S_w%aZkH7cXCI)$rg4NCj4yR7^!g!t`geAxZAN)&Zvnq?6EW*cIevX44=XR!S9xK|>#nY+)^joSkVip3%df(Y!44{xR*b zBfUpP&V1n^u%d_Y3ED{70KXIMVHm7ABEH+wuX=A=o@r=X9k^-N@;tbuYds|)-#(qV ztu0cCTh3Vcg8KqGIom&a_Ly{l*c(u>To(HWiand;(k`M6yAXz|WCdJ&2D7!01$Ps+ z3&C@3^912FAIfyy}3h$3TDytyl=kW&4cU-vcI3@``517E@gj^lsXP}Rl;Xw8^mIHboJebhNTL( z7Gvo2b1zJyREH9wgLGH{wzIq}>+s0H$3W-`bmkMg_%4{OGJ%UTb|C;9F4 z`acv^G|0jI#7v-Q?(MXhcFZ6Y9j3XHJ-QGjXAKSL&=!MDmQr%qf)x z1Z@@Nz%-oHx=E-2Rw;QooLiD+39>X{R+;cwZTF&R0zph9E1y%G#xGY0X?p%2s!9DZ z_J`2WKkw1+(#S7i;O`6rJYcL`J+3)}Tc(ZtB_G^ah z?$9k@##OO23fajOi!K1Jm!c0P>OGZ(6}>V-)J(tl3lj|X4}Zh>+ls2$ujd% zz_Yn_3KLRCLyZ`yEIquqJMfb5ufB)CzgoVHf5DBP^r+?XT#f?^vzZmxRKx?-UB|v@ z7VPN}UnvS6qnLH@H6=w_bsWORw@7%R6Rb8QB@s@ieyQeQt;G%HueJh9kO_%LvarEE zL!Ao0(amZ*<#1{wuT~)!bq^UX!W|A1LQPMq^h9>z8KO;;Jp%*W20h~D%Z~EM2aY-2 z`@T~YN)8yW4TFOX8*wDj%!ckK1{c<=-bF14P@n3ua%V$%hH`C1oaF(M$mxP<90T&; z)Hc0IL%u^62)n4JzKv_5HJ1;$^kPt}J1r0A*b7`r1sf#-gbH!q@f;y^8JA&^!;*tq z)u-4kO(e7gB!E8Lj&$#(Dc9Mkt8T?*otCy@=fl$W>jH$+r+!?P)5e`*-GjY-s|pWT z{lSaE1J*4E4`@~%0HRd(vHvWk42l28STqHI3NvOgnWC-kdwT|EP5E=K5FFmw8-a5g{2yfxPMsp2G1WdZX1AFg?|Ci#CyHwQn##b4&X zRoA{I>%9ABtn&_UuUFgZzeqx@v!+;*S>ctYRhLpQX0@xTEfPP~sH)aTPLz|GQwV;J=r_6*si>3@)I$cwQWh)e_t5Wl+T2HZ36khi= zv;cUk9)DEdq(P@D%6XIi9miBfov#KswUSm2f{3;{WP{fAdt8(#AgYU0{ge&}mQnXL zrEZnI)G7*B7p9>WJGO`YDiqrF_Nyu;&IjqVUj*qOQIcP+uQpO|IBFp+h=Ek?qa2`! zKSnp_*hcY4N9r0zb)+CQg&%SOtG|dqR+%o)GD4-T%6j8!%F)@N9ZtP}Y^5o5bPU9+ce5LK+6?gHTwv=&crKo5Kf zCFmJU7!s>4A|O}o6|i)=vT6xHB|%3c;a?i%qjbAA%h0iGe#f<=o~}N9I^_Z_&mq=K zHD+QooEXQFSw~w590tiRax=9kN!kf{O0$u;wN0diZ{BgN>im; zD$$YY)G<>UO0}-LkaR$c9#1!OSV4Abo3zuyuy7bAzfT5T&a>PF)7S`n1;ZAzl^ zESdAdF7BnOT@a&*QlWpjS6UoB`Zvqh?iB7KR$HSkjq^ZfQAxv~OClJYS9XG{LyCo~ zaS@Y5r&v8tnVI0{o>|dH{NI`dU3(G`9ZzR9B)ZAcAaYgKxNyOAn$X0wTJS=YNv`Qo z6Ht{mE#oaUp{}=;8?$E21XDE!9H*3sPIL*04$9E3e@-iHgm^_iRRf{Qw^+UArqn1? zkq6?8YZ_GY^w_O;>;}G6?uDZ+j{9Ewu0_ym-)swFloTXXmyB#L)VJwgW$A}DKoUj; zEt88nzCYSH0E6jIEq}s?dwtqIG5cxDYV=c^pUPrtx>JK6P~n>U0D#FI>xvUL&%5qF zrTNj?I5>7mRUB7{s$}xa2rA}1)io;4s|p)c7;AU^D=JF;0*tk-#8@RR7~w2>95gA- z9ixFcwYf2FmC;fayi&I$48fHHO(t@ASx=YTFogMHM)a(w$2AukPAH@-CqZ=Ox9U&? zv`7dEv$rUJa0$cEzU~)hKX)g;N)TAZuw1xQ;xknPBwq{qR1h>-i#v2p)nZ;gF9O(z zWN7hLjHYMN0Ral)2Y}hdWq=2_wkqj6ekx8;BYgsfC=lgx-{uSH4fR_*v=1{ zer+UAI>$5l3RMvUpN_6wS=c#X^k;t_LHXb^M?9T&ZllmQRp?Xoi0y7^oQFRjimJ*K zv}galxNxz2o_%N(yshoO~-H{}=~toLMC^k1FiN zOHVB>>YXVjFPn!3ybXSVdps9JU)~n5m#k?-4N!0rULkwjdN{;N`XR6)+Z2oC4EA|m zX`%r(99Ios)ka{V9K;G{yq*P0HH7JlhsGSi-w(WEN-EL{>H-kS8r#AxJXzgR@ZTLCsn= zvy(wI#3g-AXByp?b!sQ1yi;%Lk(tU`z(HV4;Ox%48qYYa@6c{Vz9x>VGK~@&Hv;!~ zIg!+L#d_(&qUKY;FtL)01vO!m0bGH7lCghsD_(&Hhk4&16M(S2WMHm1XYZ5XRdld- z)Y2w2^)0=)slP<}uuZ7Vtx6L(|5{RU4R4<3acM?X<7zV?VaQ!CGz%~4yYWTCi`3GV zb&WRSZK&o1^sZ4(x^OFvZCRA#qw}ts+u*KBdzc$eRWkNr5yDcJ zRa0HnJ_TYiim3-NOIc;rvX)hQoqzeM#g3lJ9^(_E9m8x;01s>hc>?ta1?ONj+=**= z9(l~fvMUgq9&j3m@y_|cWE#{XPPQNhyeuqu?zh!#c=WP`5zh=Vs}!wfJmnW+$U|ri z9ODqq^;sVZ0$E>Z*#dolt36NVTrGOKOvI*VU7l4ZBE#{q3A+v*!=6B(rahBE%>clj z)w<^(fm5%~)xf7+NJg&;NuqmRldSO#PrPukYusb8Qaa9$KQmP>{v;Pe84XEYN*SCX z)oNrd*u`>o$O23qVa}sq4rCBo&_gbTukP2&{mkwnmq;= zEij?%MMDruG!2!zY;?2>xx7J3Fxotcl(qCRIa~2hki3+Z>}%e7WiTe{DYMvY?@lcG zldRN%B!{IQbrngLMqiJHb82k{OU)z4h6*3A$ubuPoz4HW3e2^*`#^C}uxfzk^}Th-ic(6w)m8B88ue0?x|F>4A~Ku+13F&EfzmYYhnEN^P764P4=deQ+~Sy|ByNWm))wsQmERw#g}+S>@)e+8glv z9>geRN545f_Q`G=7K292xhw!LfIH2C!2BI<7)xKPeUS z)vhlVEm&|Z1e}E^*1S+NEyHsU_6qRdb3^&!+AicdhIQcII(xki{;iY6c(EBF-4H&3 zBRzI#DB3B)YceA!pnFiyWru!ZT#h6O4nN$$wD7Q!sks3ixw_v4*I&K#`X$%&{4Sc- z@oji%#bp@aqACMaTZy`Q=vf?66i)@NkgK|a;x|34x^2b%LU$L!p0&^>K*9k9;;P07 ze>da1YsmpN{Pygf_~~_h(H` zQWK`%o^6V)>C5M@rw)vgBGhMmvslgHJaeKS+dE7ss5cM6W~}opz@X|yUeHezi|*_} zHb6TtoI_r~=Of$C;&YA^jl+<@bW^>hn=lq`KdU|~Xi#Mp=y5#UV}NBg`2T*o8|ozp zS9AfYtVRZEl^VT@5IqX&X;yvSRc3LKNejFh&?M|w#)U*)-LQF}m-FMTydB5fE^zjs z1*RZa|Dn#5hdpoNyzX4nyq!(f`&HO#C0syqtq^^$i~YqI6ASo38WS}k!Z3s!-_)B%YslFuz4OG+rFyMy&dj< zU=l1UCQLzR9ulaFekF5ejgxS6tTS|{hF#U-0C|k=(4>OG+F^9zoA#DElQuS7To0+Y4AYp}tnxcwt>{85k}x*eM1_;1qM?>Hbp5hBL2>!l?EI6Z?t- zXUB4%sxln;AeHVgdm{&rx~vBvD+|*g0r!z-=2rV_Da)bK+F=32@mLT*Tvesd+Pv#1 z)Z0Ga4xKQ^rBIKnG{9=&MDee8*Rt+ioFP$eRdZ8-kGSD=zM)9MjEmhQxtHcmB7Uz^ z%&5oc+%DWGDC1*{B~js%T;5J8|DSKha0*4^ph%rS$7#d7=34s8+ElLS!e%}fy%PL& zVBapS7RPlBovNOVDz;pg$CVV@cHo=ApWVh?hN2uncN0LRy(pJK<0=YOI$)KvFvCjr!kcaPV^lBi7Fo7maC2EAo-awVzNWo@Iw+sPkANv

0O&3`HX@9GOz_NV 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 AqW}N^ delta 86801 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", 默认值)` 读取;`grpool.New(limit)` 建池,`Pool.AddWithRecover` 提交并防 panic): + +- 知识图谱(§7.7):`ExtractDocument` 拆 `callExtract`(池内 LLM+JSON 解析,不写库)/ `saveExtract`(主 goroutine 串行 upsert/insert),「发一批、收一批」循环 +- 合同标注(§7.8):`processOne` 条款循环提交「召回+判定」入池,主 goroutine 收结果串行清旧标/插 mark/置状态/更新进度;`recallCandidates` 内逐 dataset 并行召回(`recallOneDataset`),RRF 融合回主 goroutine +- 问答(§7.3/§7.4):`Ask` 中 `retrieve`(ChatPool,内部再并行 vec/fts)与 `GraphEnhance`(纯读,主 goroutine 直接跑)并行;`Retrieve` 内 vec 段与 fts 段并行(`vecRetrieve`/`ftsRetrieve`),RRF 合并、LLM 重排保持串行 +- 任务级仍由轮询器单 goroutine 串行消费(决策 10),并行只发生在任务内部 + --- ## 8. 鉴权设计(单用户 + 启动令牌) @@ -1073,7 +1102,7 @@ FTS5 召回依赖 gse 分词质量;专有名词(人名/产品名)可能切 ### 14.3 SQLite 写并发 -解析任务轮询与用户操作可能并发写 business.db,偶发 `database is locked (5)`(**已实测,未根治**)。当前缓解:两个 poller 各自单 goroutine 串行消费 + 写操作集中到 service/dao 单事务(参照 video-factory 单机场景)。**改进方向(未实现)**:连接串初始化时执行 `PRAGMA journal_mode=WAL` 与 `PRAGMA busy_timeout=5000`(modernc 驱动支持),或 config.yml `database` 段配置 `busy_timeout` 后重试机制。 +解析任务轮询与用户操作可能并发写 business.db,偶发 `database is locked (5)`(**已实测,未根治**)。当前缓解(三层):① 两个 poller 各自单 goroutine 串行消费任务;② 任务内并行段(grpool 协程池,§7.9)只做读查询与 LLM/Embedding 调用,**SQLite 写一律收敛回主 goroutine 串行执行**——并发不会引入新的写竞争;③ 写操作集中到 service/dao 单事务(参照 video-factory 单机场景)。**改进方向(未实现)**:连接串初始化时执行 `PRAGMA journal_mode=WAL` 与 `PRAGMA busy_timeout=5000`(modernc 驱动支持),或 config.yml `database` 段配置 `busy_timeout` 后重试机制。 ### 14.4 切换 embedding 模型 @@ -1090,5 +1119,5 @@ FTS5 召回依赖 gse 分词质量;专有名词(人名/产品名)可能切 | AI 层 | 自研 ReAct agent(openai 直连) | **Eino** 组件化编排(Indexer/Retriever/Graph) | | 鉴权 | 多用户 + 角色 + JWT(user/login_log 表) | **单用户访问令牌**:每次启动重新生成(内存持有不落库)打印,登录换取 JWT,无用户表 | | 前端 | HTML + 少量 Vue | 纯 Vue 3 SPA(构建产物 Go 托管) | -| 异步任务 | 视频生成轮询 | 文档解析/向量化 + 合同条款标注 双轮询(各单 goroutine 串行) | +| 异步任务 | 视频生成轮询 | 文档解析/向量化 + 合同条款标注 双轮询(任务级单 goroutine 串行,任务内热点用 grpool 协程池并行,见 §7.9) | | 其余 | 分层/路由/鉴权/缓存/部署模式 | 完全对齐 | diff --git a/kb/consts/consts.go b/kb/consts/consts.go index 967dc8a..a8434d7 100644 --- a/kb/consts/consts.go +++ b/kb/consts/consts.go @@ -20,7 +20,7 @@ const ( SettingsKeyChunkSize = "chunk_default_size" SettingsKeyChunkOverlap = "chunk_default_overlap" - ParsePollIntervalSeconds = 3 // 解析任务轮询间隔 + ParsePollIntervalSeconds = 5 // 解析/标注任务轮询间隔 EmbedBatchSize = 16 // 单次向量化请求的文本批量 @@ -28,4 +28,11 @@ const ( AnnoRecallTopK = 15 // 每数据集向量+FTS 各召回数(标注宁滥毋缺,放宽召回) AnnoMaxCandidates = 60 // 多数据集融合后的候选上限(喂给 LLM 判定) AnnoMaxClauseChars = 2000 // 合同条款全文上限(超长截断,控制 prompt) + + // 协程池默认大小(config.yml pool 段缺失时兜底) + KgExtractPoolSize = 4 // 知识图谱:逐 chunk LLM 抽取 + AnnotationClausePoolSize = 4 // 合同标注:逐条款 (recall+judge) + AnnotationDatasetPoolSize = 8 // 条款内:逐 dataset 召回 + ChatPoolSize = 4 // 问答:retrieve 与 GraphEnhance 并行 + ChatRetrievePoolSize = 4 // 检索:vec 与 fts 并行 ) diff --git a/kb/dao/kg_entity_dao.go b/kb/dao/kg_entity_dao.go index 3035d47..b68e692 100644 --- a/kb/dao/kg_entity_dao.go +++ b/kb/dao/kg_entity_dao.go @@ -87,16 +87,41 @@ func (d *kgEntityDao) ListNames(ctx context.Context, datasetId int64) ([]string, return names, nil } -// Upsert 按 (dataset_id, name) 去重,已存在则更新类型与来源 -func (d *kgEntityDao) Upsert(ctx context.Context, datasetId, chunkId int64, name, entityType string) error { +// KgEntityItem 批量写入条目 +type KgEntityItem struct { + Name string + EntityType string +} + +// UpsertBatch 按 (dataset_id, name) 去重批量写入,已存在则更新类型与来源(单条 SQL 多行 VALUES) +func (d *kgEntityDao) UpsertBatch(ctx context.Context, datasetId, chunkId int64, items []KgEntityItem) error { + if len(items) == 0 { + return nil + } now := gtime.Now().Format("Y-m-d H:i:s") - _, err := g.DB(consts.DbGroupDefault).Exec(ctx, `INSERT INTO `+consts.TableNameKgEntity+` - (dataset_id, name, entity_type, chunk_id, created_at, updated_at) - VALUES (?,?,?,?,?,?) - ON CONFLICT(dataset_id, name) DO UPDATE SET - entity_type=excluded.entity_type, chunk_id=excluded.chunk_id, updated_at=excluded.updated_at`, - datasetId, name, entityType, chunkId, now, now) - return err + // SQLite 变量数上限 999,按 100 行/条分片 + for start := 0; start < len(items); start += 100 { + end := min(start+100, len(items)) + var sb strings.Builder + sb.WriteString("INSERT INTO " + consts.TableNameKgEntity + ` + (dataset_id, name, entity_type, chunk_id, created_at, updated_at) + VALUES `) + args := make([]any, 0, (end-start)*6) + for i := start; i < end; i++ { + if i > start { + sb.WriteString(",") + } + sb.WriteString("(?,?,?,?,?,?)") + args = append(args, datasetId, items[i].Name, items[i].EntityType, chunkId, now, now) + } + sb.WriteString(` + ON CONFLICT(dataset_id, name) DO UPDATE SET + entity_type=excluded.entity_type, chunk_id=excluded.chunk_id, updated_at=excluded.updated_at`) + if _, err := g.DB(consts.DbGroupDefault).Exec(ctx, sb.String(), args...); err != nil { + return err + } + } + return nil } func (d *kgEntityDao) DeleteByChunkIds(ctx context.Context, chunkIds []int64) error { diff --git a/kb/dao/kg_relation_dao.go b/kb/dao/kg_relation_dao.go index 3265bb4..82f2af1 100644 --- a/kb/dao/kg_relation_dao.go +++ b/kb/dao/kg_relation_dao.go @@ -71,16 +71,39 @@ func (d *kgRelationDao) List(ctx context.Context, datasetId int64, page, pageSiz return list, total, err } -func (d *kgRelationDao) Insert(ctx context.Context, datasetId, chunkId int64, head, relation, tail string) error { - _, err := g.DB(consts.DbGroupDefault).Model(consts.TableNameKgRelation).Ctx(ctx).Data(g.Map{ - "dataset_id": datasetId, - "head": head, - "relation": relation, - "tail": tail, - "chunk_id": chunkId, - "created_at": gtime.Now().Format("Y-m-d H:i:s"), - }).Insert() - return err +// KgRelationItem 批量写入条目(三元组) +type KgRelationItem struct { + Head string + Relation string + Tail string +} + +// InsertBatch 批量写入三元组(单条 SQL 多行 VALUES) +func (d *kgRelationDao) InsertBatch(ctx context.Context, datasetId, chunkId int64, items []KgRelationItem) error { + if len(items) == 0 { + return nil + } + now := gtime.Now().Format("Y-m-d H:i:s") + // SQLite 变量数上限 999,按 100 行/条分片 + for start := 0; start < len(items); start += 100 { + end := min(start+100, len(items)) + var sb strings.Builder + sb.WriteString("INSERT INTO " + consts.TableNameKgRelation + ` + (dataset_id, head, relation, tail, chunk_id, created_at) + VALUES `) + args := make([]any, 0, (end-start)*6) + for i := start; i < end; i++ { + if i > start { + sb.WriteString(",") + } + sb.WriteString("(?,?,?,?,?,?)") + args = append(args, datasetId, items[i].Head, items[i].Relation, items[i].Tail, chunkId, now) + } + if _, err := g.DB(consts.DbGroupDefault).Exec(ctx, sb.String(), args...); err != nil { + return err + } + } + return nil } // Neighbors 一跳邻居:head 或 tail 命中实体名的三元组(实体链接用) diff --git a/kb/service/annotation_service.go b/kb/service/annotation_service.go index e7f8e8c..09dd80c 100644 --- a/kb/service/annotation_service.go +++ b/kb/service/annotation_service.go @@ -11,6 +11,7 @@ import ( "sort" "strconv" "strings" + "sync" "time" "rag-local/common" @@ -22,6 +23,7 @@ import ( "github.com/cloudwego/eino/schema" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gtimer" ) var AnnotationService = &annotationService{} @@ -53,19 +55,12 @@ type annoCandidate struct { RrfScore float64 } -// StartAnnotationPoller 启动标注任务轮询:单 goroutine 串行消费 +// StartAnnotationPoller 启动标注任务轮询:gtimer 单例定时器串行消费(job 未结束不重入) func (s *annotationService) StartAnnotationPoller(ctx context.Context) { - go func() { - g.Log().Info(ctx, "annotation task poller started") - for { - select { - case <-ctx.Done(): - return - case <-time.After(consts.ParsePollIntervalSeconds * time.Second): - s.processOne(ctx) - } - } - }() + g.Log().Info(ctx, "annotation task poller started") + gtimer.AddSingleton(ctx, consts.ParsePollIntervalSeconds*time.Second, func(ctx context.Context) { + s.processOne(ctx) + }) } // SplitClauses 按行首标记切分条款;无结构时整篇作为单条 @@ -193,7 +188,16 @@ func (s *annotationService) processOne(ctx context.Context) { } } - failed := 0 + // 并行标注:召回+判定(纯读与 LLM 调用)提交 common.AnnotationClausePool, + // 落库(SQLite 写)收敛回主 goroutine 串行,避免无 WAL 下的 database is locked。 + type clauseJobOut struct { + clauseId int64 + marks []*entity.ContractMark + noCands bool + err error + } + ch := make(chan clauseJobOut, len(clauses)) + var wg sync.WaitGroup for _, cl := range clauses { if cl.Status == consts.TaskStatusDone { continue @@ -202,37 +206,59 @@ func (s *annotationService) processOne(ctx context.Context) { g.Log().Errorf(ctx, "mark clause running failed: %v", err) continue } - cands, err := s.recallCandidates(ctx, cl, dsIds, dsNames, embedders) - if err != nil { + wg.Add(1) + if err := common.AnnotationClausePool.AddWithRecover(ctx, func(ctx context.Context) { + defer wg.Done() + out := clauseJobOut{clauseId: cl.Id} + cands, err := s.recallCandidates(ctx, cl, dsIds, dsNames, embedders) + if err != nil { + out.err = err + ch <- out + return + } + if len(cands) == 0 { + out.noCands = true + ch <- out + return + } + out.marks, out.err = s.judgeClause(ctx, chatModel, cl, cands) + ch <- out + }, func(ctx context.Context, e error) { + defer wg.Done() + ch <- clauseJobOut{clauseId: cl.Id, err: e} + }); err != nil { + wg.Done() + g.Log().Errorf(ctx, "submit clause %d failed: %v", cl.Id, err) + } + } + go func() { wg.Wait(); close(ch) }() + + failed := 0 + for out := range ch { + if out.err != nil { failed++ - _ = dao.ContractClause.UpdateStatus(ctx, cl.Id, consts.TaskStatusFailed, err.Error()) + _ = dao.ContractClause.UpdateStatus(ctx, out.clauseId, consts.TaskStatusFailed, out.err.Error()) continue } - if len(cands) == 0 { + if out.noCands { // 无候选视为完成(无标注),避免卡住进度 - _ = dao.ContractClause.UpdateStatus(ctx, cl.Id, consts.TaskStatusDone, "") + _ = dao.ContractClause.UpdateStatus(ctx, out.clauseId, consts.TaskStatusDone, "") s.updateProgress(ctx, task.Id) continue } - marks, err := s.judgeClause(ctx, chatModel, cl, cands) - if err != nil { - failed++ - _ = dao.ContractClause.UpdateStatus(ctx, cl.Id, consts.TaskStatusFailed, err.Error()) - continue - } // 幂等:重跑前清旧标注,避免断点续跑产生重复 mark - if err := dao.ContractMark.DeleteByClause(ctx, cl.Id); err != nil { + if err := dao.ContractMark.DeleteByClause(ctx, out.clauseId); err != nil { g.Log().Warningf(ctx, "clear old marks failed: %v", err) } - for _, m := range marks { - m.ClauseId = cl.Id + for _, m := range out.marks { + m.ClauseId = out.clauseId } - if err := dao.ContractMark.InsertAll(ctx, marks); err != nil { + if err := dao.ContractMark.InsertAll(ctx, out.marks); err != nil { failed++ - _ = dao.ContractClause.UpdateStatus(ctx, cl.Id, consts.TaskStatusFailed, err.Error()) + _ = dao.ContractClause.UpdateStatus(ctx, out.clauseId, consts.TaskStatusFailed, err.Error()) continue } - _ = dao.ContractClause.UpdateStatus(ctx, cl.Id, consts.TaskStatusDone, "") + _ = dao.ContractClause.UpdateStatus(ctx, out.clauseId, consts.TaskStatusDone, "") s.updateProgress(ctx, task.Id) } @@ -262,39 +288,47 @@ func (s *annotationService) updateProgress(ctx context.Context, taskId int64) { } } -// recallCandidates 多数据集召回:每数据集向量+FTS 各取 AnnoRecallTopK,全局 RRF 融合截断 +// annoRecallHit 单数据集召回结果(排名用于 RRF 融合) +type annoRecallHit struct { + ChunkId int64 + DsId int64 + LawTitle string + Rank float64 +} + +// recallCandidates 多数据集召回:每数据集向量+FTS 各取 AnnoRecallTopK,全局 RRF 融合截断。 +// 各数据集召回(向量化+vec+fts,纯读)提交 common.AnnotationDatasetPool 并行,融合回主 goroutine 串行。 func (s *annotationService) recallCandidates(ctx context.Context, clause *entity.ContractClause, dsIds []int64, dsNames map[int64]string, embedders map[int64]*OpenAIEmbedder) ([]annoCandidate, error) { - merged := make(map[int64]*annoCandidate) clauseText := clause.Title + " " + clause.Content ftsText := clause.Title + " " + clause.Content if rs := []rune(ftsText); len(rs) > 200 { ftsText = string(rs[:200]) } ftsQuery := common.TokenizeQuery(ftsText) + + ch := make(chan []annoRecallHit, len(dsIds)) + var wg sync.WaitGroup for _, dsId := range dsIds { - if emb := embedders[dsId]; emb != nil { - vecs, err := emb.EmbedStrings(ctx, []string{clauseText}) - if err != nil { - g.Log().Warningf(ctx, "clause embed failed (dataset %d): %v", dsId, err) - } else if len(vecs) > 0 { - hits, err := dao.Chunk.VecSearch(ctx, dsId, domain.VecJsonF64(vecs[0]), consts.AnnoRecallTopK) - if err != nil { - g.Log().Warningf(ctx, "vec search failed (dataset %d): %v", dsId, err) - } else { - for i, h := range hits { - s.mergeHit(merged, h.ChunkId, dsId, dsNames[dsId], float64(i)) - } - } - } + wg.Add(1) + if err := common.AnnotationDatasetPool.AddWithRecover(ctx, func(ctx context.Context) { + defer wg.Done() + ch <- s.recallOneDataset(ctx, dsId, dsNames[dsId], clauseText, ftsQuery, embedders[dsId]) + }, func(ctx context.Context, e error) { + defer wg.Done() + ch <- nil + g.Log().Warningf(ctx, "dataset %d recall failed: %v", dsId, e) + }); err != nil { + wg.Done() + g.Log().Warningf(ctx, "submit dataset %d recall failed: %v", dsId, err) } - hits, err := dao.Chunk.FtsSearch(ctx, dsId, ftsQuery, consts.AnnoRecallTopK) - if err != nil { - g.Log().Warningf(ctx, "fts search failed (dataset %d): %v", dsId, err) - continue - } - for i, h := range hits { - s.mergeHit(merged, h.ChunkId, dsId, dsNames[dsId], float64(i)) + } + go func() { wg.Wait(); close(ch) }() + + merged := make(map[int64]*annoCandidate) + for hits := range ch { + for _, h := range hits { + s.mergeHit(merged, h.ChunkId, h.DsId, h.LawTitle, h.Rank) } } cands := make([]annoCandidate, 0, len(merged)) @@ -313,6 +347,35 @@ func (s *annotationService) recallCandidates(ctx context.Context, clause *entity return cands, nil } +// recallOneDataset 单数据集召回:向量检索 + FTS 检索(纯读,供池内并发调用) +func (s *annotationService) recallOneDataset(ctx context.Context, dsId int64, lawTitle, clauseText, ftsQuery string, emb *OpenAIEmbedder) []annoRecallHit { + var hits []annoRecallHit + if emb != nil { + vecs, err := emb.EmbedStrings(ctx, []string{clauseText}) + if err != nil { + g.Log().Warningf(ctx, "clause embed failed (dataset %d): %v", dsId, err) + } else if len(vecs) > 0 { + res, err := dao.Chunk.VecSearch(ctx, dsId, domain.VecJsonF64(vecs[0]), consts.AnnoRecallTopK) + if err != nil { + g.Log().Warningf(ctx, "vec search failed (dataset %d): %v", dsId, err) + } else { + for i, h := range res { + hits = append(hits, annoRecallHit{ChunkId: h.ChunkId, DsId: dsId, LawTitle: lawTitle, Rank: float64(i)}) + } + } + } + } + res, err := dao.Chunk.FtsSearch(ctx, dsId, ftsQuery, consts.AnnoRecallTopK) + if err != nil { + g.Log().Warningf(ctx, "fts search failed (dataset %d): %v", dsId, err) + return hits + } + for i, h := range res { + hits = append(hits, annoRecallHit{ChunkId: h.ChunkId, DsId: dsId, LawTitle: lawTitle, Rank: float64(i)}) + } + return hits +} + func (s *annotationService) mergeHit(merged map[int64]*annoCandidate, chunkId, dsId int64, lawTitle string, rank float64) { c := merged[chunkId] if c == nil { diff --git a/kb/service/chat_service.go b/kb/service/chat_service.go index b2410b9..aba6bb2 100644 --- a/kb/service/chat_service.go +++ b/kb/service/chat_service.go @@ -13,6 +13,7 @@ import ( "sort" "strconv" "strings" + "sync" "time" "rag-local/common" @@ -241,30 +242,40 @@ func (r *HybridRetriever) Retrieve(ctx context.Context, query string, opts ...er scores := make(map[int64]float64) srcs := make(map[int64][]string) + // 向量段与全文段互不依赖,提交 common.ChatRetrievePool 并行执行,RRF 合并回主 goroutine 串行 + ch := make(chan []retrieveHit, 2) + var wg sync.WaitGroup if r.embedder != nil { - vecs, err := r.embedder.EmbedStrings(ctx, []string{query}) - if err != nil { - g.Log().Warningf(ctx, "query embed failed: %v", err) - } else if len(vecs) > 0 { - hits, err := dao.Chunk.VecSearch(ctx, r.datasetId, domain.VecJsonF64(vecs[0]), consts.VectorTopK) - if err != nil { - g.Log().Warningf(ctx, "vec search failed: %v", err) - } else { - for i, h := range hits { - scores[h.ChunkId] += 1 / (float64(consts.RrfK) + float64(i) + 1) - srcs[h.ChunkId] = append(srcs[h.ChunkId], "vector") - } - } + wg.Add(1) + if err := common.ChatRetrievePool.AddWithRecover(ctx, func(ctx context.Context) { + defer wg.Done() + ch <- r.vecRetrieve(ctx, query) + }, func(ctx context.Context, e error) { + defer wg.Done() + ch <- nil + g.Log().Warningf(ctx, "vec retrieve failed: %v", e) + }); err != nil { + wg.Done() + g.Log().Warningf(ctx, "submit vec retrieve failed: %v", err) } } - - ftsHits, err := dao.Chunk.FtsSearch(ctx, r.datasetId, common.TokenizeQuery(query), consts.FtsTopK) - if err != nil { - g.Log().Warningf(ctx, "fts search failed: %v", err) - } else { - for i, h := range ftsHits { - scores[h.ChunkId] += 1 / (float64(consts.RrfK) + float64(i) + 1) - srcs[h.ChunkId] = append(srcs[h.ChunkId], "fts") + wg.Add(1) + if err := common.ChatRetrievePool.AddWithRecover(ctx, func(ctx context.Context) { + defer wg.Done() + ch <- r.ftsRetrieve(ctx, query) + }, func(ctx context.Context, e error) { + defer wg.Done() + ch <- nil + g.Log().Warningf(ctx, "fts retrieve failed: %v", e) + }); err != nil { + wg.Done() + g.Log().Warningf(ctx, "submit fts retrieve failed: %v", err) + } + go func() { wg.Wait(); close(ch) }() + for hits := range ch { + for _, h := range hits { + scores[h.chunkId] += 1 / (float64(consts.RrfK) + float64(h.rank) + 1) + srcs[h.chunkId] = append(srcs[h.chunkId], h.source) } } @@ -334,6 +345,52 @@ type scoredChunk struct { sources []string } +// retrieveHit 单路检索命中(rank 用于 RRF 融合) +type retrieveHit struct { + chunkId int64 + rank int + source string +} + +// vecRetrieve 向量段检索(纯读,供池内并发调用) +func (r *HybridRetriever) vecRetrieve(ctx context.Context, query string) []retrieveHit { + var hits []retrieveHit + if r.embedder == nil { + return hits + } + vecs, err := r.embedder.EmbedStrings(ctx, []string{query}) + if err != nil { + g.Log().Warningf(ctx, "query embed failed: %v", err) + return hits + } + if len(vecs) == 0 { + return hits + } + res, err := dao.Chunk.VecSearch(ctx, r.datasetId, domain.VecJsonF64(vecs[0]), consts.VectorTopK) + if err != nil { + g.Log().Warningf(ctx, "vec search failed: %v", err) + return hits + } + for i, h := range res { + hits = append(hits, retrieveHit{chunkId: h.ChunkId, rank: i, source: "vector"}) + } + return hits +} + +// ftsRetrieve 全文检索段(纯读,供池内并发调用) +func (r *HybridRetriever) ftsRetrieve(ctx context.Context, query string) []retrieveHit { + res, err := dao.Chunk.FtsSearch(ctx, r.datasetId, common.TokenizeQuery(query), consts.FtsTopK) + if err != nil { + g.Log().Warningf(ctx, "fts search failed: %v", err) + return nil + } + hits := make([]retrieveHit, 0, len(res)) + for i, h := range res { + hits = append(hits, retrieveHit{chunkId: h.ChunkId, rank: i, source: "fts"}) + } + return hits +} + // rerankByLLM 用默认对话模型对候选分块打分(0-10,JSON 输出),返回 chunk_id → 相关性分; // 任何失败(调用/解析/空结果)返回错误,由调用方回退 RRF 排序 func (r *HybridRetriever) rerankByLLM(ctx context.Context, query string, items []scoredChunk) (map[int64]float64, error) { @@ -394,19 +451,40 @@ const MaxHistoryRounds = 10 // Ask RAG 问答工作流:混合检索 → 组装提示(含引用编号)→ 对话模型流式生成。 // history 需已包含最新一条用户问题;onCitations 在检索完成后先于流式输出回调;onDelta 接收增量文本,均可为 nil。 func (s *chatService) Ask(ctx context.Context, datasetId int64, question string, history []*schema.Message, onCitations func([]domain.Citation), onDelta func(string)) (string, []domain.Citation, error) { - docs, err := s.retrieve(ctx, datasetId, question) - if err != nil { - return "", nil, err + // 检索(较重,内部再并行 vec/fts)与图增强互不依赖,并行执行;检索放 common.ChatPool,图增强主 goroutine 直接跑 + type askOut struct { + docs []*schema.Document + err error } - citations := buildCitations(docs) - if onCitations != nil { - onCitations(citations) + ch := make(chan askOut, 1) + var wg sync.WaitGroup + wg.Add(1) + if err := common.ChatPool.AddWithRecover(ctx, func(ctx context.Context) { + defer wg.Done() + docs, err := s.retrieve(ctx, datasetId, question) + ch <- askOut{docs: docs, err: err} + }, func(ctx context.Context, e error) { + defer wg.Done() + ch <- askOut{err: e} + }); err != nil { + wg.Done() + return "", nil, err } triples, err := KgRelationService.GraphEnhance(ctx, datasetId, question) if err != nil { g.Log().Warningf(ctx, "graph enhance failed: %v", err) } + wg.Wait() + out := <-ch + if out.err != nil { + return "", nil, out.err + } + docs := out.docs + citations := buildCitations(docs) + if onCitations != nil { + onCitations(citations) + } defaultChatModel, err := dao.ModelConfig.GetDefault(ctx, consts.ModelTypeChat) if err != nil { diff --git a/kb/service/kg_entity_service.go b/kb/service/kg_entity_service.go index 82f26f3..7713c28 100644 --- a/kb/service/kg_entity_service.go +++ b/kb/service/kg_entity_service.go @@ -4,7 +4,9 @@ import ( "context" "encoding/json" "strings" + "sync" + "rag-local/common" "rag-local/kb/consts" "rag-local/kb/dao" "rag-local/kb/model/entity" @@ -36,6 +38,7 @@ type kgExtractResult struct { // ExtractDocument 对文档全部新分块做 LLM 抽取(挂在解析流水线分块落库之后)。 // 每个分块一次调用,任何失败只记日志,不阻断解析流水线;返回未成功抽取的分块数,供调用方标记图谱未构建。 +// 并行:LLM 调用(纯 IO)提交 common.KgExtractPool 并发执行,落库(SQLite 写)收敛回本 goroutine 串行。 func (s *kgEntityService) ExtractDocument(ctx context.Context, datasetId, documentId int64) (int, error) { chunks, _, err := dao.Chunk.ListByDocument(ctx, documentId, 1, 100000) if err != nil { @@ -45,11 +48,42 @@ func (s *kgEntityService) ExtractDocument(ctx context.Context, datasetId, docume if err != nil { return 0, err } - failed := 0 + + type extractOut struct { + chunkId int64 + entities []kgEntityItem + relations []kgRelationItem + err error + } + ch := make(chan extractOut, len(chunks)) + var wg sync.WaitGroup for _, c := range chunks { - if err := s.extractChunk(ctx, model, datasetId, c); err != nil { + wg.Add(1) + if err := common.KgExtractPool.AddWithRecover(ctx, func(ctx context.Context) { + defer wg.Done() + out := extractOut{chunkId: c.Id} + out.entities, out.relations, out.err = s.callExtract(ctx, model, c) + ch <- out + }, func(ctx context.Context, e error) { + defer wg.Done() + ch <- extractOut{chunkId: c.Id, err: e} + }); err != nil { + wg.Done() + g.Log().Warningf(ctx, "kg extract chunk %d submit failed: %v", c.Id, err) + } + } + go func() { wg.Wait(); close(ch) }() + + failed := 0 + for out := range ch { + if out.err != nil { failed++ - g.Log().Warningf(ctx, "kg extract chunk %d failed: %v", c.Id, err) + g.Log().Warningf(ctx, "kg extract chunk %d failed: %v", out.chunkId, out.err) + continue + } + if err := s.saveExtract(ctx, datasetId, out.chunkId, out.entities, out.relations); err != nil { + failed++ + g.Log().Warningf(ctx, "kg extract chunk %d failed: %v", out.chunkId, err) } } return failed, nil @@ -66,34 +100,54 @@ func (s *kgEntityService) buildModel(ctx context.Context) (*OpenAIChatModel, err return BuildChatModel(ctx, defaultChatModel) } -func (s *kgEntityService) extractChunk(ctx context.Context, model *OpenAIChatModel, datasetId int64, chunk *entity.Chunk) error { +// callExtract 池内执行:LLM 抽取 + JSON 解析(纯 IO,不做任何写库) +func (s *kgEntityService) callExtract(ctx context.Context, model *OpenAIChatModel, chunk *entity.Chunk) ([]kgEntityItem, []kgRelationItem, error) { msgs := []*schema.Message{ {Role: schema.System, Content: "你是知识抽取助手。从文档片段中抽取实体(人名、组织、地名、产品等专有名词)及实体间的关系(动词或介词短语)。只输出 JSON,不要 markdown 代码块或任何解释,格式:{\"entities\":[{\"name\":\"实体名\",\"type\":\"类型\"}],\"relations\":[{\"head\":\"主体\",\"relation\":\"关系\",\"tail\":\"客体\"}]}"}, {Role: schema.User, Content: "文档片段:\n" + chunk.Content}, } resp, err := model.Generate(ctx, msgs) if err != nil { - return err + return nil, nil, err } data, err := parseKgJSON(resp.Content) if err != nil { - return err + return nil, nil, err } + entities := make([]kgEntityItem, 0, len(data.Entities)) for _, e := range data.Entities { - name := strings.TrimSpace(e.Name) - if name == "" { - continue - } - if err := dao.KgEntity.Upsert(ctx, datasetId, chunk.Id, name, strings.TrimSpace(e.Type)); err != nil { - return err + if name := strings.TrimSpace(e.Name); name != "" { + entities = append(entities, kgEntityItem{Name: name, Type: strings.TrimSpace(e.Type)}) } } + relations := make([]kgRelationItem, 0, len(data.Relations)) for _, r := range data.Relations { head, relation, tail := strings.TrimSpace(r.Head), strings.TrimSpace(r.Relation), strings.TrimSpace(r.Tail) if head == "" || relation == "" || tail == "" || head == tail { continue } - if err := dao.KgRelation.Insert(ctx, datasetId, chunk.Id, head, relation, tail); err != nil { + relations = append(relations, kgRelationItem{Head: head, Relation: relation, Tail: tail}) + } + return entities, relations, nil +} + +// saveExtract 主 goroutine 串行落库:实体与关系各一条批量 SQL(多行 VALUES) +func (s *kgEntityService) saveExtract(ctx context.Context, datasetId, chunkId int64, entities []kgEntityItem, relations []kgRelationItem) error { + if len(entities) > 0 { + items := make([]dao.KgEntityItem, 0, len(entities)) + for _, e := range entities { + items = append(items, dao.KgEntityItem{Name: e.Name, EntityType: e.Type}) + } + if err := dao.KgEntity.UpsertBatch(ctx, datasetId, chunkId, items); err != nil { + return err + } + } + if len(relations) > 0 { + items := make([]dao.KgRelationItem, 0, len(relations)) + for _, r := range relations { + items = append(items, dao.KgRelationItem{Head: r.Head, Relation: r.Relation, Tail: r.Tail}) + } + if err := dao.KgRelation.InsertBatch(ctx, datasetId, chunkId, items); err != nil { return err } } diff --git a/kb/service/parse_task_service.go b/kb/service/parse_task_service.go index 18bdc0e..258dadd 100644 --- a/kb/service/parse_task_service.go +++ b/kb/service/parse_task_service.go @@ -13,25 +13,19 @@ import ( "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gtimer" ) var ParseTaskService = &parseTaskService{} type parseTaskService struct{} -// StartParsePoller 启动任务轮询:单 goroutine 串行消费待处理任务(与 video-factory StartVideoPoller 同模式) +// StartParsePoller 启动任务轮询:gtimer 单例定时器串行消费待处理任务(job 未结束不重入,与视频工厂同模式) func (s *parseTaskService) StartParsePoller(ctx context.Context) { - go func() { - g.Log().Info(ctx, "parse task poller started") - for { - select { - case <-ctx.Done(): - return - case <-time.After(consts.ParsePollIntervalSeconds * time.Second): - s.processOne(ctx) - } - } - }() + g.Log().Info(ctx, "parse task poller started") + gtimer.AddSingleton(ctx, consts.ParsePollIntervalSeconds*time.Second, func(ctx context.Context) { + s.processOne(ctx) + }) } // processOne 处理一个待处理任务:解析 → 分块 → 落库(向量化在 M3 接入)