@tablestore/tablestore-agent-cli 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/dist/commands/kb/create.d.ts.map +1 -1
  2. package/dist/commands/kb/create.js +9 -0
  3. package/dist/commands/kb/create.js.map +1 -1
  4. package/dist/commands/kb/retrieve.d.ts.map +1 -1
  5. package/dist/commands/kb/retrieve.js +40 -3
  6. package/dist/commands/kb/retrieve.js.map +1 -1
  7. package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
  8. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +3 -3
  9. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  10. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  11. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +2 -2
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +2 -2
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +2 -2
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +2 -2
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +3 -3
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +3 -3
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +2 -2
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +6 -6
  113. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
  114. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e95_src_app_(dashboard)_knowledge-base_[name]_settings_settings-client_tsx_13312zk._.js +1 -1
  115. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__08faq-z._.js +1 -1
  116. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0c94d.y._.js +3 -0
  117. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__00uh_im._.js → [root-of-the-server]__0lgg04c._.js} +1 -1
  119. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01-2v37._.js +1 -1
  120. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01ag-vl._.js +3 -0
  121. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0atzifq._.js +3 -0
  122. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f4u0.1._.js +1 -1
  123. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gbt~hy._.js +1 -1
  124. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gl7kh7._.js +1 -1
  125. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j-q~ro._.js +1 -1
  126. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jghj2_._.js +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlyg05._.js +3 -0
  128. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n4gd_6._.js +1 -1
  129. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0l~-9i0._.js → _0tdjkbc._.js} +2 -2
  130. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +1 -1
  131. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_10u~-xc._.js +3 -0
  132. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12r9c8h._.js +1 -1
  133. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0.glq39._.js +3 -0
  134. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +1 -1
  135. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_05.qn9h._.js +3 -0
  136. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
  137. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xf3ffa._.js +1 -1
  138. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
  139. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
  140. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_create_page_tsx_0916~g-._.js +1 -1
  141. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
  142. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ls1exu._.js +1 -1
  143. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ugdjlb._.js +1 -1
  144. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
  145. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  146. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  147. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  148. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  149. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00wmf85833643.js +1 -0
  150. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02tj1_rhgobzv.js +1 -0
  151. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0mea2ylxe.umh.js → 02zf3qddfaw~u.js} +1 -1
  152. package/dist/dashboard-runtime/dashboard/.next/static/chunks/039i70t10axdd.css +1 -0
  153. package/dist/dashboard-runtime/dashboard/.next/static/chunks/04bfame9rk.3d.js +5 -0
  154. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07ygw8215kyvc.js +1 -0
  155. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b5hr027rat4w.js +138 -0
  156. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0__g1ogrdh412.js → 0bkm-5yza5~d2.js} +1 -1
  157. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0lrw.bnws62y9.js → 0d7d.b.v9noym.js} +1 -1
  158. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0cto67_iw~p9z.js → 0fdofp-3kkc4g.js} +1 -1
  159. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{18d_i28~jrf91.js → 0i8hdbek9j-fu.js} +1 -1
  160. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ioivx4pbmayb.js +1 -0
  161. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0lp2g_27uyhuz.js → 0je7fmsrz2vok.js} +1 -1
  162. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jukioxtp1mn3.js +138 -0
  163. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0klidr2i6cd.g.js +1 -0
  164. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k~bkh1586r2i.js +1 -0
  165. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0nakvv2p1kjnf.js +1 -0
  166. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0un~rqes29pcr.js +1 -0
  167. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v.u57bsjppd_.js +1 -0
  168. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3w~yxvm1xsq.js +4 -0
  169. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x5gol39unrgb.js +1 -0
  170. package/dist/dashboard-runtime/dashboard/.next/static/chunks/12s59v_sk0q-z.js +1 -0
  171. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{06uuhz24tvdt..js → 14~eqof4660i3.js} +1 -1
  172. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16y3764x-fh1n.js +1 -0
  173. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17mcnyr~1j7ih.js +1 -0
  174. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +1 -1
  175. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/layout-client.tsx +62 -26
  176. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +8 -4
  177. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/page.tsx +6 -2
  178. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/request-detail-dialog.tsx +9 -9
  179. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/requests-table.tsx +2 -2
  180. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +5 -1
  181. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +11 -7
  182. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/create/page.tsx +1 -1
  183. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/page.tsx +1 -1
  184. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +124 -13
  185. package/dist/dashboard-runtime/dashboard/src/app/globals.css +23 -0
  186. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +39 -17
  187. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-mount-config.tsx +1 -0
  188. package/dist/dashboard-runtime/dashboard/src/components/chat/memory-bind-section.tsx +15 -15
  189. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-retrieval-dialog.tsx +360 -0
  190. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-row.tsx +49 -5
  191. package/dist/dashboard-runtime/dashboard/src/components/chat/unified-retrieval-section.tsx +61 -26
  192. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +72 -20
  193. package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +5 -0
  194. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/embedding-config-form.tsx +16 -2
  195. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-card.tsx +37 -24
  196. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-create-form.tsx +173 -86
  197. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-settings-form.tsx +319 -280
  198. package/dist/dashboard-runtime/dashboard/src/components/layout/detail-sidebar.tsx +47 -18
  199. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-instance-card.tsx +2 -2
  200. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-add-dialog.tsx +2 -2
  201. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-edit-dialog.tsx +2 -2
  202. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-messages-table.tsx +3 -3
  203. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-requests-table.tsx +12 -12
  204. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +20 -11
  205. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +7 -7
  206. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +6 -6
  207. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +1 -1
  208. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-list.tsx +1 -1
  209. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-detail-panel.tsx +4 -4
  210. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +2 -2
  211. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +104 -7
  212. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-form.tsx +241 -24
  213. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-rerank-fields.tsx +1 -0
  214. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-result-card.tsx +52 -4
  215. package/dist/dashboard-runtime/dashboard/src/components/shared/status-badge.tsx +10 -5
  216. package/dist/dashboard-runtime/dashboard/src/components/ui/nav-tab-bar.tsx +1 -1
  217. package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +9 -5
  218. package/dist/dashboard-runtime/dashboard/src/lib/constants.ts +8 -0
  219. package/dist/dashboard-runtime/dashboard/src/lib/server/llm-client.ts +19 -1
  220. package/dist/dashboard-runtime/dashboard/src/schemas/knowledge-base.ts +6 -0
  221. package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +46 -27
  222. package/dist/dashboard-runtime/dashboard/src/types/knowledge-base.ts +10 -0
  223. package/dist/dashboard-runtime/dashboard/src/types/retrieval.ts +9 -4
  224. package/dist/dashboard-runtime/dashboard/tailwind.config.ts +4 -0
  225. package/dist/dashboard-runtime/dashboard/vitest.config.mjs +5 -2
  226. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  227. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  228. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +21 -5
  229. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  230. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  231. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  232. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +21 -5
  233. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  234. package/dist/utils/read-image-input.d.ts +47 -0
  235. package/dist/utils/read-image-input.d.ts.map +1 -0
  236. package/dist/utils/read-image-input.js +89 -0
  237. package/dist/utils/read-image-input.js.map +1 -0
  238. package/package.json +2 -2
  239. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hozzu6._.js +0 -3
  240. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tr8-3u._.js +0 -3
  241. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0uu1sjh._.js +0 -3
  242. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vasoy6._.js +0 -3
  243. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12~3vfk._.js +0 -3
  244. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13_lb.o._.js +0 -3
  245. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ejgygh._.js +0 -3
  246. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_0-tuf-h._.js +0 -3
  247. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0535h0pr4~.-1.js +0 -1
  248. package/dist/dashboard-runtime/dashboard/.next/static/chunks/062k9jbtd9.lv.js +0 -1
  249. package/dist/dashboard-runtime/dashboard/.next/static/chunks/06aj_c5rwvkut.js +0 -4
  250. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07t_2t_-s9aq_.js +0 -5
  251. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bs_w1~xt92db.js +0 -138
  252. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0d29.l~3ip181.js +0 -1
  253. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gjg-rd.ybcga.js +0 -1
  254. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jc31diex030o.js +0 -1
  255. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m6zpy2h1p2vp.js +0 -138
  256. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rm8~7jovs879.css +0 -1
  257. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0t0yqi68~eil6.js +0 -1
  258. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0th7u6qvdy3x2.js +0 -1
  259. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tmwptel_4y0o.js +0 -1
  260. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6_s-0w8.yr..js +0 -1
  261. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v9d5wl9nsva3.js +0 -1
  262. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.dp0-y_mhjo.js +0 -1
  263. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15bzqpm440jvz.js +0 -1
  264. /package/dist/dashboard-runtime/dashboard/.next/static/{Vhp9IA5UJNqZzEyFxakjw → EIbKHHti0Z1ephKfJzCKH}/_buildManifest.js +0 -0
  265. /package/dist/dashboard-runtime/dashboard/.next/static/{Vhp9IA5UJNqZzEyFxakjw → EIbKHHti0Z1ephKfJzCKH}/_clientMiddlewareManifest.js +0 -0
  266. /package/dist/dashboard-runtime/dashboard/.next/static/{Vhp9IA5UJNqZzEyFxakjw → EIbKHHti0Z1ephKfJzCKH}/_ssgManifest.js +0 -0
