LightRAG/lightrag/api/webui/assets/index-BLBnmXUl.js

142 lines
251 KiB
JavaScript
Raw Normal View History

2025-05-11 12:44:50 +08:00
import{j as o,Y as td,O as fg,k as dg,u as ad,Z as mg,c as hg,l as gg,g as pg,S as yg,T as vg,n as bg,m as nd,o as Sg,p as Tg,$ as ud,a0 as id,a1 as cd,a2 as xg}from"./ui-vendor-CeCm8EER.js";import{d as Ag,h as Dg,r as E,u as sd,H as Ng,i as Eg,j as Jf}from"./react-vendor-DEwriMA6.js";import{w as Ve,c as Qe,a5 as od,u as ql,v as Gt,a6 as rd,a7 as fd,I as us,B as Cn,D as Mg,i as zg,j as Cg,k as Og,l as jg,a8 as Rg,a9 as Ug,aa as _g,ab as Hg,ac as Ll,ad as dd,ae as ss,af as is,P as Lg,Q as qg,V as Bg,W as Gg,ag as Yg,ah as Xg,ai as md,aj as Vg,ak as Qg,al as hd,am as wg,an as gd,C as Zg,z as Kg,G as Jg,d as En,ao as kg,ap as Fg,aq as $g}from"./feature-graph-DbHHHM9y.js";import{S as kf,a as Ff,b as $f,c as Wf,d as ot,R as Wg}from"./feature-retrieval-zozGWnLh.js";import{D as Pg}from"./feature-documents-ClbgnjXg.js";import{i as cs}from"./utils-vendor-BysuhMZA.js";import"./graph-vendor-B-X5JegA.js";import"./mermaid-vendor-d7rbry5E.js";import"./markdown-vendor-BBaHfVvE.js";(function(){const b=document.createElement("link").relList;if(b&&b.supports&&b.supports("modulepreload"))return;for(const N of document.querySelectorAll('link[rel="modulepreload"]'))d(N);new MutationObserver(N=>{for(const j of N)if(j.type==="childList")for(const H of j.addedNodes)H.tagName==="LINK"&&H.rel==="modulepreload"&&d(H)}).observe(document,{childList:!0,subtree:!0});function x(N){const j={};return N.integrity&&(j.integrity=N.integrity),N.referrerPolicy&&(j.referrerPolicy=N.referrerPolicy),N.crossOrigin==="use-credentials"?j.credentials="include":N.crossOrigin==="anonymous"?j.credentials="omit":j.credentials="same-origin",j}function d(N){if(N.ep)return;N.ep=!0;const j=x(N);fetch(N.href,j)}})();var ts={exports:{}},Mn={},as={exports:{}},ns={};/**
2025-04-22 16:39:45 +08:00
* @license React
* scheduler.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
2025-05-11 12:44:50 +08:00
*/var Pf;function Ig(){return Pf||(Pf=1,function(g){function b(A,L){var U=A.length;A.push(L);e:for(;0<U;){var te=U-1>>>1,oe=A[te];if(0<N(oe,L))A[te]=L,A[U]=oe,U=te;else break e}}function x(A){return A.length===0?null:A[0]}function d(A){if(A.length===0)return null;var L=A[0],U=A.pop();if(U!==L){A[0]=U;e:for(var te=0,oe=A.length,Xt=oe>>>1;te<Xt;){var pt=2*(te+1)-1,vl=A[pt],w=pt+1,we=A[w];if(0>N(vl,U))w<oe&&0>N(we,vl)?(A[te]=we,A[w]=U,te=w):(A[te]=vl,A[pt]=U,te=pt);else if(w<oe&&0>N(we,U))A[te]=we,A[w]=U,te=w;else break e}}return L}function N(A,L){var U=A.sortIndex-L.sortIndex;return U!==0?U:A.id-L.id}if(g.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var j=performance;g.unstable_now=function(){return j.now()}}else{var H=Date,$=H.now();g.unstable_now=function(){return H.now()-$}}var Y=[],W=[],he=1,ge=null,V=3,pe=!1,le=!1,C=!1,pl=typeof setTimeout=="function"?setTimeout:null,rt=typeof clearTimeout=="function"?clearTimeout:null,je=typeof setImmediate<"u"?setImmediate:null;function ft(A){for(var L=x(W);L!==null;){if(L.callback===null)d(W);else if(L.startTime<=A)d(W),L.sortIndex=L.expirationTime,b(Y,L);else break;L=x(W)}}function Ea(A){if(C=!1,ft(A),!le)if(x(Y)!==null)le=!0,ht();else{var L=x(W);L!==null&&gt(Ea,L.startTime-A)}}var dt=!1,al=-1,On=5,Yt=-1;function R(){return!(g.unstable_now()-Yt<On)}function J(){if(dt){var A=g.unstable_now();Yt=A;var L=!0;try{e:{le=!1,C&&(C=!1,rt(al),al=-1),pe=!0;var U=V;try{l:{for(ft(A),ge=x(Y);ge!==null&&!(ge.expirationTime>A&&R());){var te=ge.callback;if(typeof te=="function"){ge.callback=null,V=ge.priorityLevel;var oe=te(ge.expirationTime<=A);if(A=g.unstable_now(),typeof oe=="function"){ge.callback=oe,ft(A),L=!0;break l}ge===x(Y)&&d(Y),ft(A)}else d(Y);ge=x(Y)}if(ge!==null)L=!0;else{var Xt=x(W);Xt!==null&&gt(Ea,Xt.startTime-A),L=!1}}break e}finally{ge=null,V=U,pe=!1}L=void 0}}finally{L?yl():dt=!1}}}var yl;if(typeof je=="function")yl=function(){je(J)};else if(typeof MessageChannel<"u"){var Ma=new MessageChannel,mt=Ma.port2;Ma.port1.onmessage=J,yl=function(){mt.postMessage(null)}}else yl=function(){pl(J,0)};function ht(){dt||(dt=!0,yl())}function gt(A,L){al=pl(function(){A(g.unstable_now())},L)}g.unstable_IdlePriority=5,g.unstable_ImmediatePriority=1,g.unstable_LowPriority=4,g.unstable_NormalPriority=3,g.unstable_Profiling=null,g.unstable_UserBlockingPriority=2,g.unstable_cancelCallback=function(A){A.callback=null},g.unstable_continueExecution=function(){le||pe||(le=!0,ht())},g.unstable_forceFrameRate=function(A){0>A||125<A?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):On=0<A?Math.floor(1e3/A):5},g.unstable_getCurrentPriorityLevel=function(){return V},g.unstable_getFirstCallbackNode=function(){return x(Y)},g.unstable_next=function(A){switch(V){case 1:case 2:case 3:var L=3;break;default:L=V}var U=V;V=L;try{return A()}finally{V=U}},g.unstable_pauseExecution=function(){},g.unstable_requestPaint=function(){},g.unstable_runWithPriority=function(A,L){switch(A){case 1:case 2:case 3:case 4:case 5:break;default:A=3}var U=V;V=A;try{return L()}finally{V=U}},g.unstable_scheduleCallback=function(A,L,U){var te=g.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?te+U:te):U=te,A){case 1:var oe=-1;break;case 2:oe=250;break;case 5:oe=1073741823;break;case 4:oe=1e4;break;default:oe=5e3}return oe=U+oe,A={id:he++,callback:L,priorityLevel:A,startTime:U,expirationTime:oe,sortIndex:-1},U>te?(A.sortIndex=U,b(W,A),x(Y)===null&&A===x(W)&&(C?(rt(al),al=-1):C=!0,gt(Ea,U-te))):(A.sortIndex=oe,b(Y,A),le||pe||(le=!0,ht())),A},g.unstable_shouldYield=R,g.unstable_wrapCallback=function(A){var L=V;return function(){var U=V;V=L;try{return A.apply(this,arguments)}finally{V=U}}}}(ns)),ns}var If;function ep(){return If||(If=1,as.exports=Ig()),as.exports}/**
2025-04-22 16:39:45 +08:00
* @license React
* react-dom-client.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
2025-05-11 12:44:50 +08:00
*/var ed;function lp(){if(ed)return Mn;ed=1;var g=ep(),b=Ag(),x=Dg();function d(e){var l="https://react.dev/errors/"+e;if(1<arguments.length){l+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)l+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+e+"; visit "+l+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function N(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}var j=Symbol.for("react.element"),H=Symbol.for("react.transitional.element"),$=Symbol.for("react.portal"),Y=Symbol.for("react.fragment"),W=Symbol.for("react.strict_mode"),he=Symbol.for("react.profiler"),ge=Symbol.for("react.provider"),V=Symbol.for("react.consumer"),pe=Symbol.for("react.context"),le=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),pl=Symbol.for("react.suspense_list"),rt=Symbol.for("react.memo"),je=Symbol.for("react.lazy"),ft=Symbol.for("react.offscreen"),Ea=Symbol.for("react.memo_cache_sentinel"),dt=Symbol.iterator;function al(e){return e===null||typeof e!="object"?null:(e=dt&&e[dt]||e["@@iterator"],typeof e=="function"?e:null)}var On=Symbol.for("react.client.reference");function Yt(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===On?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Y:return"Fragment";case $:return"Portal";case he:return"Profiler";case W:return"StrictMode";case C:return"Suspense";case pl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case pe:return(e.displayName||"Context")+".Provider";case V:return(e._context.displayName||"Context")+".Consumer";case le:var l=e.render;return e=e.displayName,e||(e=l.displayName||l.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case rt:return l=e.displayName||null,l!==null?l:Yt(e.type)||"Memo";case je:l=e._payload,e=e._init;try{return Yt(e(l))}catch{}}return null}var R=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=Object.assign,yl,Ma;function mt(e){if(yl===void 0)try{throw Error()}catch(t){var l=t.stack.trim().match(/\n( *(at )?)/);yl=l&&l[1]||"",Ma=-1<t.stack.indexOf(`
2025-04-22 16:39:45 +08:00
at`)?" (<anonymous>)":-1<t.stack.indexOf("@")?"@unknown:0:0":""}return`
2025-04-28 03:00:23 +08:00
`+yl+e+Ma}var ht=!1;function gt(e,l){if(!e||ht)return"";ht=!0;var t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(l){var T=function(){throw Error()};if(Object.defineProperty(T.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(T,[])}catch(y){var p=y}Reflect.construct(e,[],T)}else{try{T.call()}catch(y){p=y}e.call(T.prototype)}}else{try{throw Error()}catch(y){p=y}(T=e())&&typeof T.catch=="function"&&T.catch(function(){})}}catch(y){if(y&&p&&typeof y.stack=="string")return[y.stack,p.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=a.DetermineComponentFrameRoot(),i=u[0],c=u[1];if(i&&c){var s=i.split(`
`),f=c.split(`
`);for(n=a=0;a<s.length&&!s[a].includes("DetermineComponentFrameRoot");)a++;for(;n<f.length&&!f[n].includes("DetermineComponentFrameRoot");)n++;if(a===s.length||n===f.length)for(a=s.length-1,n=f.length-1;1<=a&&0<=n&&s[a]!==f[n];)n--;for(;1<=a&&0<=n;a--,n--)if(s[a]!==f[n]){if(a!==1||n!==1)do if(a--,n--,0>n||s[a]!==f[n]){var v=`
`+s[a].replace(" at new "," at ");return e.displayName&&v.includes("<anonymous>")&&(v=v.replace("<anonymous>",e.displayName)),v}while(1<=a&&0<=n);break}}}finally{ht=!1,Error.prepareStackTrace=t}return(t=e?e.displayName||e.name:"")?mt(t):""}function A(e){switch(e.tag){case 26:case 27:case 5:return mt(e.type);case 16:return mt("Lazy");case 13:return mt("Suspense");case 19:return mt("SuspenseList");case 0:case 15:return e=gt(e.type,!1),e;case 11:return e=gt(e.type.render,!1),e;case 1:return e=gt(e.type,!0),e;default:return""}}function L(e){try{var l="";do l+=A(e),e=e.return;while(e);return l}catch(t){return`
2025-04-22 16:39:45 +08:00
Error generating stack: `+t.message+`
2025-05-11 12:44:50 +08:00
`+t.stack}}function U(e){var l=e,t=e;if(e.alternate)for(;l.return;)l=l.return;else{e=l;do l=e,l.flags&4098&&(t=l.return),e=l.return;while(e)}return l.tag===3?t:null}function te(e){if(e.tag===13){var l=e.memoizedState;if(l===null&&(e=e.alternate,e!==null&&(l=e.memoizedState)),l!==null)return l.dehydrated}return null}function oe(e){if(U(e)!==e)throw Error(d(188))}function Xt(e){var l=e.alternate;if(!l){if(l=U(e),l===null)throw Error(d(188));return l!==e?null:e}for(var t=e,a=l;;){var n=t.return;if(n===null)break;var u=n.alternate;if(u===null){if(a=n.return,a!==null){t=a;continue}break}if(n.child===u.child){for(u=n.child;u;){if(u===t)return oe(n),e;if(u===a)return oe(n),l;u=u.sibling}throw Error(d(188))}if(t.return!==a.return)t=n,a=u;else{for(var i=!1,c=n.child;c;){if(c===t){i=!0,t=n,a=u;break}if(c===a){i=!0,a=n,t=u;break}c=c.sibling}if(!i){for(c=u.child;c;){if(c===t){i=!0,t=u,a=n;break}if(c===a){i=!0,a=u,t=n;break}c=c.sibling}if(!i)throw Error(d(189))}}if(t.alternate!==a)throw Error(d(190))}if(t.tag!==3)throw Error(d(188));return t.stateNode.current===t?e:l}function pt(e){var l=e.tag;if(l===5||l===26||l===27||l===6)return e;for(e=e.child;e!==null;){if(l=pt(e),l!==null)return l;e=e.sibling}return null}var vl=Array.isArray,w=x.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,we={pending:!1,data:null,method:null,action:null},Ku=[],Vt=-1;function sl(e){return{current:e}}function be(e){0>Vt||(e.current=Ku[Vt],Ku[Vt]=null,Vt--)}function ae(e,l){Vt++,Ku[Vt]=e.current,e.current=l}var ol=sl(null),za=sl(null),Gl=sl(null),jn=sl(null);function Rn(e,l){switch(ae(Gl,l),ae(za,e),ae(ol,null),e=l.nodeType,e){case 9:case 11:l=(l=l.documentElement)&&(l=l.namespaceURI)?xf(l):0;break;default:if(e=e===8?l.parentNode:l,l=e.tagName,e=e.namespaceURI)e=xf(e),l=Af(e,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}be(ol),ae(ol,l)}function Qt(){be(ol),be(za),be(Gl)}function Ju(e){e.memoizedState!==null&&ae(jn,e);var l=ol.current,t=Af(l,e.type);l!==t&&(ae(za,e),ae(ol,t))}function Un(e){za.current===e&&(be(ol),be(za)),jn.current===e&&(be(jn),Tn._currentValue=we)}var ku=Object.prototype.hasOwnProperty,Fu=g.unstable_scheduleCallback,$u=g.unstable_cancelCallback,Qd=g.unstable_shouldYield,wd=g.unstable_requestPaint,rl=g.unstable_now,Zd=g.unstable_getCurrentPriorityLevel,os=g.unstable_ImmediatePriority,rs=g.unstable_UserBlockingPriority,_n=g.unstable_NormalPriority,Kd=g.unstable_LowPriority,fs=g.unstable_IdlePriority,Jd=g.log,kd=g.unstable_setDisableYieldValue,Ca=null,He=null;function Fd(e){if(He&&typeof He.onCommitFiberRoot=="function")try{He.onCommitFiberRoot(Ca,e,void 0,(e.current.flags&128)===128)}catch{}}function Yl(e){if(typeof Jd=="function"&&kd(e),He&&typeof He.setStrictMode=="function")try{He.setStrictMode(Ca,e)}catch{}}var Le=Math.clz32?Math.clz32:Pd,$d=Math.log,Wd=Math.LN2;function Pd(e){return e>>>=0,e===0?32:31-($d(e)/Wd|0)|0}var Hn=128,Ln=4194304;function yt(e){var l=e&42;if(l!==0)return l;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function qn(e,l){var t=e.pendingLanes;if(t===0)return 0;var a=0,n=e.suspendedLanes,u=e.pingedLanes,i=e.warmLanes;e=e.finishedLanes!==0;var c=t&134217727;return c!==0?(t=c&~n,t!==0?a=yt(t):(u&=c,u!==0?a=yt(u):e||(i=c&~i,i!==0&&(a=yt(i))))):(c=t&~n,c!==0?a=yt(c):u!==0?a=yt(u):e||(i=t&~i,i!==0&&(a=yt(i)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,i=l&-l,n>=i||n===32&&(i&4194176)!==0)?l:a}function Oa(e,l){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&l)===0}function Id(e,l){switch(e){case 1:case 2:case 4:case 8:return l+250;case 16:case 32:case 64:case 128:case 256:case 512:case
`).replace(_h,"")}function Tf(e,l){return l=Sf(l),Sf(e)===l}function ju(){}function F(e,l,t,a,n,u){switch(t){case"children":typeof a=="string"?l==="body"||l==="textarea"&&a===""||Ft(e,a):(typeof a=="number"||typeof a=="bigint")&&l!=="body"&&Ft(e,""+a);break;case"className":Gn(e,"class",a);break;case"tabIndex":Gn(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":Gn(e,t,a);break;case"style":Cs(e,a,u);break;case"data":if(l!=="object"){Gn(e,"data",a);break}case"src":case"href":if(a===""&&(l!=="a"||t!=="href")){e.removeAttribute(t);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(t);break}a=Vn(""+a),e.setAttribute(t,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(t,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof u=="function"&&(t==="formAction"?(l!=="input"&&F(e,l,"name",n.name,n,null),F(e,l,"formEncType",n.formEncType,n,null),F(e,l,"formMethod",n.formMethod,n,null),F(e,l,"formTarget",n.formTarget,n,null)):(F(e,l,"encType",n.encType,n,null),F(e,l,"method",n.method,n,null),F(e,l,"target",n.target,n,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(t);break}a=Vn(""+a),e.setAttribute(t,a);break;case"onClick":a!=null&&(e.onclick=ju);break;case"onScroll":a!=null&&X("scroll",e);break;case"onScrollEnd":a!=null&&X("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(d(61));if(t=a.__html,t!=null){if(n.children!=null)throw Error(d(60));e.innerHTML=t}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}t=Vn(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(t,""+a):e.removeAttribute(t);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(t,""):e.removeAttribute(t);break;case"capture":case"download":a===!0?e.setAttribute(t,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(t,a):e.removeAttribute(t);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(t,a):e.removeAttribute(t);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(t):e.setAttribute(t,a);break;case"popover":X("beforetoggle",e),X("toggle",e),Bn(e,"popover",a);break;case"xlinkActuate":Sl(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sl(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sl(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sl(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sl(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sl(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sl(e,"http://www.w3.org/XML/1998/namespace","xml
2025-04-22 16:39:45 +08:00
You can add a description to the \`${Na}\` by passing a \`${Dd}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Na}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
2025-05-11 12:44:50 +08:00
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return E.useEffect(()=>{var d;document.getElementById((d=g.current)==null?void 0:d.getAttribute("aria-describedby"))||console.warn(b)},[b,g]),null},gp=vd,pp=bd,Cd=Sd,Od=Td,jd=Ed,Rd=zd,Ud=Ad,_d=Nd;const yp=gp,vp=pp,Hd=E.forwardRef(({className:g,...b},x)=>o.jsx(Cd,{className:Qe("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",g),...b,ref:x}));Hd.displayName=Cd.displayName;const Ld=E.forwardRef(({className:g,...b},x)=>o.jsxs(vp,{children:[o.jsx(Hd,{}),o.jsx(Od,{ref:x,className:Qe("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",g),...b})]}));Ld.displayName=Od.displayName;const qd=({className:g,...b})=>o.jsx("div",{className:Qe("flex flex-col space-y-2 text-center sm:text-left",g),...b});qd.displayName="AlertDialogHeader";const Bd=E.forwardRef(({className:g,...b},x)=>o.jsx(Ud,{ref:x,className:Qe("text-lg font-semibold",g),...b}));Bd.displayName=Ud.displayName;const Gd=E.forwardRef(({className:g,...b},x)=>o.jsx(_d,{ref:x,className:Qe("text-muted-foreground text-sm",g),...b}));Gd.displayName=_d.displayName;const bp=E.forwardRef(({className:g,...b},x)=>o.jsx(jd,{ref:x,className:Qe(od(),g),...b}));bp.displayName=jd.displayName;const Sp=E.forwardRef(({className:g,...b},x)=>o.jsx(Rd,{ref:x,className:Qe(od({variant:"outline"}),"mt-2 sm:mt-0",g),...b}));Sp.displayName=Rd.displayName;const Tp=({open:g,onOpenChange:b})=>{const{t:x}=ql(),d=Ve.use.apiKey(),[N,j]=E.useState(""),H=Gt.use.message();E.useEffect(()=>{j(d||"")},[d,g]),E.useEffect(()=>{H&&(H.includes(rd)||H.includes(fd))&&b(!0)},[H,b]);const $=E.useCallback(()=>{Ve.setState({apiKey:N||null}),b(!1)},[N,b]),Y=E.useCallback(W=>{j(W.target.value)},[j]);return o.jsx(yp,{open:g,onOpenChange:b,children:o.jsxs(Ld,{children:[o.jsxs(qd,{children:[o.jsx(Bd,{children:x("apiKeyAlert.title")}),o.jsx(Gd,{children:x("apiKeyAlert.description")})]}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("form",{className:"flex gap-2",onSubmit:W=>W.preventDefault(),children:[o.jsx(us,{type:"password",value:N,onChange:Y,placeholder:x("apiKeyAlert.placeholder"),className:"max-h-full w-full min-w-0",autoComplete:"off"}),o.jsx(Cn,{onClick:$,variant:"outline",size:"sm",children:x("apiKeyAlert.save")})]}),H&&o.jsx("div",{className:"text-sm text-red-500",children:H})]})]})})},xp=({status:g})=>{const{t:b}=ql();return g?o.jsxs("div",{className:"min-w-[300px] space-y-2 text-xs",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("h4",{className:"font-medium",children:b("graphPanel.statusCard.storageInfo")}),o.jsxs("div",{className:"text-foreground grid grid-cols-[120px_1fr] gap-1",children:[o.jsxs("span",{children:[b("graphPanel.statusCard.workingDirectory"),":"]}),o.jsx("span",{className:"truncate",children:g.working_directory}),o.jsxs("span",{children:[b("graphPanel.statusCard.inputDirectory"),":"]}),o.jsx("span",{className:"truncate",children:g.input_directory})]})]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("h4",{className:"font-medium",children:b("graphPanel.statusCard.llmConfig")}),o.jsxs("div",{className:"text-foreground grid grid-cols-[120px_1fr] gap-1",children:[o.jsxs("span",{children:[b("graphPanel.statusCard.llmBinding"),":"]}),o.jsx("span",{children:g.configuration.llm_binding}),o.jsxs("span",{children:[b("graphPanel.statusCard.llmBindingHost"),":"]}),o.jsx("span",{children:g.configuration.llm_binding_host}),o.jsxs("span",{children:[b("graphPanel.statusCard.llmModel"),":"]}),o.jsx("span",{children:g.configuration.llm_model}),o.jsxs("span",{children:[b("graphPanel.statusCard.maxTokens"),":"]}),o.jsx("span
2025-04-22 16:39:45 +08:00
{{error}}`,failed:`Clear Documents Failed:
{{message}}`,error:`Clear Documents Failed:
{{error}}`},uploadDocuments:{button:"Upload",tooltip:"Upload documents",title:"Upload Documents",description:"Drag and drop your documents here or click to browse.",single:{uploading:"Uploading {{name}}: {{percent}}%",success:`Upload Success:
{{name}} uploaded successfully`,failed:`Upload Failed:
{{name}}
{{message}}`,error:`Upload Failed:
{{name}}
{{error}}`},batch:{uploading:"Uploading files...",success:"Files uploaded successfully",error:"Some files failed to upload"},generalError:`Upload Failed
{{error}}`,fileTypes:"Supported types: TXT, MD, DOCX, PDF, PPTX, RTF, ODT, EPUB, HTML, HTM, TEX, JSON, XML, YAML, YML, CSV, LOG, CONF, INI, PROPERTIES, SQL, BAT, SH, C, CPP, PY, JAVA, JS, TS, SWIFT, GO, RB, PHP, CSS, SCSS, LESS",fileUploader:{singleFileLimit:"Cannot upload more than 1 file at a time",maxFilesLimit:"Cannot upload more than {{count}} files",fileRejected:"File {{name}} was rejected",unsupportedType:"Unsupported file type",fileTooLarge:"File too large, maximum size is {{maxSize}}",dropHere:"Drop the files here",dragAndDrop:"Drag and drop files here, or click to select files",removeFile:"Remove file",uploadDescription:"You can upload {{isMultiple ? 'multiple' : count}} files (up to {{maxSize}} each)",duplicateFile:"File name already exists in server cache"}},documentManager:{title:"Document Management",scanButton:"Scan",scanTooltip:"Scan documents in input folder",pipelineStatusButton:"Pipeline Status",pipelineStatusTooltip:"View pipeline status",uploadedTitle:"Uploaded Documents",uploadedDescription:"List of uploaded documents and their statuses.",emptyTitle:"No Documents",emptyDescription:"There are no uploaded documents yet.",columns:{id:"ID",summary:"Summary",status:"Status",length:"Length",chunks:"Chunks",created:"Created",updated:"Updated",metadata:"Metadata"},status:{all:"All",completed:"Completed",processing:"Processing",pending:"Pending",failed:"Failed"},errors:{loadFailed:`Failed to load documents
{{error}}`,scanFailed:`Failed to scan documents
{{error}}`,scanProgressFailed:`Failed to get scan progress
{{error}}`},fileNameLabel:"File Name",showButton:"Show",hideButton:"Hide",showFileNameTooltip:"Show file name",hideFileNameTooltip:"Hide file name"},pipelineStatus:{title:"Pipeline Status",busy:"Pipeline Busy",requestPending:"Request Pending",jobName:"Job Name",startTime:"Start Time",progress:"Progress",unit:"batch",latestMessage:"Latest Message",historyMessages:"History Messages",errors:{fetchFailed:`Failed to get pipeline status
2025-04-23 02:28:06 +08:00
{{error}}`}}},Gp={dataIsTruncated:"Graph data is truncated to Max Nodes",statusDialog:{title:"LightRAG Server Settings",description:"View current system status and connection information"},legend:"Legend",nodeTypes:{person:"Person",category:"Category",geo:"Geographic",location:"Location",organization:"Organization",event:"Event",equipment:"Equipment",weapon:"Weapon",animal:"Animal",unknown:"Unknown",object:"Object",group:"Group",technology:"Technology"},sideBar:{settings:{settings:"Settings",healthCheck:"Health Check",showPropertyPanel:"Show Property Panel",showSearchBar:"Show Search Bar",showNodeLabel:"Show Node Label",nodeDraggable:"Node Draggable",showEdgeLabel:"Show Edge Label",hideUnselectedEdges:"Hide Unselected Edges",edgeEvents:"Edge Events",maxQueryDepth:"Max Query Depth",maxNodes:"Max Nodes",maxLayoutIterations:"Max Layout Iterations",resetToDefault:"Reset to default",edgeSizeRange:"Edge Size Range",depth:"D",max:"Max",degree:"Degree",apiKey:"API Key",enterYourAPIkey:"Enter your API key",save:"Save",refreshLayout:"Refresh Layout"},zoomControl:{zoomIn:"Zoom In",zoomOut:"Zoom Out",resetZoom:"Reset Zoom",rotateCamera:"Clockwise Rotate",rotateCameraCounterClockwise:"Counter-Clockwise Rotate"},layoutsControl:{startAnimation:"Continue layout animation",stopAnimation:"Stop layout animation",layoutGraph:"Layout Graph",layouts:{Circular:"Circular",Circlepack:"Circlepack",Random:"Random",Noverlaps:"Noverlaps","Force Directed":"Force Directed","Force Atlas":"Force Atlas"}},fullScreenControl:{fullScreen:"Full Screen",windowed:"Windowed"},legendControl:{toggleLegend:"Toggle Legend"}},statusIndicator:{connected:"Connected",disconnected:"Disconnected"},statusCard:{unavailable:"Status information unavailable",storageInfo:"Storage Info",workingDirectory:"Working Directory",inputDirectory:"Input Directory",llmConfig:"LLM Configuration",llmBinding:"LLM Binding",llmBindingHost:"LLM Binding Host",llmModel:"LLM Model",maxTokens:"Max Tokens",embeddingConfig:"Embedding Configuration",embeddingBinding:"Embedding Binding",embeddingBindingHost:"Embedding Binding Host",embeddingModel:"Embedding Model",storageConfig:"Storage Configuration",kvStorage:"KV Storage",docStatusStorage:"Doc Status Storage",graphStorage:"Graph Storage",vectorStorage:"Vector Storage"},propertiesView:{editProperty:"Edit {{property}}",editPropertyDescription:"Edit the property value in the text area below.",errors:{duplicateName:"Node name already exists",updateFailed:"Failed to update node",tryAgainLater:"Please try again later"},success:{entityUpdated:"Node updated successfully",relationUpdated:"Relation updated successfully"},node:{title:"Node",id:"ID",labels:"Labels",degree:"Degree",properties:"Properties",relationships:"Relations(within subgraph)",expandNode:"Expand Node",pruneNode:"Prune Node",deleteAllNodesError:"Refuse to delete all nodes in the graph",nodesRemoved:"{{count}} nodes removed, including orphan nodes",noNewNodes:"No expandable nodes found",propertyNames:{description:"Description",entity_id:"Name",entity_type:"Type",source_id:"SrcID",Neighbour:"Neigh",file_path:"Source",keywords:"Keys",weight:"Weight"}},edge:{title:"Relationship",id:"ID",type:"Type",source:"Source",target:"Target",properties:"Properties"}},search:{placeholder:"Search nodes...",message:"And {count} others"},graphLabels:{selectTooltip:"Select query label",noLabels:"No labels found",label:"Label",placeholder:"Search labels...",andOthers:"And {count} others",refreshTooltip:"Reload data(After file added)"},emptyGraph:"Empty(Try Reload Again)"},Yp={chatMessage:{copyTooltip:"Copy to clipboard",copyError:"Failed to copy text to clipboard"},retrieval:{startPrompt:"Start a retrieval by typing your query below",clear:"Clear",send:"Send",placeholder:"Enter your query (Support prefix: /<Query Mode>)",error:"Error: Failed to get response",queryModeError:"Only supports the following query modes: {{modes}}",queryModePrefixInvalid:"Invalid query mode prefix. Use: /<mode> [space] your query"},querySettings:{parametersTitle:"Parameters",parametersDescription:"Configure your query parameters",queryM
2025-04-22 16:39:45 +08:00
Naive: Basic search without advanced techniques
Local: Context-dependent information retrieval
Global: Utilizes global knowledge base
Hybrid: Combines local and global retrieval
Mix: Integrates knowledge graph with vector retrieval
Bypass: Passes query directly to LLM without retrieval`,queryModeOptions:{naive:"Naive",local:"Local",global:"Global",hybrid:"Hybrid",mix:"Mix",bypass:"Bypass"},responseFormat:"Response Format",responseFormatTooltip:`Defines the response format. Examples:
Multiple Paragraphs
Single Paragraph
2025-05-11 12:44:50 +08:00
Bullet Points`,responseFormatOptions:{multipleParagraphs:"Multiple Paragraphs",singleParagraph:"Single Paragraph",bulletPoints:"Bullet Points"},topK:"Top K Results",topKTooltip:"Number of top items to retrieve. Represents entities in 'local' mode and relationships in 'global' mode",topKPlaceholder:"Number of results",maxTokensTextUnit:"Max Tokens for Text Unit",maxTokensTextUnitTooltip:"Maximum number of tokens allowed for each retrieved text chunk",maxTokensGlobalContext:"Max Tokens for Global Context",maxTokensGlobalContextTooltip:"Maximum number of tokens allocated for relationship descriptions in global retrieval",maxTokensLocalContext:"Max Tokens for Local Context",maxTokensLocalContextTooltip:"Maximum number of tokens allocated for entity descriptions in local retrieval",historyTurns:"History Turns",historyTurnsTooltip:"Number of complete conversation turns (user-assistant pairs) to consider in the response context",historyTurnsPlaceholder:"Number of history turns",onlyNeedContext:"Only Need Context",onlyNeedContextTooltip:"If True, only returns the retrieved context without generating a response",onlyNeedPrompt:"Only Need Prompt",onlyNeedPromptTooltip:"If True, only returns the generated prompt without producing a response",streamResponse:"Stream Response",streamResponseTooltip:"If True, enables streaming output for real-time responses",userPrompt:"User Prompt",userPromptTooltip:"Provide additional response requirements to the LLM (unrelated to query content, only for output processing).",userPromptPlaceholder:"Enter custom prompt (optional)"}},Xp={loading:"Loading API Documentation..."},Vp={title:"API Key is required",description:"Please enter your API key to access the service",placeholder:"Enter your API key",save:"Save"},Qp={settings:_p,header:Hp,login:Lp,common:qp,documentPanel:Bp,graphPanel:Gp,retrievePanel:Yp,apiSite:Xp,apiKeyAlert:Vp},wp={language:"语言",theme:"主题",light:"浅色",dark:"深色",system:"系统"},Zp={documents:"文档",knowledgeGraph:"知识图谱",retrieval:"检索",api:"API",projectRepository:"项目仓库",logout:"退出登录",themeToggle:{switchToLight:"切换到浅色主题",switchToDark:"切换到深色主题"}},Kp={description:"请输入您的账号和密码登录系统",username:"用户名",usernamePlaceholder:"请输入用户名",password:"密码",passwordPlaceholder:"请输入密码",loginButton:"登录",loggingIn:"登录中...",successMessage:"登录成功",errorEmptyFields:"请输入您的用户名和密码",errorInvalidCredentials:"登录失败,请检查用户名和密码",authDisabled:"认证已禁用,使用无需登陆模式。",guestMode:"无需登陆"},Jp={cancel:"取消",save:"保存",saving:"保存中...",saveFailed:"保存失败"},kp={clearDocuments:{button:"清空",tooltip:"清空文档",title:"清空文档",description:"此操作将从系统中移除所有文档",warning:"警告:此操作将永久删除所有文档,无法恢复!",confirm:"确定要清空所有文档吗?",confirmPrompt:"请输入 yes 确认操作",confirmPlaceholder:"输入 yes 确认",clearCache:"清空LLM缓存",confirmButton:"确定",success:"文档清空成功",cacheCleared:"缓存清空成功",cacheClearFailed:`清空缓存失败
2025-04-22 16:39:45 +08:00
{{error}}`,failed:`清空文档失败
{{message}}`,error:`清空文档失败
{{error}}`},uploadDocuments:{button:"上传",tooltip:"上传文档",title:"上传文档",description:"拖拽文件到此处或点击浏览",single:{uploading:"正在上传 {{name}}{{percent}}%",success:`上传成功
{{name}} 上传完成`,failed:`上传失败
{{name}}
{{message}}`,error:`上传失败
{{name}}
{{error}}`},batch:{uploading:"正在上传文件...",success:"文件上传完成",error:"部分文件上传失败"},generalError:`上传失败
{{error}}`,fileTypes:"支持的文件类型TXT, MD, DOCX, PDF, PPTX, RTF, ODT, EPUB, HTML, HTM, TEX, JSON, XML, YAML, YML, CSV, LOG, CONF, INI, PROPERTIES, SQL, BAT, SH, C, CPP, PY, JAVA, JS, TS, SWIFT, GO, RB, PHP, CSS, SCSS, LESS",fileUploader:{singleFileLimit:"一次只能上传一个文件",maxFilesLimit:"最多只能上传 {{count}} 个文件",fileRejected:"文件 {{name}} 被拒绝",unsupportedType:"不支持的文件类型",fileTooLarge:"文件过大,最大允许 {{maxSize}}",dropHere:"将文件拖放到此处",dragAndDrop:"拖放文件到此处,或点击选择文件",removeFile:"移除文件",uploadDescription:"您可以上传{{isMultiple ? '多个' : count}}个文件(每个文件最大{{maxSize}}",duplicateFile:"文件名与服务器上的缓存重复"}},documentManager:{title:"文档管理",scanButton:"扫描",scanTooltip:"扫描输入目录中的文档",pipelineStatusButton:"流水线状态",pipelineStatusTooltip:"查看流水线状态",uploadedTitle:"已上传文档",uploadedDescription:"已上传文档列表及其状态",emptyTitle:"无文档",emptyDescription:"还没有上传任何文档",columns:{id:"ID",summary:"摘要",status:"状态",length:"长度",chunks:"分块",created:"创建时间",updated:"更新时间",metadata:"元数据"},status:{all:"全部",completed:"已完成",processing:"处理中",pending:"等待中",failed:"失败"},errors:{loadFailed:`加载文档失败
{{error}}`,scanFailed:`扫描文档失败
{{error}}`,scanProgressFailed:`获取扫描进度失败
{{error}}`},fileNameLabel:"文件名",showButton:"显示",hideButton:"隐藏",showFileNameTooltip:"显示文件名",hideFileNameTooltip:"隐藏文件名"},pipelineStatus:{title:"流水线状态",busy:"流水线忙碌",requestPending:"待处理请求",jobName:"作业名称",startTime:"开始时间",progress:"进度",unit:"批",latestMessage:"最新消息",historyMessages:"历史消息",errors:{fetchFailed:`获取流水线状态失败
2025-04-23 02:28:06 +08:00
{{error}}`}}},Fp={dataIsTruncated:"图数据已截断至最大返回节点数",statusDialog:{title:"LightRAG 服务器设置",description:"查看当前系统状态和连接信息"},legend:"图例",nodeTypes:{person:"人物角色",category:"分类",geo:"地理名称",location:"位置",organization:"组织机构",event:"事件",equipment:"装备",weapon:"武器",animal:"动物",unknown:"未知",object:"物品",group:"群组",technology:"技术"},sideBar:{settings:{settings:"设置",healthCheck:"健康检查",showPropertyPanel:"显示属性面板",showSearchBar:"显示搜索栏",showNodeLabel:"显示节点标签",nodeDraggable:"节点可拖动",showEdgeLabel:"显示边标签",hideUnselectedEdges:"隐藏未选中的边",edgeEvents:"边事件",maxQueryDepth:"最大查询深度",maxNodes:"最大返回节点数",maxLayoutIterations:"最大布局迭代次数",resetToDefault:"重置为默认值",edgeSizeRange:"边粗细范围",depth:"深",max:"Max",degree:"邻边",apiKey:"API密钥",enterYourAPIkey:"输入您的API密钥",save:"保存",refreshLayout:"刷新布局"},zoomControl:{zoomIn:"放大",zoomOut:"缩小",resetZoom:"重置缩放",rotateCamera:"顺时针旋转图形",rotateCameraCounterClockwise:"逆时针旋转图形"},layoutsControl:{startAnimation:"继续布局动画",stopAnimation:"停止布局动画",layoutGraph:"图布局",layouts:{Circular:"环形",Circlepack:"圆形打包",Random:"随机",Noverlaps:"无重叠","Force Directed":"力导向","Force Atlas":"力地图"}},fullScreenControl:{fullScreen:"全屏",windowed:"窗口"},legendControl:{toggleLegend:"切换图例显示"}},statusIndicator:{connected:"已连接",disconnected:"未连接"},statusCard:{unavailable:"状态信息不可用",storageInfo:"存储信息",workingDirectory:"工作目录",inputDirectory:"输入目录",llmConfig:"LLM配置",llmBinding:"LLM绑定",llmBindingHost:"LLM绑定主机",llmModel:"LLM模型",maxTokens:"最大令牌数",embeddingConfig:"嵌入配置",embeddingBinding:"嵌入绑定",embeddingBindingHost:"嵌入绑定主机",embeddingModel:"嵌入模型",storageConfig:"存储配置",kvStorage:"KV存储",docStatusStorage:"文档状态存储",graphStorage:"图存储",vectorStorage:"向量存储"},propertiesView:{editProperty:"编辑{{property}}",editPropertyDescription:"在下方文本区域编辑属性值。",errors:{duplicateName:"节点名称已存在",updateFailed:"更新节点失败",tryAgainLater:"请稍后重试"},success:{entityUpdated:"节点更新成功",relationUpdated:"关系更新成功"},node:{title:"节点",id:"ID",labels:"标签",degree:"度数",properties:"属性",relationships:"关系(子图内)",expandNode:"扩展节点",pruneNode:"修剪节点",deleteAllNodesError:"拒绝删除图中的所有节点",nodesRemoved:"已删除 {{count}} 个节点,包括孤立节点",noNewNodes:"没有发现可以扩展的节点",propertyNames:{description:"描述",entity_id:"名称",entity_type:"类型",source_id:"信源ID",Neighbour:"邻接",file_path:"信源",keywords:"Keys",weight:"权重"}},edge:{title:"关系",id:"ID",type:"类型",source:"源节点",target:"目标节点",properties:"属性"}},search:{placeholder:"搜索节点...",message:"还有 {count} 个"},graphLabels:{selectTooltip:"选择查询标签",noLabels:"未找到标签",label:"标签",placeholder:"搜索标签...",andOthers:"还有 {count} 个",refreshTooltip:"重载图形数据(添加文件后需重载)"},emptyGraph:"无数据(请重载图形数据)"},$p={chatMessage:{copyTooltip:"复制到剪贴板",copyError:"复制文本到剪贴板失败"},retrieval:{startPrompt:"输入查询开始检索",clear:"清空",send:"发送",placeholder:"输入查询内容 (支持模式前缀: /<Query Mode>)",error:"错误:获取响应失败",queryModeError:"仅支持以下查询模式:{{modes}}",queryModePrefixInvalid:"无效的查询模式前缀。请使用:/<模式> [空格] 查询内容"},querySettings:{parametersTitle:"参数",parametersDescription:"配置查询参数",queryMode:"查询模式",queryModeTooltip:`选择检索策略
2025-04-22 16:39:45 +08:00
Naive基础搜索无高级技术
Local上下文相关信息检索
Global利用全局知识库
Hybrid结合本地和全局检索
Mix整合知识图谱和向量检索
Bypass直接传递查询到LLM不进行检索`,queryModeOptions:{naive:"Naive",local:"Local",global:"Global",hybrid:"Hybrid",mix:"Mix",bypass:"Bypass"},responseFormat:"响应格式",responseFormatTooltip:`定义响应格式例如
多段落
单段落
2025-05-11 12:44:50 +08:00
要点`,responseFormatOptions:{multipleParagraphs:"多段落",singleParagraph:"单段落",bulletPoints:"要点"},topK:"Top K结果",topKTooltip:"检索的顶部项目数。在'local'模式下表示实体,在'global'模式下表示关系",topKPlaceholder:"结果数量",maxTokensTextUnit:"文本单元最大令牌数",maxTokensTextUnitTooltip:"每个检索文本块允许的最大令牌数",maxTokensGlobalContext:"全局上下文最大令牌数",maxTokensGlobalContextTooltip:"全局检索中关系描述的最大令牌数",maxTokensLocalContext:"本地上下文最大令牌数",maxTokensLocalContextTooltip:"本地检索中实体描述的最大令牌数",historyTurns:"历史轮次",historyTurnsTooltip:"响应上下文中考虑的完整对话轮次(用户-助手对)数量",historyTurnsPlaceholder:"历史轮次数",onlyNeedContext:"仅需上下文",onlyNeedContextTooltip:"如果为True仅返回检索到的上下文而不生成响应",onlyNeedPrompt:"仅需提示",onlyNeedPromptTooltip:"如果为True仅返回生成的提示而不产生响应",streamResponse:"流式响应",streamResponseTooltip:"如果为True启用实时流式输出响应",userPrompt:"用户提示词",userPromptTooltip:"向LLM提供额外的响应要求与查询内容无关仅用于处理输出。",userPromptPlaceholder:"输入自定义提示词(可选)"}},Wp={loading:"正在加载 API 文档..."},Pp={title:"需要 API Key",description:"请输入您的 API Key 以访问服务",placeholder:"请输入 API Key",save:"保存"},Ip={settings:wp,header:Zp,login:Kp,common:Jp,documentPanel:kp,graphPanel:Fp,retrievePanel:$p,apiSite:Wp,apiKeyAlert:Pp},ey={language:"Langue",theme:"Thème",light:"Clair",dark:"Sombre",system:"Système"},ly={documents:"Documents",knowledgeGraph:"Graphe de connaissances",retrieval:"Récupération",api:"API",projectRepository:"Référentiel du projet",logout:"Déconnexion",themeToggle:{switchToLight:"Passer au thème clair",switchToDark:"Passer au thème sombre"}},ty={description:"Veuillez entrer votre compte et mot de passe pour vous connecter au système",username:"Nom d'utilisateur",usernamePlaceholder:"Veuillez saisir un nom d'utilisateur",password:"Mot de passe",passwordPlaceholder:"Veuillez saisir un mot de passe",loginButton:"Connexion",loggingIn:"Connexion en cours...",successMessage:"Connexion réussie",errorEmptyFields:"Veuillez saisir votre nom d'utilisateur et mot de passe",errorInvalidCredentials:"Échec de la connexion, veuillez vérifier le nom d'utilisateur et le mot de passe",authDisabled:"L'authentification est désactivée. Utilisation du mode sans connexion.",guestMode:"Mode sans connexion"},ay={cancel:"Annuler",save:"Sauvegarder",saving:"Sauvegarde en cours...",saveFailed:"Échec de la sauvegarde"},ny={clearDocuments:{button:"Effacer",tooltip:"Effacer les documents",title:"Effacer les documents",description:"Cette action supprimera tous les documents du système",warning:"ATTENTION : Cette action supprimera définitivement tous les documents et ne peut pas être annulée !",confirm:"Voulez-vous vraiment effacer tous les documents ?",confirmPrompt:"Tapez 'yes' pour confirmer cette action",confirmPlaceholder:"Tapez yes pour confirmer",clearCache:"Effacer le cache LLM",confirmButton:"OUI",success:"Documents effacés avec succès",cacheCleared:"Cache effacé avec succès",cacheClearFailed:`Échec de l'effacement du cache :
2025-04-22 16:39:45 +08:00
{{error}}`,failed:`Échec de l'effacement des documents :
{{message}}`,error:`Échec de l'effacement des documents :
{{error}}`},uploadDocuments:{button:"Télécharger",tooltip:"Télécharger des documents",title:"Télécharger des documents",description:"Glissez-déposez vos documents ici ou cliquez pour parcourir.",single:{uploading:"Téléchargement de {{name}} : {{percent}}%",success:`Succès du téléchargement :
{{name}} téléchargé avec succès`,failed:`Échec du téléchargement :
{{name}}
{{message}}`,error:`Échec du téléchargement :
{{name}}
{{error}}`},batch:{uploading:"Téléchargement des fichiers...",success:"Fichiers téléchargés avec succès",error:"Certains fichiers n'ont pas pu être téléchargés"},generalError:`Échec du téléchargement
{{error}}`,fileTypes:"Types pris en charge : TXT, MD, DOCX, PDF, PPTX, RTF, ODT, EPUB, HTML, HTM, TEX, JSON, XML, YAML, YML, CSV, LOG, CONF, INI, PROPERTIES, SQL, BAT, SH, C, CPP, PY, JAVA, JS, TS, SWIFT, GO, RB, PHP, CSS, SCSS, LESS",fileUploader:{singleFileLimit:"Impossible de télécharger plus d'un fichier à la fois",maxFilesLimit:"Impossible de télécharger plus de {{count}} fichiers",fileRejected:"Le fichier {{name}} a été rejeté",unsupportedType:"Type de fichier non pris en charge",fileTooLarge:"Fichier trop volumineux, taille maximale {{maxSize}}",dropHere:"Déposez les fichiers ici",dragAndDrop:"Glissez et déposez les fichiers ici, ou cliquez pour sélectionner",removeFile:"Supprimer le fichier",uploadDescription:"Vous pouvez télécharger {{isMultiple ? 'plusieurs' : count}} fichiers (jusqu'à {{maxSize}} chacun)",duplicateFile:"Le nom du fichier existe déjà dans le cache du serveur"}},documentManager:{title:"Gestion des documents",scanButton:"Scanner",scanTooltip:"Scanner les documents dans le dossier d'entrée",pipelineStatusButton:"État du Pipeline",pipelineStatusTooltip:"Voir l'état du pipeline",uploadedTitle:"Documents téléchargés",uploadedDescription:"Liste des documents téléchargés et leurs statuts.",emptyTitle:"Aucun document",emptyDescription:"Il n'y a pas encore de documents téléchargés.",columns:{id:"ID",summary:"Résumé",status:"Statut",length:"Longueur",chunks:"Fragments",created:"Créé",updated:"Mis à jour",metadata:"Métadonnées"},status:{all:"Tous",completed:"Terminé",processing:"En traitement",pending:"En attente",failed:"Échoué"},errors:{loadFailed:`Échec du chargement des documents
{{error}}`,scanFailed:`Échec de la numérisation des documents
{{error}}`,scanProgressFailed:`Échec de l'obtention de la progression de la numérisation
{{error}}`},fileNameLabel:"Nom du fichier",showButton:"Afficher",hideButton:"Masquer",showFileNameTooltip:"Afficher le nom du fichier",hideFileNameTooltip:"Masquer le nom du fichier"},pipelineStatus:{title:"État du Pipeline",busy:"Pipeline occupé",requestPending:"Requête en attente",jobName:"Nom du travail",startTime:"Heure de début",progress:"Progression",unit:"lot",latestMessage:"Dernier message",historyMessages:"Historique des messages",errors:{fetchFailed:`Échec de la récupération de l'état du pipeline
2025-04-23 02:28:06 +08:00
{{error}}`}}},uy={dataIsTruncated:"Les données du graphe sont tronquées au nombre maximum de nœuds",statusDialog:{title:"Paramètres du Serveur LightRAG",description:"Afficher l'état actuel du système et les informations de connexion"},legend:"Légende",nodeTypes:{person:"Personne",category:"Catégorie",geo:"Géographique",location:"Emplacement",organization:"Organisation",event:"Événement",equipment:"Équipement",weapon:"Arme",animal:"Animal",unknown:"Inconnu",object:"Objet",group:"Groupe",technology:"Technologie"},sideBar:{settings:{settings:"Paramètres",healthCheck:"Vérification de l'état",showPropertyPanel:"Afficher le panneau des propriétés",showSearchBar:"Afficher la barre de recherche",showNodeLabel:"Afficher l'étiquette du nœud",nodeDraggable:"Nœud déplaçable",showEdgeLabel:"Afficher l'étiquette de l'arête",hideUnselectedEdges:"Masquer les arêtes non sélectionnées",edgeEvents:"Événements des arêtes",maxQueryDepth:"Profondeur maximale de la requête",maxNodes:"Nombre maximum de nœuds",maxLayoutIterations:"Itérations maximales de mise en page",resetToDefault:"Réinitialiser par défaut",edgeSizeRange:"Plage de taille des arêtes",depth:"D",max:"Max",degree:"Degré",apiKey:"Clé API",enterYourAPIkey:"Entrez votre clé API",save:"Sauvegarder",refreshLayout:"Actualiser la mise en page"},zoomControl:{zoomIn:"Zoom avant",zoomOut:"Zoom arrière",resetZoom:"Réinitialiser le zoom",rotateCamera:"Rotation horaire",rotateCameraCounterClockwise:"Rotation antihoraire"},layoutsControl:{startAnimation:"Démarrer l'animation de mise en page",stopAnimation:"Arrêter l'animation de mise en page",layoutGraph:"Mettre en page le graphe",layouts:{Circular:"Circulaire",Circlepack:"Paquet circulaire",Random:"Aléatoire",Noverlaps:"Sans chevauchement","Force Directed":"Dirigé par la force","Force Atlas":"Atlas de force"}},fullScreenControl:{fullScreen:"Plein écran",windowed:"Fenêtré"},legendControl:{toggleLegend:"Basculer la légende"}},statusIndicator:{connected:"Connecté",disconnected:"Déconnecté"},statusCard:{unavailable:"Informations sur l'état indisponibles",storageInfo:"Informations de stockage",workingDirectory:"Répertoire de travail",inputDirectory:"Répertoire d'entrée",llmConfig:"Configuration du modèle de langage",llmBinding:"Liaison du modèle de langage",llmBindingHost:"Hôte de liaison du modèle de langage",llmModel:"Modèle de langage",maxTokens:"Nombre maximum de jetons",embeddingConfig:"Configuration d'incorporation",embeddingBinding:"Liaison d'incorporation",embeddingBindingHost:"Hôte de liaison d'incorporation",embeddingModel:"Modèle d'incorporation",storageConfig:"Configuration de stockage",kvStorage:"Stockage clé-valeur",docStatusStorage:"Stockage de l'état des documents",graphStorage:"Stockage du graphe",vectorStorage:"Stockage vectoriel"},propertiesView:{editProperty:"Modifier {{property}}",editPropertyDescription:"Modifiez la valeur de la propriété dans la zone de texte ci-dessous.",errors:{duplicateName:"Le nom du nœud existe déjà",updateFailed:"Échec de la mise à jour du nœud",tryAgainLater:"Veuillez réessayer plus tard"},success:{entityUpdated:"Nœud mis à jour avec succès",relationUpdated:"Relation mise à jour avec succès"},node:{title:"Nœud",id:"ID",labels:"Étiquettes",degree:"Degré",properties:"Propriétés",relationships:"Relations(dans le sous-graphe)",expandNode:"Développer le nœud",pruneNode:"Élaguer le nœud",deleteAllNodesError:"Refus de supprimer tous les nœuds du graphe",nodesRemoved:"{{count}} nœuds supprimés, y compris les nœuds orphelins",noNewNodes:"Aucun nœud développable trouvé",propertyNames:{description:"Description",entity_id:"Nom",entity_type:"Type",source_id:"ID source",Neighbour:"Voisin",file_path:"Source",keywords:"Keys",weight:"Poids"}},edge:{title:"Relation",id:"ID",type:"Type",source:"Source",target:"Cible",properties:"Propriétés"}},search:{placeholder:"Rechercher des nœuds...",message:"Et {{count}} autres"},graphLabels:{selectTooltip:"Sélectionner l'étiquette de la requête",noLabels:"Aucune étiquette trouvée
2025-04-22 16:39:45 +08:00
Naïf : Recherche de base sans techniques avancées
Local : Récupération d'informations dépendante du contexte
Global : Utilise une base de connaissances globale
Hybride : Combine récupération locale et globale
Mixte : Intègre le graphe de connaissances avec la récupération vectorielle
Bypass : Transmet directement la requête au LLM sans récupération`,queryModeOptions:{naive:"Naïf",local:"Local",global:"Global",hybrid:"Hybride",mix:"Mixte",bypass:"Bypass"},responseFormat:"Format de réponse",responseFormatTooltip:`Définit le format de la réponse. Exemples :
Plusieurs paragraphes
Paragraphe unique
2025-05-11 12:44:50 +08:00
Points à puces`,responseFormatOptions:{multipleParagraphs:"Plusieurs paragraphes",singleParagraph:"Paragraphe unique",bulletPoints:"Points à puces"},topK:"Top K résultats",topKTooltip:"Nombre d'éléments supérieurs à récupérer. Représente les entités en mode 'local' et les relations en mode 'global'",topKPlaceholder:"Nombre de résultats",maxTokensTextUnit:"Nombre maximum de jetons pour l'unité de texte",maxTokensTextUnitTooltip:"Nombre maximum de jetons autorisés pour chaque fragment de texte récupéré",maxTokensGlobalContext:"Nombre maximum de jetons pour le contexte global",maxTokensGlobalContextTooltip:"Nombre maximum de jetons alloués pour les descriptions des relations dans la récupération globale",maxTokensLocalContext:"Nombre maximum de jetons pour le contexte local",maxTokensLocalContextTooltip:"Nombre maximum de jetons alloués pour les descriptions des entités dans la récupération locale",historyTurns:"Tours d'historique",historyTurnsTooltip:"Nombre de tours complets de conversation (paires utilisateur-assistant) à prendre en compte dans le contexte de la réponse",historyTurnsPlaceholder:"Nombre de tours d'historique",onlyNeedContext:"Besoin uniquement du contexte",onlyNeedContextTooltip:"Si vrai, ne renvoie que le contexte récupéré sans générer de réponse",onlyNeedPrompt:"Besoin uniquement de l'invite",onlyNeedPromptTooltip:"Si vrai, ne renvoie que l'invite générée sans produire de réponse",streamResponse:"Réponse en flux",streamResponseTooltip:"Si vrai, active la sortie en flux pour des réponses en temps réel",userPrompt:"Invite personnalisée",userPromptTooltip:"Fournir des exigences de réponse supplémentaires au LLM (sans rapport avec le contenu de la requête, uniquement pour le traitement de sortie).",userPromptPlaceholder:"Entrez une invite personnalisée (facultatif)"}},cy={loading:"Chargement de la documentation de l'API..."},sy={title:"Clé API requise",description:"Veuillez entrer votre clé API pour accéder au service",placeholder:"Entrez votre clé API",save:"Sauvegarder"},oy={settings:ey,header:ly,login:ty,common:ay,documentPanel:ny,graphPanel:uy,retrievePanel:iy,apiSite:cy,apiKeyAlert:sy},ry={language:"اللغة",theme:"السمة",light:"فاتح",dark:"داكن",system:"النظام"},fy={documents:"المستندات",knowledgeGraph:"شبكة المعرفة",retrieval:"الاسترجاع",api:"واجهة برمجة التطبيقات",projectRepository:"مستودع المشروع",logout:"تسجيل الخروج",themeToggle:{switchToLight:"التحويل إلى السمة الفاتحة",switchToDark:"التحويل إلى السمة الداكنة"}},dy={description:"الرجاء إدخال حسابك وكلمة المرور لتسجيل الدخول إلى النظام",username:"اسم المستخدم",usernamePlaceholder:"الرجاء إدخال اسم المستخدم",password:"كلمة المرور",passwordPlaceholder:"الرجاء إدخال كلمة المرور",loginButton:"تسجيل الدخول",loggingIn:"جاري تسجيل الدخول...",successMessage:"تم تسجيل الدخول بنجاح",errorEmptyFields:"الرجاء إدخال اسم المستخدم وكلمة المرور",errorInvalidCredentials:"فشل تسجيل الدخول، يرجى التحقق من اسم المستخدم وكلمة المرور",authDisabled:"تم تعطيل المصادقة. استخدام وضع بدون تسجيل دخول.",guestMode:"وضع بدون تسجيل دخول"},my={cancel:"إلغاء",save:"حفظ",saving:"جارٍ الحفظ...",saveFailed:"فشل الحفظ"},hy={clearDocuments:{button:"مسح",tooltip:"مسح المستندات",title:"مسح المستندات",description:"سيؤدي هذا إلى إزالة جميع المستندات من النظام",warning:"تحذير: سيؤدي هذا الإجراء إلى حذف جميع المستندات بشكل دائم ولا يمكن التراجع عنه!",confirm:"هل تريد حقًا مسح جميع المستندات؟",confirmPrompt:"اكتب 'yes' لتأكيد هذ<D987>
2025-04-22 16:39:45 +08:00
{{error}}`,failed:`فشل مسح المستندات:
{{message}}`,error:`فشل مسح المستندات:
{{error}}`},uploadDocuments:{button:"رفع",tooltip:"رفع المستندات",title:"رفع المستندات",description:"اسحب وأفلت مستنداتك هنا أو انقر للتصفح.",single:{uploading:"جارٍ الرفع {{name}}: {{percent}}%",success:`نجاح الرفع:
تم رفع {{name}} بنجاح`,failed:`فشل الرفع:
{{name}}
{{message}}`,error:`فشل الرفع:
{{name}}
{{error}}`},batch:{uploading:"جارٍ رفع الملفات...",success:"تم رفع الملفات بنجاح",error:"فشل رفع بعض الملفات"},generalError:`فشل الرفع
{{error}}`,fileTypes:"الأنواع المدعومة: TXT، MD، DOCX، PDF، PPTX، RTF، ODT، EPUB، HTML، HTM، TEX، JSON، XML، YAML، YML، CSV، LOG، CONF، INI، PROPERTIES، SQL، BAT، SH، C، CPP، PY، JAVA، JS، TS، SWIFT، GO، RB، PHP، CSS، SCSS، LESS",fileUploader:{singleFileLimit:"لا يمكن رفع أكثر من ملف واحد في المرة الواحدة",maxFilesLimit:"لا يمكن رفع أكثر من {{count}} ملفات",fileRejected:"تم رفض الملف {{name}}",unsupportedType:"نوع الملف غير مدعوم",fileTooLarge:"حجم الملف كبير جدًا، الحد الأقصى {{maxSize}}",dropHere:"أفلت الملفات هنا",dragAndDrop:"اسحب وأفلت الملفات هنا، أو انقر للاختيار",removeFile:"إزالة الملف",uploadDescription:"يمكنك رفع {{isMultiple ? 'عدة' : count}} ملفات (حتى {{maxSize}} لكل منها)",duplicateFile:"اسم الملف موجود بالفعل في ذاكرة التخزين المؤقت للخادم"}},documentManager:{title:"إدارة المستندات",scanButton:"مسح ضوئي",scanTooltip:"مسح المستندات ضوئيًا في مجلد الإدخال",pipelineStatusButton:"حالة خط المعالجة",pipelineStatusTooltip:"عرض حالة خط المعالجة",uploadedTitle:"المستندات المرفوعة",uploadedDescription:"قائمة المستندات المرفوعة وحالاتها.",emptyTitle:"لا توجد مستندات",emptyDescription:"لا توجد مستندات مرفوعة بعد.",columns:{id:"المعرف",summary:"الملخص",status:"الحالة",length:"الطول",chunks:"الأجزاء",created:"تم الإنشاء",updated:"تم التحديث",metadata:"البيانات الوصفية"},status:{all:"الكل",completed:"مكتمل",processing:"قيد المعالجة",pending:"معلق",failed:"فشل"},errors:{loadFailed:`فشل تحميل المستندات
{{error}}`,scanFailed:`فشل مسح المستندات
{{error}}`,scanProgressFailed:`فشل الحصول على تقدم المسح
{{error}}`},fileNameLabel:"اسم الملف",showButton:"عرض",hideButton:"إخفاء",showFileNameTooltip:"عرض اسم الملف",hideFileNameTooltip:"إخفاء اسم الملف"},pipelineStatus:{title:"حالة خط المعالجة",busy:"خط المعالجة مشغول",requestPending:"الطلب معلق",jobName:"اسم المهمة",startTime:"وقت البدء",progress:"التقدم",unit:"دفعة",latestMessage:"آخر رسالة",historyMessages:"سجل الرسائل",errors:{fetchFailed:`فشل في جلب حالة خط المعالجة
2025-04-23 02:28:06 +08:00
{{error}}`}}},gy={dataIsTruncated:"تم اقتصار بيانات الرسم البياني على الحد الأقصى للعقد",statusDialog:{title:"إعدادات خادم LightRAG",description:"عرض حالة النظام الحالية ومعلومات الاتصال"},legend:"المفتاح",nodeTypes:{person:"شخص",category:"فئة",geo:"كيان جغرافي",location:"موقع",organization:"منظمة",event:"حدث",equipment:"معدات",weapon:"سلاح",animal:"حيوان",unknown:"غير معروف",object:"مصنوع",group:"مجموعة",technology:"العلوم"},sideBar:{settings:{settings:"الإعدادات",healthCheck:"فحص الحالة",showPropertyPanel:"إظهار لوحة الخصائص",showSearchBar:"إظهار شريط البحث",showNodeLabel:"إظهار تسمية العقدة",nodeDraggable:"العقدة قابلة للسحب",showEdgeLabel:"إظهار تسمية الحافة",hideUnselectedEdges:"إخفاء الحواف غير المحددة",edgeEvents:"أحداث الحافة",maxQueryDepth:"أقصى عمق للاستعلام",maxNodes:"الحد الأقصى للعقد",maxLayoutIterations:"أقصى تكرارات التخطيط",resetToDefault:"إعادة التعيين إلى الافتراضي",edgeSizeRange:"نطاق حجم الحافة",depth:"D",max:"Max",degree:"الدرجة",apiKey:"مفتاح واجهة برمجة التطبيقات",enterYourAPIkey:"أدخل مفتاح واجهة برمجة التطبيقات الخاص بك",save:"حفظ",refreshLayout:"تحديث التخطيط"},zoomControl:{zoomIn:"تكبير",zoomOut:"تصغير",resetZoom:"إعادة تعيين التكبير",rotateCamera:"تدوير في اتجاه عقارب الساعة",rotateCameraCounterClockwise:"تدوير عكس اتجاه عقارب الساعة"},layoutsControl:{startAnimation:"بدء حركة التخطيط",stopAnimation:"إيقاف حركة التخطيط",layoutGraph:"تخطيط الرسم البياني",layouts:{Circular:"دائري",Circlepack:"حزمة دائرية",Random:"عشوائي",Noverlaps:"بدون تداخل","Force Directed":"موجه بالقوة","Force Atlas":"أطلس القوة"}},fullScreenControl:{fullScreen:"شاشة كاملة",windowed:"نوافذ"},legendControl:{toggleLegend:"تبديل المفتاح"}},statusIndicator:{connected:"متصل",disconnected:"غير متصل"},statusCard:{unavailable:"معلومات الحالة غير متوفرة",storageInfo:"معلومات التخزين",workingDirectory:"دليل العمل",inputDirectory:"دليل الإدخال",llmConfig:"تكوين نموذج اللغة الكبير",llmBinding:"ربط نموذج اللغة الكبير",llmBindingHost:"مضيف ربط نموذج اللغة الكبير",llmModel:"نموذج اللغة الكبير",maxTokens:"أقصى عدد من الرموز",embeddingConfig:"تكوين التضمين",embeddingBinding:"ربط التضمين",embeddingBindingHost:"مضيف ربط التضمين",embeddingModel:"نموذج التضمين",storageConfig:"تكوين التخزين",kvStorage:"تخزين المفتاح-القيمة",docStatusStorage:"تخزين حالة المستند",graphStorage:"تخزين الرسم البياني",vectorStorage:"تخزين المتجهات"},propertiesView:{editProperty:"تعديل {{property}}",editPropertyDescription:"قم بتحرير قيمة الخاصية في منطقة النص أدناه.",errors:{duplicateName:"اسم العقدة موجود بالفعل",updateFailed:"فشل تحديث العقدة",tryAgainLater:"يرجى المحاولة مرة أخرى لاحقًا"},success:{entityUpdated:"تم تحديث العقدة بنجاح",relationUpdated:"تم تحديث العلاقة بنجاح"},node:{title:"عقدة",id:"المعرف",labels:"التسميات",degree:"الدرجة",properties:"الخصائص",relationships:"العلاقات (داخل الرسم الفرعي)",expandNode:"توسيع العقدة",pruneNode:"تقليم العقدة",deleteAllNodesError:"رفض حذف جميع العقد في الرسم البيان<D8A7>
2025-04-22 16:39:45 +08:00
ساذج: بحث أساسي بدون تقنيات متقدمة
محلي: استرجاع معلومات يعتمد على السياق
عالمي: يستخدم قاعدة المعرفة العالمية
مختلط: يجمع بين الاسترجاع المحلي والعالمي
مزيج: يدمج شبكة المعرفة مع الاسترجاع المتجهي
تجاوز: يمرر الاستعلام مباشرة إلى LLM بدون استرجاع`,queryModeOptions:{naive:"ساذج",local:"محلي",global:"عالمي",hybrid:"مختلط",mix:"مزيج",bypass:"تجاوز"},responseFormat:"تنسيق الرد",responseFormatTooltip:`يحدد تنسيق الرد. أمثلة:
فقرات متعددة
فقرة واحدة
2025-05-11 12:44:50 +08:00
نقاط نقطية`,responseFormatOptions:{multipleParagraphs:"فقرات متعددة",singleParagraph:"فقرة واحدة",bulletPoints:"نقاط نقطية"},topK:"أعلى K نتائج",topKTooltip:"عدد العناصر العلوية للاسترجاع. يمثل الكيانات في وضع 'محلي' والعلاقات في وضع 'عالمي'",topKPlaceholder:"عدد النتائج",maxTokensTextUnit:"أقصى عدد من الرموز لوحدة النص",maxTokensTextUnitTooltip:"الحد الأقصى لعدد الرموز المسموح به لكل جزء نصي مسترجع",maxTokensGlobalContext:"أقصى عدد من الرموز للسياق العالمي",maxTokensGlobalContextTooltip:"الحد الأقصى لعدد الرموز المخصص لأوصاف العلاقات في الاسترجاع العالمي",maxTokensLocalContext:"أقصى عدد من الرموز للسياق المحلي",maxTokensLocalContextTooltip:"الحد الأقصى لعدد الرموز المخصص لأوصاف الكيانات في الاسترجاع المحلي",historyTurns:"دورات التاريخ",historyTurnsTooltip:"عدد الدورات الكاملة للمحادثة (أزواج المستخدم-المساعد) التي يجب مراعاتها في سياق الرد",historyTurnsPlaceholder:"عدد دورات التاريخ",onlyNeedContext:"تحتاج فقط إلى السياق",onlyNeedContextTooltip:"إذا كان صحيحًا، يتم إرجاع السياق المسترجع فقط دون إنشاء رد",onlyNeedPrompt:"تحتاج فقط إلى المطالبة",onlyNeedPromptTooltip:"إذا كان صحيحًا، يتم إرجاع المطالبة المولدة فقط دون إنتاج رد",streamResponse:"تدفق الرد",streamResponseTooltip:"إذا كان صحيحًا، يتيح إخراج التدفق للردود في الوقت الفعلي",userPrompt:"مطالبة مخصصة",userPromptTooltip:"تقديم متطلبات استجابة إضافية إلى نموذج اللغة الكبير (غير متعلقة بمحتوى الاستعلام، فقط لمعالجة المخرجات).",userPromptPlaceholder:"أدخل مطالبة مخصصة (اختياري)"}},yy={loading:"جارٍ تحميل وثائق واجهة برمجة التطبيقات..."},vy={title:"مفتاح واجهة برمجة التطبيقات مطلوب",description:"الرجاء إدخال مفتاح واجهة برمجة التطبيقات للوصول إلى الخدمة",placeholder:"أدخل مفتاح واجهة برمجة التطبيقات",save:"حفظ"},by={settings:ry,header:fy,login:dy,common:my,documentPanel:hy,graphPanel:gy,retrievePanel:py,apiSite:yy,apiKeyAlert:vy},Sy={language:"語言",theme:"主題",light:"淺色",dark:"深色",system:"系統"},Ty={documents:"文件",knowledgeGraph:"知識圖譜",retrieval:"檢索",api:"API",projectRepository:"專案庫",logout:"登出",themeToggle:{switchToLight:"切換至淺色主題",switchToDark:"切換至深色主題"}},xy={description:"請輸入您的帳號和密碼登入系統",username:"帳號",usernamePlaceholder:"請輸入帳號",password:"密碼",passwordPlaceholder:"請輸入密碼",loginButton:"登入",loggingIn:"登入中...",successMessage:"登入成功",errorEmptyFields:"請輸入您的帳號和密碼",errorInvalidCredentials:"登入失敗,請檢查帳號和密碼",authDisabled:"認證已停用,使用免登入模式",guestMode:"免登入"},Ay={cancel:"取消",save:"儲存",saving:"儲存中...",saveFailed:"儲存失敗"},Dy={clearDocuments:{button:"清空",tooltip:"清空文件",title:"清空文件",description:"此操作將從系統中移除所有文件",warning:"警告:此操作將永久刪除所有文件,無法復原!",confirm:"確定要清空所有文件嗎?",confirmPrompt:"請輸入 yes 確認操作",confirmPlaceholder:"輸入 yes 以確認",clearCache:"清空 LLM 快取",confirmButton:"確定",success:"文件清空成功",cacheCleared:"快取清空成功",cacheClearFailed:`清空快取失敗
2025-04-22 16:39:45 +08:00
{{error}}`,failed:`清空文件失敗
{{message}}`,error:`清空文件失敗
{{error}}`},uploadDocuments:{button:"上傳",tooltip:"上傳文件",title:"上傳文件",description:"拖曳檔案至此處或點擊瀏覽",single:{uploading:"正在上傳 {{name}}{{percent}}%",success:`上傳成功
{{name}} 上傳完成`,failed:`上傳失敗
{{name}}
{{message}}`,error:`上傳失敗
{{name}}
{{error}}`},batch:{uploading:"正在上傳檔案...",success:"檔案上傳完成",error:"部分檔案上傳失敗"},generalError:`上傳失敗
{{error}}`,fileTypes:"支援的檔案類型TXT, MD, DOCX, PDF, PPTX, RTF, ODT, EPUB, HTML, HTM, TEX, JSON, XML, YAML, YML, CSV, LOG, CONF, INI, PROPERTIES, SQL, BAT, SH, C, CPP, PY, JAVA, JS, TS, SWIFT, GO, RB, PHP, CSS, SCSS, LESS",fileUploader:{singleFileLimit:"一次只能上傳一個檔案",maxFilesLimit:"最多只能上傳 {{count}} 個檔案",fileRejected:"檔案 {{name}} 被拒絕",unsupportedType:"不支援的檔案類型",fileTooLarge:"檔案過大,最大允許 {{maxSize}}",dropHere:"將檔案拖放至此處",dragAndDrop:"拖放檔案至此處,或點擊選擇檔案",removeFile:"移除檔案",uploadDescription:"您可以上傳{{isMultiple ? '多個' : count}}個檔案(每個檔案最大{{maxSize}}",duplicateFile:"檔案名稱與伺服器上的快取重複"}},documentManager:{title:"文件管理",scanButton:"掃描",scanTooltip:"掃描輸入目錄中的文件",pipelineStatusButton:"pipeline 狀態",pipelineStatusTooltip:"查看pipeline 狀態",uploadedTitle:"已上傳文件",uploadedDescription:"已上傳文件清單及其狀態",emptyTitle:"無文件",emptyDescription:"尚未上傳任何文件",columns:{id:"ID",summary:"摘要",status:"狀態",length:"長度",chunks:"分塊",created:"建立時間",updated:"更新時間",metadata:"元資料"},status:{all:"全部",completed:"已完成",processing:"處理中",pending:"等待中",failed:"失敗"},errors:{loadFailed:`載入文件失敗
{{error}}`,scanFailed:`掃描文件失敗
{{error}}`,scanProgressFailed:`取得掃描進度失敗
{{error}}`},fileNameLabel:"檔案名稱",showButton:"顯示",hideButton:"隱藏",showFileNameTooltip:"顯示檔案名稱",hideFileNameTooltip:"隱藏檔案名稱"},pipelineStatus:{title:"pipeline 狀態",busy:"pipeline 忙碌中",requestPending:"待處理請求",jobName:"工作名稱",startTime:"開始時間",progress:"進度",unit:"梯次",latestMessage:"最新訊息",historyMessages:"歷史訊息",errors:{fetchFailed:`取得pipeline 狀態失敗
2025-04-23 02:28:06 +08:00
{{error}}`}}},Ny={dataIsTruncated:"圖資料已截斷至最大回傳節點數",statusDialog:{title:"LightRAG 伺服器設定",description:"查看目前系統狀態和連線資訊"},legend:"圖例",nodeTypes:{person:"人物角色",category:"分類",geo:"地理名稱",location:"位置",organization:"組織機構",event:"事件",equipment:"設備",weapon:"武器",animal:"動物",unknown:"未知",object:"物品",group:"群組",technology:"技術"},sideBar:{settings:{settings:"設定",healthCheck:"健康檢查",showPropertyPanel:"顯示屬性面板",showSearchBar:"顯示搜尋列",showNodeLabel:"顯示節點標籤",nodeDraggable:"節點可拖曳",showEdgeLabel:"顯示 Edge 標籤",hideUnselectedEdges:"隱藏未選取的 Edge",edgeEvents:"Edge 事件",maxQueryDepth:"最大查詢深度",maxNodes:"最大回傳節點數",maxLayoutIterations:"最大版面配置迭代次數",resetToDefault:"重設為預設值",edgeSizeRange:"Edge 粗細範圍",depth:"深度",max:"最大值",degree:"鄰邊",apiKey:"API key",enterYourAPIkey:"輸入您的 API key",save:"儲存",refreshLayout:"重新整理版面配置"},zoomControl:{zoomIn:"放大",zoomOut:"縮小",resetZoom:"重設縮放",rotateCamera:"順時針旋轉圖形",rotateCameraCounterClockwise:"逆時針旋轉圖形"},layoutsControl:{startAnimation:"繼續版面配置動畫",stopAnimation:"停止版面配置動畫",layoutGraph:"圖形版面配置",layouts:{Circular:"環形",Circlepack:"圓形打包",Random:"隨機",Noverlaps:"無重疊","Force Directed":"力導向","Force Atlas":"力圖"}},fullScreenControl:{fullScreen:"全螢幕",windowed:"視窗"},legendControl:{toggleLegend:"切換圖例顯示"}},statusIndicator:{connected:"已連線",disconnected:"未連線"},statusCard:{unavailable:"狀態資訊不可用",storageInfo:"儲存資訊",workingDirectory:"工作目錄",inputDirectory:"輸入目錄",llmConfig:"LLM 設定",llmBinding:"LLM 綁定",llmBindingHost:"LLM 綁定主機",llmModel:"LLM 模型",maxTokens:"最大權杖數",embeddingConfig:"嵌入設定",embeddingBinding:"嵌入綁定",embeddingBindingHost:"嵌入綁定主機",embeddingModel:"嵌入模型",storageConfig:"儲存設定",kvStorage:"KV 儲存",docStatusStorage:"文件狀態儲存",graphStorage:"圖形儲存",vectorStorage:"向量儲存"},propertiesView:{editProperty:"編輯{{property}}",editPropertyDescription:"在下方文字區域編輯屬性值。",errors:{duplicateName:"節點名稱已存在",updateFailed:"更新節點失敗",tryAgainLater:"請稍後重試"},success:{entityUpdated:"節點更新成功",relationUpdated:"關係更新成功"},node:{title:"節點",id:"ID",labels:"標籤",degree:"度數",properties:"屬性",relationships:"關係(子圖內)",expandNode:"展開節點",pruneNode:"修剪節點",deleteAllNodesError:"拒絕刪除圖中的所有節點",nodesRemoved:"已刪除 {{count}} 個節點,包括孤立節點",noNewNodes:"沒有發現可以展開的節點",propertyNames:{description:"描述",entity_id:"名稱",entity_type:"類型",source_id:"來源ID",Neighbour:"鄰接",file_path:"來源",keywords:"Keys",weight:"權重"}},edge:{title:"關係",id:"ID",type:"類型",source:"來源節點",target:"目標節點",properties:"屬性"}},search:{placeholder:"搜尋節點...",message:"還有 {count} 個"},graphLabels:{selectTooltip:"選擇查詢標籤",noLabels:"未找到標籤",label:"標籤",placeholder:"搜尋標籤...",andOthers:"還有 {count} 個",refreshTooltip:"重載圖形數據(新增檔案後需重載)"},emptyGraph:"無數據(請重載圖形數據)"},Ey={chatMessage:{copyTooltip:"複製到剪貼簿",copyError:"複製文字到剪貼簿失敗"},retrieval:{startPrompt:"輸入查詢開始檢索",clear:"清空",send:"送出",placeholder:"輸入查詢內容 (支援模式前綴:/<Query Mode>)",error:"錯誤:取得回應失敗",queryModeError:"僅支援以下查詢模式:{{modes}}",queryModePrefixInvalid:"無效的查詢模式前綴。請使用:/<模式> [空格] 查詢內容"},querySettings:{parametersTitle:"參數",parametersDescription:"設定查詢參數",queryMode:"查詢模式",queryModeTooltip:`選擇<EFBFBD><EFBFBD>
2025-04-22 16:39:45 +08:00
Naive基礎搜尋無進階技術
Local上下文相關資訊檢索
Global利用全域知識庫
Hybrid結合本地和全域檢索
Mix整合知識圖譜和向量檢索
Bypass直接傳遞查詢到LLM不進行檢索`,queryModeOptions:{naive:"Naive",local:"Local",global:"Global",hybrid:"Hybrid",mix:"Mix",bypass:"Bypass"},responseFormat:"回應格式",responseFormatTooltip:`定義回應格式例如
多段落
單段落
2025-05-11 12:44:50 +08:00
重點`,responseFormatOptions:{multipleParagraphs:"多段落",singleParagraph:"單段落",bulletPoints:"重點"},topK:"Top K結果",topKTooltip:"檢索的前幾項結果數。在'local'模式下表示實體,在'global'模式下表示關係",topKPlaceholder:"結果數量",maxTokensTextUnit:"文字單元最大權杖數",maxTokensTextUnitTooltip:"每個檢索文字區塊允許的最大權杖數",maxTokensGlobalContext:"全域上下文最大權杖數",maxTokensGlobalContextTooltip:"全域檢索中關係描述的最大權杖數",maxTokensLocalContext:"本地上下文最大權杖數",maxTokensLocalContextTooltip:"本地檢索中實體描述的最大權杖數",historyTurns:"歷史輪次",historyTurnsTooltip:"回應上下文中考慮的完整對話輪次(使用者-助手對)數量",historyTurnsPlaceholder:"歷史輪次數",onlyNeedContext:"僅需上下文",onlyNeedContextTooltip:"如果為True僅回傳檢索到的上下文而不產生回應",onlyNeedPrompt:"僅需提示",onlyNeedPromptTooltip:"如果為True僅回傳產生的提示而不產生回應",streamResponse:"串流回應",streamResponseTooltip:"如果為True啟用即時串流輸出回應",userPrompt:"用戶提示詞",userPromptTooltip:"向LLM提供額外的響應要求與查詢內容無關僅用於處理輸出。",userPromptPlaceholder:"輸入自定義提示詞(可選)"}},My={loading:"正在載入 API 文件..."},zy={title:"需要 API key",description:"請輸入您的 API key 以存取服務",placeholder:"請輸入 API key",save:"儲存"},Cy={settings:Sy,header:Ty,login:xy,common:Ay,documentPanel:Dy,graphPanel:Ny,retrievePanel:Ey,apiSite:My,apiKeyAlert:zy},Oy=()=>{var g;try{const b=localStorage.getItem("settings-storage");if(b)return((g=JSON.parse(b).state)==null?void 0:g.language)||"en"}catch(b){console.error("Failed to get stored language:",b)}return"en"};cs.use($g).init({resources:{en:{translation:Qp},zh:{translation:Ip},fr:{translation:oy},ar:{translation:by},zh_TW:{translation:Cy}},lng:Oy(),fallbackLng:"en",interpolation:{escapeValue:!1},returnEmptyString:!1,returnNull:!1});Ve.subscribe(g=>{const b=g.language;cs.language!==b&&cs.changeLanguage(b)});ap.createRoot(document.getElementById("root")).render(o.jsx(E.StrictMode,{children:o.jsx(Up,{})}));