@@ -1,9 +1,11 @@
1
1
  'use client';
2
2
 
3
+ import { useState } from "react";
3
4
  import { useForm } from "react-hook-form";
4
5
  import { zodResolver } from "@hookform/resolvers/zod";
5
6
  import { toast } from "sonner";
6
- import { Check } from "lucide-react";
7
+ import { Check, ChevronRight } from "lucide-react";
8
+ import { cn } from "@/lib/utils";
7
9
  import { handleNumberInput } from "@/lib/number-input-handler";
8
10
  import { Button } from "@/components/ui/button";
9
11
  import { Input } from "@/components/ui/input";
@@ -85,6 +87,9 @@ export function KBSettingsForm({ knowledgeBase }: KBSettingsFormProps) {
85
87
  },
86
88
  });
87
89
 
90
+ const [retrievalOpen, setRetrievalOpen] = useState(false);
91
+ const [rerankOpen, setRerankOpen] = useState(false);
92
+
88
93
  // Highlight the parameter card matching the currently selected strategy
89
94
  // so users can see at a glance which block their toggle affects.
90
95
  const rerankType = form.watch("retrievalConfiguration.rerankingConfiguration.type");
@@ -96,11 +101,21 @@ export function KBSettingsForm({ knowledgeBase }: KBSettingsFormProps) {
96
101
 
97
102
  async function onSubmit(values: UpdateKBInput) {
98
103
  try {
99
- // Explicitly construct the request to align Zod output with API types
104
+ // Explicitly map the nested form fields (modelConfiguration.provider/model)
105
+ // to the flat fields (modelProvider/modelName) that
106
+ // buildKnowledgeBaseRetrievalConfiguration reads first; otherwise the
107
+ // user-selected rerank model silently falls back to the default and
108
+ // the update appears successful but has no effect.
109
+ const rc = values.retrievalConfiguration;
110
+ const rerank = rc?.rerankingConfiguration;
100
111
  const request: Parameters<typeof updateKB.mutateAsync>[0] = {
101
112
  ...values,
102
- retrievalConfiguration: values.retrievalConfiguration
103
- ? buildKnowledgeBaseRetrievalConfiguration(values.retrievalConfiguration)
113
+ retrievalConfiguration: rc
114
+ ? buildKnowledgeBaseRetrievalConfiguration({
115
+ ...rc,
116
+ modelProvider: rerank?.modelConfiguration?.provider,
117
+ modelName: rerank?.modelConfiguration?.model,
118
+ })
104
119
  : undefined,
105
120
  };
106
121
  await updateKB.mutateAsync(request);
@@ -169,292 +184,316 @@ export function KBSettingsForm({ knowledgeBase }: KBSettingsFormProps) {
169
184
  description="控制默认召回方式、返回规模和 Rerank 策略。"
170
185
  />
171
186
  <div className="space-y-4">
172
- <FormField
173
- control={form.control}
174
- name="retrievalConfiguration.searchType"
175
- render={({ field }) => (
176
- <FormItem>
177
- <FormLabel>搜索类型</FormLabel>
178
- <FormControl>
179
- <ToggleGroup
180
- type="multiple"
181
- value={field.value ?? []}
182
- onValueChange={(v) => {
183
- // Require at least one type to keep the form valid.
184
- if (v?.length) field.onChange(v);
185
- }}
186
- className="grid w-full grid-cols-2 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md"
187
- >
188
- <ToggleGroupItem value="DENSE_VECTOR" className="h-9 gap-1.5">
189
- {field.value?.includes("DENSE_VECTOR") && (
190
- <Check className="h-3.5 w-3.5 text-[hsl(var(--primary))]" />
191
- )}
192
- 向量检索
193
- </ToggleGroupItem>
194
- <ToggleGroupItem value="FULL_TEXT" className="h-9 gap-1.5">
195
- {field.value?.includes("FULL_TEXT") && (
196
- <Check className="h-3.5 w-3.5 text-[hsl(var(--primary))]" />
197
- )}
198
- 全文检索
199
- </ToggleGroupItem>
200
- </ToggleGroup>
201
- </FormControl>
202
- <FormMessage />
203
- </FormItem>
204
- )}
205
- />
206
-
207
- <div className="space-y-3">
208
- <div className="space-y-1">
209
- <p className="text-sm font-medium text-[hsl(var(--foreground))]">
210
- 返回数量
211
- </p>
212
- <p className="text-xs text-[hsl(var(--muted-foreground))]">
213
- 控制每路召回参与排序的候选数,以及 Rerank 后实际返回的片段数。
214
- </p>
215
- </div>
216
- <div className="grid grid-cols-[repeat(auto-fit,minmax(min(260px,100%),1fr))] gap-3">
217
- <RetrievalResultCountField
218
- control={form.control}
219
- name="retrievalConfiguration.denseVectorSearchConfiguration.numberOfResults"
220
- label="向量召回数"
221
- description="向量检索参与后续排序的候选片段数。"
222
- max={100}
223
- muted={
224
- !form
225
- .watch("retrievalConfiguration.searchType")
226
- ?.includes("DENSE_VECTOR")
227
- }
228
- />
229
- <RetrievalResultCountField
230
- control={form.control}
231
- name="retrievalConfiguration.fullTextSearchConfiguration.numberOfResults"
232
- label="全文召回数"
233
- description="全文检索参与后续排序的候选片段数。"
234
- max={100}
235
- muted={
236
- !form
237
- .watch("retrievalConfiguration.searchType")
238
- ?.includes("FULL_TEXT")
239
- }
240
- />
241
- </div>
242
- <RetrievalResultCountField
243
- control={form.control}
244
- name="retrievalConfiguration.rerankingConfiguration.numberOfResults"
245
- label="重排序返回数"
246
- description="Rerank 后保留并返回的片段数。"
247
- max={200}
248
- />
249
- </div>
187
+ {/* 面板 1: 检索参数 */}
188
+ <div>
189
+ <button
190
+ type="button"
191
+ onClick={() => setRetrievalOpen(!retrievalOpen)}
192
+ className="flex items-center gap-2 w-full py-2 text-sm font-medium text-foreground hover:text-primary transition-colors"
193
+ >
194
+ <ChevronRight className={cn("h-4 w-4 transition-transform", retrievalOpen && "rotate-90")} />
195
+ 检索参数
196
+ </button>
197
+ {retrievalOpen && (
198
+ <div className="pl-6 space-y-4">
199
+ <FormField
200
+ control={form.control}
201
+ name="retrievalConfiguration.searchType"
202
+ render={({ field }) => (
203
+ <FormItem>
204
+ <FormLabel>搜索类型</FormLabel>
205
+ <FormControl>
206
+ <ToggleGroup
207
+ type="multiple"
208
+ value={field.value ?? []}
209
+ onValueChange={(v) => {
210
+ // Require at least one type to keep the form valid.
211
+ if (v?.length) field.onChange(v);
212
+ }}
213
+ className="grid w-full grid-cols-2 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md"
214
+ >
215
+ <ToggleGroupItem value="DENSE_VECTOR" className="h-9 gap-1.5">
216
+ {field.value?.includes("DENSE_VECTOR") && (
217
+ <Check className="h-3.5 w-3.5 text-[hsl(var(--primary))]" />
218
+ )}
219
+ 向量检索
220
+ </ToggleGroupItem>
221
+ <ToggleGroupItem value="FULL_TEXT" className="h-9 gap-1.5">
222
+ {field.value?.includes("FULL_TEXT") && (
223
+ <Check className="h-3.5 w-3.5 text-[hsl(var(--primary))]" />
224
+ )}
225
+ 全文检索
226
+ </ToggleGroupItem>
227
+ </ToggleGroup>
228
+ </FormControl>
229
+ <FormMessage />
230
+ </FormItem>
231
+ )}
232
+ />
250
233
 
251
- <FormField
252
- control={form.control}
253
- name="retrievalConfiguration.rerankingConfiguration.type"
254
- render={({ field }) => (
255
- <FormItem>
256
- <FormLabel>Rerank 策略</FormLabel>
257
- <FormControl>
258
- <ToggleGroup
259
- type="single"
260
- value={field.value ?? ""}
261
- onValueChange={(v) => {
262
- // Radix emits "" when clicking the active item;
263
- // keep the selection stable.
264
- if (v) field.onChange(v);
265
- }}
266
- className="grid w-full grid-cols-3 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md"
267
- >
268
- <ToggleGroupItem value="MODEL" className="h-9">
269
- Model
270
- </ToggleGroupItem>
271
- <ToggleGroupItem value="WEIGHT" className="h-9">
272
- Weight
273
- </ToggleGroupItem>
274
- <ToggleGroupItem value="RRF" className="h-9">
275
- RRF
276
- </ToggleGroupItem>
277
- </ToggleGroup>
278
- </FormControl>
279
- <FormMessage />
280
- </FormItem>
234
+ <div className="grid grid-cols-[repeat(auto-fit,minmax(min(260px,100%),1fr))] gap-3">
235
+ <RetrievalResultCountField
236
+ control={form.control}
237
+ name="retrievalConfiguration.denseVectorSearchConfiguration.numberOfResults"
238
+ label="向量召回数"
239
+ description="向量检索参与后续排序的候选片段数。"
240
+ max={100}
241
+ muted={
242
+ !form
243
+ .watch("retrievalConfiguration.searchType")
244
+ ?.includes("DENSE_VECTOR")
245
+ }
246
+ />
247
+ <RetrievalResultCountField
248
+ control={form.control}
249
+ name="retrievalConfiguration.fullTextSearchConfiguration.numberOfResults"
250
+ label="全文召回数"
251
+ description="全文检索参与后续排序的候选片段数。"
252
+ max={100}
253
+ muted={
254
+ !form
255
+ .watch("retrievalConfiguration.searchType")
256
+ ?.includes("FULL_TEXT")
257
+ }
258
+ />
259
+ </div>
260
+ </div>
281
261
  )}
282
- />
283
-
284
- {/* RRF 配置参数 */}
285
- <div className={cardClass(rerankType === "RRF")}>
286
- <p className="text-sm font-medium text-[hsl(var(--muted-foreground))]">RRF 参数</p>
287
- <div className="grid grid-cols-3 gap-4">
288
- <FormField
289
- control={form.control}
290
- name="retrievalConfiguration.rerankingConfiguration.rrfConfiguration.denseVectorSearchWeight"
291
- render={({ field }) => (
292
- <FormItem>
293
- <FormLabel>向量检索权重</FormLabel>
294
- <FormControl>
295
- <Input
296
- type="number"
297
- step="0.1"
298
- placeholder="0.6"
299
- {...field}
300
- value={field.value ?? ""}
301
- onChange={handleNumberInput(field.onChange)}
302
- />
303
- </FormControl>
304
- <FormMessage />
305
- </FormItem>
306
- )}
307
- />
308
- <FormField
309
- control={form.control}
310
- name="retrievalConfiguration.rerankingConfiguration.rrfConfiguration.fullTextSearchWeight"
311
- render={({ field }) => (
312
- <FormItem>
313
- <FormLabel>全文检索权重</FormLabel>
314
- <FormControl>
315
- <Input
316
- type="number"
317
- step="0.1"
318
- placeholder="0.4"
319
- {...field}
320
- value={field.value ?? ""}
321
- onChange={handleNumberInput(field.onChange)}
322
- />
323
- </FormControl>
324
- <FormMessage />
325
- </FormItem>
326
- )}
327
- />
328
- <FormField
329
- control={form.control}
330
- name="retrievalConfiguration.rerankingConfiguration.rrfConfiguration.k"
331
- render={({ field }) => (
332
- <FormItem>
333
- <FormLabel>K 值</FormLabel>
334
- <FormControl>
335
- <Input
336
- type="number"
337
- placeholder="60"
338
- {...field}
339
- value={field.value ?? ""}
340
- onChange={handleNumberInput(field.onChange)}
341
- />
342
- </FormControl>
343
- <FormMessage />
344
- </FormItem>
345
- )}
346
- />
347
- </div>
348
262
  </div>
349
263
 
350
- {/* Weight 配置参数 */}
351
- <div className={cardClass(rerankType === "WEIGHT")}>
352
- <p className="text-sm font-medium text-[hsl(var(--muted-foreground))]">Weight 参数</p>
353
- <div className="grid grid-cols-2 gap-4">
354
- <FormField
355
- control={form.control}
356
- name="retrievalConfiguration.rerankingConfiguration.weightConfiguration.denseVectorSearchWeight"
357
- render={({ field }) => (
358
- <FormItem>
359
- <FormLabel>向量检索权重</FormLabel>
360
- <FormControl>
361
- <Input
362
- type="number"
363
- step="0.1"
364
- min="0"
365
- max="1"
366
- placeholder="0.7"
367
- {...field}
368
- value={field.value ?? ""}
369
- onChange={handleNumberInput(field.onChange)}
370
- />
371
- </FormControl>
372
- <FormMessage />
373
- </FormItem>
374
- )}
375
- />
376
- <FormField
377
- control={form.control}
378
- name="retrievalConfiguration.rerankingConfiguration.weightConfiguration.fullTextSearchWeight"
379
- render={({ field }) => (
380
- <FormItem>
381
- <FormLabel>全文检索权重</FormLabel>
382
- <FormControl>
383
- <Input
384
- type="number"
385
- step="0.1"
386
- min="0"
387
- max="1"
388
- placeholder="0.3"
389
- {...field}
390
- value={field.value ?? ""}
391
- onChange={handleNumberInput(field.onChange)}
392
- />
393
- </FormControl>
394
- <FormMessage />
395
- </FormItem>
396
- )}
397
- />
398
- </div>
399
- </div>
400
-
401
- {/* Model 配置参数 */}
402
- <div className={cardClass(rerankType === "MODEL")}>
403
- <p className="text-sm font-medium text-[hsl(var(--muted-foreground))]">Model 参数</p>
404
- <div className="grid grid-cols-2 gap-4">
405
- <FormField
406
- control={form.control}
407
- name="retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider"
408
- render={({ field }) => (
409
- <FormItem>
410
- <FormLabel>提供方</FormLabel>
411
- <Select onValueChange={field.onChange} value={field.value ?? ""}>
412
- <FormControl>
413
- <SelectTrigger>
414
- <SelectValue placeholder="选择提供方" />
415
- </SelectTrigger>
416
- </FormControl>
417
- <SelectContent>
418
- <SelectItem value="bailian">百炼 (Bailian)</SelectItem>
419
- </SelectContent>
420
- </Select>
421
- <FormMessage />
422
- </FormItem>
423
- )}
424
- />
425
- <FormField
426
- control={form.control}
427
- name="retrievalConfiguration.rerankingConfiguration.modelConfiguration.model"
428
- render={({ field }) => {
429
- const rerankProvider = form.watch("retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider");
430
- return (
264
+ {/* 面板 2: Rerank 参数 */}
265
+ <div>
266
+ <button
267
+ type="button"
268
+ onClick={() => setRerankOpen(!rerankOpen)}
269
+ className="flex items-center gap-2 w-full py-2 text-sm font-medium text-foreground hover:text-primary transition-colors"
270
+ >
271
+ <ChevronRight className={cn("h-4 w-4 transition-transform", rerankOpen && "rotate-90")} />
272
+ Rerank 参数
273
+ </button>
274
+ {rerankOpen && (
275
+ <div className="pl-6 space-y-4">
276
+ <FormField
277
+ control={form.control}
278
+ name="retrievalConfiguration.rerankingConfiguration.type"
279
+ render={({ field }) => (
431
280
  <FormItem>
432
- <FormLabel>模型名称</FormLabel>
281
+ <FormLabel>Rerank 策略</FormLabel>
433
282
  <FormControl>
434
- {rerankProvider === "bailian" ? (
283
+ <ToggleGroup
284
+ type="single"
285
+ value={field.value ?? ""}
286
+ onValueChange={(v) => {
287
+ // Radix emits "" when clicking the active item;
288
+ // keep the selection stable.
289
+ if (v) field.onChange(v);
290
+ }}
291
+ className="grid w-full grid-cols-3 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md"
292
+ >
293
+ <ToggleGroupItem value="MODEL" className="h-9">
294
+ Model
295
+ </ToggleGroupItem>
296
+ <ToggleGroupItem value="WEIGHT" className="h-9">
297
+ Weight
298
+ </ToggleGroupItem>
299
+ <ToggleGroupItem value="RRF" className="h-9">
300
+ RRF
301
+ </ToggleGroupItem>
302
+ </ToggleGroup>
303
+ </FormControl>
304
+ <FormMessage />
305
+ </FormItem>
306
+ )}
307
+ />
308
+
309
+ <RetrievalResultCountField
310
+ control={form.control}
311
+ name="retrievalConfiguration.rerankingConfiguration.numberOfResults"
312
+ label="重排序返回数"
313
+ description="Rerank 后保留并返回的片段数。"
314
+ max={200}
315
+ />
316
+
317
+ {/* Model 配置参数 */}
318
+ <div className={cardClass(rerankType === "MODEL")}>
319
+ <p className="text-sm font-medium text-[hsl(var(--muted-foreground))]">Model 参数</p>
320
+ <div className="grid grid-cols-2 gap-4">
321
+ <FormField
322
+ control={form.control}
323
+ name="retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider"
324
+ render={({ field }) => (
325
+ <FormItem>
326
+ <FormLabel>提供方</FormLabel>
435
327
  <Select onValueChange={field.onChange} value={field.value ?? ""}>
436
- <SelectTrigger>
437
- <SelectValue placeholder="选择模型" />
438
- </SelectTrigger>
328
+ <FormControl>
329
+ <SelectTrigger>
330
+ <SelectValue placeholder="选择提供方" />
331
+ </SelectTrigger>
332
+ </FormControl>
439
333
  <SelectContent>
440
- <SelectItem value="gte-rerank-v2">gte-rerank-v2</SelectItem>
441
- <SelectItem value="qwen3-rerank">qwen3-rerank</SelectItem>
334
+ <SelectItem value="bailian">百炼 (Bailian)</SelectItem>
442
335
  </SelectContent>
443
336
  </Select>
444
- ) : (
445
- <Input
446
- placeholder="输入模型名称"
447
- {...field}
448
- value={field.value ?? ""}
449
- />
450
- )}
451
- </FormControl>
452
- <FormMessage />
453
- </FormItem>
454
- );
455
- }}
456
- />
457
- </div>
337
+ <FormMessage />
338
+ </FormItem>
339
+ )}
340
+ />
341
+ <FormField
342
+ control={form.control}
343
+ name="retrievalConfiguration.rerankingConfiguration.modelConfiguration.model"
344
+ render={({ field }) => {
345
+ const rerankProvider = form.watch("retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider");
346
+ return (
347
+ <FormItem>
348
+ <FormLabel>模型名称</FormLabel>
349
+ <FormControl>
350
+ {rerankProvider === "bailian" ? (
351
+ <Select onValueChange={field.onChange} value={field.value ?? ""}>
352
+ <SelectTrigger>
353
+ <SelectValue placeholder="选择模型" />
354
+ </SelectTrigger>
355
+ <SelectContent>
356
+ <SelectItem value="gte-rerank-v2">gte-rerank-v2</SelectItem>
357
+ <SelectItem value="qwen3-rerank">qwen3-rerank</SelectItem>
358
+ <SelectItem value="qwen3-vl-rerank">
359
+ qwen3-vl-rerank (多模态)
360
+ </SelectItem>
361
+ </SelectContent>
362
+ </Select>
363
+ ) : (
364
+ <Input
365
+ placeholder="输入模型名称"
366
+ {...field}
367
+ value={field.value ?? ""}
368
+ />
369
+ )}
370
+ </FormControl>
371
+ <FormMessage />
372
+ </FormItem>
373
+ );
374
+ }}
375
+ />
376
+ </div>
377
+ </div>
378
+
379
+ {/* Weight 配置参数 */}
380
+ <div className={cardClass(rerankType === "WEIGHT")}>
381
+ <p className="text-sm font-medium text-[hsl(var(--muted-foreground))]">Weight 参数</p>
382
+ <div className="grid grid-cols-2 gap-4">
383
+ <FormField
384
+ control={form.control}
385
+ name="retrievalConfiguration.rerankingConfiguration.weightConfiguration.denseVectorSearchWeight"
386
+ render={({ field }) => (
387
+ <FormItem>
388
+ <FormLabel>向量检索权重</FormLabel>
389
+ <FormControl>
390
+ <Input
391
+ type="number"
392
+ step="0.1"
393
+ min="0"
394
+ max="1"
395
+ placeholder="0.7"
396
+ {...field}
397
+ value={field.value ?? ""}
398
+ onChange={handleNumberInput(field.onChange)}
399
+ />
400
+ </FormControl>
401
+ <FormMessage />
402
+ </FormItem>
403
+ )}
404
+ />
405
+ <FormField
406
+ control={form.control}
407
+ name="retrievalConfiguration.rerankingConfiguration.weightConfiguration.fullTextSearchWeight"
408
+ render={({ field }) => (
409
+ <FormItem>
410
+ <FormLabel>全文检索权重</FormLabel>
411
+ <FormControl>
412
+ <Input
413
+ type="number"
414
+ step="0.1"
415
+ min="0"
416
+ max="1"
417
+ placeholder="0.3"
418
+ {...field}
419
+ value={field.value ?? ""}
420
+ onChange={handleNumberInput(field.onChange)}
421
+ />
422
+ </FormControl>
423
+ <FormMessage />
424
+ </FormItem>
425
+ )}
426
+ />
427
+ </div>
428
+ </div>
429
+
430
+ {/* RRF 配置参数 */}
431
+ <div className={cardClass(rerankType === "RRF")}>
432
+ <p className="text-sm font-medium text-[hsl(var(--muted-foreground))]">RRF 参数</p>
433
+ <div className="grid grid-cols-3 gap-4">
434
+ <FormField
435
+ control={form.control}
436
+ name="retrievalConfiguration.rerankingConfiguration.rrfConfiguration.denseVectorSearchWeight"
437
+ render={({ field }) => (
438
+ <FormItem>
439
+ <FormLabel>向量检索权重</FormLabel>
440
+ <FormControl>
441
+ <Input
442
+ type="number"
443
+ step="0.1"
444
+ placeholder="0.6"
445
+ {...field}
446
+ value={field.value ?? ""}
447
+ onChange={handleNumberInput(field.onChange)}
448
+ />
449
+ </FormControl>
450
+ <FormMessage />
451
+ </FormItem>
452
+ )}
453
+ />
454
+ <FormField
455
+ control={form.control}
456
+ name="retrievalConfiguration.rerankingConfiguration.rrfConfiguration.fullTextSearchWeight"
457
+ render={({ field }) => (
458
+ <FormItem>
459
+ <FormLabel>全文检索权重</FormLabel>
460
+ <FormControl>
461
+ <Input
462
+ type="number"
463
+ step="0.1"
464
+ placeholder="0.4"
465
+ {...field}
466
+ value={field.value ?? ""}
467
+ onChange={handleNumberInput(field.onChange)}
468
+ />
469
+ </FormControl>
470
+ <FormMessage />
471
+ </FormItem>
472
+ )}
473
+ />
474
+ <FormField
475
+ control={form.control}
476
+ name="retrievalConfiguration.rerankingConfiguration.rrfConfiguration.k"
477
+ render={({ field }) => (
478
+ <FormItem>
479
+ <FormLabel>K 值</FormLabel>
480
+ <FormControl>
481
+ <Input
482
+ type="number"
483
+ placeholder="60"
484
+ {...field}
485
+ value={field.value ?? ""}
486
+ onChange={handleNumberInput(field.onChange)}
487
+ />
488
+ </FormControl>
489
+ <FormMessage />
490
+ </FormItem>
491
+ )}
492
+ />
493
+ </div>
494
+ </div>
495
+ </div>
496
+ )}
458
497
  </div>
459
498
  </div>
460
499