vendor: 6,012 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/maptiler-sdk-C0xmb5Ux.js","assets/events-DUW6C-WX.js","assets/maptiler-weather-BhTpvdrl.js","assets/maptiler-sdk-BjaAvAjq.css"])))=>i.map(i=>d[i]); 2function Ob(n,t){for(var s=0;s<t.length;s++){const o=t[s];if(typeof o!="string"&&!Array.isArray(o)){for(const d in o)if(d!=="default"&&!(d in n)){const p=Object.getOwnPropertyDescriptor(o,d);p&&Object.defineProperty(n,d,p.get?p:{enumerable:!0,get:()=>o[d]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))o(d);new MutationObserver(d=>{for(const p of d)if(p.type==="childList")for(const c of p.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&o(c)}).observe(document,{childList:!0,subtree:!0});function s(d){const p={};return d.integrity&&(p.integrity=d.integrity),d.referrerPolicy&&(p.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?p.credentials="include":d.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function o(d){if(d.ep)return;d.ep=!0;const p=s(d);fetch(d.href,p)}})();function Bb(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ll={exports:{}},ji={},Pl={exports:{}},he={};/** 3 * @license React 4 * react.production.min.js 5 * 6 * Copyright (c) Facebook, Inc. and its affiliates. 7 * 8 * This source code is licensed under the MIT license found in the 9 * LICENSE file in the root directory of this source tree. 10 */var Jm;function Kb(){if(Jm)return he;Jm=1;var n=Symbol.for("react.element"),t=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),c=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),b=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),y=Symbol.iterator;function A(w){return w===null||typeof w!="object"?null:(w=y&&w[y]||w["@@iterator"],typeof w=="function"?w:null)}var M={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},P=Object.assign,z={};function C(w,R,ie){this.props=w,this.context=R,this.refs=z,this.updater=ie||M}C.prototype.isReactComponent={},C.prototype.setState=function(w,R){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,R,"setState")},C.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function E(){}E.prototype=C.prototype;function F(w,R,ie){this.props=w,this.context=R,this.refs=z,this.updater=ie||M}var K=F.prototype=new E;K.constructor=F,P(K,C.prototype),K.isPureReactComponent=!0;var U=Array.isArray,W=Object.prototype.hasOwnProperty,J={current:null},de={key:!0,ref:!0,__self:!0,__source:!0};function O(w,R,ie){var le,fe={},ye=null,ce=null;if(R!=null)for(le in R.ref!==void 0&&(ce=R.ref),R.key!==void 0&&(ye=""+R.key),R)W.call(R,le)&&!de.hasOwnProperty(le)&&(fe[le]=R[le]);var Ae=arguments.length-2;if(Ae===1)fe.children=ie;else if(1<Ae){for(var we=Array(Ae),He=0;He<Ae;He++)we[He]=arguments[He+2];fe.children=we}if(w&&w.defaultProps)for(le in Ae=w.defaultProps,Ae)fe[le]===void 0&&(fe[le]=Ae[le]);return{$$typeof:n,type:w,key:ye,ref:ce,props:fe,_owner:J.current}}function _(w,R){return{$$typeof:n,type:w.type,key:R,ref:w.ref,props:w.props,_owner:w._owner}}function te(w){return typeof w=="object"&&w!==null&&w.$$typeof===n}function be(w){var R={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(ie){return R[ie]})}var pe=/\/+/g;function ke(w,R){return typeof w=="object"&&w!==null&&w.key!=null?be(""+w.key):R.toString(36)}function Ie(w,R,ie,le,fe){var ye=typeof w;(ye==="undefined"||ye==="boolean")&&(w=null);var ce=!1;if(w===null)ce=!0;else switch(ye){case"string":case"number":ce=!0;break;case"object":switch(w.$$typeof){case n:case t:ce=!0}}if(ce)return ce=w,fe=fe(ce),w=le===""?"."+ke(ce,0):le,U(fe)?(ie="",w!=null&&(ie=w.replace(pe,"$&/")+"/"),Ie(fe,R,ie,"",function(He){return He})):fe!=null&&(te(fe)&&(fe=_(fe,ie+(!fe.key||ce&&ce.key===fe.key?"":(""+fe.key).replace(pe,"$&/")+"/")+w)),R.push(fe)),1;if(ce=0,le=le===""?".":le+":",U(w))for(var Ae=0;Ae<w.length;Ae++){ye=w[Ae];var we=le+ke(ye,Ae);ce+=Ie(ye,R,ie,we,fe)}else if(we=A(w),typeof we=="function")for(w=we.call(w),Ae=0;!(ye=w.next()).done;)ye=ye.value,we=le+ke(ye,Ae++),ce+=Ie(ye,R,ie,we,fe);else if(ye==="object")throw R=String(w),Error("Objects are not valid as a React child (found: "+(R==="[object Object]"?"object with keys {"+Object.keys(w).join(", ")+"}":R)+"). If you meant to render a collection of children, use an array instead.");return ce}function me(w,R,ie){if(w==null)return w;var le=[],fe=0;return Ie(w,le,"","",function(ye){return R.call(ie,ye,fe++)}),le}function Le(w){if(w._status===-1){var R=w._result;R=R(),R.then(function(ie){(w._status===0||w._status===-1)&&(w._status=1,w._result=ie)},function(ie){(w._status===0||w._status===-1)&&(w._status=2,w._result=ie)}),w._status===-1&&(w._status=0,w._result=R)}if(w._status===1)return w._result.default;throw w._result}var se={current:null},D={transition:null},Q={ReactCurrentDispatcher:se,ReactCurrentBatchConfig:D,ReactCurrentOwner:J};function q(){throw Error("act(...) is not supported in production builds of React.")}return he.Children={map:me,forEach:function(w,R,ie){me(w,function(){R.apply(this,arguments)},ie)},count:function(w){var R=0;return me(w,function(){R++}),R},toArray:function(w){return me(w,function(R){return R})||[]},only:function(w){if(!te(w))throw Error("React.Children.only expected to receive a single React element child.");return w}},he.Component=C,he.Fragment=s,he.Profiler=d,he.PureComponent=F,he.StrictMode=o,he.Suspense=h,he.__SECRET_INT
vendor: 4,956 bytes, lines 10-26
10ERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Q,he.act=q,he.cloneElement=function(w,R,ie){if(w==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+w+".");var le=P({},w.props),fe=w.key,ye=w.ref,ce=w._owner;if(R!=null){if(R.ref!==void 0&&(ye=R.ref,ce=J.current),R.key!==void 0&&(fe=""+R.key),w.type&&w.type.defaultProps)var Ae=w.type.defaultProps;for(we in R)W.call(R,we)&&!de.hasOwnProperty(we)&&(le[we]=R[we]===void 0&&Ae!==void 0?Ae[we]:R[we])}var we=arguments.length-2;if(we===1)le.children=ie;else if(1<we){Ae=Array(we);for(var He=0;He<we;He++)Ae[He]=arguments[He+2];le.children=Ae}return{$$typeof:n,type:w.type,key:fe,ref:ye,props:le,_owner:ce}},he.createContext=function(w){return w={$$typeof:c,_currentValue:w,_currentValue2:w,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},w.Provider={$$typeof:p,_context:w},w.Consumer=w},he.createElement=O,he.createFactory=function(w){var R=O.bind(null,w);return R.type=w,R},he.createRef=function(){return{current:null}},he.forwardRef=function(w){return{$$typeof:g,render:w}},he.isValidElement=te,he.lazy=function(w){return{$$typeof:f,_payload:{_status:-1,_result:w},_init:Le}},he.memo=function(w,R){return{$$typeof:b,type:w,compare:R===void 0?null:R}},he.startTransition=function(w){var R=D.transition;D.transition={};try{w()}finally{D.transition=R}},he.unstable_act=q,he.useCallback=function(w,R){return se.current.useCallback(w,R)},he.useContext=function(w){return se.current.useContext(w)},he.useDebugValue=function(){},he.useDeferredValue=function(w){return se.current.useDeferredValue(w)},he.useEffect=function(w,R){return se.current.useEffect(w,R)},he.useId=function(){return se.current.useId()},he.useImperativeHandle=function(w,R,ie){return se.current.useImperativeHandle(w,R,ie)},he.useInsertionEffect=function(w,R){return se.current.useInsertionEffect(w,R)},he.useLayoutEffect=function(w,R){return se.current.useLayoutEffect(w,R)},he.useMemo=function(w,R){return se.current.useMemo(w,R)},he.useReducer=function(w,R,ie){return se.current.useReducer(w,R,ie)},he.useRef=function(w){return se.current.useRef(w)},he.useState=function(w){return se.current.useState(w)},he.useSyncExternalStore=function(w,R,ie){return se.current.useSyncExternalStore(w,R,ie)},he.useTransition=function(){return se.current.useTransition()},he.version="18.3.1",he}var Zm;function Ad(){return Zm||(Zm=1,Pl.exports=Kb()),Pl.exports}/** 11 * @license React 12 * react-jsx-runtime.production.min.js 13 * 14 * Copyright (c) Facebook, Inc. and its affiliates. 15 * 16 * This source code is licensed under the MIT license found in the 17 * LICENSE file in the root directory of this source tree. 18 */var Xm;function Vb(){if(Xm)return ji;Xm=1;var n=Ad(),t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,d=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function c(g,h,b){var f,y={},A=null,M=null;b!==void 0&&(A=""+b),h.key!==void 0&&(A=""+h.key),h.ref!==void 0&&(M=h.ref);for(f in h)o.call(h,f)&&!p.hasOwnProperty(f)&&(y[f]=h[f]);if(g&&g.defaultProps)for(f in h=g.defaultProps,h)y[f]===void 0&&(y[f]=h[f]);return{$$typeof:t,type:g,key:A,ref:M,props:y,_owner:d.current}}return ji.Fragment=s,ji.jsx=c,ji.jsxs=c,ji}var Ym;function Fb(){return Ym||(Ym=1,Ll.exports=Vb()),Ll.exports}var l=Fb(),sr={},wl={exports:{}},ha={},Sl={exports:{}},Il={};/** 19 * @license React 20 * scheduler.production.min.js 21 * 22 * Copyright (c) Facebook, Inc. and its affiliates. 23 * 24 * This source code is licensed under the MIT license found in the 25 * LICENSE file in the root directory of this source tree. 26 */var ep;function Wb(){return ep||(ep=1,(function(n){function t(D,Q){var q=D.length;D.push(Q);e:for(;0<q;){var w=q-1>>>1,R=D[w];if(0<d(R,Q))D[w]=Q,D[q]=R,q=w;else break e}}function s(D){return D.length===0?null:D[0]}function o(D){if(D.length===0)return null;var Q=D[0],q=D.pop();if(q!==Q){D[0]=q;e:for(var w=0,R=D.length,ie=R>>>1;w<ie;){var le=2*(w+1)-1,fe=D[le],ye=le+1,ce=D[ye];if(0>d(fe,q))ye<R&&0>d(ce,fe)?(D[w]=ce,D[ye]=q,w=ye):(D[w]=fe,D[le]=q,w=le);else if(ye<R&&0>d(ce,q))D[w]=ce,D[ye]=q,w=ye;else break e}}return Q}function d(D,Q){var q=D.sortIndex-Q.sortIndex;return q!==0?q:D.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var p=performance;n.unstable_now=function(){return p.now()}}else{var c=Date,g=c.now();n.unstable_now=function(){return c.now()-g}}var h=[],b=[],f=1,y=null,A=3,M=!1,P=!1,z=!1,C=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function K(D){for(var Q=s(b);Q!==null;){if(Q.callback===null)o(b);else if(Q.startTime<=D)o(b),Q.sortIndex=Q.expirationTime,t(h,Q);else break;Q=s(b)}}
vendor: 17,893 bytes, lines 26-38
26function U(D){if(z=!1,K(D),!P)if(s(h)!==null)P=!0,Le(W);else{var Q=s(b);Q!==null&&se(U,Q.startTime-D)}}function W(D,Q){P=!1,z&&(z=!1,E(O),O=-1),M=!0;var q=A;try{for(K(Q),y=s(h);y!==null&&(!(y.expirationTime>Q)||D&&!be());){var w=y.callback;if(typeof w=="function"){y.callback=null,A=y.priorityLevel;var R=w(y.expirationTime<=Q);Q=n.unstable_now(),typeof R=="function"?y.callback=R:y===s(h)&&o(h),K(Q)}else o(h);y=s(h)}if(y!==null)var ie=!0;else{var le=s(b);le!==null&&se(U,le.startTime-Q),ie=!1}return ie}finally{y=null,A=q,M=!1}}var J=!1,de=null,O=-1,_=5,te=-1;function be(){return!(n.unstable_now()-te<_)}function pe(){if(de!==null){var D=n.unstable_now();te=D;var Q=!0;try{Q=de(!0,D)}finally{Q?ke():(J=!1,de=null)}}else J=!1}var ke;if(typeof F=="function")ke=function(){F(pe)};else if(typeof MessageChannel<"u"){var Ie=new MessageChannel,me=Ie.port2;Ie.port1.onmessage=pe,ke=function(){me.postMessage(null)}}else ke=function(){C(pe,0)};function Le(D){de=D,J||(J=!0,ke())}function se(D,Q){O=C(function(){D(n.unstable_now())},Q)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(D){D.callback=null},n.unstable_continueExecution=function(){P||M||(P=!0,Le(W))},n.unstable_forceFrameRate=function(D){0>D||125<D?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):_=0<D?Math.floor(1e3/D):5},n.unstable_getCurrentPriorityLevel=function(){return A},n.unstable_getFirstCallbackNode=function(){return s(h)},n.unstable_next=function(D){switch(A){case 1:case 2:case 3:var Q=3;break;default:Q=A}var q=A;A=Q;try{return D()}finally{A=q}},n.unstable_pauseExecution=function(){},n.unstable_requestPaint=function(){},n.unstable_runWithPriority=function(D,Q){switch(D){case 1:case 2:case 3:case 4:case 5:break;default:D=3}var q=A;A=D;try{return Q()}finally{A=q}},n.unstable_scheduleCallback=function(D,Q,q){var w=n.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?w+q:w):q=w,D){case 1:var R=-1;break;case 2:R=250;break;case 5:R=1073741823;break;case 4:R=1e4;break;default:R=5e3}return R=q+R,D={id:f++,callback:Q,priorityLevel:D,startTime:q,expirationTime:R,sortIndex:-1},q>w?(D.sortIndex=q,t(b,D),s(h)===null&&D===s(b)&&(z?(E(O),O=-1):z=!0,se(U,q-w))):(D.sortIndex=R,t(h,D),P||M||(P=!0,Le(W))),D},n.unstable_shouldYield=be,n.unstable_wrapCallback=function(D){var Q=A;return function(){var q=A;A=Q;try{return D.apply(this,arguments)}finally{A=q}}}})(Il)),Il}var ap;function qb(){return ap||(ap=1,Sl.exports=Wb()),Sl.exports}/** 27 * @license React 28 * react-dom.production.min.js 29 * 30 * Copyright (c) Facebook, Inc. and its affiliates. 31 * 32 * This source code is licensed under the MIT license found in the 33 * LICENSE file in the root directory of this source tree. 34 */var np;function Ub(){if(np)return ha;np=1;var n=Ad(),t=qb();function s(e){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i<arguments.length;i++)a+="&args[]="+encodeURIComponent(arguments[i]);return"Minified React error #"+e+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,d={};function p(e,a){c(e,a),c(e+"Capture",a)}function c(e,a){for(d[e]=a,e=0;e<a.length;e++)o.add(a[e])}var g=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),h=Object.prototype.hasOwnProperty,b=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},y={};function A(e){return h.call(y,e)?!0:h.call(f,e)?!1:b.test(e)?y[e]=!0:(f[e]=!0,!1)}function M(e,a,i,r){if(i!==null&&i.type===0)return!1;switch(typeof a){case"function":case"symbol":return!0;case"boolean":return r?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function P(e,a,i,r){if(a===null||typeof a>"u"||M(e,a,i,r))return!0;if(r)return!1;if(i!==null)switch(i.type){case 3:return!a;case 4:return a===!1;case 5:return isNaN(a);case 6:return isNaN(a)||1>a}return!1}function z(e,a,i,r,u,m,k){this.acceptsBooleans=a===2||a===3||a===4,this.attributeName=r,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=a,this.sanitizeURL=m,this.removeEmptyString=k}var C={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){C[e]=new z(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var a=e[0];C[a]=new z(a,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){C[e]=new z(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){C[e]=new z(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){C[e]=new z(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){C[e]=new z(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){C[e]=new z(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){C[e]=new z(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){C[e]=new z(e,5,!1,e.toLowerCase(),null,!1,!1)});var E=/[\-:]([a-z])/g;function F(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var a=e.replace(E,F);C[a]=new z(a,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var a=e.replace(E,F);C[a]=new z(a,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var a=e.replace(E,F);C[a]=new z(a,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){C[e]=new z(e,1,!1,e.toLowerCase(),null,!1,!1)}),C.xlinkHref=new z("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){C[e]=new z(e,1,!1,e.toLowerCase(),null,!0,!0)});function K(e,a,i,r){var u=C.hasOwnProperty(a)?C[a]:null;(u!==null?u.type!==0:r||!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(P(a,i,u,r)&&(i=null),r||u===null?A(a)&&(i===null?e.removeAttribute(a):e.setAttribute(a,""+i)):u.mustUseProperty?e[u.propertyName]=i===null?u.type===3?!1:"":i:(a=u.attributeName,r=u.attributeNamespace,i===null?e.removeAttribute(a):(u=u.type,i=u===3||u===4&&i===!0?"":""+i,r?e.setAttributeNS(r,a,i):e.setAttribute(a,i))))}var U=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,W=Symbol.for("react.element"),J=Symbol.for("react.portal"),de=Symbol.for("react.fragment"),O=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),te=Symbol.for("react.provider"),be=Symbol.for("react.context"),pe=Symbol.for("react.forward_ref"),ke=Symbol.for("react.suspense"),Ie=Symbol.for("react.suspense_list"),me=Symbol.for("react.memo"),Le=Symbol.for("react.lazy"),se=Symbol.for("react.offscreen"),D=Symbol.iterator;function Q(e){return e===null||typeof e!="object"?null:(e=D&&e[D]||e["@@iterator"],typeof e=="function"?e:null)}var q=Object.assign,w;function R(e){if(w===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);w=a&&a[1]||""}return` 35`+w+e}var ie=!1;function le(e,a){if(!e||ie)return"";ie=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(a)if(a=function(){throw Error()},Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(a,[])}catch(j){var r=j}Reflect.construct(e,[],a)}else{try{a.call()}catch(j){r=j}e.call(a.prototype)}else{try{throw Error()}catch(j){r=j}e()}}catch(j){if(j&&r&&typeof j.stack=="string"){for(var u=j.stack.split(` 36`),m=r.stack.split(` 37`),k=u.length-1,v=m.length-1;1<=k&&0<=v&&u[k]!==m[v];)v--;for(;1<=k&&0<=v;k--,v--)if(u[k]!==m[v]){if(k!==1||v!==1)do if(k--,v--,0>v||u[k]!==m[v]){var x=` 38`+u[k].replace(" at new "," at ");return e.displayName&&x.includes("<anonymous>")&&(x=x.replace("<anonymous>",e.displayName)),x}while(1<=k&&0<=v);break}}}finally{ie=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?R(e):""}function fe(e){switch(e.tag){case 5:return R(e.type);case 16:return R("Lazy");case 13:return R("Suspense");case 19:return R("SuspenseList");case 0:case 2:case 15:return e=le(e.type,!1),e;case 11:return e=le(e.type.render,!1),e;case 1:return e=le(e.type,!0),e;default:return""}}function ye(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case de:return"Fragment";case J:return"Portal";case _:return"Profiler";case O:return"StrictMode";case ke:return"Suspense";case Ie:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case be:return(e.displayName||"Context")+".Consumer";case te:return(e._context.displayName||"Context")+".Provider";case pe:var a=e.render;return e=e.displayName,e||(e=a.displayName||a.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case me:return a=e.displayName||null,a!==null?a:ye(e.type)||"Memo";case Le:a=e._payload,e=e._init;try{return ye(e(a))}catch{}}return null}function ce(e){var a=e.type;switch(e.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=a.render,e=e.displayName||e.name||"",a.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ye(a);case 8:return a===O?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function Ae(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function we(e){var a=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function He(e){var a=we(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,a),r=""+e[a];if(!e.hasOwnProperty(a)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,m=i.set;return Object.defineProperty(e,a,{configurable:!0,get:function(){return u.call(this)},set:function(k){r=""+k,m.call(this,k)}}),Object.defineProperty(e,a,{enumerable:i.enumerable}),{getValue:function(){return r},setValue:function(k){r=""+k},stopTracking:function(){e._valueTracker=null,delete e[a]}}}}function un(e){e._valueTracker||(e._valueTracker=He(e))}function Gn(e){if(!e)return!1;var a=e._valueTracker;if(!a)return!0;var i=a.getValue(),r="";return e&&(r=we(e)?e.checked?"true":"false":e.value),e=r,e!==i?(a.setValue(e),!0):!1}function Ji(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function jr(e,a){var i=a.checked;return q({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function tu(e,a){var i=a.defaultValue==null?"":a.defaultValue,r=a.checked!=null?a.checked:a.defaultChecked;i=Ae(a.value!=null?a.value:i),e._wrapperState={initialChecked:r,initialValue:i,controlled:a.type==="checkbox"||a.type==="radio"?a.checked!=null:a.value!=null}}function iu(e,a){a=a.checked,a!=null&&K(e,"checked",a,!1)}function Cr(e,a){iu(e,a);var i=Ae(a.value),r=a.type;if(i!=null)r==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}a.hasOwnProperty("value")?Dr(e,a.type,i):a.hasOwnProperty("defaultValue")&&Dr(e,a.type,Ae(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(e.defaultChecked=!!a.defaultChecked)}function su(e,a,i){if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var r=a.type;if(!(r!=="submit"&&r!=="reset"||a.value!==void 0&&a.value!==null))return;a=""+e._wrapperState.initialValue,i||a===e.value||(e.value=a),e.defaultValue=a}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function Dr(e,a,i){(a!=="number"||Ji(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var qt=Array.isArray;function it(e,a,i,r){if(e=e.options,a){a={};for(var u=0;u<i.length;u++)a["$"+i[u]]=!0;for(i=0;i<e.length;i++)u=a.hasOwnProperty("$"+e[i].value),e[i].selected!==u&&(e[i].selected=u),u&&r&&(e[i].defaultSelected=!0)}else{for(i=""+Ae(i),a=null,u=0;u<e.length;u++){if(e[u].value===i){e[u].selected=!0,r&&(e[u].defaultSelected=!0);return}a!==null||e[u].disabled||(a=e[u])}a!==null&&(a.selected=!0)}}function zr(e,a){if(a.dangerouslySetInnerHTML!=null)throw Error(s(91));return q({},a,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ru(e,a){var i=a.value;if(i==null){if(i=a.children,a=a.defaultValue,i!=null){if(a!=null)throw Error(s(92));if(qt(i)){if(1<i.length)throw Error(s(93));i=i[0]}a=i}a==null&&(a=""),i=a}e._wrapperState={initialValue:Ae(i)}}function ou(e,a){var i=Ae(a.value),r=Ae(a.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),a.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),r!=null&&(e.defaultValue=""+r)}function lu(e){var a=e.textContent;a===e._wrapperState.initialValue&&a!==""&&a!==null&&(e.value=a)}function du(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Tr(e,a){return e==null||e==="http://www.w3.org/1999/xhtml"?du(a):e==="http://www.w3.org/2000/svg"&&a==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Zi,uu=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(a,i,r,u){MSApp.execUnsafeLocalFunction(function(){return e(a,i,r,u)})}:e})(function(e,a){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=a;else{for(Zi=Zi||document.createElement("div"),Zi.innerHTML="<svg>"+a.valueOf().toString()+"</svg>",a=Zi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;a.firstChild;)e.appendChild(a.firstChild)}});function Ut(e,a){if(a){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=a;return}}e.textContent=a}var _t={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ff=["Webkit","ms","Moz","O"];Object.keys(_t).forEach(function(e){Ff.forEach(function(a){a=a+e.charAt(0).toUpperCase()+e.substring(1),_t[a]=_t[e]})});function cu(e,a,i){return a==null||typeof a=="boolean"||a===""?"":i||typeof a!="number"||a===0||_t.hasOwnProperty(e)&&_t[e]?(""+a).trim():a+"px"}function mu(e,a){e=e.style;for(var i in a)if(a.hasOwnProperty(i)){var r=i.indexOf("--")===0,u=cu(i,a[i],r);i==="float"&&(i="cssFloat"),r?e.setProperty(i,u):e[i]=u}}var Wf=q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Er(e,a){if(a){if(Wf[e]&&(a.children!=null||a.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(a.dangerouslySetInnerHTML!=null){if(a.children!=null)throw Error(s(60));if(typeof a.dangerouslySetInnerHTML!="object"||!("__html"in a.dangerouslySetInnerHTML))throw Error(s(61))}if(a.style!=null&&typeof a.style!="object")throw Error(s(62))}}function Rr(e,a){if(e.indexOf("-")===-1)return typeof a.is=="str
38ing";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Nr=null;function Gr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Or=null,st=null,rt=null;function pu(e){if(e=gi(e)){if(typeof Or!="function")throw Error(s(280));var a=e.stateNode;a&&(a=vs(a),Or(e.stateNode,e.type,a))}}function gu(e){st?rt?rt.push(e):rt=[e]:st=e}function hu(){if(st){var e=st,a=rt;if(rt=st=null,pu(e),a)for(e=0;e<a.length;e++)pu(a[e])}}function fu(e,a){return e(a)}function ku(){}var Br=!1;function bu(e,a,i){if(Br)return e(a,i);Br=!0;try{return fu(e,a,i)}finally{Br=!1,(st!==null||rt!==null)&&(ku(),hu())}}function Ht(e,a){var i=e.stateNode;if(i===null)return null;var r=vs(i);if(r===null)return null;i=r[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(s(231,a,typeof i));return i}var Kr=!1;if(g)try{var $t={};Object.defineProperty($t,"passive",{get:function(){Kr=!0}}),window.addEventListener("test",$t,$t),window.removeEventListener("test",$t,$t)}catch{Kr=!1}function qf(e,a,i,r,u,m,k,v,x){var j=Array.prototype.slice.call(arguments,3);try{a.apply(i,j)}catch(G){this.onError(G)}}var Qt=!1,Xi=null,Yi=!1,Vr=null,Uf={onError:function(e){Qt=!0,Xi=e}};function _f(e,a,i,r,u,m,k,v,x){Qt=!1,Xi=null,qf.apply(Uf,arguments)}function Hf(e,a,i,r,u,m,k,v,x){if(_f.apply(this,arguments),Qt){if(Qt){var j=Xi;Qt=!1,Xi=null}else throw Error(s(198));Yi||(Yi=!0,Vr=j)}}function On(e){var a=e,i=e;if(e.alternate)for(;a.return;)a=a.return;else{e=a;do a=e,(a.flags&4098)!==0&&(i=a.return),e=a.return;while(e)}return a.tag===3?i:null}function yu(e){if(e.tag===13){var a=e.memoizedState;if(a===null&&(e=e.alternate,e!==null&&(a=e.memoizedState)),a!==null)return a.dehydrated}return null}function vu(e){if(On(e)!==e)throw Error(s(188))}function $f(e){var a=e.alternate;if(!a){if(a=On(e),a===null)throw Error(s(188));return a!==e?null:e}for(var i=e,r=a;;){var u=i.return;if(u===null)break;var m=u.alternate;if(m===null){if(r=u.return,r!==null){i=r;continue}break}if(u.child===m.child){for(m=u.child;m;){if(m===i)return vu(u),e;if(m===r)return vu(u),a;m=m.sibling}throw Error(s(188))}if(i.return!==r.return)i=u,r=m;else{for(var k=!1,v=u.child;v;){if(v===i){k=!0,i=u,r=m;break}if(v===r){k=!0,r=u,i=m;break}v=v.sibling}if(!k){for(v=m.child;v;){if(v===i){k=!0,i=m,r=u;break}if(v===r){k=!0,r=m,i=u;break}v=v.sibling}if(!k)throw Error(s(189))}}if(i.alternate!==r)throw Error(s(190))}if(i.tag!==3)throw Error(s(188));return i.stateNode.current===i?e:a}function Au(e){return e=$f(e),e!==null?xu(e):null}function xu(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var a=xu(e);if(a!==null)return a;e=e.sibling}return null}var Lu=t.unstable_scheduleCallback,Pu=t.unstable_cancelCallback,Qf=t.unstable_shouldYield,Jf=t.unstable_requestPaint,Be=t.unstable_now,Zf=t.unstable_getCurrentPriorityLevel,Fr=t.unstable_ImmediatePriority,wu=t.unstable_UserBlockingPriority,es=t.unstable_NormalPriority,Xf=t.unstable_LowPriority,Su=t.unstable_IdlePriority,as=null,Ka=null;function Yf(e){if(Ka&&typeof Ka.onCommitFiberRoot=="function")try{Ka.onCommitFiberRoot(as,e,void 0,(e.current.flags&128)===128)}catch{}}var Ca=Math.clz32?Math.clz32:nk,ek=Math.log,ak=Math.LN2;function nk(e){return e>>>=0,e===0?32:31-(ek(e)/ak|0)|0}var ns=64,ts=4194304;function Jt(e){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: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&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function is(e,a){var i=e.pendingLanes;if(i===0)return 0;var r=0,u=e.suspendedLanes,m=e.pingedLanes,k=i&268435455;if(k!==0){var v=k&~u;v!==0?r=Jt(v):(m&=k,m!==0&&(r=Jt(m)))}else k=i&~u,k!==0?r=Jt(k):m!==0&&(r=Jt(m));if(r===0)return 0;if(a!==0&&a!==r&&(a&u)===0&&(u=r&-r,m=a&-a,u>=m||u===16&&(m&4194240)!==0))return a;
vendor: 26,985 bytes, lines 38-39
38if((r&4)!==0&&(r|=i&16),a=e.entangledLanes,a!==0)for(e=e.entanglements,a&=r;0<a;)i=31-Ca(a),u=1<<i,r|=e[i],a&=~u;return r}function tk(e,a){switch(e){case 1:case 2:case 4:return a+250;case 8:case 16:case 32:case 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 a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ik(e,a){for(var i=e.suspendedLanes,r=e.pingedLanes,u=e.expirationTimes,m=e.pendingLanes;0<m;){var k=31-Ca(m),v=1<<k,x=u[k];x===-1?((v&i)===0||(v&r)!==0)&&(u[k]=tk(v,a)):x<=a&&(e.expiredLanes|=v),m&=~v}}function Wr(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Iu(){var e=ns;return ns<<=1,(ns&4194240)===0&&(ns=64),e}function qr(e){for(var a=[],i=0;31>i;i++)a.push(e);return a}function Zt(e,a,i){e.pendingLanes|=a,a!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,a=31-Ca(a),e[a]=i}function sk(e,a){var i=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<i;){var u=31-Ca(i),m=1<<u;a[u]=0,r[u]=-1,e[u]=-1,i&=~m}}function Ur(e,a){var i=e.entangledLanes|=a;for(e=e.entanglements;i;){var r=31-Ca(i),u=1<<r;u&a|e[r]&a&&(e[r]|=a),i&=~u}}var Se=0;function Mu(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var ju,_r,Cu,Du,zu,Hr=!1,ss=[],cn=null,mn=null,pn=null,Xt=new Map,Yt=new Map,gn=[],rk="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Tu(e,a){switch(e){case"focusin":case"focusout":cn=null;break;case"dragenter":case"dragleave":mn=null;break;case"mouseover":case"mouseout":pn=null;break;case"pointerover":case"pointerout":Xt.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Yt.delete(a.pointerId)}}function ei(e,a,i,r,u,m){return e===null||e.nativeEvent!==m?(e={blockedOn:a,domEventName:i,eventSystemFlags:r,nativeEvent:m,targetContainers:[u]},a!==null&&(a=gi(a),a!==null&&_r(a)),e):(e.eventSystemFlags|=r,a=e.targetContainers,u!==null&&a.indexOf(u)===-1&&a.push(u),e)}function ok(e,a,i,r,u){switch(a){case"focusin":return cn=ei(cn,e,a,i,r,u),!0;case"dragenter":return mn=ei(mn,e,a,i,r,u),!0;case"mouseover":return pn=ei(pn,e,a,i,r,u),!0;case"pointerover":var m=u.pointerId;return Xt.set(m,ei(Xt.get(m)||null,e,a,i,r,u)),!0;case"gotpointercapture":return m=u.pointerId,Yt.set(m,ei(Yt.get(m)||null,e,a,i,r,u)),!0}return!1}function Eu(e){var a=Bn(e.target);if(a!==null){var i=On(a);if(i!==null){if(a=i.tag,a===13){if(a=yu(i),a!==null){e.blockedOn=a,zu(e.priority,function(){Cu(i)});return}}else if(a===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function rs(e){if(e.blockedOn!==null)return!1;for(var a=e.targetContainers;0<a.length;){var i=Qr(e.domEventName,e.eventSystemFlags,a[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var r=new i.constructor(i.type,i);Nr=r,i.target.dispatchEvent(r),Nr=null}else return a=gi(i),a!==null&&_r(a),e.blockedOn=i,!1;a.shift()}return!0}function Ru(e,a,i){rs(e)&&i.delete(a)}function lk(){Hr=!1,cn!==null&&rs(cn)&&(cn=null),mn!==null&&rs(mn)&&(mn=null),pn!==null&&rs(pn)&&(pn=null),Xt.forEach(Ru),Yt.forEach(Ru)}function ai(e,a){e.blockedOn===a&&(e.blockedOn=null,Hr||(Hr=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,lk)))}function ni(e){function a(u){return ai(u,e)}if(0<ss.length){ai(ss[0],e);for(var i=1;i<ss.length;i++){var r=ss[i];r.blockedOn===e&&(r.blockedOn=null)}}for(cn!==null&&ai(cn,e),mn!==null&&ai(mn,e),pn!==null&&ai(pn,e),Xt.forEach(a),Yt.forEach(a),i=0;i<gn.length;i++)r=gn[i],r.blockedOn===e&&(r.blockedOn=null);for(;0<gn.length&&(i=gn[0],i.blockedOn===null);)Eu(i),i.blockedOn===null&&gn.shift()}var ot=U.ReactCurrentBatchConfig,os=!0;function dk(e,a,i,r){var u=Se,m=ot.transition;ot.transition=null;try{Se=1,$r(e,a,i,r)}finally{Se=u,ot.transition=m}}function uk(e,a,i,r){var u=Se,m=ot.transition;ot.transition=null;try{Se=4,$r(e,a,i,r)}finally{Se=u,ot.transition=m}}function $r(e,a,i,r){if(os){var u=Qr(e,a,i,r);if(u===null)po(e,a,r,ls,i),Tu(e,r);else if(ok(u,e,a,i,r))r.stopPropagation();else if(Tu(e,r),a&4&&-1<rk.indexOf(e)){for(;u!==null;){var m=gi(u);if(m!==null&&ju(m),m=Qr(e,a,i,r),m===null&&po(e,a,r,ls,i),m===u)break;u=m}u!==null&&r.stopPropagation()}else po(e,a,r,null,i)}}var ls=null;function Qr(e,a,i,r){if(ls=null,e=Gr(r),e=Bn(e),e!==null)if(a=On(e),a===null)e=null;else if(i=a.tag,i===13){if(e=yu(a),e!==null)return e;e=null}else if(i===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;e=null}else a!==e&&(e=null);return ls=e,null}function Nu(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Zf()){case Fr:return 1;case wu:return 4;case es:case Xf:return 16;case Su:return 536870912;default:return 16}default:return 16}}var hn=null,Jr=null,ds=null;function Gu(){if(ds)return ds;var e,a=Jr,i=a.length,r,u="value"in hn?hn.value:hn.textContent,m=u.length;for(e=0;e<i&&a[e]===u[e];e++);var k=i-e;for(r=1;r<=k&&a[i-r]===u[m-r];r++);return ds=u.slice(e,1<r?1-r:void 0)}function us(e){var a=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&a===13&&(e=13)):e=a,e===10&&(e=13),32<=e||e===13?e:0}function cs(){return!0}function Ou(){return!1}function fa(e){function a(i,r,u,m,k){this._reactName=i,this._targetInst=u,this.type=r,this.nativeEvent=m,this.target=k,this.currentTarget=null;for(var v in e)e.hasOwnProperty(v)&&(i=e[v],this[v]=i?i(m):m[v]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?cs:Ou,this.isPropagationStopped=Ou,this}return q(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=cs)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=cs)},persist:function(){},isPersistent:cs}),a}var lt={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zr=fa(lt),ti=q({},lt,{view:0,detail:0}),ck=fa(ti),Xr,Yr,ii,ms=q({},ti,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ao,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ii&&(ii&&e.type==="mousemove"?(Xr=e.screenX-ii.screenX,Yr=e.screenY-ii.screenY):Yr=Xr=0,ii=e),Xr)},movementY:function(e){return"movementY"in e?e.movementY:Yr}}),Bu=fa(ms),mk=q({},ms,{dataTransfer:0}),pk=fa(mk),gk=q({},ti,{relatedTarget:0}),eo=fa(gk),hk=q({},lt,{animationName:0,elapsedTime:0,pseudoElement:0}),fk=fa(hk),kk=q({},lt,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),bk=fa(kk),yk=q({},lt,{data:0}),Ku=fa(yk),vk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ak={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},xk={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Lk(e){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(e):(e=xk[e])?!!a[e]:!1}function ao(){return Lk}var Pk=q({},ti,{key:function(e){if(e.key){var a=vk[e.key]||e.key;if(a!=="Unidentified")return a}return e.type==="keypress"?(e=us(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ak[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ao,charCode:function(e){return e.type==="keypress"?us(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?us(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),wk=fa(Pk),Sk=q({},ms,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Vu=fa(Sk),Ik=q({},ti,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ao}),Mk=fa(Ik),jk=q({},lt,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ck=fa(jk),Dk=q({},ms,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),zk=fa(Dk),Tk=[9,13,27,32],no=g&&"CompositionEvent"in window,si=null;g&&"documentMode"in document&&(si=document.documentMode);var Ek=g&&"TextEvent"in window&&!si,Fu=g&&(!no||si&&8<si&&11>=si),Wu=" ",qu=!1;function Uu(e,a){switch(e){case"keyup":return Tk.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function _u(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var dt=!1;function Rk(e,a){switch(e){case"compositionend":return _u(a);case"keypress":return a.which!==32?null:(qu=!0,Wu);case"textInput":return e=a.data,e===Wu&&qu?null:e;default:return null}}function Nk(e,a){if(dt)return e==="compositionend"||!no&&Uu(e,a)?(e=Gu(),ds=Jr=hn=null,dt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return Fu&&a.locale!=="ko"?null:a.data;default:return null}}var Gk={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hu(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a==="input"?!!Gk[e.type]:a==="textarea"}function $u(e,a,i,r){gu(r),a=ks(a,"onChange"),0<a.length&&(i=new Zr("onChange","change",null,i,r),e.push({event:i,listeners:a}))}var ri=null,oi=null;function Ok(e){mc(e,0)}function ps(e){var a=gt(e);if(Gn(a))return e}function Bk(e,a){if(e==="change")return a}var Qu=!1;if(g){var to;if(g){var io="oninput"in document;if(!io){var Ju=document.createElement("div");Ju.setAttribute("oninput","return;"),io=typeof Ju.oninput=="function"}to=io}else to=!1;Qu=to&&(!document.documentMode||9<document.documentMode)}function Zu(){ri&&(ri.detachEvent("onpropertychange",Xu),oi=ri=null)}function Xu(e){if(e.propertyName==="value"&&ps(oi)){var a=[];$u(a,oi,e,Gr(e)),bu(Ok,a)}}function Kk(e,a,i){e==="focusin"?(Zu(),ri=a,oi=i,ri.attachEvent("onpropertychange",Xu)):e==="focusout"&&Zu()}function Vk(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ps(oi)}function Fk(e,a){if(e==="click")return ps(a)}function Wk(e,a){if(e==="input"||e==="change")return ps(a)}function qk(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var Da=typeof Object.is=="function"?Object.is:qk;function li(e,a){if(Da(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;var i=Object.keys(e),r=Object.keys(a);if(i.length!==r.length)return!1;for(r=0;r<i.length;r++){var u=i[r];if(!h.call(a,u)||!Da(e[u],a[u]))return!1}return!0}function Yu(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ec(e,a){var i=Yu(e);e=0;for(var r;i;){if(i.nodeType===3){if(r=e+i.textContent.length,e<=a&&r>=a)return{node:i,offset:a-e};e=r}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Yu(i)}}function ac(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?ac(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function nc(){for(var e=window,a=Ji();a instanceof e.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)e=a.contentWindow;else break;a=Ji(e.document)}return a}function so(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}function Uk(e){var a=nc(),i=e.focusedElem,r=e.selectionRange;if(a!==i&&i&&i.ownerDocument&&ac(i.ownerDocument.documentElement,i)){if(r!==null&&so(i)){if(a=r.start,e=r.end,e===void 0&&(e=a),"selectionStart"in i)i.selectionStart=a,i.selectionEnd=Math.min(e,i.value.length);else if(e=(a=i.ownerDocument||document)&&a.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,m=Math.min(r.start,u);r=r.end===void 0?m:Math.min(r.end,u),!e.extend&&m>r&&(u=r,r=m,m=u),u=ec(i,m);var k=ec(i,r);u&&k&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==k.node||e.focusOffset!==k.offset)&&(a=a.createRange(),a.setStart(u.node,u.offset),e.removeAllRanges(),m>r?(e.addRange(a),e.extend(k.node,k.offset)):(a.setEnd(k.node,k.offset),e.addRange(a)))}}for(a=[],e=i;e=e.parentNode;)e.nodeType===1&&a.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<a.length;i++)e=a[i],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var _k=g&&"documentMode"in document&&11>=document.documentMode,ut=null,ro=null,di=null,oo=!1;function tc(e,a,i){var r=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;oo||ut==null||ut!==Ji(r)||(r=ut,"selectionStart"in r&&so(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),di&&li(di,r)||(di=r,r=ks(ro,"onSelect"),0<r.length&&(a=new Zr("onSelect","select",null,a,i),e.push({event:a,listeners:r}),a.target=ut)))}function gs(e,a){var i={};return i[e.toLowerCase()]=a.toLowerCase(),i["Webkit"+e]="webkit"+a,i["Moz"+e]="moz"+a,i}var ct={animationend:gs("Animation","AnimationEnd"),animationiteration:gs("Animation","AnimationIteration"),animationstart:gs("Animation","AnimationStart"),transitionend:gs("Transition","TransitionEnd")},lo={},ic={};g&&(ic=document.createElement("div").style,"AnimationEvent"in window||(delete ct.animationend.animation,delete ct.animationiteration.animation,delete ct.animationstart.animation),"TransitionEvent"in window||delete ct.transitionend.transition);function hs(e){if(lo[e])return lo[e];if(!ct[e])return e;var a=ct[e],i;for(i in a)if(a.hasOwnProperty(i)&&i in ic)return lo[e]=a[i];return e}var sc=hs("animationend"),rc=hs("animationiteration"),oc=hs("animationstart"),lc=hs("transitionend"),dc=new Map,uc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function fn(e,a){dc.set(e,a),p(a,[e])}for(var uo=0;uo<uc.length;uo++){var co=uc[uo],Hk=co.toLowerCase(),$k=co[0].toUpperCase()+co.slice(1);fn(Hk,"on"+$k)}fn(sc,"onAnimationEnd"),fn(rc,"onAnimationIteration"),fn(oc,"onAnimationStart"),fn("dblclick","onDoubleClick"),fn("focusin","onFocus"),fn("focusout","onBlur"),fn(lc,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),p("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),p("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),p("onBeforeInput",["compositionend","keypress","textInput","paste"]),p("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ui="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Qk=new Set("cancel close invalid load scroll toggle".split(" ").concat(ui));function cc(e,a,i){var r=e.type||"unknown-event";e.currentTarget=i,Hf(r,a,void 0,e),e.currentTarget=null}function mc(e,a){a=(a&4)!==0;for(var i=0;i<e.length;i++){var r=e[i],u=r.event;r=r.listeners;e:{var m=void 0;if(a)for(var k=r.length-1;0<=k;k--){var v=r[k],x=v.instance,j=v.currentTarget;if(v=v.listener,x!==m&&u.isPropagationStopped())break e;cc(u,v,j),m=x}else for(k=0;k<r.length;k++){if(v=r[k],x=v.instance,j=v.currentTarget,v=v.listener,x!==m&&u.isPropagationStopped())break e;cc(u,v,j),m=x}}}if(Yi)throw e=Vr,Yi=!1,Vr=null,e}function je(e,a){var i=a[yo];i===void 0&&(i=a[yo]=new Set);var r=e+"__bubble";i.has(r)||(pc(a,e,2,!1),i.add(r))}function mo(e,a,i){var r=0;a&&(r|=4),pc(i,e,r,a)}var fs="_reactListening"+Math.random().toString(36).slice(2);function ci(e){if(!e[fs]){e[fs]=!0,o.forEach(function(i){i!=="selectionchange"&&(Qk.has(i)||mo(i,!1,e),mo(i,!0,e))});var a=e.nodeType===9?e:e.ownerDocument;a===null||a[fs]||(a[fs]=!0,mo("selectionchange",!1,a))}}function pc(e,a,i,r){switch(Nu(a)){case 1:var u=dk;break;case 4:u=uk;break;default:u=$r}i=u.bind(null,a,i,e),u=void 0,!Kr||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(u=!0),r?u!==void 0?e.addEventListener(a,i,{capture:!0,passive:u}):e.addEventListener(a,i,!0):u!==void 0?e.addEventListener(a,i,{passive:u}):e.addEventListener(a,i,!1)}function po(e,a,i,r,u){var m=r;if((a&1)===0&&(a&2)===0&&r!==null)e:for(;;){if(r===null)return;var k=r.tag;if(k===3||k===4){var v=r.stateNode.containerInfo;if(v===u||v.nodeType===8&&v.parentNode===u)break;if(k===4)for(k=r.return;k!==null;){var x=k.tag;if((x===3||x===4)&&(x=k.stateNode.containerInfo,x===u||x.nodeType===8&&x.parentNode===u))return;k=k.return}for(;v!==null;){if(k=Bn(v),k===null)return;if(x=k.tag,x===5||x===6){r=m=k;continue e}v=v.parentNode}}r=r.return}bu(function(){var j=m,G=Gr(i),B=[];e:{var N=dc.get(e);if(N!==void 0){var H=Zr,Z=e;switch(e){case"keypress":if(us(i)===0)break e;case"keydown":case"keyup":H=wk;break;case"focusin":Z="focus",H=eo;break;case"focusout":Z="blur",H=eo;break;case"beforeblur":case"afterblur":H=eo;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":H=Bu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":H=pk;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":H=Mk;break;case sc:case rc:case oc:H=fk;break;case lc:H=Ck;break;case"scroll":H=ck;break;case"wheel":H=zk;break;case"copy":case"cut":case"paste":H=bk;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":H=Vu}var ae=(a&4)!==0,Ke=!ae&&e==="scroll",S=ae?N!==null?N+"Capture":null:N;ae=[];for(var L=j,I;L!==null;){I=L;var V=I.stateNode;if(I.tag===5&&V!==null&&(I=V,S!==null&&(V=Ht(L,S),V!=null&&ae.push(mi(L,V,I)))),Ke)break;L=L.return}0<ae.length&&(N=new H(N,Z,null,i,G),B.push({event:N,listeners:ae}))}}if((a&7)===0){e:{if(N=e==="mouseover"||e==="pointerover",H=e==="mouseout"||e==="pointerout",N&&i!==Nr&&(Z=i.relatedTarget||i.fromElement)&&(Bn(Z)||Z[Qa]))break e;if((H||N)&&(N=G.window===G?G:(N=G.ownerDocument)?N.defaultView||N.parentWindow:window,H?(Z=i.relatedTarget||i.toElement,H=j,Z=Z?Bn(Z):null,Z!==null&&(Ke=On(Z),Z!==Ke||Z.tag!==5&&Z.tag!==6)&&(Z=null)):(H=null,Z=j),H!==Z)){if(ae=Bu,V="onMouseLeave",S="onMouseEnter",L="mouse",(e==="pointerout"||e==="pointerover")&&(ae=Vu,V="onPointerLeave",S="onPointerEnter",L="pointer"),Ke=H==null?N:gt(H),I=Z==null?N:gt(Z),N=new ae(V,L+"leave",H,i,G),N.target=Ke,N.relatedTarget=I,V=null,Bn(G)===j&&(ae=new ae(S,L+"enter",Z,i,G),ae.target=I,ae.relatedTarget=Ke,V=ae),Ke=V,H&&Z)a:{for(ae=H,S=Z,L=0,I=ae;I;I=mt(I))L++;for(I=0,V=S;V;V=mt(V))I++;for(;0<L-I;)ae=mt(ae),L--;for(;0<I-L;)S=mt(S),I--;for(;L--;){if(ae===S||S!==null&&ae===S.alternate)break a;ae=mt(ae),S=mt(S)}ae=null}else ae=null;H!==null&&gc(B,N,H,ae,!1),Z!==null&&Ke!==null&&gc(B,Ke,Z,ae,!0)}}e:{if(N=j?gt(j):window,H=N.nodeName&&N.nodeName.toLowerCase(),H==="select"||H==="input"&&N.type==="file")var ne=Bk;else if(Hu(N))if(Qu)ne=Wk;else{ne=Vk;var re=Kk}else(H=N.nodeName)&&H.toLowerCase()==="input"&&(N.type==="checkbox"||N.type==="radio")&&(ne=Fk);if(ne&&(ne=ne(e,j))){$u(B,ne,i,G);break e}re&&re(e,N,j),e==="focusout"&&(re=N._wrapperState)&&re.controlled&&N.type==="number"&&Dr(N,"number",N.value)}switch(re=j?gt(j):window,e){case"focusin":(Hu(re)||re.contentEditable==="true")&&(ut=re,ro=j,di=null);break;case"focusout":di=ro=ut=null;break;case"mousedown":oo=!0;break;case"contextmenu":case"mouseup":case"dragend":oo=!1,tc(B,i,G);break;case"selectionchange":if(_k)break;case"keydown":case"keyup":tc(B,i,G)}var oe;if(no)e:{switch(e){case"compositionstart":var ue="onCompositionStart";break e;case"compositionend":ue="onCompositionEnd";break e;case"compositionupdate":ue="onCompositionUpdate";break e}ue=void 0}else dt?Uu(e,i)&&(ue="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(ue="onCompositionStart");ue&&(Fu&&i.locale!=="ko"&&(dt||ue!=="onCompositionStart"?ue==="onCompositionEnd"&&dt&&(oe=Gu()):(hn=G,Jr="value"in hn?hn.value:hn.textContent,dt=!0)),re=ks(j,ue),0<re.length&&(ue=new Ku(ue,e,null,i,G),B.push({event:ue,listeners:re}),oe?ue.data=oe:(oe=_u(i),oe!==null&&(ue.data=oe)))),(oe=Ek?Rk(e,i):Nk(e,i))&&(j=ks(j,"onBeforeInput"),0<j.length&&(G=new Ku("onBeforeInput","beforeinput",null,i,G),B.push({event:G,listeners:j}),G.data=oe))}mc(B,a)})}function mi(e,a,i){return{instance:e,listener:a,currentTarget:i}}function ks(e,a){for(var i=a+"Capture",r=[];e!==null;){var u=e,m=u.stateNode;u.tag===5&&m!==null&&(u=m,m=Ht(e,i),m!=null&&r.unshift(mi(e,m,u)),m=Ht(e,a),m!=null&&r.push(mi(e,m,u))),e=e.return}return r}function mt(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function gc(e,a,i,r,u){for(var m=a._reactName,k=[];i!==null&&i!==r;){var v=i,x=v.alternate,j=v.stateNode;if(x!==null&&x===r)break;v.tag===5&&j!==null&&(v=j,u?(x=Ht(i,m),x!=null&&k.unshift(mi(i,x,v))):u||(x=Ht(i,m),x!=null&&k.push(mi(i,x,v)))),i=i.return}k.length!==0&&e.push({event:a,listeners:k})}var Jk=/\r\n?/g,Zk=/\u0000|\uFFFD/g;function hc(e){return(typeof e=="string"?e:""+e).replace(Jk,` 39`).replace(Zk,"")}function bs(e,a,i){if(a=hc(a),hc(e)!==a&&i)throw Error(s(425))}function ys(){}var go=null,ho=null;function fo(e,a){return e==="textarea"||e==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var ko=typeof setTimeout=="function"?setTimeout:void 0,Xk=typeof clearTimeout=="function"?clearTimeout:void 0,fc=typeof Promise=="function"?Promise:void 0,Yk=typeof queueMicrotask=="function"?queueMicrotask:typeof fc<"u"?function(e){return fc.resolve(null).then(e).catch(eb)}:ko;function eb(e){setTimeout(function(){throw e})}function bo(e,a){var i=a,r=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"){if(r===0){e.removeChild(u),ni(a);return}r--}else i!=="$"&&i!=="$?"&&i!=="$!"||r++;i=u}while(i);ni(a)}function kn(e){for(;e!=null;e=e.nextSibling){var a=e.nodeType;if(a===1||a===3)break;if(a===8){if(a=e.data,a==="$"||a==="$!"||a==="$?")break;if(a==="/$")return null}}return e}function kc(e){e=e.previousSibling;for(var a=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(a===0)return e;a--}else i==="/$"&&a++}e=e.previousSibling}return null}var pt=Math.random().toString(36).slice(2),Va="__reactFiber$"+pt,pi="__reactProps$"+pt,Qa="__reactContainer$"+pt,yo="__reactEvents$"+pt,ab="__reactListeners$"+pt,nb="__reactHandles$"+pt;function Bn(e){var a=e[Va];if(a)return a;for(var i=e.parentNode;i;){if(a=i[Qa]||i[Va]){if(i=a.alternate,a.child!==null||i!==null&&i.child!==null)for(e=kc(e);e!==null;){if(i=e[Va])return i;e=kc(e)}return a}e=i,i=e.parentNode}return null}function gi(e){return e=e[Va]||e[Qa],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function gt(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(s(33))}function vs(e){return e[pi]||null}var vo=[],ht=-1;function bn(e){return{current:e}}function Ce(e){0>ht||(e.current=vo[ht],vo[ht]=null,ht--)}function Me(e,a){ht++,vo[ht]=e.current,e.current=a}var yn={},ea=bn(yn),ua=bn(!1),Kn=yn;function ft(e,a){var i=e.type.contextTypes;if(!i)return yn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===a)return r.__reactInternalMemoizedMaskedChildContext;var u={},m;
vendor: 5,006 bytes, line 39
39for(m in i)u[m]=a[m];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=u),u}function ca(e){return e=e.childContextTypes,e!=null}function As(){Ce(ua),Ce(ea)}function bc(e,a,i){if(ea.current!==yn)throw Error(s(168));Me(ea,a),Me(ua,i)}function yc(e,a,i){var r=e.stateNode;if(a=a.childContextTypes,typeof r.getChildContext!="function")return i;r=r.getChildContext();for(var u in r)if(!(u in a))throw Error(s(108,ce(e)||"Unknown",u));return q({},i,r)}function xs(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yn,Kn=ea.current,Me(ea,e),Me(ua,ua.current),!0}function vc(e,a,i){var r=e.stateNode;if(!r)throw Error(s(169));i?(e=yc(e,a,Kn),r.__reactInternalMemoizedMergedChildContext=e,Ce(ua),Ce(ea),Me(ea,e)):Ce(ua),Me(ua,i)}var Ja=null,Ls=!1,Ao=!1;function Ac(e){Ja===null?Ja=[e]:Ja.push(e)}function tb(e){Ls=!0,Ac(e)}function vn(){if(!Ao&&Ja!==null){Ao=!0;var e=0,a=Se;try{var i=Ja;for(Se=1;e<i.length;e++){var r=i[e];do r=r(!0);while(r!==null)}Ja=null,Ls=!1}catch(u){throw Ja!==null&&(Ja=Ja.slice(e+1)),Lu(Fr,vn),u}finally{Se=a,Ao=!1}}return null}var kt=[],bt=0,Ps=null,ws=0,va=[],Aa=0,Vn=null,Za=1,Xa="";function Fn(e,a){kt[bt++]=ws,kt[bt++]=Ps,Ps=e,ws=a}function xc(e,a,i){va[Aa++]=Za,va[Aa++]=Xa,va[Aa++]=Vn,Vn=e;var r=Za;e=Xa;var u=32-Ca(r)-1;r&=~(1<<u),i+=1;var m=32-Ca(a)+u;if(30<m){var k=u-u%5;m=(r&(1<<k)-1).toString(32),r>>=k,u-=k,Za=1<<32-Ca(a)+u|i<<u|r,Xa=m+e}else Za=1<<m|i<<u|r,Xa=e}function xo(e){e.return!==null&&(Fn(e,1),xc(e,1,0))}function Lo(e){for(;e===Ps;)Ps=kt[--bt],kt[bt]=null,ws=kt[--bt],kt[bt]=null;for(;e===Vn;)Vn=va[--Aa],va[Aa]=null,Xa=va[--Aa],va[Aa]=null,Za=va[--Aa],va[Aa]=null}var ka=null,ba=null,ze=!1,za=null;function Lc(e,a){var i=wa(5,null,null,0);i.elementType="DELETED",i.stateNode=a,i.return=e,a=e.deletions,a===null?(e.deletions=[i],e.flags|=16):a.push(i)}function Pc(e,a){switch(e.tag){case 5:var i=e.type;return a=a.nodeType!==1||i.toLowerCase()!==a.nodeName.toLowerCase()?null:a,a!==null?(e.stateNode=a,ka=e,ba=kn(a.firstChild),!0):!1;case 6:return a=e.pendingProps===""||a.nodeType!==3?null:a,a!==null?(e.stateNode=a,ka=e,ba=null,!0):!1;case 13:return a=a.nodeType!==8?null:a,a!==null?(i=Vn!==null?{id:Za,overflow:Xa}:null,e.memoizedState={dehydrated:a,treeContext:i,retryLane:1073741824},i=wa(18,null,null,0),i.stateNode=a,i.return=e,e.child=i,ka=e,ba=null,!0):!1;default:return!1}}function Po(e){return(e.mode&1)!==0&&(e.flags&128)===0}function wo(e){if(ze){var a=ba;if(a){var i=a;if(!Pc(e,a)){if(Po(e))throw Error(s(418));a=kn(i.nextSibling);var r=ka;a&&Pc(e,a)?Lc(r,i):(e.flags=e.flags&-4097|2,ze=!1,ka=e)}}else{if(Po(e))throw Error(s(418));e.flags=e.flags&-4097|2,ze=!1,ka=e}}}function wc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ka=e}function Ss(e){if(e!==ka)return!1;if(!ze)return wc(e),ze=!0,!1;var a;if((a=e.tag!==3)&&!(a=e.tag!==5)&&(a=e.type,a=a!=="head"&&a!=="body"&&!fo(e.type,e.memoizedProps)),a&&(a=ba)){if(Po(e))throw Sc(),Error(s(418));for(;a;)Lc(e,a),a=kn(a.nextSibling)}if(wc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));e:{for(e=e.nextSibling,a=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(a===0){ba=kn(e.nextSibling);break e}a--}else i!=="$"&&i!=="$!"&&i!=="$?"||a++}e=e.nextSibling}ba=null}}else ba=ka?kn(e.stateNode.nextSibling):null;return!0}function Sc(){for(var e=ba;e;)e=kn(e.nextSibling)}function yt(){ba=ka=null,ze=!1}function So(e){za===null?za=[e]:za.push(e)}var ib=U.ReactCurrentBatchConfig;function hi(e,a,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(s(309));var r=i.stateNode}if(!r)throw Error(s(147,e));var u=r,m=""+e;return a!==null&&a.ref!==null&&typeof a.ref=="function"&&a.ref._stringRef===m?a.ref:(a=function(k){var v=u.refs;k===null?delete v[m]:v[m]=k},a._stringRef=m,a)}if(typeof e!="string")throw Error(s(284));if(!i._owner)throw Error(s(290,e))}return e}function Is(e,a){throw e=Object.prototype.toString.call(a),Error(s(31,e==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":e))}function Ic(e){var a=e._init;return a(e._payload)}function Mc(e){function a(S,L){if(e){var I=S.deletions;I===null?(S.deletions=[L],S.flags|=16):I.push(L)}}function i(S,L){if(!e)return null;for(;L!==null;)a(S,L),L=L.sibling;return null}function r(S,L){for(S=new Map;L!==null;)L.key!==null?S.set(L.key,L):S.set(L.index,L),L=L.sibling;return S}function u(S,L){return S=Mn(S,L),S.index=0,S.sibling=null,S}function m(S,L,I){return S.index=I,e?(I=S.alternate,I!==null?(I=I.index,I<L?(S.flags|=2,L):I):(S.flags|=2,L)):(S.flags|=1048576,L)}function k(S){return e&&S.alternate===null&&(S.flags|=2),S}function v(S,L,I,V){return L===null||L.tag!==6?(L=kl(I,S.mode,V),L.return=S,L):(L=u(L,I),L.return=S,L)}function x(S,L,I,V){var ne=I.type;return ne===de?G(S,L,I.props.children,V,I.key):L!==null&&(L.elementType===ne||typeof ne=="object"&&ne!==null&&ne.$$typeof===Le&&Ic(ne)===L.t
vendor: 4,327 bytes, line 39
39ype)?(V=u(L,I.props),V.ref=hi(S,L,I),V.return=S,V):(V=Zs(I.type,I.key,I.props,null,S.mode,V),V.ref=hi(S,L,I),V.return=S,V)}function j(S,L,I,V){return L===null||L.tag!==4||L.stateNode.containerInfo!==I.containerInfo||L.stateNode.implementation!==I.implementation?(L=bl(I,S.mode,V),L.return=S,L):(L=u(L,I.children||[]),L.return=S,L)}function G(S,L,I,V,ne){return L===null||L.tag!==7?(L=Jn(I,S.mode,V,ne),L.return=S,L):(L=u(L,I),L.return=S,L)}function B(S,L,I){if(typeof L=="string"&&L!==""||typeof L=="number")return L=kl(""+L,S.mode,I),L.return=S,L;if(typeof L=="object"&&L!==null){switch(L.$$typeof){case W:return I=Zs(L.type,L.key,L.props,null,S.mode,I),I.ref=hi(S,null,L),I.return=S,I;case J:return L=bl(L,S.mode,I),L.return=S,L;case Le:var V=L._init;return B(S,V(L._payload),I)}if(qt(L)||Q(L))return L=Jn(L,S.mode,I,null),L.return=S,L;Is(S,L)}return null}function N(S,L,I,V){var ne=L!==null?L.key:null;if(typeof I=="string"&&I!==""||typeof I=="number")return ne!==null?null:v(S,L,""+I,V);if(typeof I=="object"&&I!==null){switch(I.$$typeof){case W:return I.key===ne?x(S,L,I,V):null;case J:return I.key===ne?j(S,L,I,V):null;case Le:return ne=I._init,N(S,L,ne(I._payload),V)}if(qt(I)||Q(I))return ne!==null?null:G(S,L,I,V,null);Is(S,I)}return null}function H(S,L,I,V,ne){if(typeof V=="string"&&V!==""||typeof V=="number")return S=S.get(I)||null,v(L,S,""+V,ne);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case W:return S=S.get(V.key===null?I:V.key)||null,x(L,S,V,ne);case J:return S=S.get(V.key===null?I:V.key)||null,j(L,S,V,ne);case Le:var re=V._init;return H(S,L,I,re(V._payload),ne)}if(qt(V)||Q(V))return S=S.get(I)||null,G(L,S,V,ne,null);Is(L,V)}return null}function Z(S,L,I,V){for(var ne=null,re=null,oe=L,ue=L=0,Je=null;oe!==null&&ue<I.length;ue++){oe.index>ue?(Je=oe,oe=null):Je=oe.sibling;var xe=N(S,oe,I[ue],V);if(xe===null){oe===null&&(oe=Je);break}e&&oe&&xe.alternate===null&&a(S,oe),L=m(xe,L,ue),re===null?ne=xe:re.sibling=xe,re=xe,oe=Je}if(ue===I.length)return i(S,oe),ze&&Fn(S,ue),ne;if(oe===null){for(;ue<I.length;ue++)oe=B(S,I[ue],V),oe!==null&&(L=m(oe,L,ue),re===null?ne=oe:re.sibling=oe,re=oe);return ze&&Fn(S,ue),ne}for(oe=r(S,oe);ue<I.length;ue++)Je=H(oe,S,ue,I[ue],V),Je!==null&&(e&&Je.alternate!==null&&oe.delete(Je.key===null?ue:Je.key),L=m(Je,L,ue),re===null?ne=Je:re.sibling=Je,re=Je);return e&&oe.forEach(function(jn){return a(S,jn)}),ze&&Fn(S,ue),ne}function ae(S,L,I,V){var ne=Q(I);if(typeof ne!="function")throw Error(s(150));if(I=ne.call(I),I==null)throw Error(s(151));for(var re=ne=null,oe=L,ue=L=0,Je=null,xe=I.next();oe!==null&&!xe.done;ue++,xe=I.next()){oe.index>ue?(Je=oe,oe=null):Je=oe.sibling;var jn=N(S,oe,xe.value,V);if(jn===null){oe===null&&(oe=Je);break}e&&oe&&jn.alternate===null&&a(S,oe),L=m(jn,L,ue),re===null?ne=jn:re.sibling=jn,re=jn,oe=Je}if(xe.done)return i(S,oe),ze&&Fn(S,ue),ne;if(oe===null){for(;!xe.done;ue++,xe=I.next())xe=B(S,xe.value,V),xe!==null&&(L=m(xe,L,ue),re===null?ne=xe:re.sibling=xe,re=xe);return ze&&Fn(S,ue),ne}for(oe=r(S,oe);!xe.done;ue++,xe=I.next())xe=H(oe,S,ue,xe.value,V),xe!==null&&(e&&xe.alternate!==null&&oe.delete(xe.key===null?ue:xe.key),L=m(xe,L,ue),re===null?ne=xe:re.sibling=xe,re=xe);return e&&oe.forEach(function(Gb){return a(S,Gb)}),ze&&Fn(S,ue),ne}function Ke(S,L,I,V){if(typeof I=="object"&&I!==null&&I.type===de&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case W:e:{for(var ne=I.key,re=L;re!==null;){if(re.key===ne){if(ne=I.type,ne===de){if(re.tag===7){i(S,re.sibling),L=u(re,I.props.children),L.return=S,S=L;break e}}else if(re.elementType===ne||typeof ne=="object"&&ne!==null&&ne.$$typeof===Le&&Ic(ne)===re.type){i(S,re.sibling),L=u(re,I.props),L.ref=hi(S,re,I),L.return=S,S=L;break e}i(S,re);break}else a(S,re);re=re.sibling}I.type===de?(L=Jn(I.props.children,S.mode,V,I.key),L.return=S,S=L):(V=Zs(I.type,I.key,I.props,null,S.mode,V),V.ref=hi(S,L,I),V.return=S,S=V)}return k(S);case J:e:{for(re=I.key;L!==null;){if(L.key===re)if(L.tag===4&&L.stateNode.containerInfo===I.containerInfo&&L.stateNode.implementation===I.implementation){i(S,L.sibling),L=u(L,I.children||[]),L.return=S,S=L;break e}else{i(S,L);break}else a(S,L);L=L.sibling}L=bl(I,S.mode,V),L.return=S,S=L}return k(S);case Le:return re=I._init,Ke(S,L,re(I._payload),V)}if(qt(I))return Z(S,L,I,V);if(Q(I))return ae(S,L,I,V);Is(S,I)}
vendor: 4,604 bytes, line 39
39return typeof I=="string"&&I!==""||typeof I=="number"?(I=""+I,L!==null&&L.tag===6?(i(S,L.sibling),L=u(L,I),L.return=S,S=L):(i(S,L),L=kl(I,S.mode,V),L.return=S,S=L),k(S)):i(S,L)}return Ke}var vt=Mc(!0),jc=Mc(!1),Ms=bn(null),js=null,At=null,Io=null;function Mo(){Io=At=js=null}function jo(e){var a=Ms.current;Ce(Ms),e._currentValue=a}function Co(e,a,i){for(;e!==null;){var r=e.alternate;if((e.childLanes&a)!==a?(e.childLanes|=a,r!==null&&(r.childLanes|=a)):r!==null&&(r.childLanes&a)!==a&&(r.childLanes|=a),e===i)break;e=e.return}}function xt(e,a){js=e,Io=At=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&a)!==0&&(ma=!0),e.firstContext=null)}function xa(e){var a=e._currentValue;if(Io!==e)if(e={context:e,memoizedValue:a,next:null},At===null){if(js===null)throw Error(s(308));At=e,js.dependencies={lanes:0,firstContext:e}}else At=At.next=e;return a}var Wn=null;function Do(e){Wn===null?Wn=[e]:Wn.push(e)}function Cc(e,a,i,r){var u=a.interleaved;return u===null?(i.next=i,Do(a)):(i.next=u.next,u.next=i),a.interleaved=i,Ya(e,r)}function Ya(e,a){e.lanes|=a;var i=e.alternate;for(i!==null&&(i.lanes|=a),i=e,e=e.return;e!==null;)e.childLanes|=a,i=e.alternate,i!==null&&(i.childLanes|=a),i=e,e=e.return;return i.tag===3?i.stateNode:null}var An=!1;function zo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dc(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function en(e,a){return{eventTime:e,lane:a,tag:0,payload:null,callback:null,next:null}}function xn(e,a,i){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(ve&2)!==0){var u=r.pending;return u===null?a.next=a:(a.next=u.next,u.next=a),r.pending=a,Ya(e,i)}return u=r.interleaved,u===null?(a.next=a,Do(r)):(a.next=u.next,u.next=a),r.interleaved=a,Ya(e,i)}function Cs(e,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194240)!==0)){var r=a.lanes;r&=e.pendingLanes,i|=r,a.lanes=i,Ur(e,i)}}function zc(e,a){var i=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,i===r)){var u=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var k={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};m===null?u=m=k:m=m.next=k,i=i.next}while(i!==null);m===null?u=m=a:m=m.next=a}else u=m=a;i={baseState:r.baseState,firstBaseUpdate:u,lastBaseUpdate:m,shared:r.shared,effects:r.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=a:e.next=a,i.lastBaseUpdate=a}function Ds(e,a,i,r){var u=e.updateQueue;An=!1;var m=u.firstBaseUpdate,k=u.lastBaseUpdate,v=u.shared.pending;if(v!==null){u.shared.pending=null;var x=v,j=x.next;x.next=null,k===null?m=j:k.next=j,k=x;var G=e.alternate;G!==null&&(G=G.updateQueue,v=G.lastBaseUpdate,v!==k&&(v===null?G.firstBaseUpdate=j:v.next=j,G.lastBaseUpdate=x))}if(m!==null){var B=u.baseState;k=0,G=j=x=null,v=m;do{var N=v.lane,H=v.eventTime;if((r&N)===N){G!==null&&(G=G.next={eventTime:H,lane:0,tag:v.tag,payload:v.payload,callback:v.callback,next:null});e:{var Z=e,ae=v;switch(N=a,H=i,ae.tag){case 1:if(Z=ae.payload,typeof Z=="function"){B=Z.call(H,B,N);break e}B=Z;break e;case 3:Z.flags=Z.flags&-65537|128;case 0:if(Z=ae.payload,N=typeof Z=="function"?Z.call(H,B,N):Z,N==null)break e;B=q({},B,N);break e;case 2:An=!0}}v.callback!==null&&v.lane!==0&&(e.flags|=64,N=u.effects,N===null?u.effects=[v]:N.push(v))}else H={eventTime:H,lane:N,tag:v.tag,payload:v.payload,callback:v.callback,next:null},G===null?(j=G=H,x=B):G=G.next=H,k|=N;if(v=v.next,v===null){if(v=u.shared.pending,v===null)break;N=v,v=N.next,N.next=null,u.lastBaseUpdate=N,u.shared.pending=null}}while(!0);if(G===null&&(x=B),u.baseState=x,u.firstBaseUpdate=j,u.lastBaseUpdate=G,a=u.shared.interleaved,a!==null){u=a;do k|=u.lane,u=u.next;while(u!==a)}else m===null&&(u.shared.lanes=0);_n|=k,e.lanes=k,e.memoizedState=B}}function Tc(e,a,i){if(e=a.effects,a.effects=null,e!==null)for(a=0;a<e.length;a++){var r=e[a],u=r.callback;if(u!==null){if(r.callback=null,r=i,typeof u!="function")throw Error(s(191,u));u.call(r)}}}var fi={},Fa=bn(fi),ki=bn(fi),bi=bn(fi);function qn(e){if(e===fi)throw Error(s(174));return e}function To(e,a){switch(Me(bi,a),Me(ki,e),Me(Fa,fi),e=a.nodeType,e){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:Tr(null,"");break;default:e=e===8?a.parentNode:a,a=e.namespaceURI||null,e=e.tagName,a=Tr(a,e)}Ce(Fa),Me(Fa,a)}function Lt(){Ce(Fa),Ce(ki),Ce(bi)}function Ec(e){qn(bi.current);var a=qn(Fa.current),i=Tr(a,e.type);
vendor: 5,304 bytes, line 39
39a!==i&&(Me(ki,e),Me(Fa,i))}function Eo(e){ki.current===e&&(Ce(Fa),Ce(ki))}var Te=bn(0);function zs(e){for(var a=e;a!==null;){if(a.tag===13){var i=a.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var Ro=[];function No(){for(var e=0;e<Ro.length;e++)Ro[e]._workInProgressVersionPrimary=null;Ro.length=0}var Ts=U.ReactCurrentDispatcher,Go=U.ReactCurrentBatchConfig,Un=0,Ee=null,We=null,$e=null,Es=!1,yi=!1,vi=0,sb=0;function aa(){throw Error(s(321))}function Oo(e,a){if(a===null)return!1;for(var i=0;i<a.length&&i<e.length;i++)if(!Da(e[i],a[i]))return!1;return!0}function Bo(e,a,i,r,u,m){if(Un=m,Ee=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,Ts.current=e===null||e.memoizedState===null?db:ub,e=i(r,u),yi){m=0;do{if(yi=!1,vi=0,25<=m)throw Error(s(301));m+=1,$e=We=null,a.updateQueue=null,Ts.current=cb,e=i(r,u)}while(yi)}if(Ts.current=Gs,a=We!==null&&We.next!==null,Un=0,$e=We=Ee=null,Es=!1,a)throw Error(s(300));return e}function Ko(){var e=vi!==0;return vi=0,e}function Wa(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $e===null?Ee.memoizedState=$e=e:$e=$e.next=e,$e}function La(){if(We===null){var e=Ee.alternate;e=e!==null?e.memoizedState:null}else e=We.next;var a=$e===null?Ee.memoizedState:$e.next;if(a!==null)$e=a,We=e;else{if(e===null)throw Error(s(310));We=e,e={memoizedState:We.memoizedState,baseState:We.baseState,baseQueue:We.baseQueue,queue:We.queue,next:null},$e===null?Ee.memoizedState=$e=e:$e=$e.next=e}return $e}function Ai(e,a){return typeof a=="function"?a(e):a}function Vo(e){var a=La(),i=a.queue;if(i===null)throw Error(s(311));i.lastRenderedReducer=e;var r=We,u=r.baseQueue,m=i.pending;if(m!==null){if(u!==null){var k=u.next;u.next=m.next,m.next=k}r.baseQueue=u=m,i.pending=null}if(u!==null){m=u.next,r=r.baseState;var v=k=null,x=null,j=m;do{var G=j.lane;if((Un&G)===G)x!==null&&(x=x.next={lane:0,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null}),r=j.hasEagerState?j.eagerState:e(r,j.action);else{var B={lane:G,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null};x===null?(v=x=B,k=r):x=x.next=B,Ee.lanes|=G,_n|=G}j=j.next}while(j!==null&&j!==m);x===null?k=r:x.next=v,Da(r,a.memoizedState)||(ma=!0),a.memoizedState=r,a.baseState=k,a.baseQueue=x,i.lastRenderedState=r}if(e=i.interleaved,e!==null){u=e;do m=u.lane,Ee.lanes|=m,_n|=m,u=u.next;while(u!==e)}else u===null&&(i.lanes=0);return[a.memoizedState,i.dispatch]}function Fo(e){var a=La(),i=a.queue;if(i===null)throw Error(s(311));i.lastRenderedReducer=e;var r=i.dispatch,u=i.pending,m=a.memoizedState;if(u!==null){i.pending=null;var k=u=u.next;do m=e(m,k.action),k=k.next;while(k!==u);Da(m,a.memoizedState)||(ma=!0),a.memoizedState=m,a.baseQueue===null&&(a.baseState=m),i.lastRenderedState=m}return[m,r]}function Rc(){}function Nc(e,a){var i=Ee,r=La(),u=a(),m=!Da(r.memoizedState,u);if(m&&(r.memoizedState=u,ma=!0),r=r.queue,Wo(Bc.bind(null,i,r,e),[e]),r.getSnapshot!==a||m||$e!==null&&$e.memoizedState.tag&1){if(i.flags|=2048,xi(9,Oc.bind(null,i,r,u,a),void 0,null),Qe===null)throw Error(s(349));(Un&30)!==0||Gc(i,a,u)}return u}function Gc(e,a,i){e.flags|=16384,e={getSnapshot:a,value:i},a=Ee.updateQueue,a===null?(a={lastEffect:null,stores:null},Ee.updateQueue=a,a.stores=[e]):(i=a.stores,i===null?a.stores=[e]:i.push(e))}function Oc(e,a,i,r){a.value=i,a.getSnapshot=r,Kc(a)&&Vc(e)}function Bc(e,a,i){return i(function(){Kc(a)&&Vc(e)})}function Kc(e){var a=e.getSnapshot;e=e.value;try{var i=a();return!Da(e,i)}catch{return!0}}function Vc(e){var a=Ya(e,1);a!==null&&Na(a,e,1,-1)}function Fc(e){var a=Wa();return typeof e=="function"&&(e=e()),a.memoizedState=a.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ai,lastRenderedState:e},a.queue=e,e=e.dispatch=lb.bind(null,Ee,e),[a.memoizedState,e]}function xi(e,a,i,r){return e={tag:e,create:a,destroy:i,deps:r,next:null},a=Ee.updateQueue,a===null?(a={lastEffect:null,stores:null},Ee.updateQueue=a,a.lastEffect=e.next=e):(i=a.lastEffect,i===null?a.lastEffect=e.next=e:(r=i.next,i.next=e,e.next=r,a.lastEffect=e)),e}function Wc(){return La().memoizedState}function Rs(e,a,i,r){var u=Wa();Ee.flags|=e,u.memoizedState=xi(1|a,i,void 0,r===void 0?null:r)}function Ns(e,a,i,r){var u=La();r=r===void 0?null:r;var m=void 0;if(We!==null){var k=We.memoizedState;if(m=k.destroy,r!==null&&Oo(r,k.deps)){u.memoizedState=xi(a,i,m,r);return}}Ee.flags|=e,u.memoizedState=xi(1|a,i,m,r)}function qc(e,a){return Rs(8390656,8,e,a)}function Wo(e,a){return Ns(2048,8,e,a)}function Uc(e,a){return Ns(4,2,e,a)}function _c(e,a){return Ns(4,4,e,a)}function Hc(e,a){if(typeof a=="function")return e=e(),a(e),function(){a(null)};if(a!=null)return e=e(),a.current=e,function(){a.current=null}}function $c(e,a,i){return i=i!=null?i.concat([e]):null,Ns(4,4,Hc.bind(null,a,e),i)}function qo(){}function Qc(e,a){var i=La();a=a===void 0?null:a;var r=i.memoizedState;return r!==null&&a!==null&&Oo(a,r[1])?r[0]:(i.memoizedState=[e,a],e)}
vendor: 5,158 bytes, line 39
39function Jc(e,a){var i=La();a=a===void 0?null:a;var r=i.memoizedState;return r!==null&&a!==null&&Oo(a,r[1])?r[0]:(e=e(),i.memoizedState=[e,a],e)}function Zc(e,a,i){return(Un&21)===0?(e.baseState&&(e.baseState=!1,ma=!0),e.memoizedState=i):(Da(i,a)||(i=Iu(),Ee.lanes|=i,_n|=i,e.baseState=!0),a)}function rb(e,a){var i=Se;Se=i!==0&&4>i?i:4,e(!0);var r=Go.transition;Go.transition={};try{e(!1),a()}finally{Se=i,Go.transition=r}}function Xc(){return La().memoizedState}function ob(e,a,i){var r=Sn(e);if(i={lane:r,action:i,hasEagerState:!1,eagerState:null,next:null},Yc(e))em(a,i);else if(i=Cc(e,a,i,r),i!==null){var u=oa();Na(i,e,r,u),am(i,a,r)}}function lb(e,a,i){var r=Sn(e),u={lane:r,action:i,hasEagerState:!1,eagerState:null,next:null};if(Yc(e))em(a,u);else{var m=e.alternate;if(e.lanes===0&&(m===null||m.lanes===0)&&(m=a.lastRenderedReducer,m!==null))try{var k=a.lastRenderedState,v=m(k,i);if(u.hasEagerState=!0,u.eagerState=v,Da(v,k)){var x=a.interleaved;x===null?(u.next=u,Do(a)):(u.next=x.next,x.next=u),a.interleaved=u;return}}catch{}finally{}i=Cc(e,a,u,r),i!==null&&(u=oa(),Na(i,e,r,u),am(i,a,r))}}function Yc(e){var a=e.alternate;return e===Ee||a!==null&&a===Ee}function em(e,a){yi=Es=!0;var i=e.pending;i===null?a.next=a:(a.next=i.next,i.next=a),e.pending=a}function am(e,a,i){if((i&4194240)!==0){var r=a.lanes;r&=e.pendingLanes,i|=r,a.lanes=i,Ur(e,i)}}var Gs={readContext:xa,useCallback:aa,useContext:aa,useEffect:aa,useImperativeHandle:aa,useInsertionEffect:aa,useLayoutEffect:aa,useMemo:aa,useReducer:aa,useRef:aa,useState:aa,useDebugValue:aa,useDeferredValue:aa,useTransition:aa,useMutableSource:aa,useSyncExternalStore:aa,useId:aa,unstable_isNewReconciler:!1},db={readContext:xa,useCallback:function(e,a){return Wa().memoizedState=[e,a===void 0?null:a],e},useContext:xa,useEffect:qc,useImperativeHandle:function(e,a,i){return i=i!=null?i.concat([e]):null,Rs(4194308,4,Hc.bind(null,a,e),i)},useLayoutEffect:function(e,a){return Rs(4194308,4,e,a)},useInsertionEffect:function(e,a){return Rs(4,2,e,a)},useMemo:function(e,a){var i=Wa();return a=a===void 0?null:a,e=e(),i.memoizedState=[e,a],e},useReducer:function(e,a,i){var r=Wa();return a=i!==void 0?i(a):a,r.memoizedState=r.baseState=a,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},r.queue=e,e=e.dispatch=ob.bind(null,Ee,e),[r.memoizedState,e]},useRef:function(e){var a=Wa();return e={current:e},a.memoizedState=e},useState:Fc,useDebugValue:qo,useDeferredValue:function(e){return Wa().memoizedState=e},useTransition:function(){var e=Fc(!1),a=e[0];return e=rb.bind(null,e[1]),Wa().memoizedState=e,[a,e]},useMutableSource:function(){},useSyncExternalStore:function(e,a,i){var r=Ee,u=Wa();if(ze){if(i===void 0)throw Error(s(407));i=i()}else{if(i=a(),Qe===null)throw Error(s(349));(Un&30)!==0||Gc(r,a,i)}u.memoizedState=i;var m={value:i,getSnapshot:a};return u.queue=m,qc(Bc.bind(null,r,m,e),[e]),r.flags|=2048,xi(9,Oc.bind(null,r,m,i,a),void 0,null),i},useId:function(){var e=Wa(),a=Qe.identifierPrefix;if(ze){var i=Xa,r=Za;i=(r&~(1<<32-Ca(r)-1)).toString(32)+i,a=":"+a+"R"+i,i=vi++,0<i&&(a+="H"+i.toString(32)),a+=":"}else i=sb++,a=":"+a+"r"+i.toString(32)+":";return e.memoizedState=a},unstable_isNewReconciler:!1},ub={readContext:xa,useCallback:Qc,useContext:xa,useEffect:Wo,useImperativeHandle:$c,useInsertionEffect:Uc,useLayoutEffect:_c,useMemo:Jc,useReducer:Vo,useRef:Wc,useState:function(){return Vo(Ai)},useDebugValue:qo,useDeferredValue:function(e){var a=La();return Zc(a,We.memoizedState,e)},useTransition:function(){var e=Vo(Ai)[0],a=La().memoizedState;return[e,a]},useMutableSource:Rc,useSyncExternalStore:Nc,useId:Xc,unstable_isNewReconciler:!1},cb={readContext:xa,useCallback:Qc,useContext:xa,useEffect:Wo,useImperativeHandle:$c,useInsertionEffect:Uc,useLayoutEffect:_c,useMemo:Jc,useReducer:Fo,useRef:Wc,useState:function(){return Fo(Ai)},useDebugValue:qo,useDeferredValue:function(e){var a=La();return We===null?a.memoizedState=e:Zc(a,We.memoizedState,e)},useTransition:function(){var e=Fo(Ai)[0],a=La().memoizedState;return[e,a]},useMutableSource:Rc,useSyncExternalStore:Nc,useId:Xc,unstable_isNewReconciler:!1};function Ta(e,a){if(e&&e.defaultProps){a=q({},a),e=e.defaultProps;for(var i in e)a[i]===void 0&&(a[i]=e[i]);return a}return a}function Uo(e,a,i,r){a=e.memoizedState,i=i(r,a),i=i==null?a:q({},a,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Os={isMounted:function(e){return(e=e._reactInternals)?On(e)===e:!1},enqueueSetState:function(e,a,i){e=e._reactInternals;var r=oa(),u=Sn(e),m=en(r,u);m.payload=a,i!=null&&(m.callback=i),a=xn(e,m,u),a!==null&&(Na(a,e,u,r),Cs(a,e,u))},enqueueReplaceState:function(e,a,i){e=e._reactInternals;var r=oa(),u=Sn(e),m=en(r,u);m.tag=1,m.payload=a,i!=null&&(m.callback=i),a=xn(e,m,u),a!==null&&(Na(a,e,u,r),Cs(a,e,u))},enqueueForceUpdate:function(e,a){e=e._reactInternals;var i=oa(),r=Sn(e),u=en(i,r);u.tag=2,a!=null&&(u.callback=a),a=xn(e,u,r),a!==null&&(Na(a,e,r,i),Cs(a,e,r))}};function nm(e,a,i,r,u,m,k){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,m,k):a.prototype&&a.prototype.isPureReactComponent?!li(i,r)||!li(u,m):!0}
vendor: 4,653 bytes, lines 39-41
39function tm(e,a,i){var r=!1,u=yn,m=a.contextType;return typeof m=="object"&&m!==null?m=xa(m):(u=ca(a)?Kn:ea.current,r=a.contextTypes,m=(r=r!=null)?ft(e,u):yn),a=new a(i,m),e.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Os,e.stateNode=a,a._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=u,e.__reactInternalMemoizedMaskedChildContext=m),a}function im(e,a,i,r){e=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(i,r),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(i,r),a.state!==e&&Os.enqueueReplaceState(a,a.state,null)}function _o(e,a,i,r){var u=e.stateNode;u.props=i,u.state=e.memoizedState,u.refs={},zo(e);var m=a.contextType;typeof m=="object"&&m!==null?u.context=xa(m):(m=ca(a)?Kn:ea.current,u.context=ft(e,m)),u.state=e.memoizedState,m=a.getDerivedStateFromProps,typeof m=="function"&&(Uo(e,a,m,i),u.state=e.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(a=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),a!==u.state&&Os.enqueueReplaceState(u,u.state,null),Ds(e,i,u,r),u.state=e.memoizedState),typeof u.componentDidMount=="function"&&(e.flags|=4194308)}function Pt(e,a){try{var i="",r=a;do i+=fe(r),r=r.return;while(r);var u=i}catch(m){u=` 40Error generating stack: `+m.message+` 41`+m.stack}return{value:e,source:a,stack:u,digest:null}}function Ho(e,a,i){return{value:e,source:null,stack:i??null,digest:a??null}}function $o(e,a){try{console.error(a.value)}catch(i){setTimeout(function(){throw i})}}var mb=typeof WeakMap=="function"?WeakMap:Map;function sm(e,a,i){i=en(-1,i),i.tag=3,i.payload={element:null};var r=a.value;return i.callback=function(){Us||(Us=!0,dl=r),$o(e,a)},i}function rm(e,a,i){i=en(-1,i),i.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var u=a.value;i.payload=function(){return r(u)},i.callback=function(){$o(e,a)}}var m=e.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(i.callback=function(){$o(e,a),typeof r!="function"&&(Pn===null?Pn=new Set([this]):Pn.add(this));var k=a.stack;this.componentDidCatch(a.value,{componentStack:k!==null?k:""})}),i}function om(e,a,i){var r=e.pingCache;if(r===null){r=e.pingCache=new mb;var u=new Set;r.set(a,u)}else u=r.get(a),u===void 0&&(u=new Set,r.set(a,u));u.has(i)||(u.add(i),e=Sb.bind(null,e,a,i),a.then(e,e))}function lm(e){do{var a;if((a=e.tag===13)&&(a=e.memoizedState,a=a!==null?a.dehydrated!==null:!0),a)return e;e=e.return}while(e!==null);return null}function dm(e,a,i,r,u){return(e.mode&1)===0?(e===a?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(a=en(-1,1),a.tag=2,xn(i,a,1))),i.lanes|=1),e):(e.flags|=65536,e.lanes=u,e)}var pb=U.ReactCurrentOwner,ma=!1;function ra(e,a,i,r){a.child=e===null?jc(a,null,i,r):vt(a,e.child,i,r)}function um(e,a,i,r,u){i=i.render;var m=a.ref;return xt(a,u),r=Bo(e,a,i,r,m,u),i=Ko(),e!==null&&!ma?(a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~u,an(e,a,u)):(ze&&i&&xo(a),a.flags|=1,ra(e,a,r,u),a.child)}function cm(e,a,i,r,u){if(e===null){var m=i.type;return typeof m=="function"&&!fl(m)&&m.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(a.tag=15,a.type=m,mm(e,a,m,r,u)):(e=Zs(i.type,null,r,a,a.mode,u),e.ref=a.ref,e.return=a,a.child=e)}if(m=e.child,(e.lanes&u)===0){var k=m.memoizedProps;if(i=i.compare,i=i!==null?i:li,i(k,r)&&e.ref===a.ref)return an(e,a,u)}return a.flags|=1,e=Mn(m,r),e.ref=a.ref,e.return=a,a.child=e}function mm(e,a,i,r,u){if(e!==null){var m=e.memoizedProps;if(li(m,r)&&e.ref===a.ref)if(ma=!1,a.pendingProps=r=m,(e.lanes&u)!==0)(e.flags&131072)!==0&&(ma=!0);else return a.lanes=e.lanes,an(e,a,u)}return Qo(e,a,i,r,u)}function pm(e,a,i){var r=a.pendingProps,u=r.children,m=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((a.mode&1)===0)a.memoizedState={baseLanes:0,cachePool:null,transitions:null},Me(St,ya),ya|=i;else{if((i&1073741824)===0)return e=m!==null?m.baseLanes|i:i,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:e,cachePool:null,transitions:null},a.updateQueue=null,Me(St,ya),ya|=e,null;a.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=m!==null?m.baseLanes:i,Me(St,ya),ya|=r}else m!==null?(r=m.baseLanes|i,a.memoizedState=null):r=i,Me(St,ya),ya|=r;return ra(e,a,u,i),a.child}function gm(e,a){var i=a.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(a.flags|=512,a.flags|=2097152)}
vendor: 4,188 bytes, line 41
41function Qo(e,a,i,r,u){var m=ca(i)?Kn:ea.current;return m=ft(a,m),xt(a,u),i=Bo(e,a,i,r,m,u),r=Ko(),e!==null&&!ma?(a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~u,an(e,a,u)):(ze&&r&&xo(a),a.flags|=1,ra(e,a,i,u),a.child)}function hm(e,a,i,r,u){if(ca(i)){var m=!0;xs(a)}else m=!1;if(xt(a,u),a.stateNode===null)Ks(e,a),tm(a,i,r),_o(a,i,r,u),r=!0;else if(e===null){var k=a.stateNode,v=a.memoizedProps;k.props=v;var x=k.context,j=i.contextType;typeof j=="object"&&j!==null?j=xa(j):(j=ca(i)?Kn:ea.current,j=ft(a,j));var G=i.getDerivedStateFromProps,B=typeof G=="function"||typeof k.getSnapshotBeforeUpdate=="function";B||typeof k.UNSAFE_componentWillReceiveProps!="function"&&typeof k.componentWillReceiveProps!="function"||(v!==r||x!==j)&&im(a,k,r,j),An=!1;var N=a.memoizedState;k.state=N,Ds(a,r,k,u),x=a.memoizedState,v!==r||N!==x||ua.current||An?(typeof G=="function"&&(Uo(a,i,G,r),x=a.memoizedState),(v=An||nm(a,i,v,r,N,x,j))?(B||typeof k.UNSAFE_componentWillMount!="function"&&typeof k.componentWillMount!="function"||(typeof k.componentWillMount=="function"&&k.componentWillMount(),typeof k.UNSAFE_componentWillMount=="function"&&k.UNSAFE_componentWillMount()),typeof k.componentDidMount=="function"&&(a.flags|=4194308)):(typeof k.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=r,a.memoizedState=x),k.props=r,k.state=x,k.context=j,r=v):(typeof k.componentDidMount=="function"&&(a.flags|=4194308),r=!1)}else{k=a.stateNode,Dc(e,a),v=a.memoizedProps,j=a.type===a.elementType?v:Ta(a.type,v),k.props=j,B=a.pendingProps,N=k.context,x=i.contextType,typeof x=="object"&&x!==null?x=xa(x):(x=ca(i)?Kn:ea.current,x=ft(a,x));var H=i.getDerivedStateFromProps;(G=typeof H=="function"||typeof k.getSnapshotBeforeUpdate=="function")||typeof k.UNSAFE_componentWillReceiveProps!="function"&&typeof k.componentWillReceiveProps!="function"||(v!==B||N!==x)&&im(a,k,r,x),An=!1,N=a.memoizedState,k.state=N,Ds(a,r,k,u);var Z=a.memoizedState;v!==B||N!==Z||ua.current||An?(typeof H=="function"&&(Uo(a,i,H,r),Z=a.memoizedState),(j=An||nm(a,i,j,r,N,Z,x)||!1)?(G||typeof k.UNSAFE_componentWillUpdate!="function"&&typeof k.componentWillUpdate!="function"||(typeof k.componentWillUpdate=="function"&&k.componentWillUpdate(r,Z,x),typeof k.UNSAFE_componentWillUpdate=="function"&&k.UNSAFE_componentWillUpdate(r,Z,x)),typeof k.componentDidUpdate=="function"&&(a.flags|=4),typeof k.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof k.componentDidUpdate!="function"||v===e.memoizedProps&&N===e.memoizedState||(a.flags|=4),typeof k.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&N===e.memoizedState||(a.flags|=1024),a.memoizedProps=r,a.memoizedState=Z),k.props=r,k.state=Z,k.context=x,r=j):(typeof k.componentDidUpdate!="function"||v===e.memoizedProps&&N===e.memoizedState||(a.flags|=4),typeof k.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&N===e.memoizedState||(a.flags|=1024),r=!1)}return Jo(e,a,i,r,m,u)}function Jo(e,a,i,r,u,m){gm(e,a);var k=(a.flags&128)!==0;if(!r&&!k)return u&&vc(a,i,!1),an(e,a,m);r=a.stateNode,pb.current=a;var v=k&&typeof i.getDerivedStateFromError!="function"?null:r.render();return a.flags|=1,e!==null&&k?(a.child=vt(a,e.child,null,m),a.child=vt(a,null,v,m)):ra(e,a,v,m),a.memoizedState=r.state,u&&vc(a,i,!0),a.child}function fm(e){var a=e.stateNode;a.pendingContext?bc(e,a.pendingContext,a.pendingContext!==a.context):a.context&&bc(e,a.context,!1),To(e,a.containerInfo)}function km(e,a,i,r,u){return yt(),So(u),a.flags|=256,ra(e,a,i,r),a.child}var Zo={dehydrated:null,treeContext:null,retryLane:0};function Xo(e){return{baseLanes:e,cachePool:null,transitions:null}}function bm(e,a,i){var r=a.pendingProps,u=Te.current,m=!1,k=(a.flags&128)!==0,v;if((v=k)||(v=e!==null&&e.memoizedState===null?!1:(u&2)!==0),v?(m=!0,a.flags&=-129):(e===null||e.memoizedState!==null)&&(u|=1),Me(Te,u&1),e===null)return wo(a),e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((a.mode&1)===0?a.lanes=1:e.data==="$!"?a.lanes=8:a.lanes=1073741824,null):(k=r.children,e=r.fallback,m?(r=a.mode,m=a.child,k={mode:"hidden",children:k},(r&1)===0&&m!==null?(m.childLanes=0,m.pendingProps=k):m=Xs(k,r,0,null),e=Jn(e,r,i,null),m.return=a,e.return=a,m.sibling=e,a.
vendor: 7,644 bytes, line 41
41child=m,a.child.memoizedState=Xo(i),a.memoizedState=Zo,e):Yo(a,k));if(u=e.memoizedState,u!==null&&(v=u.dehydrated,v!==null))return gb(e,a,k,r,v,u,i);if(m){m=r.fallback,k=a.mode,u=e.child,v=u.sibling;var x={mode:"hidden",children:r.children};return(k&1)===0&&a.child!==u?(r=a.child,r.childLanes=0,r.pendingProps=x,a.deletions=null):(r=Mn(u,x),r.subtreeFlags=u.subtreeFlags&14680064),v!==null?m=Mn(v,m):(m=Jn(m,k,i,null),m.flags|=2),m.return=a,r.return=a,r.sibling=m,a.child=r,r=m,m=a.child,k=e.child.memoizedState,k=k===null?Xo(i):{baseLanes:k.baseLanes|i,cachePool:null,transitions:k.transitions},m.memoizedState=k,m.childLanes=e.childLanes&~i,a.memoizedState=Zo,r}return m=e.child,e=m.sibling,r=Mn(m,{mode:"visible",children:r.children}),(a.mode&1)===0&&(r.lanes=i),r.return=a,r.sibling=null,e!==null&&(i=a.deletions,i===null?(a.deletions=[e],a.flags|=16):i.push(e)),a.child=r,a.memoizedState=null,r}function Yo(e,a){return a=Xs({mode:"visible",children:a},e.mode,0,null),a.return=e,e.child=a}function Bs(e,a,i,r){return r!==null&&So(r),vt(a,e.child,null,i),e=Yo(a,a.pendingProps.children),e.flags|=2,a.memoizedState=null,e}function gb(e,a,i,r,u,m,k){if(i)return a.flags&256?(a.flags&=-257,r=Ho(Error(s(422))),Bs(e,a,k,r)):a.memoizedState!==null?(a.child=e.child,a.flags|=128,null):(m=r.fallback,u=a.mode,r=Xs({mode:"visible",children:r.children},u,0,null),m=Jn(m,u,k,null),m.flags|=2,r.return=a,m.return=a,r.sibling=m,a.child=r,(a.mode&1)!==0&&vt(a,e.child,null,k),a.child.memoizedState=Xo(k),a.memoizedState=Zo,m);if((a.mode&1)===0)return Bs(e,a,k,null);if(u.data==="$!"){if(r=u.nextSibling&&u.nextSibling.dataset,r)var v=r.dgst;return r=v,m=Error(s(419)),r=Ho(m,r,void 0),Bs(e,a,k,r)}if(v=(k&e.childLanes)!==0,ma||v){if(r=Qe,r!==null){switch(k&-k){case 4:u=2;break;case 16:u=8;break;case 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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:u=32;break;case 536870912:u=268435456;break;default:u=0}u=(u&(r.suspendedLanes|k))!==0?0:u,u!==0&&u!==m.retryLane&&(m.retryLane=u,Ya(e,u),Na(r,e,u,-1))}return hl(),r=Ho(Error(s(421))),Bs(e,a,k,r)}return u.data==="$?"?(a.flags|=128,a.child=e.child,a=Ib.bind(null,e),u._reactRetry=a,null):(e=m.treeContext,ba=kn(u.nextSibling),ka=a,ze=!0,za=null,e!==null&&(va[Aa++]=Za,va[Aa++]=Xa,va[Aa++]=Vn,Za=e.id,Xa=e.overflow,Vn=a),a=Yo(a,r.children),a.flags|=4096,a)}function ym(e,a,i){e.lanes|=a;var r=e.alternate;r!==null&&(r.lanes|=a),Co(e.return,a,i)}function el(e,a,i,r,u){var m=e.memoizedState;m===null?e.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:r,tail:i,tailMode:u}:(m.isBackwards=a,m.rendering=null,m.renderingStartTime=0,m.last=r,m.tail=i,m.tailMode=u)}function vm(e,a,i){var r=a.pendingProps,u=r.revealOrder,m=r.tail;if(ra(e,a,r.children,i),r=Te.current,(r&2)!==0)r=r&1|2,a.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=a.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ym(e,i,a);else if(e.tag===19)ym(e,i,a);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===a)break e;for(;e.sibling===null;){if(e.return===null||e.return===a)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Me(Te,r),(a.mode&1)===0)a.memoizedState=null;else switch(u){case"forwards":for(i=a.child,u=null;i!==null;)e=i.alternate,e!==null&&zs(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=a.child,a.child=null):(u=i.sibling,i.sibling=null),el(a,!1,u,i,m);break;case"backwards":for(i=null,u=a.child,a.child=null;u!==null;){if(e=u.alternate,e!==null&&zs(e)===null){a.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}el(a,!0,i,null,m);break;case"together":el(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function Ks(e,a){(a.mode&1)===0&&e!==null&&(e.alternate=null,a.alternate=null,a.flags|=2)}function an(e,a,i){if(e!==null&&(a.dependencies=e.dependencies),_n|=a.lanes,(i&a.childLanes)===0)return null;if(e!==null&&a.child!==e.child)throw Error(s(153));if(a.child!==null){for(e=a.child,i=Mn(e,e.pendingProps),a.child=i,i.return=a;e.sibling!==null;)e=e.sibling,i=i.sibling=Mn(e,e.pendingProps),i.return=a;i.sibling=null}return a.child}function hb(e,a,i){switch(a.tag){case 3:fm(a),yt();break;case 5:Ec(a);break;case 1:ca(a.type)&&xs(a);break;case 4:To(a,a.stateNode.containerInfo);break;case 10:var r=a.type._context,u=a.memoizedProps.value;Me(Ms,r._currentValue),r._currentValue=u;break;case 13:if(r=a.memoizedState,r!==null)return r.dehydrated!==null?(Me(Te,Te.current&1),a.flags|=128,null):(i&a.child.childLanes)!==0?bm(e,a,i):(Me(Te,Te.current&1),e=an(e,a,i),e!==null?e.sibling:null);Me(Te,Te.current&1);break;case 19:if(r=(i&a.childLanes)!==0,(e.flags&128)!==0){if(r)return vm(e,a,i);a.flags|=128}if(u=a.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),Me(Te,Te.current),r)break;return null;case 22:case 23:return a.lanes=0,pm(e,a,i)}return an(e,a,i)}var Am,al,xm,Lm;Am=function(e,a){for(var i=a.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===a)break;for(;i.sibling===null;){if(i.return===null||i.return===a)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},al=function(){},xm=function(e,a,i,r){var u=e.memoizedProps;if(u!==r){e=a.stateNode,qn(Fa.current);var m=null;switch(i){case"input":u=jr(e,u),r=jr(e,r),m=[];break;case"select":u=q({},u,{value:void 0}),r=q({},r,{value:void 0}),m=[];break;case"textarea":u=zr(e,u),r=zr(e,r),m=[];break;default:typeof u.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=ys)}Er(i,r);var k;i=null;for(j in u)if(!r.hasOwnProperty(j)&&u.hasOwnProperty(j)&&u[j]!=null)if(j==="style"){var v=u[j];for(k in v)v.hasOwnProperty(k)&&(i||(i={}),i[k]="")}else j!=="dangerouslySetInnerHTML"&&j!=="children"&&j!=="suppressContentEditableWarning"&&j!=="suppressHydrationWarning"&&j!=="autoFocus"&&(d.hasOwnProperty(j)?m||(m=[]):(m=m||[]).push(j,null));for(j in r){var x=r[j];if(v=u?.[j],r.hasOwnProperty(j)&&x!==v&&(x!=null||v!=null))if(j==="style")if(v){for(k in v)!v.hasOwnProperty(k)||x&&x.hasOwnProperty(k)||(i||(i={}),i[k]="");for(k in x)x.hasOwnProperty(k)&&v[k]!==x[k]&&(i||(i={}),i[k]=x[k])}else i||(m||(m=[]),m.push(j,i)),i=x;else j==="dangerouslySetInnerHTML"?(x=x?x.__html:void 0,v=v?v.__html:void 0,x!=null&&v!==x&&(m=m||[]).push(j,x)):j==="children"?typeof x!="string"&&typeof x!="number"||(m=m||[]).push(j,""+x):j!=="suppressContentEditableWarning"&&j!=="suppressHydrationWarning"&&(d.hasOwnProperty(j)?(x!=null&&j==="onScroll"&&je("scroll",e),m||v===x||(m=[])):(m=m||[]).push(j,x))}i&&(m=m||[]).push("style",i);var j=m;(a.updateQueue=j)&&(a.flags|=4)}},Lm=function(e,a,i,r){i!==r&&(a.flags|=4)};function Li(e,a){if(!ze)switch(e.tailMode){case"hidden":a=e.tail;for(var i=null;a!==null;)a.alternate!==null&&(i=a),a=a.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var r=null;i!==null;)i.alternate!==null&&(r=i),i=i.sibling;r===null?a||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function na(e){var a=e.alternate!==null&&e.alternate.child===e.child,i=0,r=0;if(a)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,r|=u.subtreeFlags&14680064,r|=u.flags&14680064,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,r|=u.subtreeFlags,r|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=r,e.childLanes=i,a}function fb(e,a,i){var r=a.pendingProps;switch(Lo(a),a.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return na(a),null;case 1:return ca(a.type)&&As(),na(a),null;
vendor: 28,135 bytes, line 41
41case 3:return r=a.stateNode,Lt(),Ce(ua),Ce(ea),No(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Ss(a)?a.flags|=4:e===null||e.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,za!==null&&(ml(za),za=null))),al(e,a),na(a),null;case 5:Eo(a);var u=qn(bi.current);if(i=a.type,e!==null&&a.stateNode!=null)xm(e,a,i,r,u),e.ref!==a.ref&&(a.flags|=512,a.flags|=2097152);else{if(!r){if(a.stateNode===null)throw Error(s(166));return na(a),null}if(e=qn(Fa.current),Ss(a)){r=a.stateNode,i=a.type;var m=a.memoizedProps;switch(r[Va]=a,r[pi]=m,e=(a.mode&1)!==0,i){case"dialog":je("cancel",r),je("close",r);break;case"iframe":case"object":case"embed":je("load",r);break;case"video":case"audio":for(u=0;u<ui.length;u++)je(ui[u],r);break;case"source":je("error",r);break;case"img":case"image":case"link":je("error",r),je("load",r);break;case"details":je("toggle",r);break;case"input":tu(r,m),je("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!m.multiple},je("invalid",r);break;case"textarea":ru(r,m),je("invalid",r)}Er(i,m),u=null;for(var k in m)if(m.hasOwnProperty(k)){var v=m[k];k==="children"?typeof v=="string"?r.textContent!==v&&(m.suppressHydrationWarning!==!0&&bs(r.textContent,v,e),u=["children",v]):typeof v=="number"&&r.textContent!==""+v&&(m.suppressHydrationWarning!==!0&&bs(r.textContent,v,e),u=["children",""+v]):d.hasOwnProperty(k)&&v!=null&&k==="onScroll"&&je("scroll",r)}switch(i){case"input":un(r),su(r,m,!0);break;case"textarea":un(r),lu(r);break;case"select":case"option":break;default:typeof m.onClick=="function"&&(r.onclick=ys)}r=u,a.updateQueue=r,r!==null&&(a.flags|=4)}else{k=u.nodeType===9?u:u.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=du(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=k.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=k.createElement(i,{is:r.is}):(e=k.createElement(i),i==="select"&&(k=e,r.multiple?k.multiple=!0:r.size&&(k.size=r.size))):e=k.createElementNS(e,i),e[Va]=a,e[pi]=r,Am(e,a,!1,!1),a.stateNode=e;e:{switch(k=Rr(i,r),i){case"dialog":je("cancel",e),je("close",e),u=r;break;case"iframe":case"object":case"embed":je("load",e),u=r;break;case"video":case"audio":for(u=0;u<ui.length;u++)je(ui[u],e);u=r;break;case"source":je("error",e),u=r;break;case"img":case"image":case"link":je("error",e),je("load",e),u=r;break;case"details":je("toggle",e),u=r;break;case"input":tu(e,r),u=jr(e,r),je("invalid",e);break;case"option":u=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},u=q({},r,{value:void 0}),je("invalid",e);break;case"textarea":ru(e,r),u=zr(e,r),je("invalid",e);break;default:u=r}Er(i,u),v=u;for(m in v)if(v.hasOwnProperty(m)){var x=v[m];m==="style"?mu(e,x):m==="dangerouslySetInnerHTML"?(x=x?x.__html:void 0,x!=null&&uu(e,x)):m==="children"?typeof x=="string"?(i!=="textarea"||x!=="")&&Ut(e,x):typeof x=="number"&&Ut(e,""+x):m!=="suppressContentEditableWarning"&&m!=="suppressHydrationWarning"&&m!=="autoFocus"&&(d.hasOwnProperty(m)?x!=null&&m==="onScroll"&&je("scroll",e):x!=null&&K(e,m,x,k))}switch(i){case"input":un(e),su(e,r,!1);break;case"textarea":un(e),lu(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ae(r.value));break;case"select":e.multiple=!!r.multiple,m=r.value,m!=null?it(e,!!r.multiple,m,!1):r.defaultValue!=null&&it(e,!!r.multiple,r.defaultValue,!0);break;default:typeof u.onClick=="function"&&(e.onclick=ys)}switch(i){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(a.flags|=4)}a.ref!==null&&(a.flags|=512,a.flags|=2097152)}return na(a),null;case 6:if(e&&a.stateNode!=null)Lm(e,a,e.memoizedProps,r);else{if(typeof r!="string"&&a.stateNode===null)throw Error(s(166));if(i=qn(bi.current),qn(Fa.current),Ss(a)){if(r=a.stateNode,i=a.memoizedProps,r[Va]=a,(m=r.nodeValue!==i)&&(e=ka,e!==null))switch(e.tag){case 3:bs(r.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&bs(r.nodeValue,i,(e.mode&1)!==0)}m&&(a.flags|=4)}else r=(i.nodeType===9?i:i.ownerDocument).createTextNode(r),r[Va]=a,a.stateNode=r}return na(a),null;case 13:if(Ce(Te),r=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ze&&ba!==null&&(a.mode&1)!==0&&(a.flags&128)===0)Sc(),yt(),a.flags|=98560,m=!1;else if(m=Ss(a),r!==null&&r.dehydrated!==null){if(e===null){if(!m)throw Error(s(318));if(m=a.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(s(317));m[Va]=a}else yt(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;na(a),m=!1}else za!==null&&(ml(za),za=null),m=!0;if(!m)return a.flags&65536?a:null}return(a.flags&128)!==0?(a.lanes=i,a):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(a.child.flags|=8192,(a.mode&1)!==0&&(e===null||(Te.current&1)!==0?qe===0&&(qe=3):hl())),a.updateQueue!==null&&(a.flags|=4),na(a),null);case 4:return Lt(),al(e,a),e===null&&ci(a.stateNode.containerInfo),na(a),null;case 10:return jo(a.type._context),na(a),null;case 17:return ca(a.type)&&As(),na(a),null;case 19:if(Ce(Te),m=a.memoizedState,m===null)return na(a),null;if(r=(a.flags&128)!==0,k=m.rendering,k===null)if(r)Li(m,!1);else{if(qe!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(k=zs(e),k!==null){for(a.flags|=128,Li(m,!1),r=k.updateQueue,r!==null&&(a.updateQueue=r,a.flags|=4),a.subtreeFlags=0,r=i,i=a.child;i!==null;)m=i,e=r,m.flags&=14680066,k=m.alternate,k===null?(m.childLanes=0,m.lanes=e,m.child=null,m.subtreeFlags=0,m.memoizedProps=null,m.memoizedState=null,m.updateQueue=null,m.dependencies=null,m.stateNode=null):(m.childLanes=k.childLanes,m.lanes=k.lanes,m.child=k.child,m.subtreeFlags=0,m.deletions=null,m.memoizedProps=k.memoizedProps,m.memoizedState=k.memoizedState,m.updateQueue=k.updateQueue,m.type=k.type,e=k.dependencies,m.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return Me(Te,Te.current&1|2),a.child}e=e.sibling}m.tail!==null&&Be()>It&&(a.flags|=128,r=!0,Li(m,!1),a.lanes=4194304)}else{if(!r)if(e=zs(k),e!==null){if(a.flags|=128,r=!0,i=e.updateQueue,i!==null&&(a.updateQueue=i,a.flags|=4),Li(m,!0),m.tail===null&&m.tailMode==="hidden"&&!k.alternate&&!ze)return na(a),null}else 2*Be()-m.renderingStartTime>It&&i!==1073741824&&(a.flags|=128,r=!0,Li(m,!1),a.lanes=4194304);m.isBackwards?(k.sibling=a.child,a.child=k):(i=m.last,i!==null?i.sibling=k:a.child=k,m.last=k)}return m.tail!==null?(a=m.tail,m.rendering=a,m.tail=a.sibling,m.renderingStartTime=Be(),a.sibling=null,i=Te.current,Me(Te,r?i&1|2:i&1),a):(na(a),null);case 22:case 23:return gl(),r=a.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(a.flags|=8192),r&&(a.mode&1)!==0?(ya&1073741824)!==0&&(na(a),a.subtreeFlags&6&&(a.flags|=8192)):na(a),null;case 24:return null;case 25:return null}throw Error(s(156,a.tag))}function kb(e,a){switch(Lo(a),a.tag){case 1:return ca(a.type)&&As(),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return Lt(),Ce(ua),Ce(ea),No(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 5:return Eo(a),null;case 13:if(Ce(Te),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(s(340));yt()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return Ce(Te),null;case 4:return Lt(),null;case 10:return jo(a.type._context),null;case 22:case 23:return gl(),null;case 24:return null;default:return null}}var Vs=!1,ta=!1,bb=typeof WeakSet=="function"?WeakSet:Set,$=null;function wt(e,a){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(r){Ne(e,a,r)}else i.current=null}function nl(e,a,i){try{i()}catch(r){Ne(e,a,r)}}var Pm=!1;function yb(e,a){if(go=os,e=nc(),so(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var r=i.getSelection&&i.getSelection();if(r&&r.rangeCount!==0){i=r.anchorNode;var u=r.anchorOffset,m=r.focusNode;r=r.focusOffset;try{i.nodeType,m.nodeType}catch{i=null;break e}var k=0,v=-1,x=-1,j=0,G=0,B=e,N=null;a:for(;;){for(var H;B!==i||u!==0&&B.nodeType!==3||(v=k+u),B!==m||r!==0&&B.nodeType!==3||(x=k+r),B.nodeType===3&&(k+=B.nodeValue.length),(H=B.firstChild)!==null;)N=B,B=H;for(;;){if(B===e)break a;if(N===i&&++j===u&&(v=k),N===m&&++G===r&&(x=k),(H=B.nextSibling)!==null)break;B=N,N=B.parentNode}B=H}i=v===-1||x===-1?null:{start:v,end:x}}else i=null}i=i||{start:0,end:0}}else i=null;for(ho={focusedElem:e,selectionRange:i},os=!1,$=a;$!==null;)if(a=$,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,$=e;else for(;$!==null;){a=$;try{var Z=a.alternate;if((a.flags&1024)!==0)switch(a.tag){case 0:case 11:case 15:break;case 1:if(Z!==null){var ae=Z.memoizedProps,Ke=Z.memoizedState,S=a.stateNode,L=S.getSnapshotBeforeUpdate(a.elementType===a.type?ae:Ta(a.type,ae),Ke);S.__reactInternalSnapshotBeforeUpdate=L}break;case 3:var I=a.stateNode.containerInfo;I.nodeType===1?I.textContent="":I.nodeType===9&&I.documentElement&&I.removeChild(I.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(V){Ne(a,a.return,V)}if(e=a.sibling,e!==null){e.return=a.return,$=e;break}$=a.return}return Z=Pm,Pm=!1,Z}function Pi(e,a,i){var r=a.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var u=r=r.next;do{if((u.tag&e)===e){var m=u.destroy;u.destroy=void 0,m!==void 0&&nl(a,i,m)}u=u.next}while(u!==r)}}function Fs(e,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&e)===e){var r=i.create;i.destroy=r()}i=i.next}while(i!==a)}}function tl(e){var a=e.ref;if(a!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof a=="function"?a(e):a.current=e}}function wm(e){var a=e.alternate;a!==null&&(e.alternate=null,wm(a)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(a=e.stateNode,a!==null&&(delete a[Va],delete a[pi],delete a[yo],delete a[ab],delete a[nb])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Sm(e){return e.tag===5||e.tag===3||e.tag===4}function Im(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Sm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function il(e,a,i){var r=e.tag;if(r===5||r===6)e=e.stateNode,a?i.nodeType===8?i.parentNode.insertBefore(e,a):i.insertBefore(e,a):(i.nodeType===8?(a=i.parentNode,a.insertBefore(e,i)):(a=i,a.appendChild(e)),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=ys));else if(r!==4&&(e=e.child,e!==null))for(il(e,a,i),e=e.sibling;e!==null;)il(e,a,i),e=e.sibling}function sl(e,a,i){var r=e.tag;if(r===5||r===6)e=e.stateNode,a?i.insertBefore(e,a):i.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(sl(e,a,i),e=e.sibling;e!==null;)sl(e,a,i),e=e.sibling}var Ze=null,Ea=!1;function Ln(e,a,i){for(i=i.child;i!==null;)Mm(e,a,i),i=i.sibling}function Mm(e,a,i){if(Ka&&typeof Ka.onCommitFiberUnmount=="function")try{Ka.onCommitFiberUnmount(as,i)}catch{}switch(i.tag){case 5:ta||wt(i,a);case 6:var r=Ze,u=Ea;Ze=null,Ln(e,a,i),Ze=r,Ea=u,Ze!==null&&(Ea?(e=Ze,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Ze.removeChild(i.stateNode));break;case 18:Ze!==null&&(Ea?(e=Ze,i=i.stateNode,e.nodeType===8?bo(e.parentNode,i):e.nodeType===1&&bo(e,i),ni(e)):bo(Ze,i.stateNode));break;case 4:r=Ze,u=Ea,Ze=i.stateNode.containerInfo,Ea=!0,Ln(e,a,i),Ze=r,Ea=u;break;case 0:case 11:case 14:case 15:if(!ta&&(r=i.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){u=r=r.next;do{var m=u,k=m.destroy;m=m.tag,k!==void 0&&((m&2)!==0||(m&4)!==0)&&nl(i,a,k),u=u.next}while(u!==r)}Ln(e,a,i);break;case 1:if(!ta&&(wt(i,a),r=i.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=i.memoizedProps,r.state=i.memoizedState,r.componentWillUnmount()}catch(v){Ne(i,a,v)}Ln(e,a,i);break;case 21:Ln(e,a,i);break;case 22:i.mode&1?(ta=(r=ta)||i.memoizedState!==null,Ln(e,a,i),ta=r):Ln(e,a,i);break;default:Ln(e,a,i)}}function jm(e){var a=e.updateQueue;if(a!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new bb),a.forEach(function(r){var u=Mb.bind(null,e,r);i.has(r)||(i.add(r),r.then(u,u))})}}function Ra(e,a){var i=a.deletions;if(i!==null)for(var r=0;r<i.length;r++){var u=i[r];try{var m=e,k=a,v=k;e:for(;v!==null;){switch(v.tag){case 5:Ze=v.stateNode,Ea=!1;break e;case 3:Ze=v.stateNode.containerInfo,Ea=!0;break e;case 4:Ze=v.stateNode.containerInfo,Ea=!0;break e}v=v.return}if(Ze===null)throw Error(s(160));Mm(m,k,u),Ze=null,Ea=!1;var x=u.alternate;x!==null&&(x.return=null),u.return=null}catch(j){Ne(u,a,j)}}if(a.subtreeFlags&12854)for(a=a.child;a!==null;)Cm(a,e),a=a.sibling}function Cm(e,a){var i=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ra(a,e),qa(e),r&4){try{Pi(3,e,e.return),Fs(3,e)}catch(ae){Ne(e,e.return,ae)}try{Pi(5,e,e.return)}catch(ae){Ne(e,e.return,ae)}}break;case 1:Ra(a,e),qa(e),r&512&&i!==null&&wt(i,i.return);break;case 5:if(Ra(a,e),qa(e),r&512&&i!==null&&wt(i,i.return),e.flags&32){var u=e.stateNode;try{Ut(u,"")}catch(ae){Ne(e,e.return,ae)}}if(r&4&&(u=e.stateNode,u!=null)){var m=e.memoizedProps,k=i!==null?i.memoizedProps:m,v=e.type,x=e.updateQueue;if(e.updateQueue=null,x!==null)try{v==="input"&&m.type==="radio"&&m.name!=null&&iu(u,m),Rr(v,k);var j=Rr(v,m);for(k=0;k<x.length;k+=2){var G=x[k],B=x[k+1];G==="style"?mu(u,B):G==="dangerouslySetInnerHTML"?uu(u,B):G==="children"?Ut(u,B):K(u,G,B,j)}switch(v){case"input":Cr(u,m);break;case"textarea":ou(u,m);break;case"select":var N=u._wrapperState.wasMultiple;u._wrapperState.wasMultiple=!!m.multiple;var H=m.value;H!=null?it(u,!!m.multiple,H,!1):N!==!!m.multiple&&(m.defaultValue!=null?it(u,!!m.multiple,m.defaultValue,!0):it(u,!!m.multiple,m.multiple?[]:"",!1))}u[pi]=m}catch(ae){Ne(e,e.return,ae)}}break;case 6:if(Ra(a,e),qa(e),r&4){if(e.stateNode===null)throw Error(s(162));u=e.stateNode,m=e.memoizedProps;try{u.nodeValue=m}catch(ae){Ne(e,e.return,ae)}}break;case 3:if(Ra(a,e),qa(e),r&4&&i!==null&&i.memoizedState.isDehydrated)try{ni(a.containerInfo)}catch(ae){Ne(e,e.return,ae)}break;case 4:Ra(a,e),qa(e);break;case 13:Ra(a,e),qa(e),u=e.child,u.flags&8192&&(m=u.memoizedState!==null,u.stateNode.isHidden=m,!m||u.alternate!==null&&u.alternate.memoizedState!==null||(ll=Be())),r&4&&jm(e);break;case 22:if(G=i!==null&&i.memoizedState!==null,e.mode&1?(ta=(j=ta)||G,Ra(a,e),ta=j):Ra(a,e),qa(e),r&8192){if(j=e.memoizedState!==null,(e.stateNode.isHidden=j)&&!G&&(e.mode&1)!==0)for($=e,G=e.child;G!==null;){for(B=$=G;$!==null;){switch(N=$,H=N.child,N.tag){case 0:case 11:case 14:case 15:Pi(4,N,N.return);break;case 1:wt(N,N.return);var Z=N.stateNode;if(typeof Z.componentWillUnmount=="function"){r=N,i=N.return;try{a=r,Z.props=a.memoizedProps,Z.state=a.memoizedState,Z.componentWillUnmount()}catch(ae){Ne(r,i,ae)}}break;case 5:wt(N,N.return);break;case 22:if(N.memoizedState!==null){Tm(B);continue}}H!==null?(H.return=N,$=H):Tm(B)}G=G.sibling}e:for(G=null,B=e;;){if(B.tag===5){if(G===null){G=B;try{u=B.stateNode,j?(m=u.style,typeof m.setProperty=="function"?m.setProperty("display","none","important"):m.display="none"):(v=B.stateNode,x=B.memoizedProps.style,k=x!=null&&x.hasOwnProperty("display")?x.display:null,v.style.display=cu("display",k))}catch(ae){Ne(e,e.return,ae)}}}else if(B.tag===6){if(G===null)try{B.stateNode.nodeValue=j?"":B.memoizedProps}catch(ae){Ne(e,e.return,ae)}}else if((B.tag!==22&&B.tag!==23||B.memoizedState===null||B===e)&&B.child!==null){B.child.return=B,B=B.child;continue}if(B===e)break e;for(;B.sibling===null;){if(B.return===null||B.return===e)break e;G===B&&(G=null),B=B.return}G===B&&(G=null),B.sibling.return=B.return,B=B.sibling}}break;case 19:Ra(a,e),qa(e),r&4&&jm(e);break;case 21:break;default:Ra(a,e),qa(e)}}function qa(e){var a=e.flags;if(a&2){try{e:{for(var i=e.return;i!==null;){if(Sm(i)){var r=i;break e}i=i.return}throw Error(s(160))}switch(r.tag){case 5:var u=r.stateNode;r.flags&32&&(Ut(u,""),r.flags&=-33);var m=Im(e);sl(e,m,u);break;case 3:case 4:var k=r.stateNode.containerInfo,v=Im(e);il(e,v,k);break;default:throw Error(s(161))}}catch(x){Ne(e,e.return,x)}e.flags&=-3}a&4096&&(e.flags&=-4097)}function vb(e,a,i){$=e,Dm(e)}function Dm(e,a,i){for(var r=(e.mode&1)!==0;$!==null;){var u=$,m=u.child;if(u.tag===22&&r){var k=u.memoizedState!==null||Vs;if(!k){var v=u.alternate,x=v!==null&&v.memoizedState!==null||ta;v=Vs;var j=ta;if(Vs=k,(ta=x)&&!j)for($=u;$!==null;)k=$,x=k.child,k.tag===22&&k.memoizedState!==null?Em(u):x!==null?(x.return=k,$=x):Em(u);for(;m!==null;)$=m,Dm(m),m=m.sibling;$=u,Vs=v,ta=j}zm(e)}else(u.subtreeFlags&8772)!==0&&m!==null?(m.return=u,$=m):zm(e)}}function zm(e){for(;$!==null;){var a=$;if((a.flags&8772)!==0){var i=a.alternate;try{if((a.flags&8772)!==0)switch(a.tag){case 0:case 11:case 15:ta||Fs(5,a);break;case 1:var r=a.stateNode;if(a.flags&4&&!ta)if(i===null)r.componentDidMount();else{var u=a.elementType===a.type?i.memoizedProps:Ta(a.type,i.memoizedProps);r.componentDidUpdate(u,i.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var m=a.updateQueue;m!==null&&Tc(a,m,r);break;case 3:var k=a.updateQueue;if(k!==null){if(i=null,a.child!==null)switch(a.child.tag){case 5:i=a.child.stateNode;break;case 1:i=a.child.stateNode}Tc(a,k,i)}break;case 5:var v=a.stateNode;if(i===null&&a.flags&4){i=v;var x=a.memoizedProps;switch(a.type){case"button":case"input":case"select":case"textarea":x.autoFocus&&i.focus();break;case"img":x.src&&(i.src=x.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(a.memoizedState===null){var j=a.alternate;if(j!==null){var G=j.memoizedState;if(G!==null){var B=G.dehydrated;B!==null&&ni(B)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(s(163))}ta||a.flags&512&&tl(a)}catch(N){Ne(a,a.return,N)}}if(a===e){$=null;break}if(i=a.sibling,i!==null){i.return=a.return,$=i;break}$=a.return}}function Tm(e){for(;$!==null;){var a=$;if(a===e){$=null;break}var i=a.sibling;if(i!==null){i.return=a.return,$=i;break}$=a.return}}function Em(e){for(;$!==null;){var a=$;try{switch(a.tag){case 0:case 11:case 15:var i=a.return;try{Fs(4,a)}catch(x){Ne(a,i,x)}break;case 1:var r=a.stateNode;if(typeof r.componentDidMount=="function"){var u=a.return;try{r.componentDidMount()}catch(x){Ne(a,u,x)}}var m=a.return;try{tl(a)}catch(x){Ne(a,m,x)}break;case 5:var k=a.return;try{tl(a)}catch(x){Ne(a,k,x)}}}catch(x){Ne(a,a.return,x)}if(a===e){$=null;break}var v=a.sibling;if(v!==null){v.return=a.return,$=v;break}$=a.return}}var Ab=Math.ceil,Ws=U.ReactCurrentDispatcher,rl=U.ReactCurrentOwner,Pa=U.ReactCurrentBatchConfig,ve=0,Qe=null,Ve=null,Xe=0,ya=0,St=bn(0),qe=0,wi=null,_n=0,qs=0,ol=0,Si=null,pa=null,ll=0,It=1/0,nn=null,Us=!1,dl=null,Pn=null,_s=!1,wn=null,Hs=0,Ii=0,ul=null,$s=-1,Qs=0;function oa(){return(ve&6)!==0?Be():$s!==-1?$s:$s=Be()}function Sn(e){return(e.mode&1)===0?1:(ve&2)!==0&&Xe!==0?Xe&-Xe:ib.transition!==null?(Qs===0&&(Qs=Iu()),Qs):(e=Se,e!==0||(e=window.event,e=e===void 0?16:Nu(e.type)),e)}function Na(e,a,i,r){if(50<Ii)throw Ii=0,ul=null,Error(s(185));Zt(e,i,r),((ve&2)===0||e!==Qe)&&(e===Qe&&((ve&2)===0&&(qs|=i),qe===4&&In(e,Xe)),ga(e,r),i===1&&ve===0&&(a.mode&1)===0&&(It=Be()+500,Ls&&vn()))}function ga(e,a){var i=e.callbackNode;ik(e,a);var r=is(e,e===Qe?Xe:0);if(r===0)i!==null&&Pu(i),e.callbackNode=null,e.callbackPriority=0;else if(a=r&-r,e.callbackPriority!==a){if(i!=null&&Pu(i),a===1)e.tag===0?tb(Nm.bind(null,e)):Ac(Nm.bind(null,e)),Yk(function(){(ve&6)===0&&vn()}),i=null;else{switch(Mu(r)){case 1:i=Fr;break;case 4:i=wu;break;case 16:i=es;break;case 536870912:i=Su;break;default:i=es}i=qm(i,Rm.bind(null,e))}e.callbackPriority=a,e.callbackNode=i}}function Rm(e,a){if($s=-1,Qs=0,(ve&6)!==0)throw Error(s(327));var i=e.callbackNode;if(Mt()&&e.callbackNode!==i)return null;var r=is(e,e===Qe?Xe:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||a)a=Js(e,r);else{a=r;var u=ve;ve|=2;var m=Om();(Qe!==e||Xe!==a)&&(nn=null,It=Be()+500,$n(e,a));do try{Pb();break}catch(v){Gm(e,v)}while(!0);Mo(),Ws.current=m,ve=u,Ve!==null?a=0:(Qe=null,Xe=0,a=qe)}if(a!==0){if(a===2&&(u=Wr(e),u!==0&&(r=u,a=cl(e,u))),a===1)throw i=wi,$n(e,0),In(e,r),ga(e,Be()),i;if(a===6)In(e,r);else{if(u=e.current.alternate,(r&30)===0&&!xb(u)&&(a=Js(e,r),a===2&&(m=Wr(e),m!==0&&(r=m,a=cl(e,m))),a===1))throw i=wi,$n(e,0),In(e,r),ga(e,Be()),i;switch(e.finishedWork=u,e.finishedLanes=r,a){case 0:case 1:throw Error(s(345));case 2:Qn(e,pa,nn);break;case 3:if(In(e,r),(r&130023424)===r&&(a=ll+500-Be(),10<a)){if(is(e,0)!==0)break;if(u=e.suspendedLanes,(u&r)!==r){oa(),e.pingedLanes|=e.suspendedLanes&u;break}e.timeoutHandle=ko(Qn.bind(null,e,pa,nn),a);break}Qn(e,pa,nn);break;case 4:if(In(e,r),(r&4194240)===r)break;for(a=e.eventTimes,u=-1;0<r;){var k=31-Ca(r);m=1<<k,k=a[k],k>u&&(u=k),r&=~m}if(r=u,r=Be()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ab(r/1960))-r,10<r){e.timeoutHandle=ko(Qn.bind(null,e,pa,nn),r);break}Qn(e,pa,nn);break;case 5:Qn(e,pa,nn);break;default:throw Error(s(329))}}}return ga(e,Be()),e.callbackNode===i?Rm.bind(null,e):null}function cl(e,a){var i=Si;return e.current.memoizedState.isDehydrated&&($n(e,a).flags|=256),e=Js(e,a),e!==2&&(a=pa,pa=i,a!==null&&ml(a)),e}function ml(e){pa===null?pa=e:pa.push.apply(pa,e)}function xb(e){for(var a=e;;){if(a.flags&16384){var i=a.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var r=0;r<i.length;r++){var u=i[r],m=u.getSnapshot;u=u.value;try{if(!Da(m(),u))return!1}catch{return!1}}}if(i=a.child,a.subtreeFlags&16384&&i!==null)i.return=a,a=i;else{if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function In(e,a){for(a&=~ol,a&=~qs,e.suspendedLanes|=a,e.pingedLanes&=~a,e=e.expirationTimes;0<a;){var i=31-Ca(a),r=1<<i;e[i]=-1,a&=~r}}function Nm(e){if((ve&6)!==0)throw Error(s(327));Mt();var a=is(e,0);if((a&1)===0)return ga(e,Be()),null;var i=Js(e,a);if(e.tag!==0&&i===2){var r=Wr(e);r!==0&&(a=r,i=cl(e,r))}if(i===1)throw i=wi,$n(e,0),In(e,a),ga(e,Be()),i;if(i===6)throw Error(s(345));return e.finishedWork=e.current.alternate,e.finishedLanes=a,Qn(e,pa,nn),ga(e,Be()),null}function pl(e,a){var i=ve;ve|=1;try{return e(a)}finally{ve=i,ve===0&&(It=Be()+500,Ls&&vn())}}function Hn(e){wn!==null&&wn.tag===0&&(ve&6)===0&&Mt();var a=ve;ve|=1;var i=Pa.transition,r=Se;try{if(Pa.transition=null,Se=1,e)return e()}finally{Se=r,Pa.transition=i,ve=a,(ve&6)===0&&vn()}}function gl(){ya=St.current,Ce(St)}function $n(e,a){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,Xk(i)),Ve!==null)for(i=Ve.return;i!==null;){var r=i;switch(Lo(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&As();break;case 3:Lt(),Ce(ua),Ce(ea),No();break;case 5:Eo(r);break;case 4:Lt();break;case 13:Ce(Te);break;case 19:Ce(Te);break;case 10:jo(r.type._context);break;case 22:case 23:gl()}i=i.return}if(Qe=e,Ve=e=Mn(e.current,null),Xe=ya=a,qe=0,wi=null,ol=qs=_n=0,pa=Si=null,Wn!==null){for(a=0;a<Wn.length;a++)if(i=Wn[a],r=i.interleaved,r!==null){i.interleaved=null;var u=r.next,m=i.pending;if(m!==null){var k=m.next;m.next=u,r.next=k}i.pending=r}Wn=null}return e}function Gm(e,a){do{var i=Ve;try{if(Mo(),Ts.current=Gs,Es){for(var r=Ee.memoizedState;r!==null;){var u=r.queue;u!==null&&(u.pending=null),r=r.next}Es=!1}if(Un=0,$e=We=Ee=null,yi=!1,vi=0,rl.current=null,i===null||i.return===null){qe=1,wi=a,Ve=null;break}e:{var m=e,k=i.return,v=i,x=a;if(a=Xe,v.flags|=32768,x!==null&&typeof x=="object"&&typeof x.then=="function"){var j=x,G=v,B=G.tag;if((G.mode&1)===0&&(B===0||B===11||B===15)){var N=G.alternate;N?(G.updateQueue=N.updateQueue,G.memoizedState=N.memoizedState,G.lanes=N.lanes):(G.updateQueue=null,G.memoizedState=null)}var H=lm(k);if(H!==null){H.flags&=-257,dm(H,k,v,m,a),H.mode&1&&om(m,j,a),a=H,x=j;var Z=a.updateQueue;if(Z===null){var ae=new Set;ae.add(x),a.updateQueue=ae}else Z.add(x);break e}else{if((a&1)===0){om(m,j,a),hl();break e}x=Error(s(426))}}else if(ze&&v.mode&1){var Ke=lm(k);if(Ke!==null){(Ke.flags&65536)===0&&(Ke.flags|=256),dm(Ke,k,v,m,a),So(Pt(x,v));break e}}m=x=Pt(x,v),qe!==4&&(qe=2),Si===null?Si=[m]:Si.push(m),m=k;do{switch(m.tag){case 3:m.flags|=65536,a&=-a,m.lanes|=a;var S=sm(m,x,a);zc(m,S);break e;case 1:v=x;var L=m.type,I=m.stateNode;if((m.flags&128)===0&&(typeof L.getDerivedStateFromError=="function"||I!==null&&typeof I.componentDidCatch=="function"&&(Pn===null||!Pn.has(I)))){m.flags|=65536,a&=-a,m.lanes|=a;var V=rm(m,v,a);zc(m,V);break e}}m=m.return}while(m!==null)}Km(i)}catch(ne){a=ne,Ve===i&&i!==null&&(Ve=i=i.return);continue}break}while(!0)}function Om(){var e=Ws.current;return Ws.current=Gs,e===null?Gs:e}function hl(){(qe===0||qe===3||qe===2)&&(qe=4),Qe===null||(_n&268435455)===0&&(qs&268435455)===0||In(Qe,Xe)}function Js(e,a){var i=ve;ve|=2;var r=Om();(Qe!==e||Xe!==a)&&(nn=null,$n(e,a));do try{Lb();break}catch(u){Gm(e,u)}while(!0);if(Mo(),ve=i,Ws.current=r,Ve!==null)throw Error(s(261));return Qe=null,Xe=0,qe}function Lb(){for(;Ve!==null;)Bm(Ve)}function Pb(){for(;Ve!==null&&!Qf();)Bm(Ve)}function Bm(e){var a=Wm(e.alternate,e,ya);e.memoizedProps=e.pendingProps,a===null?Km(e):Ve=a,rl.current=null}function Km(e){var a=e;do{var i=a.alternate;if(e=a.return,(a.flags&32768)===0){if(i=fb(i,a,ya),i!==null){Ve=i;return}}else{if(i=kb(i,a),i!==null){i.flags&=32767,Ve=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{qe=6,Ve=null;return}}if(a=a.sibling,a!==null){Ve=a;return}Ve=a=e}while(a!==null);qe===0&&(qe=5)}function Qn(e,a,i){var r=Se,u=Pa.transition;try{Pa.transition=null,Se=1,wb(e,a,i,r)}finally{Pa.transition=u,Se=r}return null}function wb(e,a,i,r){do Mt();while(wn!==null);if((ve&6)!==0)throw Error(s(327));i=e.finishedWork;var u=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0;var m=i.lanes|i.childLanes;if(sk(e,m),e===Qe&&(Ve=Qe=null,Xe=0),(i.subtreeFlags&2064)===0&&(i.flags&2064)===0||_s||(_s=!0,qm(es,function(){return Mt(),null})),m=(i.flags&15990)!==0,(i.subtreeFlags&15990)!==0||m){m=Pa.transition,Pa.transition=null;var k=Se;Se=1;var v=ve;ve|=4,rl.current=null,yb(e,i),Cm(i,e),Uk(ho),os=!!go,ho=go=null,e.current=i,vb(i),Jf(),ve=v,Se=k,Pa.transition=m}else e.current=i;if(_s&&(_s=!1,wn=e,Hs=u),m=e.pendingLanes,m===0&&(Pn=null),Yf(i.stateNode),ga(e,Be()),a!==null)for(r=e.onRecoverableError,i=0;i<a.length;i++)u=a[i],r(u.value,{componentStack:u.stack,digest:u.digest});if(Us)throw Us=!1,e=dl,dl=null,e;return(Hs&1)!==0&&e.tag!==0&&Mt(),m=e.pendingLanes,(m&1)!==0?e===ul?Ii++:(Ii=0,ul=e):Ii=0,vn(),null}function Mt(){if(wn!==null){var e=Mu(Hs),a=Pa.transition,i=Se;try{if(Pa.transition=null,Se=16>e?16:e,wn===null)var r=!1;else{if(e=wn,wn=null,Hs=0,(ve&6)!==0)throw Error(s(331));var u=ve;for(ve|=4,$=e.current;$!==null;){var m=$,k=m.child;if(($.flags&16)!==0){var v=m.deletions;if(v!==null){for(var x=0;x<v.length;x++){var j=v[x];for($=j;$!==null;){var G=$;switch(G.tag){case 0:case 11:case 15:Pi(8,G,m)}var B=G.child;if(B!==null)B.return=G,$=B;else for(;$!==null;){G=$;var N=G.sibling,H=G.return;if(wm(G),G===j){$=null;break}if(N!==null){N.return=H,$=N;break}$=H}}}var Z=m.alternate;if(Z!==null){var ae=Z.child;if(ae!==null){Z.child=null;do{var Ke=ae.sibling;ae.sibling=null,ae=Ke}while(ae!==null)}}$=m}}if((m.subtreeFlags&2064)!==0&&k!==null)k.return=m,$=k;else e:for(;$!==null;){if(m=$,(m.flags&2048)!==0)switch(m.tag){case 0:case 11:case 15:Pi(9,m,m.return)}var S=m.sibling;if(S!==null){S.return=m.return,$=S;break e}$=m.return}}var L=e.current;for($=L;$!==null;){k=$;var I=k.child;if((k.subtreeFlags&2064)!==0&&I!==null)I.return=k,$=I;else e:for(k=L;$!==null;){if(v=$,(v.flags&2048)!==0)try{switch(v.tag){case 0:case 11:case 15:Fs(9,v)}}catch(ne){Ne(v,v.return,ne)}if(v===k){$=null;break e}var V=v.sibling;if(V!==null){V.return=v.return,$=V;break e}$=v.return}}if(ve=u,vn(),Ka&&typeof Ka.onPostCommitFiberRoot=="function")try{Ka.onPostCommitFiberRoot(as,e)}catch{}r=!0}return r}finally{Se=i,Pa.transition=a}}return!1}function Vm(e,a,i){a=Pt(i,a),a=sm(e,a,1),e=xn(e,a,1),a=oa(),e!==null&&(Zt(e,1,a),ga(e,a))}
vendor: 5,010 bytes, line 41
41function Ne(e,a,i){if(e.tag===3)Vm(e,e,i);else for(;a!==null;){if(a.tag===3){Vm(a,e,i);break}else if(a.tag===1){var r=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Pn===null||!Pn.has(r))){e=Pt(i,e),e=rm(a,e,1),a=xn(a,e,1),e=oa(),a!==null&&(Zt(a,1,e),ga(a,e));break}}a=a.return}}function Sb(e,a,i){var r=e.pingCache;r!==null&&r.delete(a),a=oa(),e.pingedLanes|=e.suspendedLanes&i,Qe===e&&(Xe&i)===i&&(qe===4||qe===3&&(Xe&130023424)===Xe&&500>Be()-ll?$n(e,0):ol|=i),ga(e,a)}function Fm(e,a){a===0&&((e.mode&1)===0?a=1:(a=ts,ts<<=1,(ts&130023424)===0&&(ts=4194304)));var i=oa();e=Ya(e,a),e!==null&&(Zt(e,a,i),ga(e,i))}function Ib(e){var a=e.memoizedState,i=0;a!==null&&(i=a.retryLane),Fm(e,i)}function Mb(e,a){var i=0;switch(e.tag){case 13:var r=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(s(314))}r!==null&&r.delete(a),Fm(e,i)}var Wm;Wm=function(e,a,i){if(e!==null)if(e.memoizedProps!==a.pendingProps||ua.current)ma=!0;else{if((e.lanes&i)===0&&(a.flags&128)===0)return ma=!1,hb(e,a,i);ma=(e.flags&131072)!==0}else ma=!1,ze&&(a.flags&1048576)!==0&&xc(a,ws,a.index);switch(a.lanes=0,a.tag){case 2:var r=a.type;Ks(e,a),e=a.pendingProps;var u=ft(a,ea.current);xt(a,i),u=Bo(null,a,r,e,u,i);var m=Ko();return a.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,ca(r)?(m=!0,xs(a)):m=!1,a.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,zo(a),u.updater=Os,a.stateNode=u,u._reactInternals=a,_o(a,r,e,i),a=Jo(null,a,r,!0,m,i)):(a.tag=0,ze&&m&&xo(a),ra(null,a,u,i),a=a.child),a;case 16:r=a.elementType;e:{switch(Ks(e,a),e=a.pendingProps,u=r._init,r=u(r._payload),a.type=r,u=a.tag=Cb(r),e=Ta(r,e),u){case 0:a=Qo(null,a,r,e,i);break e;case 1:a=hm(null,a,r,e,i);break e;case 11:a=um(null,a,r,e,i);break e;case 14:a=cm(null,a,r,Ta(r.type,e),i);break e}throw Error(s(306,r,""))}return a;case 0:return r=a.type,u=a.pendingProps,u=a.elementType===r?u:Ta(r,u),Qo(e,a,r,u,i);case 1:return r=a.type,u=a.pendingProps,u=a.elementType===r?u:Ta(r,u),hm(e,a,r,u,i);case 3:e:{if(fm(a),e===null)throw Error(s(387));r=a.pendingProps,m=a.memoizedState,u=m.element,Dc(e,a),Ds(a,r,null,i);var k=a.memoizedState;if(r=k.element,m.isDehydrated)if(m={element:r,isDehydrated:!1,cache:k.cache,pendingSuspenseBoundaries:k.pendingSuspenseBoundaries,transitions:k.transitions},a.updateQueue.baseState=m,a.memoizedState=m,a.flags&256){u=Pt(Error(s(423)),a),a=km(e,a,r,i,u);break e}else if(r!==u){u=Pt(Error(s(424)),a),a=km(e,a,r,i,u);break e}else for(ba=kn(a.stateNode.containerInfo.firstChild),ka=a,ze=!0,za=null,i=jc(a,null,r,i),a.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(yt(),r===u){a=an(e,a,i);break e}ra(e,a,r,i)}a=a.child}return a;case 5:return Ec(a),e===null&&wo(a),r=a.type,u=a.pendingProps,m=e!==null?e.memoizedProps:null,k=u.children,fo(r,u)?k=null:m!==null&&fo(r,m)&&(a.flags|=32),gm(e,a),ra(e,a,k,i),a.child;case 6:return e===null&&wo(a),null;case 13:return bm(e,a,i);case 4:return To(a,a.stateNode.containerInfo),r=a.pendingProps,e===null?a.child=vt(a,null,r,i):ra(e,a,r,i),a.child;case 11:return r=a.type,u=a.pendingProps,u=a.elementType===r?u:Ta(r,u),um(e,a,r,u,i);case 7:return ra(e,a,a.pendingProps,i),a.child;case 8:return ra(e,a,a.pendingProps.children,i),a.child;case 12:return ra(e,a,a.pendingProps.children,i),a.child;case 10:e:{if(r=a.type._context,u=a.pendingProps,m=a.memoizedProps,k=u.value,Me(Ms,r._currentValue),r._currentValue=k,m!==null)if(Da(m.value,k)){if(m.children===u.children&&!ua.current){a=an(e,a,i);break e}}else for(m=a.child,m!==null&&(m.return=a);m!==null;){var v=m.dependencies;if(v!==null){k=m.child;for(var x=v.firstContext;x!==null;){if(x.context===r){if(m.tag===1){x=en(-1,i&-i),x.tag=2;var j=m.updateQueue;if(j!==null){j=j.shared;var G=j.pending;G===null?x.next=x:(x.next=G.next,G.next=x),j.pending=x}}m.lanes|=i,x=m.alternate,x!==null&&(x.lanes|=i),Co(m.return,i,a),v.lanes|=i;break}x=x.next}}else if(m.tag===10)k=m.type===a.type?null:m.child;else if(m.tag===18){if(k=m.return,k===null)throw Error(s(341));k.lanes|=i,v=k.alternate,v!==null&&(v.lanes|=i),Co(k,i,a),k=m.sibling}else k=m.child;if(k!==null)k.return=m;else for(k=m;k!==null;){if(k===a){k=null;break}if(m=k.sibling,m!==null){m.return=k.return,k=m;break}k=k.return}m=k}ra(e,a,u.children,i),a=a.child}return a;case 9:return u=a.type,r=a.pendingProps.children,xt(a,i),u=xa(u),r=r(u),a.flags|=1,ra(e,a,r,i),a.child;case 14:return r=a.type,u=Ta(r,a.pendingProps),u=Ta(r.type,u),cm(e,a,r,u,i);case 15:return mm(e,a,a.type,a.pendingProps,i);case 17:return r=a.type,u=a.pendingProps,u=a.elementType===r?u:Ta(r,u),Ks(e,a),a.tag=1,ca(r)?(e=!0,xs(a)):e=!1,xt(a,i),tm(a,r,u),_o(a,r,u,i),Jo(null,a,r,!0,e,i);case 19:return vm(e,a,i);case 22:return pm(e,a,i)}throw Error(s(156,a.tag))};function qm(e,a){return Lu(e,a)}function jb(e,a,i,r){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.t
vendor: 9,935 bytes, line 41
41ype=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function wa(e,a,i,r){return new jb(e,a,i,r)}function fl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Cb(e){if(typeof e=="function")return fl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===pe)return 11;if(e===me)return 14}return 2}function Mn(e,a){var i=e.alternate;return i===null?(i=wa(e.tag,a,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=a,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,a=e.dependencies,i.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Zs(e,a,i,r,u,m){var k=2;if(r=e,typeof e=="function")fl(e)&&(k=1);else if(typeof e=="string")k=5;else e:switch(e){case de:return Jn(i.children,u,m,a);case O:k=8,u|=8;break;case _:return e=wa(12,i,a,u|2),e.elementType=_,e.lanes=m,e;case ke:return e=wa(13,i,a,u),e.elementType=ke,e.lanes=m,e;case Ie:return e=wa(19,i,a,u),e.elementType=Ie,e.lanes=m,e;case se:return Xs(i,u,m,a);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case te:k=10;break e;case be:k=9;break e;case pe:k=11;break e;case me:k=14;break e;case Le:k=16,r=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return a=wa(k,i,a,u),a.elementType=e,a.type=r,a.lanes=m,a}function Jn(e,a,i,r){return e=wa(7,e,r,a),e.lanes=i,e}function Xs(e,a,i,r){return e=wa(22,e,r,a),e.elementType=se,e.lanes=i,e.stateNode={isHidden:!1},e}function kl(e,a,i){return e=wa(6,e,null,a),e.lanes=i,e}function bl(e,a,i){return a=wa(4,e.children!==null?e.children:[],e.key,a),a.lanes=i,a.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},a}function Db(e,a,i,r,u){this.tag=a,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=qr(0),this.expirationTimes=qr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qr(0),this.identifierPrefix=r,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function yl(e,a,i,r,u,m,k,v,x){return e=new Db(e,a,i,v,x),a===1?(a=1,m===!0&&(a|=8)):a=0,m=wa(3,null,null,a),e.current=m,m.stateNode=e,m.memoizedState={element:r,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},zo(m),e}function zb(e,a,i){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:J,key:r==null?null:""+r,children:e,containerInfo:a,implementation:i}}function Um(e){if(!e)return yn;e=e._reactInternals;e:{if(On(e)!==e||e.tag!==1)throw Error(s(170));var a=e;do{switch(a.tag){case 3:a=a.stateNode.context;break e;case 1:if(ca(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break e}}a=a.return}while(a!==null);throw Error(s(171))}if(e.tag===1){var i=e.type;if(ca(i))return yc(e,i,a)}return a}function _m(e,a,i,r,u,m,k,v,x){return e=yl(i,r,!0,e,u,m,k,v,x),e.context=Um(null),i=e.current,r=oa(),u=Sn(i),m=en(r,u),m.callback=a??null,xn(i,m,u),e.current.lanes=u,Zt(e,u,r),ga(e,r),e}function Ys(e,a,i,r){var u=a.current,m=oa(),k=Sn(u);return i=Um(i),a.context===null?a.context=i:a.pendingContext=i,a=en(m,k),a.payload={element:e},r=r===void 0?null:r,r!==null&&(a.callback=r),e=xn(u,a,k),e!==null&&(Na(e,u,k,m),Cs(e,u,k)),k}function er(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Hm(e,a){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<a?i:a}}function vl(e,a){Hm(e,a),(e=e.alternate)&&Hm(e,a)}function Tb(){return null}var $m=typeof reportError=="function"?reportError:function(e){console.error(e)};function Al(e){this._internalRoot=e}ar.prototype.render=Al.prototype.render=function(e){var a=this._internalRoot;if(a===null)throw Error(s(409));Ys(e,a,null,null)},ar.prototype.unmount=Al.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var a=e.containerInfo;Hn(function(){Ys(null,e,null,null)}),a[Qa]=null}};function ar(e){this._internalRoot=e}ar.prototype.unstable_scheduleHydration=function(e){if(e){var a=Du();e={blockedOn:null,target:e,priority:a};for(var i=0;i<gn.length&&a!==0&&a<gn[i].priority;i++);gn.splice(i,0,e),i===0&&Eu(e)}};function xl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function nr(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Qm(){}function Eb(e,a,i,r,u){if(u){if(typeof r=="function"){var m=r;r=function(){var j=er(k);m.call(j)}}var k=_m(a,r,e,0,null,!1,!1,"",Qm);return e._reactRootContainer=k,e[Qa]=k.current,ci(e.nodeType===8?e.parentNode:e),Hn(),k}for(;u=e.lastChild;)e.removeChild(u);if(typeof r=="function"){var v=r;r=function(){var j=er(x);v.call(j)}}var x=yl(e,0,!1,null,null,!1,!1,"",Qm);return e._reactRootContainer=x,e[Qa]=x.current,ci(e.nodeType===8?e.parentNode:e),Hn(function(){Ys(a,x,i,r)}),x}function tr(e,a,i,r,u){var m=i._reactRootContainer;if(m){var k=m;if(typeof u=="function"){var v=u;u=function(){var x=er(k);v.call(x)}}Ys(a,k,e,u)}else k=Eb(i,a,e,u,r);return er(k)}ju=function(e){switch(e.tag){case 3:var a=e.stateNode;if(a.current.memoizedState.isDehydrated){var i=Jt(a.pendingLanes);i!==0&&(Ur(a,i|1),ga(a,Be()),(ve&6)===0&&(It=Be()+500,vn()))}break;case 13:Hn(function(){var r=Ya(e,1);if(r!==null){var u=oa();Na(r,e,1,u)}}),vl(e,1)}},_r=function(e){if(e.tag===13){var a=Ya(e,134217728);if(a!==null){var i=oa();Na(a,e,134217728,i)}vl(e,134217728)}},Cu=function(e){if(e.tag===13){var a=Sn(e),i=Ya(e,a);if(i!==null){var r=oa();Na(i,e,a,r)}vl(e,a)}},Du=function(){return Se},zu=function(e,a){var i=Se;try{return Se=e,a()}finally{Se=i}},Or=function(e,a,i){switch(a){case"input":if(Cr(e,i),a=i.name,i.type==="radio"&&a!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+a)+'][type="radio"]'),a=0;a<i.length;a++){var r=i[a];if(r!==e&&r.form===e.form){var u=vs(r);if(!u)throw Error(s(90));Gn(r),Cr(r,u)}}}break;case"textarea":ou(e,i);break;case"select":a=i.value,a!=null&&it(e,!!i.multiple,a,!1)}},fu=pl,ku=Hn;var Rb={usingClientEntryPoint:!1,Events:[gi,gt,vs,gu,hu,pl]},Mi={findFiberByHostInstance:Bn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Nb={bundleType:Mi.bundleType,version:Mi.version,rendererPackageName:Mi.rendererPackageName,rendererConfig:Mi.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:U.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Au(e),e===null?null:e.stateNode},findFiberByHostInstance:Mi.findFiberByHostInstance||Tb,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ir=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ir.isDisabled&&ir.supportsFiber)try{as=ir.inject(Nb),Ka=ir}catch{}}return ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Rb,ha.createPortal=function(e,a){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!xl(a))throw Error(s(200));return zb(e,a,null,i)},ha.createRoot=function(e,a){if(!xl(e))throw Error(s(299));var i=!1,r="",u=$m;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(r=a.identifierPrefix),a.onRecoverableError!==void 0&&(u=a.onRecoverableError)),a=yl(e,1,!1,null,null,i,!1,r,u),e[Qa]=a.current,ci(e.nodeType===8?e.parentNode:e),new Al(a)},ha.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var a=e._reactInternals;if(a===void 0)throw typeof e.render=="function"?Error(s(188)):(e=Object.keys(e).join(","),Error(s(268,e)));return e=Au(a),e=e===null?null:e.stateNode,e},ha.flushSync=function(e){return Hn(e)},ha.hydrate=function(e,a,i){if(!nr(a))throw Error(s(200));return tr(null,e,a,!0,i)},ha.hydrateRoot=function(e,a,i){if(!xl(e))throw Error(s(405));var r=i!=null&&i.hydratedSources||null,u=!1,m="",k=$m;if(i!=null&&(i.unstable_strictMode===!0&&(u=!0),i.identifierPrefix!==void 0&&(m=i.identifierPrefix),i.onRecoverableError!==void 0&&(k=i.onRecoverableError)),a=_m(a,null,e,1,i??null,u,!1,m,k),e[Qa]=a.current,ci(e),r)for(e=0;e<r.length;e++)i=r[e],u=i._getVersion,u=u(i._source),a.mutableSourceEagerHydrationData==null?a.mutableSourceEagerHydrationData=[i,u]:a.mutableSourceEagerHydrationData.push(i,u);return new ar(a)},ha.render=function(e,a,i){if(!nr(a))throw Error(s(200));return tr(null,e,a,!1,i)},ha.unmountComponentAtNode=function(e){if(!nr(e))throw Error(s(40));return e._reactRootContainer?(Hn(function(){tr(null,null,e,!1,function(){e._reactRootContainer=null,e[Qa]=null})}),!0):!1},ha.unstable_batchedUpdates=pl,ha.unstable_renderSubtreeIntoContainer=function(e,a,i,r){if(!nr(i))throw Error(s(200));if(e==null||e._reactInternals===void 0)throw Error(s(38));return tr(e,a,i,!1,r)},ha.version="18.3.1-next-f1338f8080-20240426",ha}var tp;function Tg(){if(tp)return wl.exports;tp=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(t){console.error(t)}}
vendor: 4,672 bytes, lines 41-91
41return n(),wl.exports=Ub(),wl.exports}var ip;function _b(){if(ip)return sr;ip=1;var n=Tg();return sr.createRoot=n.createRoot,sr.hydrateRoot=n.hydrateRoot,sr}var Hb=_b(),T=Ad();const $b=Bb(T),Qb=Ob({__proto__:null,default:$b},[T]);/** 42 * @license lucide-react v0.487.0 - ISC 43 * 44 * This source code is licensed under the ISC license. 45 * See the LICENSE file in the root directory of this source tree. 46 */const Jb=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Zb=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,s,o)=>o?o.toUpperCase():s.toLowerCase()),sp=n=>{const t=Zb(n);return t.charAt(0).toUpperCase()+t.slice(1)},Eg=(...n)=>n.filter((t,s,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===s).join(" ").trim();/** 47 * @license lucide-react v0.487.0 - ISC 48 * 49 * This source code is licensed under the ISC license. 50 * See the LICENSE file in the root directory of this source tree. 51 */var Xb={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** 52 * @license lucide-react v0.487.0 - ISC 53 * 54 * This source code is licensed under the ISC license. 55 * See the LICENSE file in the root directory of this source tree. 56 */const Yb=T.forwardRef(({color:n="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:d="",children:p,iconNode:c,...g},h)=>T.createElement("svg",{ref:h,...Xb,width:t,height:t,stroke:n,strokeWidth:o?Number(s)*24/Number(t):s,className:Eg("lucide",d),...g},[...c.map(([b,f])=>T.createElement(b,f)),...Array.isArray(p)?p:[p]]));/** 57 * @license lucide-react v0.487.0 - ISC 58 * 59 * This source code is licensed under the ISC license. 60 * See the LICENSE file in the root directory of this source tree. 61 */const Pe=(n,t)=>{const s=T.forwardRef(({className:o,...d},p)=>T.createElement(Yb,{ref:p,iconNode:t,className:Eg(`lucide-${Jb(sp(n))}`,`lucide-${n}`,o),...d}));return s.displayName=sp(n),s};/** 62 * @license lucide-react v0.487.0 - ISC 63 * 64 * This source code is licensed under the ISC license. 65 * See the LICENSE file in the root directory of this source tree. 66 */const ey=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],ay=Pe("activity",ey);/** 67 * @license lucide-react v0.487.0 - ISC 68 * 69 * This source code is licensed under the ISC license. 70 * See the LICENSE file in the root directory of this source tree. 71 */const ny=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],wr=Pe("arrow-right",ny);/** 72 * @license lucide-react v0.487.0 - ISC 73 * 74 * This source code is licensed under the ISC license. 75 * See the LICENSE file in the root directory of this source tree. 76 */const ty=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],Rg=Pe("bot",ty);/** 77 * @license lucide-react v0.487.0 - ISC 78 * 79 * This source code is licensed under the ISC license. 80 * See the LICENSE file in the root directory of this source tree. 81 */const iy=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]],sy=Pe("brain",iy);/** 82 * @license lucide-react v0.487.0 - ISC 83 * 84 * This source code is licensed under the ISC license. 85 * See the LICENSE file in the root directory of this source tree. 86 */const ry=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],oy=Pe("briefcase",ry);/** 87 * @license lucide-react v0.487.0 - ISC 88 * 89 * This source code is licensed under the ISC license. 90 * See the LICENSE file in the root directory of this source tree. 91 */const ly=[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}
91],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]],xd=Pe("building-2",ly);/** 92 * @license lucide-react v0.487.0 - ISC 93 * 94 * This source code is licensed under the ISC license. 95 * See the LICENSE file in the root directory of this source tree. 96 */const dy=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],uy=Pe("chart-column",dy);/** 97 * @license lucide-react v0.487.0 - ISC 98 * 99 * This source code is licensed under the ISC license. 100 * See the LICENSE file in the root directory of this source tree. 101 */const cy=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],my=Pe("chevron-down",cy);/** 102 * @license lucide-react v0.487.0 - ISC 103 * 104 * This source code is licensed under the ISC license. 105 * See the LICENSE file in the root directory of this source tree. 106 */const py=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],gy=Pe("chevron-up",py);/** 107 * @license lucide-react v0.487.0 - ISC 108 * 109 * This source code is licensed under the ISC license. 110 * See the LICENSE file in the root directory of this source tree. 111 */const hy=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],fy=Pe("cloud",hy);/** 112 * @license lucide-react v0.487.0 - ISC 113 * 114 * This source code is licensed under the ISC license. 115 * See the LICENSE file in the root directory of this source tree. 116 */const ky=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],Nt=Pe("code-xml",ky);/** 117 * @license lucide-react v0.487.0 - ISC 118 * 119 * This source code is licensed under the ISC license. 120 * See the LICENSE file in the root directory of this source tree. 121 */const by=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],tt=Pe("database",by);/** 122 * @license lucide-react v0.487.0 - ISC 123 * 124 * This source code is licensed under the ISC license. 125 * See the LICENSE file in the root directory of this source tree. 126 */const yy=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],rp=Pe("external-link",yy);/** 127 * @license lucide-react v0.487.0 - ISC 128 * 129 * This source code is licensed under the ISC license. 130 * See the LICENSE file in the root directory of this source tree. 131 */const vy=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ay=Pe("file-text",vy);/** 132 * @license lucide-react v0.487.0 - ISC 133 * 134 * This source code is licensed under the ISC license. 135 * See the LICENSE file in the root directory of this source tree. 136 */const xy=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],Ly=Pe("git-branch",xy);/** 137 * @license lucide-react v0.487.0 - ISC 138 * 139 * This source code is licensed under the ISC license. 140 * See the LICENSE file in the root directory of this source tree. 141 */const Py=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Ld=Pe("globe",Py);/** 142 * @license lucide-react v0.487.0 - ISC 143 * 144 * This source code is licensed under the ISC license. 145 * See the LICENSE file in the root directory of this source tree. 146 */const wy=[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]],Sy=Pe("headphones",wy);/** 147 * @license lucide-react v0.487.0 - ISC 148 * 149 * This source code is licensed under the ISC license. 150 * See the LICENSE file in the root directory of this source tree. 151 */const Iy=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Ng=Pe("lock",Iy);/** 152 * @license lucide-react v0.487.0 - ISC 153 * 154 * This source code is licensed under the ISC license. 155 * See the LICENSE file in the root directory of this source tree. 156 */const My=[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]],jy=Pe("mail",My);/** 157 * @license lucide-react v0.487.0 - ISC 158 * 159 * This source code is licensed under the ISC license. 160 * See the LICENSE file in the root directory of this source tree. 161 */const Cy=[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]],Dy=Pe("menu",Cy);/** 162 * @license lucide-react v0.487.0 - ISC 163 * 164 * This source code is licensed under the ISC license. 165 * See the LICENSE file in the root directory of this source tree. 166 */const zy=[["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2",key:"39pd36"}
166],["rect",{width:"8",height:"4",x:"10",y:"6",rx:"1",key:"aywv1n"}]],Ty=Pe("newspaper",zy);/** 167 * @license lucide-react v0.487.0 - ISC 168 * 169 * This source code is licensed under the ISC license. 170 * See the LICENSE file in the root directory of this source tree. 171 */const Ey=[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]],Ry=Pe("rocket",Ey);/** 172 * @license lucide-react v0.487.0 - ISC 173 * 174 * This source code is licensed under the ISC license. 175 * See the LICENSE file in the root directory of this source tree. 176 */const Ny=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],Gy=Pe("send",Ny);/** 177 * @license lucide-react v0.487.0 - ISC 178 * 179 * This source code is licensed under the ISC license. 180 * See the LICENSE file in the root directory of this source tree. 181 */const Oy=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],Tn=Pe("server",Oy);/** 182 * @license lucide-react v0.487.0 - ISC 183 * 184 * This source code is licensed under the ISC license. 185 * See the LICENSE file in the root directory of this source tree. 186 */const By=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Gt=Pe("settings",By);/** 187 * @license lucide-react v0.487.0 - ISC 188 * 189 * This source code is licensed under the ISC license. 190 * See the LICENSE file in the root directory of this source tree. 191 */const Ky=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Vy=Pe("shield-check",Ky);/** 192 * @license lucide-react v0.487.0 - ISC 193 * 194 * This source code is licensed under the ISC license. 195 * See the LICENSE file in the root directory of this source tree. 196 */const Fy=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],Wy=Pe("shield",Fy);/** 197 * @license lucide-react v0.487.0 - ISC 198 * 199 * This source code is licensed under the ISC license. 200 * See the LICENSE file in the root directory of this source tree. 201 */const qy=[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]],Uy=Pe("sparkles",qy);/** 202 * @license lucide-react v0.487.0 - ISC 203 * 204 * This source code is licensed under the ISC license. 205 * See the LICENSE file in the root directory of this source tree. 206 */const _y=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}
206],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],Hy=Pe("workflow",_y);/** 207 * @license lucide-react v0.487.0 - ISC 208 * 209 * This source code is licensed under the ISC license. 210 * See the LICENSE file in the root directory of this source tree. 211 */const $y=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Qy=Pe("x",$y),Jy={home:{title:"telet.ai - AIã½ãªã¥ã¼ã·ã§ã³ãã©ãããã©ã¼ã ",description:"AIã«ããé話åæã§ã«ã¹ã¿ãã¼ã³ãã¥ãã±ã¼ã·ã§ã³ãå¤é©ããªã¢ã«ã¿ã¤ã ã¤ã³ãµã¤ããææ åæãããã©ã¼ãã³ã¹ãã©ããã³ã°ã§ãã¼ã ã®ææãåä¸ããã¾ãã"},about:{title:"çµç¹æ å ± - telet.ai",description:"telet.aiã®ããã·ã§ã³ãç´¹ä»ãã¾ããAIã§ã«ã¹ã¿ãã¼ã³ãã¥ãã±ã¼ã·ã§ã³ãå¤é©ãããã¼ã ã¨å ±ã«æ©ãã¹ãã¼ãªã¼ãã覧ãã ããã"},privacy:{title:"ãã©ã¤ãã·ã¼ããªã·ã¼ - telet.ai",description:"telet.aiã®ãã©ã¤ãã·ã¼ããªã·ã¼ãã確èªãã ãããã客æ§ã®ãã¼ã¿ã®åãæ±ãã¨ãã©ã¤ãã·ã¼ä¿è·ã«ã¤ãã¦èª¬æãã¦ãã¾ãã"},terms:{title:"å©ç¨è¦ç´ - telet.ai",description:"telet.aiã®ã¦ã§ããµã¤ãå©ç¨ããã³ãç¸è«ã«é¢ããå©ç¨è¦ç´ããèªã¿ãã ããã"},cookies:{title:"Cookieããªã·ã¼ - telet.ai",description:"telet.aiã§ã®Cookieããã³é¡ä¼¼æè¡ï¼Cloudflareããã³Google Analyticsï¼ã®ä½¿ç¨ã«ã¤ãã¦èª¬æãã¾ãã"},portfolio:{title:"å®ç¸¾ - telet.ai",description:"ãã¸ãã¹éå¶ã¨ã«ã¹ã¿ãã¼ã¨ã¯ã¹ããªã¨ã³ã¹ãåä¸ãããAIã½ãªã¥ã¼ã·ã§ã³ã®ãã¼ããã©ãªãªãã覧ãã ããã"},agentDevelopment:{title:"伿¥åãAIã¨ã¼ã¸ã§ã³ãè¨è¨ã»éçº - telet.ai",description:"æ¥åè¦ä»¶ã»ç¤¾å ã«ã¼ã«ã»ãã¼ã¿ç¯å²ã«æé©åãããAIã¨ã¼ã¸ã§ã³ããè¨è¨ã»éçºãã¾ãã"},onPremiseLLM:{title:"ãªã³ãã¬ãã¹LLMãµã¼ãã¼éç¨ - telet.ai",description:"伿¥å°ç¨ãµã¼ãã¼å ã§7Bã120Bè¦æ¨¡ã®LLMã稼åãå®å ¨ã§æè»ãªLLMå©ç¨ç°å¢ãæä¾ãã¾ãã"},vectorRAG:{title:"ãã¯ãã«RAGã»ã¤ã³ããã¯ã¹è¨è¨ - telet.ai",description:"æ¥åå 容ãè§£æãã¸ãã¯ãã¨ã«RAGãã¼ã¿ãåé¢ã»æé©åãé«ç²¾åº¦ãªæ¤ç´¢ãå®ç¾ãã¾ãã"},aiAppDevelopment:{title:"AIã¢ããªã±ã¼ã·ã§ã³éçº - telet.ai",description:"æ¢åAPIãå¤é¨ãã¼ã¿ãæ´»ç¨ããLLMã«ããè§£æã»çæã䏿 ¸ã¨ããAIã¢ããªã±ã¼ã·ã§ã³ãéçºãã¾ãã"}},Zy={brand:"telet.ai",nav:{services:"æ¥åå 容",portfolio:"å®ç¸¾",about:"çµç¹æ å ±",contact:"ãåãåãã"}},Xy={brandName:"telet.ai",tagline:"Multi AI-communications",badge:"AI-Powered Call Intelligence",title:{line1:"ãã¼ã«ã«ã§å®ãã",line2:"ã¯ã©ã¦ãã§æ¡å¼µã",line3:"ã¨ã¼ã¸ã§ã³ãã§èªååã"},description:"SLMã®ã¨ãã¸æ¨è«ã§ãã¼ã¿ä¸»æ¨©ã確ä¿ãLLMã®ã¯ã©ã¦ã飿ºã§å¦çè½åãç¡éã«ã¹ã±ã¼ã«ãAgentic AIã¢ã¼ããã¯ãã£ã®å°å ¥ã¯ãå è¡ä¼æ¥ããææãåºå§ãã¦ãã¾ãã"},Yy={badge:"Our Mission",title:"LLMããã£ã¨èº«è¿ã«",paragraphs:["ããããªã¨ããã¾ã§ãæ¬å½ã«ã§ããã®ï¼ãââãã®é©ããããç§ãã¡ãç®æãå§¿ã§ãã","å¤§è¦æ¨¡è¨èªã¢ãã«ï¼LLMï¼ã®å¯è½æ§ã¯æ¥ã åºãã£ã¦ãã¾ããããããæ©å¯ãã¼ã¿ãå¤é¨APIã«éãã®ã¯ä¸å®ããé«åº¦ãªAIæ´»ç¨ã¯å¤§ä¼æ¥ã ãã®ãã®ããå°å ¥ã³ã¹ããè¦åããªããââããããå£ããç§ãã¡ã¯åãæãããã¨èãã¦ãã¾ãã","ç§ãã¡ã¯ãã客æ§ã®ç°å¢å ã§å®çµãããã¼ã«ã«LLMæ§ç¯ãå°éã¨ãã¦ãã¾ããæ©å¯æ§ã®é«ã顧客æ å ±ãå¤é¨ã«åºããã¨ãªãå®å ¨ã«æ´»ç¨å¯è½ããã¼ã¿ã»ãã¥ãªãã£ãæ ä¿ããªãããAIã®æ©æµãæå¤§éã«å¼ãåºãã¾ãã","æ¥å¸¸çãªææ¸ä½æããã¼ã¿æ´çãããå°éçãªåæãæææ±ºå®æ¯æ´ã¾ã§å¯¾å¿ãç¬èªã®ã¨ã¼ã¸ã§ã³ãæè¡ã«ãããAPIã¢ãã«ã«å¹æµãã精度ãå®ç¾ãã¦ãã¾ãã","LLMã¯äººã«åã£ã¦ä»£ãããã®ã§ã¯ããã¾ããã人ã®åµé æ§ã夿åãå°éæ§ãããçºæ®ããããã®å¼·åãªãã¼ã«ã§ããç§ãã¡ã¯ããã®æè¡ãç¹å¥ãªãã®ããå½ããåã®ãã®ã¸ââçã®ãæ°çåããå®ç¾ãã¾ãã","ã¾ãã¯ãæ°è»½ã«ãç¸è«ãã ãããããããªãã¨ã¾ã§ã§ããã®ï¼ãããä¸ç·ã«è¦ã¤ãã¾ãããã"],animation:{label:"LLM",sublabel:"Technology"}}
211,ev={title:"æ¥åå
容",subtitle:"Business Services",services:[{title:"伿¥åãAIã¨ã¼ã¸ã§ã³ãè¨è¨ã»éçº",titleEn:"Enterprise AI Agent",description:"æ¥åè¦ä»¶ã»ç¤¾å
ã«ã¼ã«ã»ãã¼ã¿ç¯å²ã«æé©åãããAIã¨ã¼ã¸ã§ã³ããè¨è¨ã»éçºãå¤é¨APIåLLMãããã¼ã«ã«LLMã¾ã§å¯¾å¿ã",badges:["åå¥è¨è¨","LLM両対å¿","æ¥åç¹å"],link:"詳細ãè¦ã"},{title:"ãªã³ãã¬ãã¹LLMãµã¼ãã¼",titleEn:"On-Premise LLM Server",description:"伿¥å°ç¨ãµã¼ãã¼å
ã§7Bã120Bè¦æ¨¡ã®LLMã稼åããã¼ã¿å¤é¨éä¿¡ãªã¹ã¯ãåé¿ããå®å
¨ã§æè»ãªLLMå©ç¨ç°å¢ãæä¾ã",badges:["7Bã120B対å¿","API KEYçºè¡","å®å
¨è¨è¨"],link:"詳細ãè¦ã"},{title:"ãã¯ãã«RAGã»ã¤ã³ããã¯ã¹è¨è¨",titleEn:"Vector RAG Architecture",description:"æ¥åå
容ãè§£æãã¸ãã¯ãã¨ã«RAGãã¼ã¿ãåé¢ã»æé©åãé«éãã¤é«ç²¾åº¦ãªæ¤ç´¢ãå®ç¾ããã¤ã³ããã¯ã¹è¨è¨ã",badges:["Indexåé¢","é«éæ¤ç´¢","å¤è¨èªå¯¾å¿"],link:"詳細ãè¦ã"},{title:"AIã¢ããªã±ã¼ã·ã§ã³éçº",titleEn:"AI Application Dev",description:"æ¢åAPIãå¤é¨ãã¼ã¿ãæ´»ç¨ããLLMã«ããè§£æã»çæã䏿 ¸ã¨ããå®ç¨çãªAIã¢ããªã±ã¼ã·ã§ã³ãéçºã",badges:["API飿º","LLMè§£æ","çµ±åè¨è¨"],link:"詳細ãè¦ã"}]},av={title:"AIæè¡ãæ´»ç¨ããå®ç¸¾ããã¸ã§ã¯ã",subtitle:"å¤è¨èªã¢ã·ã¹ã¿ã³ããæ°è±¡äºæ¸¬ããã¼ã«ã«LLMãã»ãã¥ãªãã£ç£è¦ãªã©ãå¹
åºãåéã§ã®AIéçºå®ç¸¾ããç´¹ä»ãã¾ãã",viewDetails:"詳細ãè¦ã â",items:[{title:"AIå¤è¨èªã¢ã·ã¹ã¿ã³ã",description:"RAG + LLMã«ããå¤è¨èªå¯¾å¿ãã£ããã¢ã·ã¹ã¿ã³ããæ¥æ¬èªãè±èªãä¸å½èªãªã©è¤æ°è¨èªã§ã®åãåããã«é«ç²¾åº¦åçã"},{title:"æ°è±¡äºæ¸¬ã·ã¹ãã ",description:"æ°è±¡ãã¼ã¿ãå¦ç¿ãããªã¢ã«ã¿ã¤ã äºæ¸¬ãçæãæç³»åãã¿ã¼ã³èªèã¨RAGã«ããéå»é¡ä¼¼ãã¿ã¼ã³æ¤ç´¢ã§é«ç²¾åº¦äºæ¸¬ã"},{title:"社å
ãµã¼ãã¼ï¼ãªã³ã㬠ãã¼ã«ã«LLM",description:"ã客æ§ã®æ¥åã«åãããAIãã社å
ã§ãã使ããç¶æ
ã§ãå±ããã¾ããOpen WebUIãå
±éã®å
¥ãå£ã«æ®ããOllamaï¼MLXã«ããé«éæ¨è«ã¬ã¼ã³ã¨ãUIDãã¨ã«å®å
¨ã«åé¢ããããã¼ã¿é åãæ§ç¯ã社å
ããã¥ã¡ã³ãã¯è±èªåãè¾¼ã¿ Ã æ¥æ¬èªã¯ã¨ãªèªå翻訳ã®RAGã«åãè¾¼ã¿ããã¥ã¼ã¹è¦ç´ã»è³ææ´çã»ã«ã¼ãã³æ¥åãªã©ã®æ¥åã¹ãã«ãå®å
¨ã«ä¸¦èµ°ããã¾ããã¹ãã«å®è¡ç³»ã¯OpenClawã³ã³ããã¨ãã¦éé¢ããCloudflareã¨ãã¸ï¼ãã¼ã«ã«Nginxã®ä¸å±¤ã§å®ãè¨è¨ãã¢ãã«é¸å®ããã¹ãã«è¨è¨ãéç¨ããªã·ã¼ã¾ã§ä¸æ¬ã§æ¯æ´ãã御社å°ç¨ã®AIããå°å
¥ãããã®æ¥ãã使ãããå½¢ã§ç«ã¡ä¸ãã¾ãã"},{title:"ææéè»éå°éäºæ¸¬ï¼AIï¼",description:"NASA APIããææãã¼ã¿åå¾ããè»éè¨ç®ãLLMã§è§£éãæã¡ä¸ãã¦ã£ã³ãã¦ãæè¦æéãçæå¹çãã¬ãã¼ãçæã"},{title:"ä¸åç£ãã¼ã¿AIè§£æ",description:"Webã¹ã¯ã¬ã¤ãã³ã°ã§ä¸åç£æ
å ±ãåéããLLM + Pythonã§è§£æãä¾¡æ ¼ãã¬ã³ããç¸å ´äºæ¸¬ãæè³åççãèªåçæã"},{title:"å ãAIï¼åæ±æ¨å½ï¼",description:"åæ±æ¨å½ãã¸ãã¯ãPythonã§åç¾ããLLMã§è§£éã天æAPIãã座æ¨ã»æå»ãåå¾ããéå¢ã»ç¸æ§ããã¼ã½ãã©ã¤ãºéå®ã"},{title:"Google Workspace AI飿º",description:"GmailãDriveãCalendarçã¨LLM飿ºãã¡ã¼ã«è¦ç´ããã¡ã¤ã«æ¤ç´¢ãã¹ã±ã¸ã¥ã¼ã«èª¿æ´ãAIãã¢ã·ã¹ãã"},{title:"ä¸çNEWSå¤è¨èªå",description:"ä¸çã®ãã¥ã¼ã¹ããªã¢ã«ã¿ã¤ã åéããLLMã§å¤è¨èªç¿»è¨³ã»è¦ç´ãæèçè§£ã«åºã¥ããèªç¶ãªç¿»è¨³ã¨ãµããªã¼çæã"},{title:"ã»ãã¥ãªãã£ãã°ç£è¦AIããã¼ã¸ã£ã¼",description:"ã»ãã¥ãªãã£ãã°ããªã¢ã«ã¿ã¤ã ç£è¦ããLLMã§è
卿¤ç¥ã»åæãRAGã§éå»ã®æ»æãã¿ã¼ã³ã¨ç
§åã峿ã¢ã©ã¼ãã"}]},nv={title:"ããã¸ã§ã¯ãã®é²ãæ¹",headline:"å¿
è¦ãªã®ã¯ããã¸ã§ã³ã ãã",paragraphs:["è¨èªã®éãããã¸ãã¹ã®éå£ã«ãªãæä»£ã¯çµããã¾ãããAI翻訳ã§ã¯ããã¾ãããç»åå
±æãé§ä½¿ããç¬èªã®ã¯ã¼ã¯ããã¼ã«ããã14ã¶å½èªã§ã®åè«ã»éçºã«å¯¾å¿ãã¦ãã¾ããè¤éãªä»æ§ãããµã³ãã«ç»åã§ç¢ºèªããªããé²ããããèªèã®ãºã¬ãçã¾ãã¾ããã大åãªã
211®ã¯ãä½ãä½ããããããããã ãã§ãã","ããã¸ã§ã¯ãã¯ã¾ããã¸ãã¹ã¢ããªã§ã®ååãã¢ãªã³ã°ããã¹ã¿ã¼ããã¾ããã客æ§ã®ãã¸ã§ã³ãèª²é¡æã大ã¾ãã«å
±æããã ããå¾ãNDAï¼ç§å¯ä¿æå¥ç´ï¼ãç· çµãæ©å¯æ
å ±ãå®å¿ãã¦ã話ãããã ããç°å¢ãæ´ããä¸ã§ã詳細ãªãã¢ãªã³ã°ã¨è¦ä»¶ç¢ºèªãè¡ãã¾ãããã®å
容ããã¨ã«ãææ¡æ¸ã使ãããµã³ãã«ç»åãç¨ãã¦æ¹åæ§ã確èªãèªèãæããç¶æ
ã§ä»æ§æ¸ã使ããéçºãã¹ã¿ã¼ããã¾ãã","ãã®æµãã¯ããã¾ã§ä¸è¬çãªãç´¹ä»ã§ããã客æ§ã®ãç¶æ³ãã¹ã±ã¸ã¥ã¼ã«ã«åããã¦æè»ã«å¯¾å¿ãããã¾ããä¸çã®ã©ãã«ãã¦ããè¨èãéããªãã¦ããç»åã¨AIãã³ãã¥ãã±ã¼ã·ã§ã³ãæ¯ãã¾ããã¾ã 誰ãæãã¤ãã¦ããªãããã³ãã£ã¢ãã¼ã±ããã¸ãä¸ç·ã«è¸ã¿åºãã¾ããããããªãã®ã¢ã¤ãã¢ãå½¢ã«ãããã¼ããã¼ã¨ãã¦ãtelet.aiããµãã¼ããã¾ãã"],cards:[{title:"ãã¢ãªã³ã°ã»NDA",description:"ã¡ã¼ã«ã§ã®ååãã¢ãªã³ã°å¾ãç§å¯ä¿æå¥ç´ãç· çµãå®å¿ãã¦è©³ç´°ããèããããã ãã¾ãã"},{title:"ãã©ã³ãã³ã°ã»CA",description:"ææ¡æ¸ã¨ãµã³ãã«ç»åããæåºã14ã¶å½èªå¯¾å¿ã§è¨èªã®å£ãªãé²ãããã¾ãã"},{title:"ãµã³ããªã³ã° & ã¹ã¿ã¼ã",description:"仿§æ¸ã使ããåæã®ããã§ãã¸ãã¹ãéå§ãããã¾ãã"},{title:"éçºã»ãã¹ãã»éç¨",description:"ã¢ã¸ã£ã¤ã«éçºã§ã¹ãã¼ãã£ã«å®è£
ããã¹ãã¨éç¨ãµãã¼ãã¾ã§ä¸è²«ãã¦å¯¾å¿ãã¾ãã"}]},tv={badge:"Case Studies",title:"AIå°å
¥ã¹ãã¼ãªã¼",items:[{title:"æ¥åå¹çåã»ã³ã¹ã忏ã½ãªã¥ã¼ã·ã§ã³",subtitle:"æ¥ã
ã®æ¥åè² æ
ã軽æ¸ããæ¬æ¥ã®ä»äºã«éä¸ã§ããç°å¢ã¸",description:"ä¸å°ä¼æ¥ã®å¤ããç´é¢ãã人æä¸è¶³ã¨æ¡ç¨é£ãæ°ããªäººæãæ¡ç¨ãã¦ãæè²ã³ã¹ããããããå®ççã®åé¡ãæ±ãã¦ãã¾ããç§ãã¡ã®AIã½ãªã¥ã¼ã·ã§ã³ã¯ãäºç®ç®¡çã®èªååããã¼ã¿å
¥åã»æ´çã社å
ããã¥ã¡ã³ãæ¤ç´¢ãã¬ãã¼ãã»è³æã®èªåçæã¨ãã£ãæ¥å¸¸æ¥åãAIããµãã¼ããããã¾ã§æéãåããã¦ããå®å使¥ããAIã¢ã·ã¹ã¿ã³ãã24æé365æ¥ããã¹ãªãå¦çãã¾ããå°å
¥ä¼æ¥æ§ã§ã¯æ¥åæéã®å¤§å¹
ãªåæ¸ãå®ç¾ãã人ãå¢ããããããAIã¨ååãããã¸ã御社ã®åãæ¹æ¹é©ããç§ãã¡ãå
¨åã§ãµãã¼ããã¾ãã"},{title:"ã«ã¹ã¿ãã¼ãµãã¼ãèªåå",subtitle:"24æé対å¿ã§é¡§å®¢æºè¶³åº¦åä¸ã人件費ã¯åæ¸",description:"ãå¶æ¥æéå¤ã®åãåããã«å¯¾å¿ã§ããªãããåã質åã«ä½åº¦ãçãã¦ãããââãããªèª²é¡ãæ±ãã¦ãã¾ãããï¼AIãã£ããããããããããã質åã¸ã®èªååçãåãåããã®ä¸æ¬¡å¯¾å¿ã¨æ¯ãåããå¤è¨èªã§ã®ãªã¢ã«ã¿ã¤ã 対å¿ãå®ç¾ã人éã®ãªãã¬ã¼ã¿ã¼ã¯è¤éãªæ¡ä»¶ã«éä¸ã§ãã顧客対å¿ã®è³ªãåä¸ãã¾ãã人件費ãæããªããã顧客æºè¶³åº¦ãåä¸ããããAIã«ã¹ã¿ãã¼ãµãã¼ãã§ã御社ã®ãµã¼ãã¹åè³ªãæ¬¡ã®ã¬ãã«ã¸ã"},{title:"ãã¬ãã¸ã»ããã¥ã¡ã³ãæ´»ç¨AI",subtitle:"社å
ã®ç¥èè³ç£ãã誰ã§ãããã«æ´»ç¨ã§ããå½¢ã«",description:"ããã®ããã¥ã¢ã«ã©ãã ã£ãï¼ããåä»»è
ããç¥ããªãæ
å ±ããããââå±äººåããç¥èã¯ã伿¥ã®æé·ã妨ãã¾ããç§ãã¡ã®RAGï¼æ¤ç´¢æ¡å¼µçæï¼æè¡ã«ããã社å
ããã¥ã¢ã«ã»FAQã»éå»ã®è³æãããèªç¶ãªè¨èã§è³ªåããã ãã§å¿
è¦ãªæ
å ±ãåå¾ãæ°äººæè²ã®å¹çåãããã©ã³ã®æé»ç¥ã®ãã¸ã¿ã«åãé¨éãè¶
ããç¥èå
±æãå®ç¾ãã¾ããæ¢åã®ããã¥ã¡ã³ãããã®ã¾ã¾æ´»ç¨ã§ãããããæ°ãã«è³æãä½ãç´ãå¿
è¦ã¯ããã¾ããã"},{title:"å»çã»ä»è·åãç»åè§£æAI",subtitle:"è¦å®ãã®ç®ããAIã24æéãµãã¼ã",description:"å»çã»ä»è·ç¾å ´ã§ã¯ãéãããã¹ã¿ããã§å¤ãã®æ£è
æ§ã»å©ç¨è
æ§ãè¦å®ãå¿
è¦ãããã¾ããç§ãã¡ã®ç»åã»åç»è§£æAIã¯ãã«ã¡ã©æ åãããªã¢ã«ã¿ã¤ã ã§ç°å¸¸ãæ¤ç¥ãçºç±æç¥ã«ããææçã®æ©æçºè¦ã転åã»å¾å¾ã®å³æã¢ã©ã¼ãã表æ
åæã«ããä½èª¿å¤åã®å¯ç¥ãèªåã§è¡ãã¾ããå¤éå·¡åã®è² æ
軽æ¸ãç·æ¥æã®è¿
éãªå¯¾å¿ãè¨é²æ¥åã®èªååã«ãããã¹ã¿ããã¯æ¬æ¥ã®ã±ã¢æ¥åã«å°å¿µã§ãã¾ãããã©ã¤ãã·ã¼ã«é
æ
®ãããªã³ãã¬ãã¹åã®å°å
¥ãå¯è½ã§ãã"}]},iv={title:"ãåãåãã",description:"è¦ä»¶æ´çãããç¸è«ããã ãã¾ããPoCã»ãã¼ã«ã« LLM æ§æã®æ¤è¨ãå¯è½ã§ãã",openForm:"ãã©ã¼ã ãéã",closeForm:"ãã©ã¼ã ãéãã",form:{name:"ãåå",n
211amePlaceholder:"å±±ç° å¤ªé",email:"ã¡ã¼ã«ã¢ãã¬ã¹",emailPlaceholder:"[email protected]",subject:"ä»¶å",subjectPlaceholder:"ãåãåããã®ä»¶å",message:"ã¡ãã»ã¼ã¸",messagePlaceholder:"ãåãåããå
容ããè¨å
¥ãã ãã",required:"*",submit:"éä¿¡ãã",submitting:"éä¿¡ä¸...",turnstileMessage:"éä¿¡ã«ã¯ãç§ã¯ããããã§ã¯ããã¾ãããã®èªè¨¼ãå¿
è¦ã§ãã",turnstileError:"ã»ãã¥ãªãã£èªè¨¼ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãããåèªã¿è¾¼ã¿ãã¦ãã ããã",errorRetry:"ããä¸åº¦ã試ããã ããã"}},sv={brand:"telet.ai",tagline:"Multi AI-communications",description:"AIã¨ã¼ã¸ã§ã³ãã§æ¥åã驿°ã対話ãã価å¤ãçã¿åºãã",sections:{product:{title:"Product",features:"æ©è½",benefits:"å°å
¥",testimonials:"ã客æ§ã®å£°"},services:{title:"ãµã¼ãã¹",agentDev:"伿¥åãAIã¨ã¼ã¸ã§ã³ãè¨è¨ã»éçº",onPremise:"ãªã³ãã¬ãã¹LLMãµã¼ãã¼",vectorRag:"ãã¯ãã«RAGã»ã¤ã³ããã¯ã¹è¨è¨",aiApp:"AIã¢ããªã±ã¼ã·ã§ã³éçº"},company:{title:"çµç¹æ
å ±",about:"About telet.ai",profile:"代表è
ãããã£ã¼ã«",contact:"ãåãåãã"},process:{title:"ãã¸ãã¹ã®é²ãæ¹",hearing:"ãã¢ãªã³ã°ã»NDA",planning:"ãã©ã³ãã³ã°ã»CA",sampling:"ãµã³ããªã³ã° & ã¹ã¿ã¼ã",development:"éçºã»ãã¹ãã»éç¨"}},copyright:"© 2026 telet.ai. All rights reserved.",legal:{privacy:"ãã©ã¤ãã·ã¼ããªã·ã¼",terms:"å©ç¨è¦ç´",cookies:"ã¯ããã¼ããªã·ã¼"}},rv={title:"ã¯ããã¼ããªã·ã¼",subtitle:"æ¬ãµã¤ãã§ä½¿ç¨ããCookieçã®æè¡ï¼Cloudflare / Google Analyticsï¼ã«ã¤ãã¦èª¬æãã¾ãã",lastUpdated:"æçµæ´æ°æ¥ï¼2026å¹´1æ22æ¥",intro:"telet.aiï¼ä»¥ä¸ã彿¹ãã¨ããã¾ããï¼ã¯ãæ¬ãµã¤ãã®æä¾ã»æ¹åããã³å®å
¨æ§ã®ç¢ºä¿ã®ãããCookieããã³é¡ä¼¼æè¡ãå©ç¨ããå ´åãããã¾ãã彿¹ã¯ãåºåç®çã®ç¹å¥ãªãã©ããã³ã°Cookieãç¬èªã«è¨å®ãã¦ãã¾ããï¼ãã ããCloudflareããã³Google Analyticsãåãµã¼ãã¹ã®ä»æ§ã«å¾ã£ã¦Cookieçãè¨å®ããå ´åãããã¾ãï¼ã",sections:{what:{title:"1. Cookieã¨ã¯",description:"Cookieã¨ã¯ãã¦ã§ããµã¤ãé²è¦§æã«ãã©ã¦ã¶ã¸ä¿åãããå°ããªããã¹ããã¡ã¤ã«ã§ããCookieãå©ç¨ããã¨ããµã¤ãã®å©ä¾¿æ§åä¸ãã¢ã¯ã»ã¹è§£æçãå¯è½ã«ãªãã¾ãã"},howWeUse:{title:"2. 彿¹ãCookieçãå©ç¨ããç®ç",description:"彿¹ã¯ã主ã«ä»¥ä¸ã®ç®çã§Cookieçãå©ç¨ããå ´åãããã¾ãã",items:["ãµã¤ãã®è¡¨ç¤ºã»åä½ãå®å®ããããã","䏿£ã¢ã¯ã»ã¹ãæªæãããã©ãã£ãã¯ã®æ¤ç¥ã»é²æ¢ã®ãã","ã¢ã¯ã»ã¹ç¶æ³ãææ¡ãããµã¤ãæ¹åã«å½¹ç«ã¦ããã"]},googleAnalytics:{title:"3. Google Analyticsã®å©ç¨",description:"彿¹ã¯ã¢ã¯ã»ã¹è§£æã®ãããGoogle LLC ãæä¾ãã Google Analytics 4ï¼GA4ï¼ãå©ç¨ãã¦ãã¾ããGA4ã¯Cookieçãç¨ãã¦ã¢ã¯ã»ã¹æ
å ±ãåéããå ´åãããã¾ãã",items:["åéãããæ
å ±ã«ã¯ãé²è¦§ãã¼ã¸ãæ»å¨æéãåç
§å
ã端æ«ã»ãã©ã¦ã¶æ
å ±çãå«ã¾ããå ´åãããã¾ã","彿¹ã¯ãå人ãç´æ¥ç¹å®ã§ããæ
å ±ï¼æ°åãã¡ã¼ã«ã¢ãã¬ã¹çï¼ãGoogle Analyticsã«éä¿¡ããç®çã§å©ç¨ãã¾ãã","Googleã«ãããã¼ã¿ã®åæ±ãã¯ãGoogleã®è¦ç´ã»ããªã·ã¼ã«å¾ãã¾ã"]},cloudflare:{title:"4. Cloudflareã®å©ç¨",description:"彿¹ã¯ãæ¬ãµã¤ãã®é
ä¿¡ã»ã»ãã¥ãªãã£å¯¾çã®ãããCloudflare, Inc. ã®ãµã¼ãã¹ãå©ç¨ãã¦ãã¾ããCloudflareã¯ãDDoS対çãããã対ççã®ç®çã§Cookieçãè¨å®ã»åç
§ããå ´åãããã¾ãã",items:["主ãªç®çã¯ã»ãã¥ãªãã£ç¢ºä¿ããã³éä¿¡ã®æé©åã§ãããåºåé
ä¿¡ã®ããã®è¿½è·¡ãæå³ãããã®ã§ã¯ããã¾ãã","Cloudflareã«ãããã¼ã¿ã®åæ±ãã¯ãCloudflareã®è¦ç´ã»ããªã·ã¼ã«å¾ãã¾ã"]},noSpecialCookies:{title:"5. 彿¹ç¬èªã®ç¹å¥ãªCookieã«ã¤ãã¦",description:"彿¹ã¯ãè¡åã¿ã¼ã²ãã£ã³ã°åºåçãç®çã¨ãã彿¹ç¬èªã®ç¹å¥ãªCookieãè¨å®ãã¦ãã¾ãããCookieçã®å©ç¨ã¯ã主ã«ãµã¤ãéç¨ã»ã»ãã¥ãªãã£ã»ã¢ã¯ã»ã¹è§£æã®ç¯å²ã«éå®ãã¦ãã¾ãã"},choices:{title:"6. Cookieã®ç®¡çï¼ãªããã¢ã¦ãï¼",description:"Cookieã®å©ç¨å¯å¦ã¯ããã©ã¦ã¶è¨å®çã§ç®¡çã§ãã¾ããCookieãç¡å¹åããã¨ãä¸é¨æ©è½ãå©ç¨ã§ããªãå ´åãããã¾ãã",items:["ãã©ã¦ã¶è¨å®ã§Cookieãåé¤ã»ç
211¡å¹åã§ãã¾ã","Google Analyticsã«ããè¨æ¸¬ãç¡å¹åãããå ´åã¯ãGoogleãæä¾ãããªããã¢ã¦ãææ®µããå©ç¨ãã ãã","ãã©ã¦ã¶ã®ãã©ã¤ãã¼ãã¢ã¼ãçã®å©ç¨ã«ãããä¿åãããæ
å ±ãå¶éã§ãã¾ã"]},changes:{title:"7. æ¬ããªã·ã¼ã®å¤æ´",description:"彿¹ã¯ãæ³ä»¤ã®æ¹æ£ãå©ç¨ãµã¼ãã¹ã®å¤æ´çã«å¿ãã¦ãæ¬ããªã·ã¼ãæ¹å®ãããã¨ãããã¾ãã夿´å¾ã®å
容ã¯ãæ¬ãã¼ã¸ã«æ²è¼ããæç¹ã§å¹åãçãã¾ãã"},contact:{title:"8. ãåãåãã",description:"æ¬ããªã·ã¼ã«é¢ãããåãåããã¯ãä¸è¨ã¾ã§ãé£çµ¡ãã ããã",company:"telet.ai",contactLink:"ãåãåãããã©ã¼ã ã¸"}}},ov={hero:{title:"About telet.ai",subtitle:"å°åãã®å©ãå人ã ããããã§ãããä¸å¯§ãªAIéçºæ¯æ´"},story:{title:"ç§ãã¡ã«ã¤ãã¦",content:"telet.aiã¯ããåãããå§ã¾ãã¾ãããã伿¥ã¨é¡§å®¢ã®éã§äº¤ããããç¡æ°ã®å¯¾è©±ââããã«ç ãã¤ã³ãµã¤ããããªãå¤ãã®ä¼æ¥ã¯AIãæ´»ç¨ã§ãã¦ããªãã®ãï¼ãAIãªãµã¼ãã¨ã¨ã³ã¿ã¼ãã©ã¤ãºã½ããã¦ã§ã¢éçºã®çµé¨ãæã¤ä»£è¡¨ãããã®èª²é¡ã«æ£é¢ããåãçµãããã«ç«ã¡ä¸ããæè¡ã¦ãããã§ãã大ããªçµç¹ã§ã¯ããã¾ãããã ããããã御社ã®èª²é¡ã«æ·±ãåãåããæ¬å½ã«å¿
è¦ãªã½ãªã¥ã¼ã·ã§ã³ã ããææ¡ã§ãã¾ããå¼·ã¿ã¯ããã¼ã«ã«LLMã¨ã¯ã©ã¦ãLLMãèåããããã¤ããªããã¢ã¼ããã¯ãã£ã®è¨è¨åãå¾¡ç¤¾ã®æ©å¯ãã¼ã¿ã¯å°ç¨ã¯ã©ã¦ãç°å¢ã§ä¿è·ããªãããé«åº¦ãªAIæ¨è«ãã¹ã±ã¼ã©ãã«ã«å®è¡ãã¾ããéçºè
ã«ã¯CLIããç¾å ´ã¹ã¿ããã«ã¯ãã£ããUIãæä¾ããçµç¹å
¨ä½ã§AIãæ´»ç¨ã§ããåºç¤ãæ§ç¯ãã¾ããããã¦ãæå
端ã§ãããã¨ããæé©è§£ã§ãããã¨ãéè¦ãã¦ãã¾ããäºç®ã«å¿ãã¦æ©è½ã忍鏿ããä¸ã¤æ§æãè¦ç´ãã ãã§ã³ã¹ãã¯å¤§ããå¤ãããå¿
è¦ãªãã®ããå¿
è¦ãªåã ãå±ãããå°åãã®å©ãå人ã ããããã§ãããä¸å¯§ãªAIéçºæ¯æ´ã人æä¸è¶³ãè§£æ¶ããå¾¡ç¤¾ã®æé·ãæ¯æ´ãããã¨ããããtelet.aiã®ç´æã§ãã"},representative:{title:"telet.ai labo 代表",name:"å¥¥æ³ æ
¶å¤ª",tagline:"ç©ºã¨æµ·ãããã¦ã³ã¼ãã¸ââç°è²ã®çµæ´ãçãã AIéçºã¸ã®æ
ç±",paragraphs:["å
èªç©ºæ©ãã¤ããããå°åè¹è¶è¹é·ã¨ãã¦ãé·å¹´ã«ãããç©ºã¨æµ·ã®ä¸¡æ¹ã§æ°è±¡ã¨åãåã£ã¦ãã¾ãããæç¸¦å¸ãæèµå®¤ã§æ°å§è¨ã®å¤åãè¦ã¤ããçå§ç·ãèªã¿è§£ãã風ãé²ã®åãã¨ç
§ããåãããããã®ç¹°ãè¿ãã®ä¸ã§å¹ã£ãããã¼ã¿ãèªã¿ã夿ããè¡åãããã¨ããæè¦ããä»ã®ç§ã®åç¹ã§ãã","57æ³ã§Pythonããã°ã©ãã³ã°ãå¦ã³å§ãã¾ããããã£ããã¯åç´ãªå¥½å¥å¿ã§ããããã³ã¼ããæ¸ãå§ãã¦ããã«AIã¨ã¼ã¸ã§ã³ãã®å¯è½æ§ã«é
äºããã¾ãããèªåã®æã§ã¢ããªã±ã¼ã·ã§ã³ãä½ããåãããæ¹åãã¦ããããã®éç¨ã§æ°ã¥ãããã¨ãããã¾ããéå»ã®ããã¸ã§ã¯ãã§ã¯éã¨ã³ã¸ãã¢ã¨ãã¦é¢ãããéçºã¯å¸¸ã«èª°ãã«ä¾é ¼ããå´ã§ããããããèªåã§ã³ã¼ããæ¸ãããã«ãªãã¨ãåé¡ã®æ¬è³ªãè¦ããããã«ãªã£ããããããããã«ããã¯ã ãããã®è¨è¨ã§ã¯æ¡å¼µã§ããªããââã¨ã³ã¸ãã¢ã®è¦ç¹ãæã¤ãã¨ã§ããããããã¨ãå®ç¾ããã¹ãã¼ããæ ¼æ®µã«ä¸ããã¾ããã","ç¾å ´çµé¨ã¨ãã¼ã¿ãµã¤ã¨ã³ã¹ãèåãããæ°è±¡ãµã¼ãã¹ã®éçºãæ¥åå¹çåã®ããã®AIã¨ã¼ã¸ã§ã³ãæ§ç¯ãããã¦æ§ã
ãªå®é¨çããã¸ã§ã¯ããæãåããç¶ããä¸ã§ãæè¡ã®é¢ç½ãã ãã§ãªãããããå¿
è¦ã¨ãã¦ãã人ãããã¯ãã ã¨ãã確信ãçã¾ãã¾ããã","æå
端ã追ãããããã¨ãç®çã§ã¯ããã¾ãããã客æ§ã®èª²é¡ã¨äºç®ã«åãåããæ¬å½ã«å¿
è¦ãªãã®ã ããã驿£ãªã³ã¹ãã§å±ããã大ããªçµç¹ã§ã¯ãªãããããã§ãããä¸äººã²ã¨ãã«å¯ãæ·»ã£ãéçºæ¯æ´ããã®æè¡ã社ä¼ã®å½¹ã«ç«ã¦ããââãã®æ³ããããtelet.aiãç«ã¡ä¸ãã¾ããã"]}
211,contact:{title:"çµç¹æ
å ±",company:"telet.ai labo",ceo:"代表ï¼å¥¥æ³ æ
¶å¤ª",button:"ãåãåãã"},studios:{tokyo:{title:"æ±äº¬æ ç¹",address:"ã184-0014 æ±äº¬é½å°éäºå¸è²«äºåçº3ä¸ç®3çª21å· ãã¡ã¼ã¹ããã«ãºAæ¦èµå°éäº301å·å®¤"}}},lv={title:"Portfolio",subtitle:"AIæè¡ãæ´»ç¨ããå®ç¸¾ãã覧ãã ãã",techStackLabel:"æè¡ã¹ã¿ãã¯",viewProject:"ããã¸ã§ã¯ããè¦ã",privateProject:"éå
¬éããã¸ã§ã¯ã",visualizationLabel:"ãã¼ã¿ãã¸ã¥ã¢ã©ã¤ã¼ã¼ã·ã§ã³",cta:{title:"ãåãåãã",description:"ããã¸ã§ã¯ãã®ãç¸è«ãæè¡çãªãåãåããã¯ãæ°è»½ã«ãé£çµ¡ãã ããã",button:"ãåãåãã"},projects:{"traffic-route-ai":{title:"交éçµè·¯AI鏿ã·ã¹ãã ",subtitle:"ãã¬ã¼ã·ã¢ã®å
Œ
±äº¤éãã¤ãªããçµè·¯é¸æãµãã¼ã",description:"åºçºå°ã¨ç®çå°ãããã¹ã»ééãçµã¿åãããç§»åçµè·¯ãæ¤ç´¢ããå°çæå»ã»æè¦æéã»ä¹æåæ°ã§åè£ãæ¯è¼ã§ãã交éçµè·¯é¸æã·ã¹ãã ããã¹ã®ã¿ã»ééã®ã¿ã®çµãè¾¼ã¿ãè¿ãã®é§
ã»åçæã®æ¤ç´¢ãå¤è¨èªè¡¨ç¤ºã«å¯¾å¿ããæ¥å¸¸ã®ç§»åããæ
è¡ã¾ã§ç®çã«åã£ãã«ã¼ãé¸ã³ãæ¯æ´ãã¾ãã",techStack:["å
Œ
±äº¤éçµè·¯æ¤ç´¢","ãã¹ã»éé飿º","çµè·¯æ¯è¼","å¤è¨èªUI"]},"multilingual-assistant":{title:"AIå¤è¨èªã¢ã·ã¹ã¿ã³ã",description:"è¤æ°è¨èªã§ã®åãåããã«å¯¾å¿ããã¤ã³ããªã¸ã§ã³ããªãã£ããã¢ã·ã¹ã¿ã³ãã1,573ä»¶ã®ãã¯ãã«ã¤ã³ããã¯ã¹ãæ§ç¯ããæ¡ä»¶åå²ãNGã¯ã¼ããã£ã«ã¿ãªã³ã°ããã¼ã¯ã¼ãããªã¬ã¼ã«ããç²¾å¯ãªåçå¶å¾¡ãå®è£
ãã¾ãããæ¥æ¬èªã»è±èªã»ä¸å½èªãªã©å¤è¨èªã§ã®ã¦ã¼ã¶ã¼è³ªåã«å¯¾ããè¨èªæ¨ªæçãªã»ãã³ãã£ãã¯æ¤ç´¢ã«ããä¸è²«ããé«ç²¾åº¦ãªåçãçæãã¾ãã",techStack:["RAG","Vector Search","å¤è¨èªEmbedding","LLM","æ¡ä»¶åå²ãã¸ãã¯"]},"weather-forecast":{title:"æ°è±¡APIã«ããAIæ°è±¡äºæ¸¬",description:"éå»ã®æ°è±¡ãã¼ã¿ãå¦ç¿ããç´è¿ã®æ°è±¡ç¶æ³ããªã¢ã«ã¿ã¤ã äºæ¸¬ããAIã·ã¹ãã ãéçºãæ°è±¡åºAPIãOpenWeatherMapçããåå¾ããéå»ãã¼ã¿ãLLMã§è§£æããæ¸©åº¦ãéæ°´ç¢ºçã風éãªã©ã®çæäºæ¸¬ãçæãã¾ããæç³»åãã¼ã¿ã®ãã¿ã¼ã³èªèã¨RAGã«ããéå»é¡ä¼¼ãã¿ã¼ã³æ¤ç´¢ãçµã¿åããã徿¥ã®çµ±è¨ã¢ãã«ãè£å®ããé«ç²¾åº¦ãªäºæ¸¬ãå®ç¾ãã¾ããã",techStack:["æ°è±¡API飿º","LLM","RAG","æç³»åãã¼ã¿è§£æ","ãªã¢ã«ã¿ã¤ã å¦ç"]},"local-llm":{title:"社å
ãµã¼ãã¼ï¼ãªã³ã㬠ãã¼ã«ã«LLM",description:"ã客æ§ã®æ¥åã«åãããAIãã社å
ã§ãã使ããç¶æ
ã§ãå±ããã¾ããOpen WebUIãå
±éã®å
¥ãå£ã«æ®ããOllamaï¼MLXã«ããé«éæ¨è«ã¬ã¼ã³ã¨ãUIDãã¨ã«å®å
¨ã«åé¢ããããã¼ã¿é åãæ§ç¯ã社å
ããã¥ã¡ã³ãã¯è±èªåãè¾¼ã¿ Ã æ¥æ¬èªã¯ã¨ãªèªå翻訳ã®RAGã«åãè¾¼ã¿ããã¥ã¼ã¹è¦ç´ã»è³ææ´çã»ã«ã¼ãã³æ¥åãªã©ã®æ¥åã¹ãã«ãå®å
¨ã«ä¸¦èµ°ããã¾ããã¹ãã«å®è¡ç³»ã¯OpenClawã³ã³ããã¨ãã¦éé¢ããCloudflareã¨ãã¸ï¼ãã¼ã«ã«Nginxã®ä¸å±¤ã§å®ãè¨è¨ãã¢ãã«é¸å®ããã¹ãã«è¨è¨ãéç¨ããªã·ã¼ã¾ã§ä¸æ¬ã§æ¯æ´ãã御社å°ç¨ã®AIããå°å
¥ãããã®æ¥ãã使ãããå½¢ã§ç«ã¡ä¸ãã¾ãã",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"ææéè»éå°éäºæ¸¬ï¼AIï¼",description:"NASA APIããææä½ç½®ãã¼ã¿ãè»éè¦ç´ ãéåãã©ã¡ã¼ã¿ãåå¾ããææéç§»åã®æé©ãªåºçºãã¤ã³ããè§£æããã·ã¹ãã ãéçºããã¼ãã³é·ç§»è»éãéåã¢ã·ã¹ããèæ
®ããè»éè¨ç®ãAPIã¨Pythonã§ç®å®ããæã¡ä¸ãã¦ã£ã³ãã¦ãæè¦æéãçæå¹çã表示ãã¾ããæè²æ©é¢ã»å®å®é¢é£ä¼æ¥åãã®ã·ãã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã¨ãã¦æ´»ç¨ããã¦ãã¾ããâ»AIæ©è½ãç¾å¨å¤ãã¦ãã¾ããAPIã¨Pythonã§è¨ç®ä¸",techStack:["NASA API (Horizons, SPICE)","è»éåå¦è¨ç®","Python","ãã¼ã¿ãã¸ã¥ã¢ã©ã¤ã¼ã¼ã·ã§ã³"]},"real-estate":{title:"ä¸åç£ãã¼ã¿AIè§£æ",description:"ç¹å®å
211°åã®ä¸åç£æ
å ±ãWebã¹ã¯ã¬ã¤ãã³ã°ã§åéããLLMã¨Pythonã«ããé«åº¦ãªãã¼ã¿è§£æãè¡ãã·ã¹ãã ãéçºãç©ä»¶ä¾¡æ ¼ãåªå価ãç¯å¹´æ°ãé§
è·é¢ãªã©ã®å¤æ°ãæ½åºããä¾¡æ ¼ãã¬ã³ãåæãç¸å ´äºæ¸¬ãæè³åççã·ãã¥ã¬ã¼ã·ã§ã³ãèªåçæãã¾ããéæ§é åãªç©ä»¶èª¬ææãããLLMã§ç¹å¾´ãæ½åºããå®éãã¼ã¿ã¨çµã¿åãããç·åçãªå¸å ´åæãæä¾ãã¾ãããâ»ã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ï¼FULLãã¼ã¸ã§ã³ã¯å¥éæä¾ï¼",techStack:["Webã¹ã¯ã¬ã¤ãã³ã° (Scrapy, Playwright)","Python","Pandas","LLMè§£æ","ãã¼ã¿å¯è¦å"]},"fortune-ai":{title:"åæ±æ¨å½AIéå®ã·ã¹ãã ",subtitle:"ä¼çµ±ã®ç¥æµãããã¯ããã¸ã¼ã§åç¾ããã",paragraphs:["åæ±æ¨å½ã¯æ°åå¹´ã®æ´å²ãæã¤æ±æ´å è¡ã®é大æã§ãããã®ã·ã¹ãã ã§ã¯ããã®ä¼çµ±çãªå ããã¸ãã¯ãPythonã§å®å
¨ã«åç¾ããLLMï¼å¤§è¦æ¨¡è¨èªã¢ãã«ï¼ã«ããè§£éã»ã¢ããã¤ã¹çæãçµã¿åããã¾ãããå°éã®å ã師ãè¡ãéå®ããã»ã¹ããAIãå¿ å®ã«åç¾ãã¾ãã","çå¹´ææ¥ãåºçæå»ãåºçå°ãå
¥åããã¨ãã·ã¹ãã ã¯å¤©æAPIããå½æã®æ¥ã®åºã»æ¥ã®å
¥ãæå»ãåº§æ¨æ
å ±ãåå¾ããããã®ãã¼ã¿ããã¨ã«ãå¹²æ¯ãåç¥ãäºè¡ãã©ã³ã¹ãæ£ç¢ºã«ç®åºãã¾ããåæ±æ¨å½ã®å ãå¦ã«åºã¥ããã¸ãã¯ãPythonã§ææ°åããçµ±è¨ãã¼ã¿ã¨RAGï¼æ¤ç´¢æ¡å¼µçæï¼æ
å ±ãçµã¿åããããã¨ã§ãå½å¼è§£æã®ç²¾åº¦ãé«ãã¦ãã¾ãã","ç®åºãããå½å¼ãã¼ã¿ã¯ãLLMãèªç¶è¨èªã§ãããããã解説ãéå¢ã®æµãã対人é¢ä¿ã®ç¸æ§ãããªãã«é©ããè·æ¥ãªã©ããã¼ã½ãã©ã¤ãºãããéå®çµæãçæãã¾ããå°éã®å ã師ã«ç¸è«ããã¨ãã¨åæ§ã®ãæ·±ã¿ã®ããåçãå¾ããã¨ãã§ãã¾ãã","ç¾å¨ãã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ã§ããåºæ¬çãªå½å¼è§£æã¨éå¢éå®ãã試ãããã ãã¾ãããã詳細ãªåæã¨å¤è§çãªã¢ããã¤ã¹ãå«ããã«ãã¼ã¸ã§ã³ã¯ãå¥éãæä¾ãã¦ããã¾ãã"],techStack:["Python","天æAPI (Sunrise-Sunset, TimeZoneDB)","åæ±æ¨å½ãã¸ãã¯","LLM","座æ¨ã»æå»è¨ç®"]},"google-workspace":{title:"Google Workspace AI飿º",description:"Google Workspaceï¼GmailãDriveãCalendarãDocsãSheetsï¼ã¨LLMã飿ºããæ¥åãã¼ã¿ã®èªã¿è¾¼ã¿ã»ç·¨éã»èªåå¦çãè¡ãã·ã¹ãã ãéçºãã¡ã¼ã«å
容ã®è¦ç´ã»èªåè¿ä¿¡ä¸æ¸ãçæãDriveãã¡ã¤ã«ã®æ¤ç´¢ã»å
容解æãCalendarããã®ã¹ã±ã¸ã¥ã¼ã«æ½åºã¨èª¿æ´ææ¡ãªã©ãæ¥å¸¸æ¥åãAIãã¢ã·ã¹ããã¾ããOAuthèªè¨¼ã«ããå®å
¨ãªAPIæ¥ç¶ã¨ãMCPæºæ ã®ãã¼ã«è¨è¨ã«ãããAgentããã®èªå¾çãªWorkspaceæä½ãå®ç¾ãã¾ãããâ»ã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ï¼FULLãã¼ã¸ã§ã³ã¯å¥éæä¾ï¼",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"ä¸çNEWSå¤è¨èªå",description:"ä¸çåå½ã®ãã¥ã¼ã¹ã½ã¼ã¹ãããªã¢ã«ã¿ã¤ã ã§è¨äºãåéããLLMã«ããå¤è¨èªç¿»è¨³ã»è¦ç´ã»ã«ãã´ãªåé¡ãè¡ãã·ã¹ãã éçºãè±èªãä¸å½èªããã©ã³ã¹èªãã¢ã©ãã¢èªãªã©å¤è¨èªã®åæè¨äºãæ¥æ¬èªã«ç¿»è¨³ãããããã¯å¥ã«æ´çãåç´ãªæ©æ¢°ç¿»è¨³ã§ã¯ãªããLLMã«ããæèçè§£ã«åºã¥ããèªç¶ãªç¿»è¨³ã¨ãè¨äºã®è¦ç¹ãæ½åºãããµããªã¼çæã«ãããå¹ççãªå½éãã¥ã¼ã¹ã¢ãã¿ãªã³ã°ãå®ç¾ãã¾ãããâ»ã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ï¼FULLãã¼ã¸ã§ã³ã¯å¥éæä¾ï¼",techStack:["News API","RSSåé","LLM翻訳ã»è¦ç´","å¤è¨èªå¦ç","èªåã«ãã´ãªåé¡","宿ãããå¦ç"]},"security-monitoring":{title:"ã»ãã¥ãªãã£ãã°ç£è¦AIããã¼ã¸ã£ã¼",description:"伿¥ã®ã»ãã¥ãªãã£ãã°ããªã¢ã«ã¿ã¤ã ç£è¦ããLLMã«ããé«åº¦ãªè
卿¤ç¥ã»åæãè¡ãã·ã¹ãã ãéçºã
211ãã¡ã¤ã¢ã¦ã©ã¼ã«ãIDS/IPSãèªè¨¼ãã°ãã¢ããªã±ã¼ã·ã§ã³ãã°ãªã©å¤æ§ãªãã°ã½ã¼ã¹ãPythonã¢ã¸ã¥ã¼ã«ã§åéã»è§£æããRAGã«èç©ãããéå»ã®æ»æãã¿ã¼ã³ãèå¼±æ§æ
å ±ãã¤ã³ã·ãã³ãäºä¾ã¨ç
§åãã¾ããç°å¸¸ãã¿ã¼ã³ãæ¤ç¥ããéã¯LLMãè
å¨ã¬ãã«ãå½±é¿ç¯å²ãæ¨å¥¨å¯¾å¿ãèªç¶è¨èªã§è§£èª¬ããæ
å½è
ã¸å³æã¢ã©ã¼ãéç¥ãåä¸ãã¿ã¼ã³ã®åçºæã¯èªåçã«é«åªå
度ã¢ã©ã¼ããçºå ±ããã¤ã³ã·ãã³ã対å¿ã®è¿
éåãå®ç¾ãã¾ããã",techStack:["Pythonç£è¦ã¢ã¸ã¥ã¼ã«","ãã°åé (Fluentd, Logstash)","RAG","è
å¨ãã¿ã¼ã³DB","LLMè§£æ","ã¢ã©ã¼ãéç¥ (Slack, PagerDuty)"]}}},dv={learnMore:"詳ããè¦ã",getStarted:"å§ãã",contactUs:"ãåãåãã",backToHome:"ãã¼ã ã¸æ»ã"},uv={title:"Privacy Policy",subtitle:"ãã©ã¤ãã·ã¼ããªã·ã¼",lastUpdated:"æçµæ´æ°æ¥ï¼2026å¹´1æ23æ¥",intro:"telet.aiï¼ä»¥ä¸ãå½ãµã¼ãã¹ãï¼ã¯ãã客æ§ã®å人æ
å ±ã®ä¿è·ãéè¦ãªè²¬åã¨èãã以ä¸ã®ã¨ãããã©ã¤ãã·ã¼ããªã·ã¼ãå®ãã¾ãã",sections:{collection:{title:"1. åéããæ
å ±",description:"å½ãµã¼ãã¹ã§ã¯ããåãåããããµã¼ãã¹ã®ãå©ç¨ã«ãããã以ä¸ã®æ
å ±ãåéãããã¨ãããã¾ãã",items:["ã¡ã¼ã«ã¢ãã¬ã¹","ãååï¼ä»»æï¼","ãåãåããå
容","ãã®ä»ãã客æ§ãèªçºçã«æä¾ãããæ
å ±"]},purpose:{title:"2. æ
å ±ã®å©ç¨ç®ç",description:"åéããå人æ
å ±ã¯ã以ä¸ã®ç®çã§ã®ã¿å©ç¨ãããã¾ãã",items:["ãåãåããã¸ã®åçã»å¯¾å¿","ãµã¼ãã¹ã«é¢ãããé£çµ¡ã»ãæ¡å
","ããã¸ã§ã¯ãé²è¡ã«å¿
è¦ãªã³ãã¥ãã±ã¼ã·ã§ã³","ãµã¼ãã¹æ¹åã®ããã®åæï¼å人ãç¹å®ããªãå½¢å¼ã§ï¼"]},thirdParty:{title:"3. 第ä¸è
ã¸ã®æä¾",description:"å½ãµã¼ãã¹ã¯ã以ä¸ã®å ´åãé¤ããã客æ§ã®å人æ
å ±ã第ä¸è
ã«æä¾ãããã¨ã¯ããã¾ããã",items:["ã客æ§ã®åæãããå ´å","æ³ä»¤ã«åºã¥ãé示è¦è«ããã£ãå ´å","人ã®çå½ã身ä½ã¾ãã¯è²¡ç£ã®ä¿è·ã®ããã«å¿
è¦ãªå ´å"]},security:{title:"4. æ
å ±ã®ç®¡ç",description:"å½ãµã¼ãã¹ã¯ãåéããå人æ
å ±ãé©åã«ç®¡çãã䏿£ã¢ã¯ã»ã¹ãç´å¤±ãæ¼æ´©ãæ¹ããã鲿¢ãããããåççãªå®å
¨å¯¾çãè¬ãã¾ãã"},email:{title:"5. ã¡ã¼ã«ã®åãæ±ãã«ã¤ãã¦",description:"å½ãµã¼ãã¹ã§ã¯ã以ä¸ã®æ¹éã«åºã¥ãã¡ã¼ã«ã®åãæ±ããè¡ãã¾ãã",items:["ã客æ§ããããã ããã¡ã¼ã«ã®å
容ã¯ããåãåãã対å¿ããã³ãµã¼ãã¹æä¾ã®ç®çã®ã¿ã«ä½¿ç¨ãããã¾ã","ã¡ã¼ã«ã¢ãã¬ã¹ã第ä¸è
ã«è²©å£²ã貸ä¸ãã¾ãã¯å
±æãããã¨ã¯ããã¾ãã","ãµã¼ãã¹ã«é¢ãããæ¡å
ã¡ã¼ã«ããéãããå ´åãããã¾ããé
ä¿¡åæ¢ãã叿ã®å ´åã¯ãã¡ã¼ã«å
ã®é
ä¿¡åæ¢ãªã³ã¯ã¾ãã¯ä¸è¨é£çµ¡å
ãããé£çµ¡ãã ãã","ã¡ã¼ã«éä¿¡ã«ã¯SSL/TLSæå·åã使ç¨ããéä¿¡ã®å®å
¨æ§ã確ä¿ãã¦ãã¾ã","ãåãåããããã ããã¡ã¼ã«ã¯ãé©åãªæéä¿ç®¡ããå¾ãå®å
¨ã«åé¤ãããã¾ã"]},cookies:{title:"6. Cookieã®ä½¿ç¨",description:"å½ãµã¼ãã¹ã®ã¦ã§ããµã¤ãã§ã¯ãå©ä¾¿æ§åä¸ã®ããCookieã使ç¨ããå ´åãããã¾ããCookieã¯ãã©ã¦ã¶ã®è¨å®ã«ããç¡å¹åãããã¨ãå¯è½ã§ãã"},external:{title:"7. å¤é¨ãµã¼ãã¹ã®å©ç¨",description:"å½ãµã¼ãã¹ã§ã¯ã以ä¸ã®å¤é¨ãµã¼ãã¹ãå©ç¨ããå ´åãããã¾ããåãµã¼ãã¹ã®ãã©ã¤ãã·ã¼ããªã·ã¼ã«ã¤ãã¦ã¯ãããããã®ãªã³ã¯å
ãã確èªãã ããã",items:["Google Analyticsï¼ã¢ã¯ã»ã¹è§£æï¼","ãã®ä»ãæ¥åä¸å¿
è¦ãªã¯ã©ã¦ããµã¼ãã¹"]},changes:{title:"8. ãã©ã¤ãã·ã¼ããªã·ã¼ã®å¤æ´",description:"æ¬ããªã·ã¼ã¯ãæ³ä»¤ã®æ¹æ£ããµã¼ãã¹å
容ã®å¤æ´ã«ä¼´ããäºåãªãæ¹å®ãããã¨ãããã¾ãã夿´å¾ã®ããªã·ã¼ã¯ãå½ãã¼ã¸ã«æ²è¼ããæç¹ã§å¹åãçãã¾ãã"},contact:{title:"9. ãåãåãã",description:"æ¬ããªã·ã¼ã«é¢ãããåãåããã¯ãä¸è¨ã¾ã§ã
211é£çµ¡ãã ããã",company:"telet.ai",contactLink:"ãåãåãããã©ã¼ã ã¸"}}},cv={title:"å©ç¨è¦ç´",subtitle:"æ¬ãµã¤ãã®ãå©ç¨ãããã³ telet.ai ã¸ã®ç¸è«äºç´ã»ãåãåããã»è³æè«æ±ã«é¢ããè¦ç´ã§ãã",lastUpdated:"æçµæ´æ°æ¥ï¼2026å¹´1æ22æ¥",intro:"æ¬å©ç¨è¦ç´ï¼ä»¥ä¸ãæ¬è¦ç´ãã¨ããã¾ããï¼ã¯ãtelet.aiï¼ä»¥ä¸ã彿¹ãã¨ããã¾ããï¼ãéå¶ããã¦ã§ããµã¤ãï¼ä»¥ä¸ãæ¬ãµã¤ããã¨ããã¾ããï¼ã®å©ç¨æ¡ä»¶ãå®ãããã®ã§ããæ¬ãµã¤ãã¯ä¸»ã«ãç¸è«äºç´ã»ãåãåããã»è³æè«æ±ã®ããã®ã©ã³ãã£ã³ã°ãã¼ã¸ã¨ãã¦æä¾ããã¦ãããæ¬ãµã¤ãä¸ã§ã®ã¢ã«ã¦ã³ãä½æãææèª²éæ©è½ã¯æä¾ãã¦ãã¾ããã",sections:{scope:{title:"1. é©ç¨ç¯å²",description:"æ¬è¦ç´ã¯ãæ¬ãµã¤ãã®é²è¦§è
ããã³å©ç¨è
ï¼ä»¥ä¸ãå©ç¨è
ãã¨ããã¾ããï¼ã«é©ç¨ããã¾ãã彿¹ã¨å©ç¨è
ã¨ã®éã§ãå¥éNDAãæ¥åå§è¨å¥ç´ãåå¥å¥ç´æ¸çãç· çµãããå ´åã¯ãå½è©²æ¸é¢ãåªå
ãã¦é©ç¨ããã¾ãã"},prohibited:{title:"2. ç¦æ¢äºé
",description:"å©ç¨è
ã¯ãæ¬ãµã¤ãã®å©ç¨ã«ãããã以ä¸ã®è¡çºããã¦ã¯ãªãã¾ããã",items:["æ³ä»¤ã¾ãã¯å
¬åºè¯ä¿ã«éåããè¡çº","彿¹ã¾ãã¯ç¬¬ä¸è
ã®ç¥çè²¡ç£æ¨©ããã©ã¤ãã·ã¼ããã®ä»ã®æ¨©å©ã»å©çã侵害ããè¡çº","䏿£ã¢ã¯ã»ã¹ãé度ãªè² è·ã妨害è¡çºçã«ããæ¬ãµã¤ãã¾ãã¯é¢é£ã·ã¹ãã ã®éç¨ãé»å®³ããè¡çº","åãåãããã©ã¼ã çã§èå½ã®æ
å ±ãéä¿¡ããè¡çºãã¾ãã¯ç¬¬ä¸è
ã«ãªããã¾ãè¡çº","彿¹ã®äºå許å¯ãªããã¹ã¯ã¬ã¤ãã³ã°ããªãã¼ã¹ã¨ã³ã¸ãã¢ãªã³ã°ãé度ãªèªåã¢ã¯ã»ã¹ãè¡ãè¡çº"]},disclaimer:{title:"3. å
責äºé
",description:"彿¹ã¯ãæ¬ãµã¤ããç¾ç¶æå§¿ã§æä¾ãã¾ãã彿¹ã¯ãæ³ä»¤ã§è¨±ãããç¯å²ã§ãæ¬ãµã¤ãã«é¢ãã¦ä¸åã®ä¿è¨¼ãè¡ãã¾ããã",items:["æ¬ãµã¤ãä¸ã®æ
å ±ã¯äºåãªã夿´ã¾ãã¯åé¤ããããã¨ãããã¾ã","彿¹ã¯ãæ¬ãµã¤ãä¸ã®æ
å ±ã®æ£ç¢ºæ§ã»å®å
¨æ§ã»ç¹å®ç®çã¸ã®é©åæ§ãä¿è¨¼ãã¾ãã","å©ç¨è
ãæ¬ãµã¤ããå©ç¨ãããã¨ãã¾ãã¯æ¬ãµã¤ãä¸ã®æ
å ±ã«ä¾æ ãããã¨ã«ããçããæå®³ã«ã¤ãã¦ã彿¹ã¯è²¬ä»»ãè² ãã¾ãã","ç¸è«ã»ãåãåããã«å¯¾ããåçã¯ä¸è¬çãªæ
å ±æä¾ã§ãããæ³åã»ç¨åã»å»ççã®å°éçå©è¨ãæ§æãããã®ã§ã¯ããã¾ãã"]},ip:{title:"4. ç¥çè²¡ç£æ¨©",description:"æ¬ãµã¤ãä¸ã®æç« ãç»åããã¶ã¤ã³ã忍ããã´çã«é¢ããæ¨©å©ã¯ã彿¹ã¾ãã¯æ£å½ãªæ¨©å©è
ã«å¸°å±ãã¾ããæ¨©å©è
ã®è¨±è«¾ãªãå©ç¨ãããã¨ã¯ã§ãã¾ããã"},links:{title:"5. å¤é¨ãµã¤ãã¸ã®ãªã³ã¯",description:"æ¬ãµã¤ãã«ã¯ç¬¬ä¸è
ã®ã¦ã§ããµã¤ãã¸ã®ãªã³ã¯ãå«ã¾ããå ´åãããã¾ãããªã³ã¯å
ã®å
容ãéç¨ã«ã¤ãã¦ã彿¹ã¯ä¸å責任ãè² ãã¾ããã"},changes:{title:"6. æ¬è¦ç´ã®å¤æ´",description:"彿¹ã¯ãå¿
è¦ã«å¿ãã¦æ¬è¦ç´ã夿´ãããã¨ãããã¾ãã夿´å¾ã®æ¬è¦ç´ã¯ãæ¬ãµã¤ãä¸ã«æ²ç¤ºããæç¹ã§å¹åãçãã¾ãã"},governingLaw:{title:"7. æºæ æ³ã»ç®¡è½",description:"æ¬è¦ç´ã¯æ¥æ¬æ³ãæºæ æ³ã¨ãã¾ããæ¬ãµã¤ãã«é¢é£ãã¦ç´äºãçããå ´åãæ±äº¬å°æ¹è£å¤æã第ä¸å¯©ã®å°å±çåæç®¡è½è£å¤æã¨ãã¾ãã"},contact:{title:"8. ãåãåãã",description:"æ¬è¦ç´ã«é¢ãããåãåããã¯ã以ä¸ã¾ã§ãé£çµ¡ãã ããã",company:"telet.ai",contactLink:"ãåãåãããã©ã¼ã ã¸"}}},mv={title:"è¦åéå",subtitle:"ãAIã§äºæ¸¬ããã",description1:"æ°è±¡æ
å ±ã¯åå½ããã¼ã¿ããªã¢ã«ã¿ã¤ã ã«æä¾ãã¦ãã¾ããå°å³ã®çãä¸ã«ããªãã®å½ã表示ããã¦ãã¾ããæ¨æ¥ã®å¤©æ°ãã¨ä»ã®å¤©æ°ã¯å®ç¸¾ã§ããé¨é²ã¯ãã®æ¥æã«ããªãã®ç©ºã«ãã£ãã¯ãã§ãã",description2:"ãããããã®ã¢ãã¡ã¼ã·ã§ã³ã¯æªæ¥ã®æ°è±¡éåãã¢ãã¡ã¼ã·ã§ã³åãã¦ãã¾ãã",description3:"éå»ãã¼ã¿ããã¯ãã«åããã¿ã¼ã³ãé«éã§æ¤ç´¢ãå¨è¾ºç°å¢ããæ°è±¡ãã¿ã¼ã³ãäºæ³ãããã¨ãå¯è½ã§ããåãããã«ãåç©«ãçç£ã販売ãäºæ¸¬ãããã¨ç°å¢ã¨é«åº¦ãªçµ±è¨å¦çãªæ°å¤ãéå»ã®å®ç¸¾ãããè¦ç´ ï¼i)ãç®å®ãã¦ãAIã«è§£æããããã¨ãå¯è½ã§ãã",refresh:"ãªãã¬ãã·ã¥",loading:"æ°è±¡ããããèªã¿è¾¼ã¿ä¸..."},pv={hero:{badges:["Enterprise","Local LLM","Custom Agent"],title:"伿¥åã AI Agent è¨è¨ã»éçº",description:"æ¥åè¦ä»¶ã«åãããå°ç¨ AI Agent ãè¨è¨ã»æ§ç¯"},mission:{title:"ã«ã¹ã¿ã AI Agentéçºãµã¼ãã¹",description:"è²´ç¤¾åºæã®æ¥å課é¡ã«å¯¾å¿ããã«ã¹ã¿ã AI Agentããè¨è¨ããå®è£
ãéç¨ã¾ã§ä¸è²«ãã¦éçºãããã¾ããæ¢åã®åºå¹¹ã·ã¹ãã ãSaaSç°å¢ã¨ã®è¦ªåæ§ãéè¦ããã¢ã¼ããã¯ãã£è¨è¨ã«ãããAPI飿ºããã¼ã¿ãã¼ã¹æ¥ç¶ã社å
ãã¼ã«çµ±åãã¹ã ã¼ãºã«å®ç¾ãã¾ããè¦ä»¶å®ç¾©ãæ¦å¿µå®è¨¼ãæ¬çªãããã¤ã¾ã§æ®µ
211éçã«é²è¡ããã¨ã³ã¿ã¼ãã©ã¤ãºæ°´æºã®ã»ãã¥ãªãã£ã¨ã³ã³ãã©ã¤ã¢ã³ã¹å¯¾å¿ãæ
ä¿ããå
ç¢ãªAgentåºç¤ãæ§ç¯ãããã¾ããLangChainãAutoGenãCrewAIãã¯ããã¨ãã主è¦ãã¬ã¼ã ã¯ã¼ã¯ã«ç²¾éããã¨ã³ã¸ãã¢ããè²´ç¤¾ã®æè¡ã¹ã¿ãã¯ãéç¨ä½å¶ã«æé©ãªã½ãªã¥ã¼ã·ã§ã³ããææ¡ãåçºã®ãã£ãããããéçºã§ã¯ãªããè¤æ°Agentãå調ãã¦æ¥åãéè¡ãããã«ãã¨ã¼ã¸ã§ã³ãã·ã¹ãã ããå¤é¨ãã¼ã«ã¨é£æºããAgentic Workflowã®æ§ç¯ã«ã対å¿ãããã¾ããå°å
¥å¾ã®ç¶ç¶çãªæ¹åãã¢ãã«ã¢ãããã¼ãã¸ã®è¿½å¾ãéç¨ç£è¦ä½å¶ã®æ´åã¾ã§å«ããé·æçãªãã¼ããã¼ã·ãããéãã¦ãAI Agentããããããã¸ãã¹ä¾¡å¤ã®æå¤§åãæ¯æ´ãããã¾ãã",imageAlt:"ã«ã¹ã¿ã AI Agentéçºãµã¼ãã¹"},summary:{title:"Agentéçºåå",paragraphs:["2025å¹´ãã2026å¹´ã«ããã¦ãAI Agentéçºã¯å®è¨¼å®é¨ãã§ã¼ãºããæ¬æ ¼çãªä¼æ¥å°å
¥ãã§ã¼ãºã¸ã¨ç§»è¡ãã¦ãã¾ãããAgentic AIãã¨ããæ¦å¿µãå®çããåãªããã£ããããããè¶
ããèªå¾åæ¥åéè¡ã·ã¹ãã ã忥çã§ç¨¼åãå§ãã¾ããã","OpenAIã®OperatorãAnthropicã®Computer UseãGoogleã®Project Marinerãªã©ããã©ã¦ã¶ããã¹ã¯ããããç´æ¥æä½ãããComputer-Using Agentããå®ç¨åãå®åæ¥åã®å®å
¨èªååãç¾å®ã®ãã®ã¨ãªã£ã¦ãã¾ããMCPï¼Model Context Protocolï¼ã¯ã¨ã³ã·ã¹ãã ã¨ãã¦æ¥æé·ããæ°åã®ãã¼ã«é£æºããã©ã°ã¢ã³ããã¬ã¤ã§å®ç¾å¯è½ã«ãªãã¾ããã","ãã«ãã¨ã¼ã¸ã§ã³ãã¢ã¼ããã¯ãã£ãæçæãè¿ããå°éç¹åããAgentãå調ãã¦ããã¸ã§ã¯ã管çãã«ã¹ã¿ãã¼ãµãã¼ãããã¼ã¿åæã¨ãã£ãè¤åæ¥åãéè¡ãã¾ããA2Aï¼Agent-to-Agentï¼ãããã³ã«ã®æ¨æºåã«ãããç°ãªããã³ãã¼éã§ã®Agent飿ºãé²ãã§ãã¾ãã","伿¥å°å
¥ã§ã¯ãHuman-in-the-LoopããããHuman-on-the-Loopãã¸ã¨ã¬ããã³ã¹ã¢ãã«ãé²åãAgentã®å¤æãäºå¾ç£æ»ããä»çµã¿ãããªã¹ã¯ã¬ãã«ã«å¿ããèªåã¨ã¹ã«ã¬ã¼ã·ã§ã³æ©è½ãæ¨æºè£
åã¨ãªããéèã»å»çã»è£½é ãªã©è¦å¶æ¥çã§ã®æ¡ç¨ãå éãã¦ãã¾ãã"]},features:{title:"è¨è¨ã»éçº",subtitle:"Design & Development",items:[{title:"æ¥åè¦ä»¶ãã¼ã¹ã®Agentè¨è¨",description:"æ¥åããã¼åæããã¦ã¼ã¹ã±ã¼ã¹ãæ½åºããã¿ã¹ã¯åè§£ã¨Agent責åã®æç¢ºåã宿½ãã·ã³ã°ã«Agentã§å®çµããå¦çãããã«ãAgentå調ãå¿
è¦ãã夿ããReActãPlan-and-ExecuteãReflexionãªã©æé©ãªæ¨è«ãã¿ã¼ã³ãé¸å®ãã¾ãã"},{title:"RAG / Tool / Workflow çµ±å",description:"Embeddingçæããã£ã³ã¯æ¦ç¥ãHybrid Searchãçµã¿åãããé«ç²¾åº¦RAGãã¤ãã©ã¤ã³ãæ§ç¯ãMCPæºæ ã®Toolå®ç¾©ã«ããå¤é¨APIã»ãã¼ã¿ãã¼ã¹ã¨ã®æ¥ç¶ãæ¨æºåããLangGraphãCrewAIã«ãããã«ãã¹ãããWorkflowããªã¼ã±ã¹ãã¬ã¼ã·ã§ã³ãã¾ãã"},{title:"ã»ãã¥ãªãã£ã»æ¨©éè¨è¨",description:"RBAC/ABACã«ããAgentæ©è½ã®ã¢ã¯ã»ã¹å¶å¾¡ãPrompt Injection対çãPIIæ¤åºã»ãã¹ãã³ã°ãå®è£
ãå
¨å
¥åºåã®ç£æ»ãã°ãä¿æããSOC2ã»ISO27001æºæ ç°å¢ã§ã®éç¨ã«å¯¾å¿
211ãGuardrailsã«ããåºåãã£ã«ã¿ãªã³ã°ãæ¨æºè£
åãã¾ãã"},{title:"éç¨ã»ç£è¦ã¾ã§å«ããå®è£
",description:"LangSmithãLangfuseçã«ããTraceå¯è¦åãã¬ã¤ãã³ã·ã»ãã¼ã¯ã³æ¶è²»ã»ã¨ã©ã¼çã®ãªã¢ã«ã¿ã¤ã ç£è¦ãå®è£
ãç°å¸¸æ¤ç¥ã¢ã©ã¼ããA/Bãã¹ãåºç¤ãã¢ãã«æ´æ°æã®Regression Testãå«ãç¶ç¶çæ¹åãµã¤ã¯ã«ãæ§ç¯ãã¾ãã"}]},techStack:{title:"æè¡ã¹ã¿ãã¯",subtitle:"Platform & Technology",categories:{agentFramework:{title:"Agent Framework",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","OpenAI Agents SDK","Anthropic MCP","Google ADK (Agent Development Kit)","Semantic Kernel","ç¬èªAgent Platform"]},apiLayer:{title:"API Layer",items:["FastAPI / Litestar","gRPC / Connect","GraphQL Federation","Server-Sent Events (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","API Gateway (Kong / Envoy)","Adaptive Rate Limiting"]},vectorDb:{title:"Vector DB / RAG",items:["Pinecone","Weaviate","Qdrant","Milvus","ChromaDB","pgvector","FAISS","Turbopuffer"]}
211,infrastructure:{title:"Infrastructure",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","On-Premise GPU Cluster","Private Cloud","Serverless (Lambda / Cloud Run)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"2026å¹´ã®ä¸»ãªã¢ãããã¼ããã¤ã³ã",description:"Agent Frameworkã§ã¯ãOpenAI Agents SDKãAnthropic MCPãGoogle ADKãªã©ä¸»è¦ãã³ãã¼ã®å ¬å¼SDK/ãããã³ã«ãå°é ãAPI Layerã§ã¯gRPCãSSEãAgentééä¿¡ã®æ¨æºã¨ãªããOAuth 2.1ã¸ã®ç§»è¡ãé²è¡ä¸ãVector DBã§ã¯Qdrantã¨Turbopufferãé«éæ¤ç´¢ã§æ³¨ç®ãéãã¦ãã¾ãã"}},cta:{title:"ãåãåãã",description:`è¦ä»¶æ´çãããç¸è«ããã ãã¾ãã 212PoCã»ãã¼ã«ã« LLM æ§æã®æ¤è¨ãå¯è½ã§ãã`,primaryButton:"ãåãåãã",secondaryButton:"æè¡ç¸è«"}},gv={title:"ãããã質å",subtitle:"FAQ",items:[{question:"æ¢åã®ããã¥ã¢ã«ãFAQããã®ã¾ã¾ä½¿ãã¾ããï¼",answer:"ã¯ãã使ãã¾ããPDFãWordãExcelãHTMLãããã¹ããã¡ã¤ã«ãªã©ãã»ã¨ãã©ã®å½¢å¼ã«å¯¾å¿ãã¦ãã¾ããæ¢åã®ç¤¾å ããã¥ã¡ã³ãããã®ã¾ã¾ã¢ãããã¼ãããã ãã§ãAIãå 容ãå¦ç¿ããåçã«æ´»ç¨ãã¾ãããã©ã¼ããã夿ãç¹å¥ãªå å·¥ã¯ä¸è¦ã§ãã"},{question:"æ©å¯æ å ±ãå«ããã¼ã¿ã§ãå®å ¨ã«ä½¿ãã¾ããï¼",answer:"ã¯ããå®å ¨ã«ãå©ç¨ããã ãã¾ãããªã³ãã¬ãã¹ï¼ç¤¾å ãµã¼ãã¼ï¼ã¾ãã¯ãã©ã¤ãã¼ãã¯ã©ã¦ãç°å¢ã§ã®æ§ç¯ã«å¯¾å¿ãã¦ããããã¼ã¿ãå¤é¨ã«éä¿¡ããããã¨ã¯ããã¾ãããSOC2ãISO27001æºæ ã®éç¨è¨è¨ãå¯è½ã§ããã»ãã¥ãªãã£è¦ä»¶ã«å¿ããæ§æããææ¡ãã¾ãã"},{question:"å°å ¥ã¾ã§ã©ã®ãããã®æéããããã¾ããï¼",answer:"æ¨æºçãªFAQãããã§ããã°ãæç2ã4é±éã§å°å ¥å¯è½ã§ããæ¢åã·ã¹ãã ã¨ã®é£æºãé«åº¦ãªã«ã¹ã¿ãã¤ãºãå¿ è¦ãªå ´åã¯ã1ã3ã¶æç¨åº¦ãæ³å®ãã¦ãã¾ããã¾ãã¯å°è¦æ¨¡ãªPoCï¼æ¦å¿µå®è¨¼ï¼ããå§ãããã¨ãå¯è½ã§ãã"},{question:"ChatGPTãClaudeãªã©ã®å¤é¨APIã使ãã¾ããï¼",answer:"ãè¦æã«å¿ãã¦é¸æå¯è½ã§ããå¤é¨APIï¼OpenAIãAnthropicãGoogleçï¼ãå©ç¨ããæ§æã¨ãå®å ¨ã«ãã¼ã«ã«ã§åä½ãããªã¼ãã³ã½ã¼ã¹LLMï¼LlamaãMistralãQwençï¼ãå©ç¨ããæ§æã®ä¸¡æ¹ã«å¯¾å¿ãã¦ãã¾ããã³ã¹ããã»ãã¥ãªãã£ãæ§è½è¦ä»¶ã«å¿ãã¦æé©ãªæ§æããææ¡ãã¾ãã"},{question:"AIã®åç精度ã¯ã©ã®ãããã§ããï¼",answer:"ç¨éããã¼ã¿å質ã«ããç°ãªãã¾ãããé©åã«è¨è¨ãããRAGã·ã¹ãã ã§ã¯ãé¢é£ããã¥ã¡ã³ããåå¨ãã質åã«å¯¾ãã¦90%以ä¸ã®ç²¾åº¦ã§æ£ç¢ºãªåçãè¿ããã¨ãå¯è½ã§ãããã«ã·ãã¼ã·ã§ã³ï¼èª¤æ å ±çæï¼ãæå¶ããä»çµã¿ãæ¨æºã§çµã¿è¾¼ãã§ãã¾ãã"},{question:"æ¥æ¬èªä»¥å¤ã®è¨èªã«ã対å¿ãã¦ãã¾ããï¼",answer:"ã¯ããå¤è¨èªå¯¾å¿ãå¯è½ã§ããæ¥æ¬èªãè±èªãä¸å½èªãéå½èªãã¯ããã主è¦ãªè¨èªã«å¯¾å¿ãã¦ãã¾ããè¨èªãã¨ã«å¥ã ã®ã¢ãã«ãç¨æããå¿ è¦ã¯ãªããåä¸ã®ã·ã¹ãã ã§å¤è¨èªã®åãåãããå¦çã§ãã¾ãã"},{question:"æ¢åã®ã·ã¹ãã ï¼CRMããã£ãããã¼ã«çï¼ã¨é£æºã§ãã¾ããï¼",answer:"ã¯ãã飿ºå¯è½ã§ããSalesforceãHubSpotãSlackãMicrosoft TeamsãLINE WORKSãªã©ã主è¦ãªãã¸ãã¹ãã¼ã«ã¨ã®API飿ºã«å¯¾å¿ãã¦ãã¾ããæ¢åã®æ¥åããã¼ãå¤ãããã¨ãªããAIã¢ã·ã¹ã¿ã³ããçµã¿è¾¼ããã¨ãã§ãã¾ãã"},{question:"æéä½ç³»ãæãã¦ãã ããã",answer:"ããã¸ã§ã¯ãã®è¦æ¨¡ãè¦ä»¶ã«ããç°ãªãã¾ããåææ§ç¯è²»ç¨ã¨æé¡éç¨è²»ç¨ã®çµã¿åãããä¸è¬çã§ãããã¹ãããéçºãã³ã³ãµã«ãã£ã³ã°ã®ã¿ã®ãä¾é ¼ãæ¿ã£ã¦ãã¾ããã¾ãã¯ãè¦ä»¶ããèãããã ãããæ¦ç®è¦ç©ããããæç¤ºãããã¾ãã"}]},hv={title:"æéãã©ã³",subtitle:"Pricing Plans",description:"ãã¸ãã¹ã®è¦æ¨¡ã«åãããæè»ãªãã©ã³ããç¨æãã¦ãã¾ã",plans:[{name:"ã¹ã¿ã¼ã¿ã¼",price:"Â¥29,800",period:"æé¡/ã¦ã¼ã¶ã¼",description:"å°è¦æ¨¡ãã¼ã ã«æé©ãªãã©ã³ãåºæ¬çãªAIæ©è½ããæé ä¾¡æ ¼ã§",features:["æ100é話ã¾ã§","åºæ¬çãªæåèµ·ãã","ãã¼ã¯ã¼ãæ¤åº","ã¡ã¼ã«ãµãã¼ã","7æ¥éã®ãã¼ã¿ä¿æ"],cta:"ç¡æã§å§ãã",popular:!1},{name:"ãããã§ãã·ã§ãã«",price:"Â¥79,800",period:"æé¡/ã¦ã¼ã¶ã¼",description:"æé·ä¸ã®ãã¼ã ã«æé©ãé«åº¦ãªåææ©è½ãæè¼",features:["æ500é話ã¾ã§","é«ç²¾åº¦AIæåèµ·ãã","ææ åæ","CRM飿º","åªå ãµãã¼ã","30æ¥éã®ãã¼ã¿ä¿æ","ã«ã
212¹ã¿ã ã¬ãã¼ã"],cta:"14æ¥éç¡æãã©ã¤ã¢ã«",popular:!0},{name:"ã¨ã³ã¿ã¼ãã©ã¤ãº",price:"ãåãåãã",period:"ã«ã¹ã¿ã ",description:"å¤§è¦æ¨¡çµç¹åãã®ãã«æ©è½ãã©ã³",features:["ç¡å¶éã®é話","å°ç¨AIã¢ãã«","ãªã³ãã¬ãã¹å¯¾å¿","å°ä»»ãµãã¼ã","ã«ã¹ã¿ã 飿º","SLAä¿è¨¼","ã»ãã¥ãªãã£ç£æ»","ç¡å¶éã®ãã¼ã¿ä¿æ"],cta:"å¶æ¥ã«ç¸è«",popular:!1}],faq:{title:"ãããã質å",items:[{question:"ç¡æãã©ã¤ã¢ã«ã¯ããã¾ããï¼",answer:"ã¯ãããããã§ãã·ã§ãã«ãã©ã³ã§ã¯14æ¥éã®ç¡æãã©ã¤ã¢ã«ããå©ç¨ããã ãã¾ããã¯ã¬ã¸ããã«ã¼ãä¸è¦ã§å§ãããã¾ãã"},{question:"ãã©ã³ã®å¤æ´ã¯ãã¤ã§ãã§ãã¾ããï¼",answer:"ã¯ãããã¤ã§ããã©ã³ã®ã¢ããã°ã¬ã¼ãã»ãã¦ã³ã°ã¬ã¼ããå¯è½ã§ãã夿´ã¯æ¬¡ã®è«æ±ãµã¤ã¯ã«ããé©ç¨ããã¾ãã"},{question:"å¥ç´æéã®ç¸ãã¯ããã¾ããï¼",answer:"æé¡ãã©ã³ã«ã¯å¥ç´æéã®ç¸ãã¯ããã¾ãããå¹´éå¥ç´ããé¸ã³ããã ãã¨ã20%ã®å²å¼ãé©ç¨ããã¾ãã"}]}},fv={hero:{badge:"AI-Powered Technology",title:"AIæåèµ·ãã",description:"é«åº¦ãªæ©æ¢°å¦ç¿ã¢ãã«ã§99.5%ã®ç²¾åº¦ãå®ç¾ãæ°ç¾ä¸ä»¶ã®é¡§å®¢å¯¾è©±ãã¼ã¿ã§å¦ç¿ããAIãé³å£°ãããã¹ãã«å¤æãã¾ãã",features:["99.5%ã®ç²¾åº¦","ãªã¢ã«ã¿ã¤ã å¦ç","40è¨èªä»¥ä¸å¯¾å¿"]},features:{title:"ä¸»ãªæ©è½",subtitle:"åç´ãªé³å£°èªèãè¶
ããé«åº¦ãªæåèµ·ããã¨ã³ã¸ã³",items:[{title:"ãªã¢ã«ã¿ã¤ã æåèµ·ãã",description:"ä¼è©±ä¸ã«ãªã¢ã«ã¿ã¤ã ã§æåèµ·ãããåå¾ãå³åº§ã«ã¤ã³ãµã¤ããå¾ã¦ããªã¢ã«ã¿ã¤ã ã³ã¼ãã³ã°ã®æ©ä¼ãéãã¾ããã"},{title:"å¤è¨èªå¯¾å¿",description:"40以ä¸ã®è¨èªããµãã¼ãããèªåè¨èªæ¤åºæ©è½ã§ã°ãã¼ãã«ãã¼ã ãã«ãã¼ãã¾ãã"},{title:"æèçè§£",description:"æ¥çåºæã®ç¨èªã§å¦ç¿ããAIã¢ãã«ããå°éç¨èªããã¸ãã¹ç¨èªãæ£ç¢ºã«èªèãã¾ãã"},{title:"話è
åé¢",description:"ä¼è©±ä¸ã®ç°ãªã話è
ãèªåçã«èå¥ã»åé¢ããæç¢ºãªçºè¨è
屿§ãä»ä¸ãã¾ãã"},{title:"ã«ã¹ã¿ã èªå½",description:"貴社ç¬èªã®è£½ååããµã¼ãã¹åãå°éç¨èªãå¦ç¿ããããã¨ã§ãããã«é«ã精度ãå®ç¾ãã¾ãã"},{title:"å質ä¿è¨¼",description:"èªåå質ãã§ãã¯ã¨ä¿¡é ¼åº¦ã¹ã³ã¢ãªã³ã°ã«ãããæé«åè³ªã®æåèµ·ãããä¿è¨¼ãã¾ãã"}]},useCases:{title:"æ´»ç¨ã·ã¼ã³",subtitle:"æ£ç¢ºãªé話æåèµ·ãããå¿
è¦ã¨ããæ¥çã»ãã¼ã ",items:[{title:"å¶æ¥ãã¼ã ",description:"å¶æ¥éè©±ãæ¯ãè¿ããæåãã¿ã¼ã³ãç¹å®ããã¼ã¯ã®å¹æãåä¸ãããå
·ä½çãªäºä¾ã§ãã¼ã ã¡ã³ãã¼ãã³ã¼ãã³ã°ãã¾ãã"},{title:"ã«ã¹ã¿ãã¼ãµãã¼ã",description:"顧客ã®åé¡ãæ£ç¢ºã«è¨é²ãå
æ¬çãªãµãã¼ãå±¥æ´ãç¶æããä¸è²«ãããµã¼ãã¹å質ã確ä¿ãã¾ãã"},{title:"å質管ç",description:"ã³ã³ãã©ã¤ã¢ã³ã¹ãç£è¦ããã¹ã¯ãªããéµå®ã確èªãç£æ»ã»ç ä¿®ç¨ã®è©³ç´°ãªè¨é²ãç¶æãã¾ãã"}]},stats:{accuracy:{value:"99.5%",label:"æåèµ·ãã精度"},languages:{value:"40+",label:"対å¿è¨èª"},latency:{value:"<2ç§",label:"å¦çé
å»¶"},availability:{value:"24/7",label:"é£ç¶å¦ç"}}},kv={hero:{badge:"Smart Detection",title:"ãã¼ã¯ã¼ããã©ããã³ã°",description:"ç«¶åä»ç¤¾ã®è¨åãåè«ãéè¦ãããã¯ãèªåç£è¦ã顧客ã¨ã®ä¼è©±ããéè¦ãªã·ã°ãã«ãè¦éãã¾ããã",badges:["ç«¶åãã©ããã³ã°","åè«æ¤åº","ãããã¯åæ","ã«ã¹ã¿ã ãã¼ã¯ã¼ã"]},features:{title:"éè¦ãªæ
å ±ã追跡",subtitle:"ãã¹ã¦ã®ä¼è©±ãããã¼ã¯ã¼ããèªåæ¤åºã»åæ",items:[{title:"ç«¶åã¢ãã¿ãªã³ã°",description:"ç«¶åä»ç¤¾ã®è¨åã追跡ããè¦è¾¼ã¿å®¢ãããªãã®ã½ãªã¥ã¼ã·ã§ã³ãå¸å ´ã®ä»£æ¿æ¡ã¨ã©ã®ããã«æ¯è¼ãã¦ããããçè§£ãã¾ãã"},{title:"åè«æ¤åº",description:"ããããåè«ãæ¸å¿µãèªåçã«ç¹å®ãã广çãªå¯¾å¿çã¨ãã¬ã¼ãã³ã°ãéçºãã¾ãã"},{title:"ã«ã¹ã¿ã ãã¼ã¯ã¼ã",description:"貴社ã®ãã¸ãã¹ã製åãæ¥çã«ç¹åããã«ã¹ã¿ã ãã¼ã¯ã¼ãã¨ãã¬ã¼ãºãå®ç¾©ãã¦è¿½è·¡ãã¾ãã"},{title:"ãã¬ã³ãåæ",description:"顧客ã¨ã®ä¼è©±ããæ°ããªãã¬ã³ããçºè¦ããå®éã®å¸å ´ã·ã°ãã«ã«åºã¥ãã¦æ¦ç¥ãé©å¿ããã¾ãã"},{title:"ã³ã³ããã¹ãæ½åº",description:"ãã¼ã¯ã¼ãã®è¨åã ãã§ãªãããã®åå¾ã®æèãåå¾ãä½ãè¨ããããã ãã§ãªãããªããã©ã®ããã«è¨ãããããçè§£ãã¾ãã"}
212,{title:"ã¹ãã¼ãæ¤ç´¢",description:"ãã¹ã¦ã®ä¼è©±ãç¬æã«æ¤ç´¢ããç¹å®ã®ãããã¯ããã¤ã©ãã§è°è«ãããããæ£ç¢ºã«è¦ã¤ãã¾ãã"}]},applications:{title:"æ´»ç¨ã·ã¼ã³",items:{competitive:{title:"ç«¶åã¤ã³ããªã¸ã§ã³ã¹",description:"ç«¶åç¶æ³ãæ·±ãçè§£ï¼",points:["æãé »ç¹ã«è¨åãããç«¶åä»ç¤¾ã追跡","è¦è¾¼ã¿å®¢ãæ©è½ãä¾¡æ ¼ãã©ãæ¯è¼ãã¦ãããææ¡","èªç¤¾ã®ç«¶äºåªä½æ§ã¨å¼±ç¹ãç¹å®","广çãªç«¶å対çè³æã使"]},objections:{title:"åè«å¯¾å¿",description:"åè«ãæ©ä¼ã«å¤ããï¼",points:["æãä¸è¬çãªé¡§å®¢ã®æ¸å¿µãç¹å®","ãããããã©ã¼ãã¼ã®åè«å¯¾å¿ãåæ","å®ç¸¾ã®ãã対å¿ã§ãã¬ã¤ããã¯ã使","广çãªåãè¿ãã§ãã¼ã ããã¬ã¼ãã³ã°"]},product:{title:"製åã¤ã³ãµã¤ã",description:"顧客ã®å£°ã§è£½åéçºãæ¨é²ï¼",points:["æããªã¯ã¨ã¹ãã®å¤ãæ©è½ãç¹å®","ç¾å¨ã®æ©è½ã«å¯¾ãã課é¡ãçè§£","æ³å®å¤ã®ã¦ã¼ã¹ã±ã¼ã¹ãçºè¦","顧客ãã¼ãºã«åºã¥ãã¦ãã¼ãããããåªå
ä»ã"]},compliance:{title:"ã³ã³ãã©ã¤ã¢ã³ã¹ã»å質",description:"è¦å¶éµå®ã¨å質ã確ä¿ï¼",points:["å¿
é é示äºé
ã¨æ³çæè¨ãç£è¦","ããªã·ã¼éåã®å¯è½æ§ãããä¼è©±ããã©ã°","ã¹ã¯ãªããéµå®ã¨ãã¹ããã©ã¯ãã£ã¹ã追跡","ç£æ»ç¨ã®ã³ã³ãã©ã¤ã¢ã³ã¹ã¬ãã¼ããçæ"]}}},advancedFeatures:{title:"é«åº¦ãªæ©è½",items:[{title:"ããã¾ãæ¤ç´¢",description:"æåè¨å®ãªãã§ããã¼ã¯ã¼ãã®ããªã¨ã¼ã·ã§ã³ãé¡ç¾©èªãé¢é£ç¨èªãèªåæ¤åºãã¾ãã"},{title:"å±¥æ´åæ",description:"ãã¼ã¯ã¼ããã¬ã³ããæç³»åã§åæããå£ç¯ãã¿ã¼ã³ãæ°èãããã¯ãç¹å®ãã¾ãã"},{title:"ãªã¢ã«ã¿ã¤ã ã¢ã©ã¼ã",description:"ã©ã¤ãä¼è©±ã§éè¦ãªãã¼ã¯ã¼ããè¨åãããéãå³åº§ã«éç¥ãåãåãã¾ãã"}]}},bv={hero:{badges:["Enterprise","Local LLM","èªç¤¾ãµã¼ãã¼éç¨"],title:"ãªã³ãã¬ãã¹ LLM æ§ç¯",description:"ãã¼ã¿ãå¤é¨ã«åºãããèªç¤¾ç°å¢ã§ LLM ãéç¨"},mission:{title:"ãªã³ãã¬ãã¹ LLM æ§ç¯ãµã¼ãã¹æ¦è¦",paragraphs:["æ©å¯ãã¼ã¿ã社å¤ã«åºããªã伿¥åãã«ãèªç¤¾ãµã¼ãã¼ããã©ã¤ãã¼ãã¯ã©ã¦ãã§å®çµãã LLM ç°å¢ãæ§ç¯ãããã¾ãããããªã㯠API ãä¸å使ç¨ããããã¹ã¦ã®å¦çãã客æ§ç®¡çã®ã¤ã³ãã©å
ã§å®çµããããããéèæ©é¢ã»å»çæ©é¢ã»å®å
¬åºã»ç ç©¶æ©é¢ãªã©å³æ ¼ãªæ
å ±ç®¡çãæ±ããããçµç¹ã«æé©ãªã½ãªã¥ã¼ã·ã§ã³ã§ãã","ã¢ãã«é¸å®ãããµã¼ãã¼æ§ç¯ãæ¨è«ã¨ã³ã¸ã³æé©åãéç¨ç£è¦ã¾ã§ä¸è²«ãã¦å¯¾å¿ãããã¾ããLlama 3.3ãQwen 2.5ãMistralãDeepSeek ãªã©ã®åç¨å©ç¨å¯è½ãªãªã¼ãã³ã¦ã§ã¤ãã¢ãã«ããvLLMãOllamaãSGLang çã®é«æ§è½æ¨è«ã¨ã³ã¸ã³ã§ç¨¼åãããä½ã¬ã¤ãã³ã·ãã¤é«ã¹ã«ã¼ããããªæ¨è«ç°å¢ãå®ç¾ãã¾ãã","æ¢åã·ã¹ãã ã¨ã®çµ±åããã£ãããããã»ç¤¾å
RAGã»ææ¸è¦ç´ã»ã³ã¼ãçæãªã©å¹
åºãã¦ã¼ã¹ã±ã¼ã¹ã«å¯¾å¿ãããã¾ããã¢ãã«ãã¡ã¤ã³ãã¥ã¼ãã³ã°ã«ããæ¥åç¹åãNVIDIA GPU / Apple Silicon æé©åããã«ãããã³ãè¨è¨ãAPI ã²ã¼ãã¦ã§ã¤æ§ç¯ãªã©ãã¨ã³ã¿ã¼ãã©ã¤ãºè¦ä»¶ãæºããè¨è¨ãè¡ãã¾ãã"]},summary:{title:"ãªã³ãã¬ãã¹ LLM ã®åå",paragraphs:["2025å¹´ãã2026å¹´ã«ããã¦ããªã³ãã¬ãã¹ LLM ã®å®ç¨æ§ã¯æ¥éã«åä¸ãã¦ãã¾ãããªã¼ãã³ã¦ã§ã¤ãã¢ãã«ã®æ§è½ãã¯ãã¼ãºãã¢ãã«ã«èèããåç¨å©ç¨å¯è½ãªã©ã¤ã»ã³ã¹ã§æä¾ãããã¢ãã«ãå¢å ãããã¨ã§ãèªç¤¾éç¨ã®ãã¼ãã«ã大å¹
ã«ä¸ããã¾ããã","ã¢ãã«é¢ã§ã¯ãLlama 3.3 (70B)ãQwen 2.5ãDeepSeek V3ãMistral Large ãªã©ã GPT-4 ã¯ã©ã¹ã®æ¨è«è½åãæã¡ãæ¥æ¬èªå¯¾å¿ãå
å®ã8Bï½70B ãã©ã¡ã¼ã¿ã®ã¢ãã«ãå¤ãã®æ¥åã¿ã¹ã¯ã§å®ç¨æ°´æºã«éãã¦ãã¾ããGGUF éååã«ãããæ¶è²»è
åã GPU ã§ãé«éæ¨è«ãå¯è½ã«ãªãã¾ããã","æ¨è«ã¨ã³ã¸ã³ã§ã¯ãvLLM ã® Continuous Batching 㨠PagedAttention ãã¹ã«ã¼ããããé£èºçã«åä¸ãããSGLang ã® RadixAttention ãè¤éãªãã«ãã¿ã¼ã³å¯¾è©±ãé«éåãOllama ã¯ãã¼ã«ã«éçºç°å¢ã®ããã¡ã¯ãã¹ã¿ã³ãã¼ãã¨ãªããllama.cpp 㯠Apple Silicon æé©åã§ M ã·ãªã¼ãº Mac ã§ã®é«éæ¨è«ãå®ç¾ãã¦ãã¾ãã","ã¨ã³ã¿ã¼ãã©ã¤ãºæ¡ç¨ã«ããã¦ã¯ããã¼ã¿ä¸»æ¨©ã»ã³ã³ãã©ã¤ã¢ã³ã¹å¯¾å¿ã«å ããé·æçãªã³ã¹ãæé©åï¼API å¾é課éããã®è±å´ï¼ãå°å
¥åæ©ã¨ãªãã
212±ã¼ã¹ãå¢ãã¦ãã¾ãããã¤ããªããæ§æï¼æ©å¯å¦çã¯ãã¼ã«ã«ãæ±ç¨å¦çã¯ã¯ã©ã¦ã APIï¼ãä¸è¬çãªé¸æè¢ã¨ãªãã¾ããã"],icons:[{label:`Private 213Cloud`},{label:`Data 214Sovereignty`},{label:`Cost 215Optimization`},{label:`Enterprise 216Security`}]},features:{title:"è¨è¨ã»éçºã®ç¹å¾´",subtitle:"Design & Development",items:[{title:"ã¤ã³ãã©è¨è¨ã»GPU æé©å",description:"NVIDIA A100/H100ãRTX 4090/5090ãApple Siliconï¼M2 Ultra/M3 Max/M4 Maxï¼ãªã©ãã¯ã¼ã¯ãã¼ãã¨äºç®ã«å¿ããæé©ãªãã¼ãã¦ã§ã¢æ§æãè¨è¨ãCUDAãMPSãMetal æé©åã«ãã GPU æ§è½ãæå¤§éã«æ´»ç¨ããæ¨è«ç°å¢ãæ§ç¯ãã¾ãã"},{title:"ã¢ãã«é¸å®ã»æé©å",description:"ã¿ã¹ã¯ç¹æ§ã»è¨èªè¦ä»¶ã»ãªã½ã¼ã¹å¶ç´ãèæ ®ããLlamaãQwenãMistralãDeepSeek çããæé©ãªã¢ãã«ãé¸å®ãéååï¼GGUF/AWQ/GPTQï¼ãKV ãã£ãã·ã¥æé©åããããå¦çãã¥ã¼ãã³ã°ã«ããã精度ã¨ã¹ã«ã¼ãããã両ç«ãã¾ãã"},{title:"æ¨è«ã¨ã³ã¸ã³æ§ç¯",description:"vLLMãSGLangãOllamaãTGI çã®æ¨è«ã¨ã³ã¸ã³ãç¨éã«å¿ãã¦é¸å®ã»æ§ç¯ãContinuous BatchingãSpeculative DecodingãPrefix Caching çã®ææ°æè¡ãé©ç¨ããä½ã¬ã¤ãã³ã·ã»é«ã¹ã«ã¼ãããã®æ¨è« API ãæä¾ãã¾ãã"},{title:"éç¨ã»ç£è¦ã»ã»ãã¥ãªãã£",description:"Prometheus/Grafana ã«ããæ¨è«ã¡ããªã¯ã¹ç£è¦ãAPI ã²ã¼ãã¦ã§ã¤ã«ããã¢ã¯ã»ã¹å¶å¾¡ãç£æ»ãã°ãèªåã¹ã±ã¼ãªã³ã°ãé害復æ§ãå®è£ ãã¨ã³ã¿ã¼ãã©ã¤ãºã»ãã¥ãªãã£è¦ä»¶ãæºããæ¬çªéç¨ç°å¢ãæ§ç¯ãã¾ãã"}]},techStack:{title:"æè¡ã¹ã¿ãã¯",subtitle:"Platform & Technology",categories:{openWeightModels:{title:"Open-Weight Models",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Command Rï¼Cohereï¼"]},japaneseModels:{title:"æ¥æ¬èªç¹åã¢ãã«",items:["ELYZA-japanese-Llama-2","Swallow 70B / 13B","Japanese-Llama-3","Qwen-2.5-Japanese","Karakuri-LM"]},inferenceEngine:{title:"Inference Engine",items:["vLLMï¼Continuous Batchingï¼","SGLangï¼RadixAttentionï¼","Ollamaï¼ãã¼ã«ã«éçºï¼","llama.cppï¼Apple Siliconï¼","TGIï¼Hugging Faceï¼","TensorRT-LLMï¼NVIDIAï¼","ExLlamaV2ï¼éååç¹åï¼"]},quantization:{title:"Quantization",items:["GGUFï¼llama.cpp æ¨æºï¼","AWQï¼é«ç²¾åº¦ 4bitï¼","GPTQï¼GPU æé©åï¼","bitsandbytesï¼8bit/4bitï¼","EETQï¼é«å¹çéååï¼"]},hardware:{title:"Hardware",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
216,infrastructure:{title:"Infrastructure",items:["Docker / Kubernetes","NVIDIA Triton Server","API Gatewayï¼Kong / Envoyï¼","Prometheus / Grafana","Private Cloudï¼VMware / OpenStackï¼","Air-Gapped ç°å¢å¯¾å¿"]}},updateNote:{title:"2026å¹´ã®ä¸»ãªã¢ãããã¼ããã¤ã³ã",description:"ãªã¼ãã³ã¦ã§ã¤ãã¢ãã«ã§ã¯ Llama 3.3 ã GPT-4 ã¯ã©ã¹ã®æ±ç¨æ§è½ãéæããæ¥æ¬èªæ§è½ãå¤§å¹ åä¸ãQwen 2.5 ã·ãªã¼ãºã¯å¤æ§ãªãµã¤ãºå±éã¨ãã©ã³ã¹ã®è¯ãæ§è½ã§é¸æè¢ãæ¡å¤§ãDeepSeek V3/R1 ã¯æ¨è«ã³ã¹ãããã©ã¼ãã³ã¹ã§æ³¨ç®ãéãã¦ãã¾ããæ¨è«ã¨ã³ã¸ã³ã§ã¯ vLLM 2.0 ã® Chunked PrefillãSGLang ã® RadixAttention ããã«ãã¿ã¼ã³å¯¾è©±ãé«éåãllama.cpp ã® Apple Silicon æé©åãé²ã¿ãM4 Max ã§ã® 70B ã¢ãã«æ¨è«ãå®ç¨çã«ãéååæè¡ã§ã¯ 4bit ç²¾åº¦ã¨æ¨è«é度ã®ä¸¡ç«ãé²ã¿ãGGUF ãäºå®ä¸ã®æ¨æºãã©ã¼ãããã¨ãã¦å®çãã¾ããã"}},cta:{title:"ãåãåãã",description:`è¦ä»¶æ´çãããç¸è«ããã ãã¾ãã 217PoCã»ãã¼ã«ã« LLM æ§æã®æ¤è¨ãå¯è½ã§ãã`,primaryButton:"ãåãåãã",secondaryButton:"æè¡ç¸è«"}},yv={hero:{badges:["Enterprise","RAG","æ¤ç´¢æ¡å¼µçæ"],title:"Vector / RAG éçº",description:"社å ãã¬ãã¸ã LLM ã¨é£æºããã RAG ã·ã¹ãã æ§ç¯"},mission:{title:"Vector / RAG éçºãµã¼ãã¹æ¦è¦",paragraphs:["社å ã«èç©ããããã¬ãã¸è³ç£ã LLM ã¨é£æºããã徿¥å¡ãèªç¶è¨èªã§æ¤ç´¢ã»è³ªåã§ãã RAGï¼æ¤ç´¢æ¡å¼µçæï¼ã·ã¹ãã ãæ§ç¯ãããã¾ããããã¥ã¢ã«ãè°äºé²ãæè¡ææ¸ãFAQãSlack å±¥æ´ãConfluenceãSharePoint ãªã©å¤æ§ãªãã¼ã¿ã½ã¼ã¹ãçµ±åããçµç¹ç¥ãå³åº§ã«æ´»ç¨ã§ããç°å¢ãå®ç¾ãã¾ãã","åç´ãªææ¸æ¤ç´¢ã«çã¾ãããHybrid Searchï¼ãã¯ãã«æ¤ç´¢ï¼ãã¼ã¯ã¼ãæ¤ç´¢ï¼ãRerankingãé層çãã£ã³ãã³ã°ãã¡ã¿ãã¼ã¿ãã£ã«ã¿ãªã³ã°çã®ææ°æè¡ãé©ç¨ããæ¤ç´¢ç²¾åº¦ã¨åçå質ãæå¤§åãã¾ããåçã«ã¯åºå ¸ãæç¤ºãããã«ã·ãã¼ã·ã§ã³æå¶ã¨ä¿¡é ¼æ§ç¢ºä¿ã両ç«ãã¾ãã","AWSãGCPãAzureããªã³ãã¬ãã¹ãªã©å¤æ§ãªç°å¢ã«å¯¾å¿ããæ¢åã®èªè¨¼åºç¤ã»æ¨©é管çã¨çµ±åããã¼ã¿ã®é®®åº¦ç¶æï¼å·®åæ´æ°ã»èªååã¤ã³ããã¯ã¹ï¼ãå©ç¨ãã°åæãç¶ç¶çãªç²¾åº¦æ¹åã¾ã§ä¸è²«ãã¦ãµãã¼ããããã¾ãã"]},summary:{title:"RAG æè¡ã®åå",paragraphs:["2025å¹´ãã2026å¹´ã«ããã¦ãRAG æè¡ã¯ãåºæ¬å®è£ ããæ¬çªå質ã¸ãã®ãã§ã¼ãºã«ç§»è¡ãã¦ãã¾ããåç´ãªãã¯ãã«æ¤ç´¢ã ãã§ãªããè¤æ°ã®æ¤ç´¢ææ³ãçµã¿åããã Hybrid Searchãæ¤ç´¢çµæã®ä¸¦ã³æ¿ããè¡ã Rerankingãè¤éãªè³ªåãåè§£ãã¦å¦çããã¯ã¨ãªåè§£ãæ¨æºçãªæ§æã¨ãªãã¾ããã","ãã£ã³ãã³ã°æ¦ç¥ãé²åããææ¸æ§é ãèæ ®ããé層çãã£ã³ãã³ã°ãéè¤ãæããã Overlapping Chunksããã¼ãã«ãå³è¡¨ãåå¥å¦çãã Multimodal Chunking ã精度åä¸ã«å¯ä¸ãã¦ãã¾ããContextual Retrievalï¼ãã£ã³ã¯ã«ã³ã³ããã¹ãæ å ±ãä»ä¸ï¼ã®æå¹æ§ãåºãèªç¥ããã¾ããã","ãã¯ãã«DB é¸å®ã«ããã¦ã¯ãPineconeãWeaviateãQdrantãMilvus çã®ããã¼ã¸ããµã¼ãã¹ã«å ããPostgreSQL pgvector ããã¼ã«ã« FAISS ãªã©ãè¦ä»¶ã«å¿ãã鏿è¢ãå å®ãEmbedding ã¢ãã«ã text-embedding-3-largeãCohere Embed v3ãå¤è¨èªå¯¾å¿ã¢ãã«ãªã©é¸æè¢ãæ¡å¤§ãã¦ãã¾ãã","ã¨ã³ã¿ã¼ãã©ã¤ãºå°å ¥ã«ããã¦ã¯ã権é管çï¼ACLï¼é£æºãPII ãã¹ãã³ã°ãç£æ»ãã°ããã«ãããã³ãè¨è¨ãå¿ é è¦ä»¶ã¨ãªãããåã PoCããããéç¨å¯è½ãªæ¬çªã·ã¹ãã ãã¸ã®ç§»è¡ãæ±ãããã¦ãã¾ãã"],icons:[{label:`Hybrid 218Search`},{label:`Multi-modal 219RAG`},{label:`Agentic 220RAG`},{label:`Enterprise 221Security`}]},features:{title:"è¨è¨ã»éçºã®ç¹å¾´",subtitle:"Design & Development",items:[{title:"ãã¼ã¿åéã»åå¦çãã¤ãã©ã¤ã³",description:"PDFãWordãExcelãHTMLãMarkdownãSlackãConfluenceãSharePoint çããã®ãã¼ã¿æ½åºã»ã¯ã¬ã³ã¸ã³ã°ãOCRããã¼ãã«æ§é è§£æãç»åãã£ãã·ã§ã³çæãå«ããã«ãã¢ã¼ãã«å¯¾å¿ã差忴æ°ã»ã¹ã±ã¸ã¥ã¼ã«å®è¡ã«ããé®®åº¦ç¶æãå®ç¾ãã¾ãã"},{title:"é«ç²¾åº¦æ¤ç´¢ã·ã¹ãã è¨è¨",description:"ãã¯ãã«æ¤ç´¢ï¼BM25 ã® Hybrid SearchãCohere Rerank / Cross-Encoder ã«ãã Rerankingãã¯ã¨ãªæ¡å¼µã»åè§£ãçµã¿åãããé«ç²¾åº¦æ¤ç´¢ãæ§ç¯ãã¡ã¿ãã¼ã¿ãã£ã«ã¿ãªã³ã°ã権éãã¼ã¹ã®ã¢ã¯ã»ã¹å¶å¾¡ãå®è£ ãã¾ãã"},{title:"åççæã»å質管ç",description:"ã³ã³ããã¹ãæé©åãFew-shot ããã³ãããChain-of-Thought æ¨è«ã«ããåçå質ãåä¸ãåºå ¸æç¤ºãä¿¡é ¼åº¦ã¹ã³ã¢è¡¨ç¤ºããã«ã·ãã¼ã·ã§ã³æ¤ç¥ãå®è£ ããæ¥åå©ç¨ã«èããä¿¡é ¼æ§ã確ä¿ãã¾ãã"},{title:"éç¨ã»æ¹åãµã¤ã¯ã«",description:"å©ç¨ãã°åæãæ¤ç´¢ãããçã»åçæºè¶³åº¦ã®ã¢ãã¿ãªã³ã°ããã£ã¼ãããã¯ã«ã¼ãã«ããç¶ç¶çæ¹åãA/B ãã¹ãåºç¤ãEmbedding ã¢ãã«æ´æ°ããã£ã³ãã³ã°æ¦ç¥è¦ç´ããå«ãéç¨æ¯æ´ãæä¾ãã¾ãã"}]},techStack:{title:"æè¡ã¹ã¿ãã¯",subtitle:"Platform & Technology",categories:{embeddingModels:{title:"Embedding Models",items:["OpenAI text-embedding-3-large","Cohere Embed v3","Voyage AI","Jina Embeddings v3","BGE-M3ï¼å¤è¨èªï¼","multilingual-e5-large","Japanese-specific models"]},vectorDatabases:{title:"Vector Databases",items:["Pineconeï¼ããã¼ã¸ãï¼","Weaviateï¼Hybrid Searchï¼","Qdrantï¼é«æ§è½ï¼","Milvusï¼å¤§è¦æ¨¡ï¼","Chromaï¼è»½éï¼","PostgreSQL pgvector","FAISSï¼ãã¼ã«ã«ï¼"]},chunking:{title:"Chunking & Processing",items:["é層çãã£ã³ãã³ã°","Semantic Chunking","Overlapping Chunks","Sentence Window","Contextual Retrieval","ãã¼ãã«ã»å³è¡¨å¦ç","ãã«ãã¢ã¼ãã«å¯¾å¿"]},search:{title:"Search & Retrieval",items:["Hybrid Search (Vector + BM25)","Cohere Rerank","Cross-Encoder Reranking","ã¯ã¨ãªæ¡å¼µã»åè§£","HyDE (ä»®èª¬ææ¸çæ)","Self-Query Retrieval","Multi-Query Retrieval"]}},updateNote:{title:"2026å¹´ã®ä¸»ãªã¢ãããã¼ããã¤ã³ã",description:"Embedding ã¢ãã«ã§ã¯ text-embedding-3-large 㨠Cohere Embed v3 ãã¨ã³ã¿ã¼ãã©ã¤ãºæ¨æºã¨ãªããæ¥æ¬èªæ§è½ãå¤§å¹ åä¸ãContextual Retrieval ã®æå¹æ§ãå®è¨¼ããããã£ã³ã¯ã¸ã®ã³ã³ããã¹ãä»ä¸ãæ¨æºææ³ã«ãæ¤ç´¢ã§ã¯ Hybrid Search + Reranking ãå¿ é æ§æã¨ãªããåç´ãªãã¯ãã«æ¤ç´¢ã®ã¿ã®æ§æã¯æ¸å°ãAgentic RAGï¼ã¨ã¼ã¸ã§ã³ããæ¤ç´¢æ¦ç¥ãåçã«é¸æï¼ã®
221å®ç¨åãé²ãã§ãã¾ããéç¨é¢ã§ã¯ãRAG è©ä¾¡ãã¬ã¼ã ã¯ã¼ã¯ï¼RAGASãLangSmithï¼ã«ããåè³ªè¨æ¸¬ã¨æ¹åãµã¤ã¯ã«ã®ç¢ºç«ãéè¦ããã¦ãã¾ãã"}},cta:{title:"ãåãåãã",description:`è¦ä»¶æ´çãããç¸è«ããã ãã¾ãã 222PoCã»ãã¼ã«ã« LLM æ§æã®æ¤è¨ãå¯è½ã§ãã`,primaryButton:"ãåãåãã",secondaryButton:"æè¡ç¸è«"}},vv={hero:{badges:["Full Stack","LLM Integration","API Design"],title:"AIã¢ããªã±ã¼ã·ã§ã³éçº",description:"LLMãæ´»ç¨ããå®ç¨çãªã¢ããªã±ã¼ã·ã§ã³ãè¨è¨ã»æ§ç¯"},mission:{title:"AIã¢ããªã±ã¼ã·ã§ã³éçºãµã¼ãã¹æ¦è¦",paragraphs:["å¤é¨APIããåå¾ãããã¼ã¿ãLLMã§è§£æãããã¸ãã¹ä¾¡å¤ãåµåºããAIã¢ããªã±ã¼ã·ã§ã³ã®è¨è¨ã»éçºãæä¾ãããã¾ããCRMãERPãSaaSãIoTã»ã³ãµã¼ãã½ã¼ã·ã£ã«ã¡ãã£ã¢ãªã©å¤æ§ãªãã¼ã¿ã½ã¼ã¹ã¨API飿ºããåå¾ãããã¼ã¿ããªã¢ã«ã¿ã¤ã ã§LLMã«æå ¥ãèªç¶è¨èªã«ããåæã¬ãã¼ãçæãç°å¸¸æ¤ç¥ããã¬ã³ãäºæ¸¬ãèªååé¡ãªã©ã徿¥ã®BIãã¼ã«ã§ã¯å®ç¾ã§ããªãã£ãé«åº¦ãªãã¼ã¿è§£æãå¯è½ã«ãã¾ãã","åç´ãªAPI飿ºã«çã¾ãããè¤æ°ãã¼ã¿ã½ã¼ã¹ã®çµ±åããã¼ã¿ã¯ã¬ã³ã¸ã³ã°ãæ§é åå¦çãçµã¦LLMãè§£éããããå½¢å¼ã«å¤æãããã³ããã¨ã³ã¸ãã¢ãªã³ã°ã«ããè§£æç²¾åº¦ãæå¤§åããæ¥åè¦ä»¶ã«ç¹åããã¢ã¦ãããããçæãã¾ããå¶æ¥ãã¼ã¿ããåè«æç´äºæ¸¬ãã«ã¹ã¿ãã¼ãµãã¼ããã°ããVoCåæãã»ã³ãµã¼ãã¼ã¿ããè¨åä¿å ¨ã¬ã³ã¡ã³ããªã©ããã¼ã¿ã¨AIãçµã¿åãããå®ç¨çãªã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãããã¾ãã","Webã¢ããªã±ã¼ã·ã§ã³ãã¢ãã¤ã«ã¢ããªãSlackã»Teams飿ºã宿ãããå¦çãªã©å¤æ§ãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å¯¾å¿ãè¦ä»¶å®ç¾©ããAPIè¨è¨ãLLM飿ºå®è£ ãæ¬çªéç¨ã¾ã§ä¸è²«ãã¦ãµãã¼ããããã¾ãã"]},summary:{title:"AIã¢ããªã±ã¼ã·ã§ã³éçºã®åå",paragraphs:["2025å¹´ãã2026å¹´ã«ããã¦ãAIã¢ããªã±ã¼ã·ã§ã³éçºã¯ãAPI飿ºÃLLMè§£æãã軸ã¨ããå®ç¨ãã§ã¼ãºã«çªå ¥ãã¦ãã¾ãã徿¥ã®BIãã¼ã«ãããã·ã¥ãã¼ãã§ã¯å¯¾å¿ã§ããªãã£ãéæ§é åãã¼ã¿ã®è§£æãèªç¶è¨èªã«ããã¤ã³ãµã¤ãçæã伿¥ã·ã¹ãã ã«çµã¿è¾¼ã¾ãå§ãã¾ããã","ç¹ã«æ³¨ç®ãã¹ãã¯ãLLMã®Structured Outputæ©è½ã®æçã§ããJSON Schemaæºæ ã®å³å¯ãªåºåå¶å¾¡ãå¯è½ã¨ãªããAPIçµç±ã§åå¾ãããã¼ã¿ãLLMã§è§£æãããã®çµæãå¾ç¶ã·ã¹ãã ã«ãã®ã¾ã¾é£æºããã¨ã³ããã¼ã¨ã³ãã®èªååãã¤ãã©ã¤ã³ãç¾å®ã®ãã®ã¨ãªãã¾ãããFunction Callingã®å¤æ®µå®è¡ã«ãããè¤æ°ã®APIãè·¨ãã ãã¼ã¿åéã»çµ±åã»è§£æãåä¸ã®ã¯ã¼ã¯ããã¼ã§å¦çã§ããããã«ãªã£ã¦ãã¾ãã","ãã¼ã¿å¦çåºç¤ã§ã¯Polarsãé«éå¦çã®æ¨æºã¨ãã¦å°é ããStreamingå¦çã¨ã®çµã¿åããã§ãªã¢ã«ã¿ã¤ã è§£æã容æã«ãMCPã®æ®åã«ãããLLMãå¤é¨APIãèªå¾çã«å¼ã³åºãã¦ãã¼ã¿åå¾ã»è§£æãè¡ãAgenticãªã¢ããªã±ã¼ã·ã§ã³æ§ç¯ãå éãã¦ãã¾ãã","伿¥å°å ¥ã«ããã¦ã¯ãåçºã®PoCéçºããæ¬çªéç¨ãè¦æ®ããã¹ã±ã¼ã©ãã«ãªè¨è¨ã¸ã¨ãã¼ãºãã·ããããã³ã¹ãæé©åãã¨ã©ã¼ãã³ããªã³ã°ãç£æ»ãã°å¯¾å¿ãå«ããå æ¬çãªã¢ã¼ããã¯ãã£è¨è¨ãæ±ãããã¦ãã¾ãã"],icons:[{label:`Agentic 223AI`},{label:`MCP 224Protocol`},{label:`Multi 225Agent`},{label:`Human-on 226-the-Loop`}]},features:{title:"è¨è¨ã»éçºã®ç¹å¾´",subtitle:"Design & Development",items:[{title:"API飿ºã»ãã¼ã¿åéè¨è¨",description:"REST APIãGraphQLãWebSocketãWebhookãªã©å¤æ§ãªãããã³ã«ã«å¯¾å¿ãããã¼ã¿åéåºç¤ãæ§ç¯ãèªè¨¼å¦çï¼OAuthãAPIãã¼ãJWTï¼ãã¬ã¼ãå¶é対å¿ããªãã©ã¤æ©æ§ãå®è£ ããå®å®ãããã¼ã¿åå¾ãã¤ãã©ã¤ã³ãè¨è¨ãã¾ããè¤æ°APIããã®ãã¼ã¿çµ±åãã¹ã±ã¸ã¥ã¼ãªã³ã°ãå·®ååå¾ã«ã対å¿ãããã¾ãã"},{title:"ãã¼ã¿åå¦çã»æ§é å",description:"åå¾ããçãã¼ã¿ãLLMãå¹ççã«è§£æã§ããå½¢å¼ã«å¤æãJSONãã¼ã¹ããã¼ã¿ã¯ã¬ã³ã¸ã³ã°ãæ£è¦åãæ¬ æå¤å¦çã宿½ããã³ã³ããã¹ãã¦ã£ã³ãã¦å¶éãèæ ®ããæé©ãªãã¼ã¿åå²ã»è¦ç´ãè
226¡ãã¾ããã¡ã¿ãã¼ã¿ä»ä¸ã«ãããè§£æçµæã®ãã¬ã¼ãµããªãã£ã確ä¿ãã¾ãã"},{title:"LLMè§£æã»ããã³ããè¨è¨",description:"æ¥åè¦ä»¶ã«ç¹åããããã³ãããã³ãã¬ã¼ããè¨è¨ãããã¼ã¿è§£æç²¾åº¦ãæå¤§åãåé¡ãè¦ç´ãææ
åæãç°å¸¸æ¤ç¥ãäºæ¸¬çæãªã©ç®çã«å¿ããè§£æãã¤ãã©ã¤ã³ãæ§ç¯ãã¾ããFunction CallingãStructured Outputãæ´»ç¨ããå¾ç¶ã·ã¹ãã ã¨é£æºããããå½¢å¼ã§ã¢ã¦ãããããçæãã¾ãã"},{title:"ã¢ããªã±ã¼ã·ã§ã³å®è£
ã»éç¨",description:"FastAPIãNext.jsçã«ããWebã¢ããªã±ã¼ã·ã§ã³ãSlackã»Teams Botã宿å®è¡ããããªã©å¤æ§ãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è§£æçµæãæä¾ãããã·ã¥ãã¼ããéç¥ã¢ã©ã¼ããã¬ãã¼ãèªåçæãå®è£
ãããã¸ãã¹ã¦ã¼ã¶ã¼ãå³åº§ã«æ´»ç¨ã§ããå½¢ã§ç´åãããã¾ããéç¨ç£è¦ãã³ã¹ãæé©åãç¶ç¶æ¹åã¾ã§å¯¾å¿ãã¾ãã"}]},techStack:{title:"æè¡ã¹ã¿ãã¯",subtitle:"Platform & Technology",categories:{apiIntegration:{title:"API Integration",items:["REST / GraphQL / WebSocket","OAuth 2.1 / APIãã¼ / JWT","Webhook / Polling","Apache Airflow / Prefect","Celery / Temporal","requests / httpx / aiohttp","Rate Limiting / Retry","Data Validation (Pydantic)"]},dataProcessing:{title:"Data Processing",items:["Pandas / Polars","JSON / JSONL Parser","Data Cleansing Pipeline","Apache Spark (å¤§è¦æ¨¡å¦ç)","dbt (ãã¼ã¿å¤æ)","Great Expectations","Delta Lake / Iceberg","Streaming (Kafka / Flink)"]},llmCloud:{title:"Cloud LLM",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Gemini 2.0 / Gemini 2.5","Command R+ (Cohere)","Mistral Large"]},llmLocal:{title:"Local LLM",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","Gemma 2 / Gemma 3","Phi-4","ELYZA / Swallowï¼æ¥æ¬èªç¹åï¼","Command Rï¼Cohereï¼"]},inference:{title:"Inference / Framework",items:["vLLM / SGLang","Ollama / llama.cpp","LiteLLM Proxy","Function Calling","Structured Output","Prompt Template Engine","LangChain / LlamaIndex","ç¬èªè§£æãã¤ãã©ã¤ã³"]}
226,application:{title:"Application Layer",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Scheduled Jobs (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Cache / Queue)","Docker / Kubernetes"]}},updateNote:{title:"2026å¹´ã®ä¸»ãªã¢ãããã¼ããã¤ã³ã",description:"LLMè§£æé åã§ã¯ãGPT-4.1ãClaude 4ã®Structured Outputæ©è½ãæçããJSON Schemaæºæ ã®å³å¯ãªåºåå¶å¾¡ãæ¨æºåãFunction Callingã®å¤æ®µå®è¡ã«ãããè¤æ°APIãè·¨ãã è¤åçãªãã¼ã¿åéã»è§£æã1ã¤ã®ãã¤ãã©ã¤ã³ã§å®ç¾å¯è½ã«ãªãã¾ããããã¼ã¿å¦çã§ã¯PolarsãPandasã«ä»£ããé«éå¦çã®é¸æè¢ã¨ãã¦å®çããStreamingå¦çã¨ã®çµã¿åããã§ãªã¢ã«ã¿ã¤ã è§£æåºç¤ã®æ§ç¯ã容æã«ãã¢ããªã±ã¼ã·ã§ã³å±¤ã§ã¯MCPã«ããå¤é¨ãã¼ã«é£æºãä¸è¬åããLLMãAPIãèªå¾çã«å¼ã³åºãã¦ãã¼ã¿åå¾ã»è§£æãè¡ãAgenticãªã¢ããªã±ã¼ã·ã§ã³éçºãå éãã¦ãã¾ãã"}},cta:{title:"ãåãåãã",description:`è¦ä»¶æ´çãããç¸è«ããã ãã¾ãã 227PoCã»ãã¼ã«ã« LLM æ§æã®æ¤è¨ãå¯è½ã§ãã`,primaryButton:"ãåãåãã",secondaryButton:"æè¡ç¸è«"}},Av={seo:Jy,header:Zy,hero:Xy,mission:Yy,businessServices:ev,features:av,businessProcess:nv,story:tv,contact:iv,footer:sv,cookiePolicy:rv,about:ov,portfolio:lv,common:dv,privacyPolicy:uv,termsOfService:cv,weatherMap:mv,agentDevelopment:pv,faq:gv,pricing:hv,aiTranscription:fv,keywordTracking:kv,onPremiseLLM:bv,vectorRAG:yv,aiAppDevelopment:vv},xv={home:{title:"telet.ai - AI-Powered Solutions Platform",description:"Transform your customer conversations with AI-powered call analytics. Get real-time insights, sentiment analysis, and performance tracking to improve your team's results."},about:{title:"Organization Information - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"Privacy Policy - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"Terms of Service - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"Cookie Policy - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"Portfolio - telet.ai",description:"Explore our portfolio of AI solutions designed to enhance your business operations and customer experiences."},agentDevelopment:{title:"Enterprise AI Agent Design & Development - telet.ai",description:"Design and build production-grade AI agents tailored to your workflows, tools, and compliance needs."},onPremiseLLM:{title:"On-Premise LLM Operations - telet.ai",description:"Operate modern LLMs inside your environment for strong data control, predictable costs, and low-latency inference."},vectorRAG:{title:"Vector RAG & Index Design - telet.ai",description:"Design retrieval pipelines and indices tailored to each workflow to improve grounded answers."},aiAppDevelopment:{title:"AI Application Development - telet.ai",description:"Build practical applications powered by LLMsâintegrated with your APIs, data, and business workflows."}},Lv={brand:"telet.ai",nav:{services:"Services",portfolio:"Portfolio",about:"Organization Information",contact:"Contact"}},Pv={brandName:"telet.ai",tagline:"Multi AI-communications",badge:"AI-Powered Call Intelligence",title:{line1:"Local and defensive,",line2:"Expand in the cloud,",line3:"Automated by agent."},description:"Edge inference in SLM ensures data sovereignty, and cloud integration in LLM scales processing power to infinity; the adoption of the Agentic AI architecture is beginning to show results from leading companies."},wv={badge:"Our Mission",title:"Making LLM more accessible",paragraphs:['Can you really go this far?" --That surprise is what we are aiming for.','The potential of large-scale language modeling (LLM) is expanding every day. However, we want to break down barriers such as "I am worried about sending confidential data to external APIs," "Advanced AI applications are only for large companies," and "The cost of implementation is not worth it.',"We specialize in building local LLMs that are completed within your environment. Highly sensitive customer information can be safely utilized without being exposed to the outside world. We can maximize the benefits of AI while ensuring data security.","It handles everything from routine document creation and data organization to specialized analysis and decision support. Our proprietary agent te
227chnology provides accuracy comparable to API models.",'LLM does not replace people. It is a powerful tool that allows people to exercise more creativity, judgment, and expertise. We take the technology from special to commonplace - a true "consumerization" of the technology.','Please feel free to consult with us. We will work with you to find out "What can we do?" together with you.'],animation:{label:"LLM",sublabel:"Technology"}},Sv={title:"Services",subtitle:"Business Services",services:[{title:"AI Agent Design and Development for Enterprises",titleEn:"Enterprise AI Agent",description:"Design and develop AI agents optimized for business requirements, internal rules, and data scope. Support from external API type LLM to local LLM.",badges:["Individual Design","LLM compatible","business specialization"],link:"Details."},{title:"on-premise LLM server",titleEn:"On-Premise LLM Server",description:"Runs 7B to 120B scale LLM within the company's dedicated server. Provides a secure and flexible LLM usage environment, avoiding the risk of external data transmission.",badges:["7B-120B supported","API KEY issued","Safety Design"],link:"Details."},{title:"Vector RAG and index design",titleEn:"Vector RAG Architecture",description:"Separate and optimize RAG data by business content and analysis logic. Index design for fast and accurate searches.",badges:["Index Separation","High speed search","multilingual support"],link:"Details."},{title:"AI Application Development",titleEn:"AI Application Dev",description:"Develop practical AI applications with analysis and generation by LLM at its core, utilizing existing APIs and external data.",badges:["API Linkage","LLM Analysis","Integrated Design"],link:"Details."}]},Iv={title:"Achievement projects using AI technology",subtitle:"AI development experience in a wide range of fields, including multilingual assistants, weather forecasting, local LLM, and security monitoring.",viewDetails:"View details â.",items:[{title:"AI Multilingual Assistant",description:"Multilingual chat assistant by RAG + LLM. Highly accurate responses to inquiries in multiple languages including Japanese, English, and Chinese."},{title:"Weather Forecasting System",description:"Learns weather data and generates real-time forecasts. Highly accurate forecasts are generated by using time-series pattern recognition and RAG to search for similar patterns in the past."},{title:"In-house Server / On-Prem Local LLM",description:"We deliver AI tailored to your business operations, ready to use within your company, with Open WebUI as a common entry point, fast inference lanes with Ollama/MLX, and completely separated data domains for each UID. In-house documents are captured in a RAG with English embedding and automatic Japanese query translation, and business skills such as news summarization, document organization, and routine tasks are safely executed side by side. The skill execution system is isolated as an OpenClaw container and protected by three layers of Cloudflare edge and local Nginx. We provide comprehensive support for model selection, skill design, and operational policies, and start up your company's dedicated AI in a form that can be used from the day it is deployed."},{title:"Interplanetary Orbital Arrival Prediction (AI)",description:"Obtain planetary data from NASA API and interpret orbit calculations in LLM. Generates reports on launch window, time required, and fuel efficiency."},{title:"Real Estate Data AI Analysis",description:"Collect real estate information by web scraping and analyze with LLM + Python. Automatic generation of price trends, market forecasts, and return on investment."},{title:"Fortune-telling AI (Four Pillars Fortune-telling)",description:"Reproduce the Four Pillars of Destiny logic in Python and interpret it with LLM. Acquire coordinates and time from the Astronomy API for personalized appraisal of fortune and compatibility."},{title:"Google Workspace AI integration",description:"LLM integration with Gmail, Drive, Calendar, etc. AI assists with email summary, file search, and scheduling."},{title:"World NEWS Multilingualization",description:"Real-time collection of world news, translated and summarized in multiple languages by LLM. Natural translation and summary generation based on contextual understanding."}
227,{title:"Security Log Monitoring AI Manager",description:"Real-time monitoring of security logs, threat detection and analysis by LLM, and immediate alerts by matching with past attack patterns by RAG."}]},Mv={title:"How to proceed with the project",headline:"All you need is a vision.",paragraphs:['Gone are the days when language differences were a barrier to business, and although we use AI translation, we can handle business negotiations and development in 14 languages through our unique workflow that makes full use of image sharing. Even complex specifications can be checked with sample images to avoid miscommunication. The only thing that matters is "what you want to create.',"The project begins with an initial hearing in the business application. After a general sharing of the client's vision and sense of the issues, an NDA (Non-Disclosure Agreement) is signed. After creating an environment in which confidential information can be discussed in confidence, we conduct detailed interviews and confirm requirements. Based on the content, we prepare a proposal and confirm the direction of the project using sample images. With the understanding in place, we prepare specifications and start development.","This flow is only a general introduction. We will flexibly adapt to your situation and schedule. Wherever you are in the world, even if you don't speak the same language, images and AI will support your communication. Why don't you join us to enter the frontier market that no one has yet tapped into? Let telet.ai be your partner to give shape to your ideas."],cards:[{title:"Hearing / NDA",description:"After the initial hearing by e-mail, a nondisclosure agreement is signed. You can provide us with details with peace of mind."},{title:"Planning & CA",description:"Proposal and sample images are provided. 14 languages are supported, so you can proceed without language barriers."},{title:"Sampling & Start",description:"We will prepare specifications and start business upon agreement."},{title:"Development, testing and operation",description:"Speedy implementation through agile development. We provide consistent support from testing to operational support."}]},jv={badge:"Case Studies",title:"AI Introduction Story",items:[{title:"Business Efficiency and Cost Reduction Solutions",subtitle:"Reduce the daily workload and create an environment in which you can focus on your core business.",description:`Many small and medium-sized enterprises (SMEs) face labor shortages and hiring difficulties. Even when new personnel are hired, training costs are high and there are problems with retention rates. Our AI solution supports daily tasks such as automating budget management, data entry and organization, internal document retrieval, and automatic generation of reports and documents. AI assistants handle routine tasks that used to take up a lot of time, 24 hours a day, 365 days a year, without errors. Companies that have introduced AI have realized significant reductions in work hours. From "increasing human resources" to "collaborating with AI. We will do our best to support your company's work style reform.`},{title:"Customer Support Automation",subtitle:"24-hour service improves customer satisfaction and reduces labor costs.",description:"AI chatbots provide automated responses to frequently asked questions, primary response and sorting of inquiries, and real-time response in multiple languages. Real-time response in multiple languages. Human operators can focus on complex cases and improve the quality of customer service. Take your service quality to the next level with AI customer support."},{title:"Knowledge and Document Utilization AI",subtitle:"Internal knowledge assets in a form that can be immediately utilized by anyone",description:'Where is that manual?" There is information that only the predecessor knows" - impersonalized knowledge hinders the growth of a company. Our RAG (search extension generation) technology allows you to retrieve necessary information from internal manuals, FAQs, and past documents by simply asking questions in natural language. It streamlines the training of new employees, digitizes the tacit
227knowledge of veterans, and enables knowledge sharing across departments. Existing documents can be used as they are, so there is no need to create new documents.'},{title:"Image analysis AI for medical and nursing care",subtitle:"Watchful eyes, 24-hour support by AI",description:"In the medical and nursing care fields, it is necessary to watch over a large number of patients and users with limited staff. Our image/video analysis AI detects abnormalities in real time from camera images. It automatically detects infectious diseases by detecting fever, alerts immediately if a patient falls or wanders, and detects changes in physical condition by analyzing facial expressions. By reducing the burden of nighttime patrols, responding quickly to emergencies, and automating recording tasks, staff can focus on their primary care duties. On-premise installation is also available to ensure privacy."}]},Cv={title:"Contact Us",description:"We can consult with you from the requirements planning stage, and can also consider PoC and local LLM configurations.",openForm:"Open Form",closeForm:"Close the form",form:{name:"Your Name",namePlaceholder:"Taro Yamada",email:"Email Address",emailPlaceholder:"[email protected]",subject:"subject",subjectPlaceholder:"Subject of your inquiry",message:"Message",messagePlaceholder:"Please fill in your inquiry",required:"*",submit:"Send",submitting:"Sending...",turnstileMessage:'The "I am not a robot" authorization is required for submission.',turnstileError:"Failed to load security authorization. Please reload.",errorRetry:"Please try again."}},Dv={brand:"telet.ai",tagline:"Multi AI-communications",description:"Innovate your business with AI agents. Create value from dialogue.",sections:{product:{title:"Product",features:"Feature",benefits:"introduction",testimonials:"Customer Testimonials"},services:{title:"Service",agentDev:"AI Agent Design and Development for Enterprises",onPremise:"on-premise LLM server",vectorRag:"Vector RAG and index design",aiApp:"AI Application Development"},company:{title:"Organization Information",about:"About telet.ai",profile:"Representative Profile",contact:"Contact Us"},process:{title:"How we do business",hearing:"Hearing / NDA",planning:"Planning & CA",sampling:"Sampling & Start",development:"Development, testing and operation"}},copyright:"© 2026 telet.ai. All rights reserved.",legal:{privacy:"Privacy Policy",terms:"Terms of Use",cookies:"Cookie Policy"}},zv={title:"Cookie Policy",subtitle:"This section describes the cookies and other technologies (Cloudflare / Google Analytics) used on this site.",lastUpdated:"Last update: January 22, 2026",intro:'telet.ai ("we", "us", "our") ("We") may use cookies and similar technologies to provide and improve this Site and to ensure its security. We do not set our own special tracking cookies for advertising purposes (although Cloudflare and Google Analytics may set cookies or similar technologies in accordance with their respective service specifications).',sections:{what:{title:"1. what is a cookie?",description:"Cookies are small text files that are stored in your browser when you visit a website."},howWeUse:{title:"Purpose of our use of cookies, etc.",description:"We may use cookies, etc. primarily for the following purposes",items:["To stabilize the display and operation of the site","To detect and prevent unauthorized access and malicious traffic","To understand the status of access and to help improve the site"]},googleAnalytics:{title:"3. use of Google Analytics",description:"We use Google Analytics 4 (GA4) provided by Google LLC for access analysis.",items:["Information collected may include pages viewed, time spent, referral source, device and browser information, etc.","We do not use directly personally identifiable information (name, email address, etc.) for the purpose of sending it to Google Analytics.","The treatment of data by Google is subject to Google's terms and policies"]},cloudflare:{title:"4. use of Cloudflare",description:"We use the services of Cloudflare, Inc. for delivery and security measures of this Site. Cloudflare may set and refer to cookies, etc. for purposes such as DDoS protection and bot prevention.",items:["The primary purpose is for security and communication optimization, and is not intended to be tracked for ad delivery","Cloudflare's treatment of data is subject to Cloudflare's terms and policies"]},noSpecialCookies:{title:"5. our own special cookies",description:"We do not set our own special cookies for the purpose of behavioral targeting advertising, etc. The use of cookies, etc. is mainly limited to the scope of site operation, security, and access analysis."},choices:{title:"6. cookie management (opt-out)",description:"If cookies are disabled, some functions may not be available.",items:["Cookies can be deleted or disabled in browser settings","If you wish to disable measurement by Google Analytics, please use the opt-out method provided by Google","Use of a browser's private mode, etc., can limit the information stored."]},changes:{title:"7. changes to this policy",description:"We may revise this policy in response to amendments to laws and regulations or changes in the services used. The revised policy will become effective when it is posted on this page."},contact:{title:"8. contact us",description:"If you have any questions regarding this policy, please contact us at",company:"telet.ai",contactLink:"Go to Inquiry Form"}}},Tv={hero:{title:"About telet.ai",subtitle:"Careful AI development support that can only be provided by a small, personalized team."},story:{title:"About us",content:"telet.ai began with a question. Why are so many companies failing to leverage the insights that lie in the countless interactions between companies and their customers? The team, headed by a representative with experience in AI research and enterprise softw
227are development, was established to tackle this issue head-on. We are not a large organization. That is why we are able to face your challenges in depth and propose only the solutions that are truly necessary. Our strength is our ability to design hybrid architectures that integrate local LLM and cloud LLM. We can protect your company's sensitive data in a dedicated cloud environment while performing advanced AI inference in a scalable manner. We provide a CLI for developers and a chat UI for frontline staff, creating a foundation for AI use throughout your organization. And we focus on being the optimal solution rather than being the most advanced. Discarding functions according to budget and reviewing just one configuration can make a big difference in cost. We deliver what you need, in the amount you need. Our attentive AI development support is only possible because we are small and personal. To solve manpower shortages and support your company's growth. That is the promise of telet.ai."},representative:{title:"Representative of telet.ai labo",name:"Keita Okuizumi",tagline:"To the sky, to the sea, and to the code - a passion for AI development born of an unusual career",paragraphs:['As a former aircraft pilot and small-vessel captain, I have been dealing with weather both in the air and at sea for many years. In the cockpit and wheelhouse, I watched changes in the barometer, deciphered the isobaric pressure lines, and compared them with the movement of wind and clouds. The sense of "reading data, judging, and acting" that I developed through this repetitive process is the starting point for me today.',`I started learning Python programming at the age of 57. The impetus was simple curiosity, but as soon as I started writing code I was fascinated by the possibilities of AI agents. I created applications with my own hands, ran them, and improved them. In the process, I realized something. In past projects, I was involved as a non-engineer, and development was always done by someone else. However, once I started writing the code myself, I began to see the essence of the problem. This is the bottleneck here" or "This design cannot be expanded" - by having an engineer's point of view, the speed of realizing what I want to do has increased dramatically.`,"Developing weather services by combining field experience with data science, building AI agents to improve operational efficiency, and various experimental projects. As I continued to work with my hands, I became convinced not only that the technology was interesting, but also that there must be people who need this.","Our goal is not to chase the cutting edge. We face the customer's issues and budget, and deliver only what is truly necessary at a reasonable cost. We are not a large organization, so we are able to provide development support that is tailored to the needs of each individual customer. We want to use this technology for the benefit of society - that is why we launched telet.ai."]},contact:{title:"Organization Information",company:"telet.ai labo",ceo:"Representative: OKUIZUMI Keita",button:"Contact Us"},studios:{tokyo:{title:"Tokyo Studio",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tokyo 184-0014, Japan"}}},Ev={title:"Portfolio",subtitle:"See our track record of utilizing AI technology",techStackLabel:"Technology Stacks",viewProject:"View Project",privateProject:"Private Projects",visualizationLabel:"data visualization",cta:{title:"Contact Us",description:"Please feel free to contact us to discuss your project or for technical inquiries.",button:"Contact Us"},projects:{"traffic-route-ai":{title:"AI Transit Route Selection System",subtitle:"Route planning for public transport in Malaysia",description:"A transit route selection system that searches bus and train connections between an origin and destination and compares options by arrival time, journey duration, and transfers. Bus-only and train-only filters, nearby station and stop search, and a multilingual interface help users choose routes for everyday journeys and travel.",techStack:["Public Transit Routing","Bus & Rail Integration","Route Comparison","Multilingual UI"]},"multilingual-assistant":{title:"AI Multilingual Assistant",description:"Intelligent chat assistant for multi-language inquiries, building 1,573 vector indexes and implementing precise answer control through conditional branching, NG word filtering, and keyword triggering. Consistent and highly accurate answers to user questions in multiple languages, including Japanese, English, and Chinese, are generated through cross-language semantic search.",techStack:["RAG","Vector Search","Multilingual Embedding","LLM","conditional branch logic"]},"weather-forecast":{title:"AI Weather Forecasting with Weather API",description:"Developed an AI system that learns from past weather data and makes real-time forecasts of recent weather conditions. LLM analyzes past data obtained from JMA API, OpenWeatherMap, etc., and generates short-term forecasts for temperature, precipitation probability, wind speed, etc. Combining pattern recognition of time-series data with past similarity pattern search by RAG, the system achieves highly accurate forecasts that complement conventional statistical models.",techStack:["Weather API Linkage","LLM","RAG","Time Series Data Analysis","real time processing"]},"local-llm":{title:"In-house Server / On-Prem Local LLM",description:"We deliver AI tailored to your business operations, ready to use within your company, with Open WebUI as a common entry point, fast inference lanes with Ollama/MLX, and completely separated data domains for each UID. In-house documents are captured in a RAG with English embedding and automatic Japanese query translation, and business skills such as news summarization, document organization, and routine tasks are safely executed side by side. The skill execution system is isolated as an OpenClaw container and protected by three layers of Cloudflare edge and local Nginx. We provide comprehensive support for model selection, skill design, and operational policies, and start up your company's dedicated AI in a form that can be used from the day it is deployed.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"Interplanetary Orbital Arrival Prediction (AI)",description:"Developed a system to analyze optimal departure points for interplanetary transfer by obtaining planetary position data, orbital elements, and gravity parameters from NASA API. Calculate orbit calculations considering Hohmann transfer orbit and gravity assist using API and Python, and display launch window, time required, and fuel efficiency. The system is used as a simulation tool for educational institutions and space-related companies. *AI function is currently removed, calculation is in progress with API and Python.",techStack:["NASA API (Horizons, SPICE)","Orbital Dynamics Calculation","Python","data visualization"]},"real-estate":{title:"Real Estate Data AI Analysis",description:"Developed a system that collects real estate information for a specific region via web scraping and performs advanced data analysis using LLM and Python. Variables such as property price, tsubo unit price, building age, and station distance are extracted, and price trend anal
227ysis, market forecasts, and investment return simulations are automatically generated. Features were also extracted from unstructured property descriptions using LLM to provide comprehensive market analysis combined with quantitative data. *Offering now available as a second version (FULL version provided separately)",techStack:["Web scraping (Scrapy, Playwright)","Python","Pandas","LLM Analysis","data visualization"]},"fortune-ai":{title:"Four Pillars AI Appraisal System",subtitle:"Reproducing traditional wisdom with technology.",paragraphs:["Four Pillars of Divination is the culmination of thousands of years of Eastern divination. This system reproduces its traditional divination logic completely in Python, combined with interpretation and advice generation using LLM (Large Language Models). The AI faithfully reproduces the appraisal process performed by an expert fortune teller.","After entering the date, time, and place of birth, the system retrieves the sunrise and sunset times and coordinate information at that time from the Astronomy API. Based on these data, the system accurately calculates the zodiac sign, the ten gods, and the balance of the five elements. Logic based on the divination science of the Four Pillars of Destiny is indexed in Python and combined with statistical data and RAG (Retrieval Augmentation Generation) information to improve the accuracy of the life formula analysis.","The calculated life-style data is explained in natural language by LLM in an easy-to-understand manner. Personalized appraisal results are generated, including the flow of fortune, compatibility of interpersonal relationships, and suitable occupation for you. You can obtain answers with the same depth as if you had consulted a professional fortune teller.","It is currently available as a second version. You can try out the basic kumishiki analysis and fortune analysis. The full version, which includes more detailed analysis and multifaceted advice, is available separately."],techStack:["Python","Astronomy API (Sunrise-Sunset, TimeZoneDB)","Four Pillar Logic","LLM","Coordinate and time calculation"]},"google-workspace":{title:"Google Workspace AI integration",description:"Developed a system that links Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) with LLM to read, edit, and automatically process business data. AI assists with daily tasks such as summarizing email content, generating drafts for automatic replies, searching and analyzing Drive files, extracting schedules from Calendar, and proposing adjustments. Workspace operation from the Agent is also realized through secure API connection with OAuth authentication and MCP compliant tool design. Second version is now available (FULL version will be provided separately).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"World NEWS Multilingualization",description:"Development of a system that collects articles in real time from news sources around the world and performs multilingual translation, summarization, and categorization using LLM. Translates original articles in English, Chinese, French, Arabic, and other languages into Japanese and organizes them by topic. Efficient international news monitoring is achieved not by simple machine translation, but by natural translation based on contextual understanding using LLM and summary generation that extracts the main points of the article. *Offering now available as a second version (FULL version provided separately).",techStack:["News API","RSS collection","LLM Translation and Summary","multilingual processing","Auto-categorization","scheduled batch processing"]},"security-monitoring":{title:"Security Log Monitoring AI Manager",description:"Developed a system for real-time monitoring of corporate security logs and advanced threat detection and analysis using LLM. Various log sources such as firewalls, IDS/IPS, authentication logs, and application logs are collected and analyzed by a Python module, and compared with past attack patterns, vulnerability information, and incident cases accumulated in RAG. When an abnormal pattern is detected, LLM explains the threat level, scope of impact, and recommended response in natural language, and immediately alerts the person in charge. If the same pattern recurs, a high priority alert is automatically issued to speed up the incident response.",techStack:["Python Monitoring Module","Log collection (Fluentd, Logstash)","RAG","Threat Pattern DB","LLM Analysis","Alert notifications (Slack, PagerDuty)"]}}},Rv={learnMore:"Read more",getStarted:"begin to ...",contactUs:"Contact Us",backToHome:"Return to Home"},Nv={title:"Privacy Policy",subtitle:"Privacy Policy",lastUpdated:"Last update: January 23, 2026",intro:'telet.ai (the "Service") considers the protection of your personal information to be an important responsibility and has established the following privacy policy.',sections:{collection:{title:"1. information to be collected",description:"The Service may collect the following information when you contact us or use the Service.",items:["Email Address","Your name (optional)","Inquiry Details","Other information voluntarily provided by you"]},purpose:{title:"2. purpose of use of information",description:"Personal information collected will be used only for the following purposes",items:["Answering and responding to inquiries","Contact and information about our services","Communication required for project progression","Analysis for service improvement (in a format that does not identify individuals)"]},thirdParty:{title:"3. provision to third parties",description:"The Service will not provide your personal information to third parties except in the following cases",
227items:["If the customer consents","When there is a request for disclosure based on laws and regulations","When necessary for the protection of the life, body, or property of a person"]},security:{title:"4. information management",description:"The Service will properly manage collected personal information and take reasonable security measures to prevent unauthorized access, loss, leakage, and falsification."},email:{title:"5. handling of e-mails",description:"The Service will handle e-mails in accordance with the following policy.",items:["We will use the contents of your e-mail only for the purpose of responding to your inquiry and providing our services.","We will not sell, rent, or share your email address with any third party","We may send you information emails about our services. If you wish to unsubscribe, please use the unsubscribe link in the email or contact us using the contact information below.","SSL/TLS encryption is used for e-mail communications to ensure secure communications","We will securely delete your email after storing it for an appropriate period of time."]},cookies:{title:"6. use of cookies",description:"Cookies can be disabled in your browser settings."},external:{title:"7. use of external services",description:"This service may use the following external services. Please refer to the respective links for the privacy policy of each service.",items:["Google Analytics (access analysis)","Other cloud services required for business operations"]},changes:{title:"8. changes to privacy policy",description:"This policy is subject to revision without notice in accordance with amendments to laws and regulations or changes in service content. The revised policy will become effective when posted on this page."},contact:{title:"9. contact us",description:"If you have any questions regarding this policy, please contact us at",company:"telet.ai",contactLink:"Go to Inquiry Form"}}},Gv={title:"Terms of Use",subtitle:"These are the terms and conditions for using this site and for booking a consultation, making inquiries, and requesting information from telet.ai.",lastUpdated:"Last update: January 22, 2026",intro:'These Terms of Use (hereinafter referred to as the "Terms") These Terms of Use (hereinafter referred to as the "Terms") apply to the website operated by telet.ai (hereinafter referred to as "we", "us", "our", or "ours"). (hereinafter referred to as "we", "us", or "our"). (hereinafter referred to as the "Site") operated by telet.ai (hereinafter referred to as the "We"). The Site is provided primarily as a landing page for consultation appointments, inquiries, and document requests, and does not provide for account creation or paid billing functions on the Site.',sections:{scope:{title:"1. scope of application",description:'These Terms and Conditions apply to all visitors and users of the Site ("Users"). The Terms of Use shall apply to all visitors and users of the Website (hereinafter referred to as "Users"). In the event that a separate NDA, outsourcing agreement, individual contract, etc. is concluded between us and a User, such document shall take precedence over the Terms and Conditions.'},prohibited:{title:"2. prohibited items",description:"In using the Site, Users shall not engage in any of the following acts",items:["Acts that violate laws and regulations or public order and morals","Any act that infringes on our or any third party's intellectual property rights, privacy, or other rights or interests","Acts that interfere with the operation of this site or related systems through unauthorized access, excessive load, sabotage, etc.","Submitting false information or impersonating a third party in inquiry forms, etc.","Scraping, reverse engineering, or excessive automated access without our prior permission"]},disclaimer:{title:"3. disclaimer",description:'we provide this site on an "as is" and "as available" basis. To the fullest extent permitted by law, we disclaim all warranties with respect to this site.',items:["Information on this site is subject to change or deletion without notice.","We do not guarantee the accuracy, completeness, or fitness for a particular purpose of the information on this site.","We will not be liable for any damages resulting from your use of this site or reliance on information contained herein.","Responses to consultations and inquiries are for general information only and do not constitute legal, tax, medical or other professional advice."]},ip:{title:"4. intellectual property rights",description:"All rights to the text, images, designs, trademarks, logos, etc. on this site belong to us or to the rightful right holders. You may not use them without the permission of the right holders."},links:{title:"5. links to external sites",description:"This website may contain links to third-party websites. We are not responsible for the content or operation of the linked sites."},changes:{title:"6. modification of these Terms and Conditions",description:"We reserve the right to change these Terms and Conditions from time to time as necessary. The amended Terms of Use will become effective when posted on the Site."},governingLaw:{title:"7. governing law and jurisdiction",description:"These Terms and Conditions shall be governed by and construed in accordance with the laws of Japan. The Tokyo District Court shall have exclusive jurisdiction as the court of first instance over any dispute arising out of or in connection with this Site."},contact:{title:"8. contact us",description:"If you have any questions regarding these Terms and Conditions, please contact",company:"telet.ai",contactLink:"Go to Inquiry Form"}}},Ov={title:"regular motion",subtitle:"AI predicts the",description1:"Weather information is provided in real time by each country. Your country is displayed in the center of the map. Yesterday's weather and today's weather are actual records - the rain clouds should have been in your sky at that date and time.",description2:"However, this animation also animates future weather movements.",description3:"
227Vectors past data and searches for patterns at high speed. Weather patterns can also be predicted from the surrounding environment. Similarly, it is possible to predict harvest, production, and sales by calculating elements (i) from the environment and advanced statistical values from past performance and having AI analyze them.",refresh:"refresh (e.g. memory)",loading:"Loading weather map..."},Bv={hero:{badges:["Enterprise","Local LLM","Custom Agent"],title:"AI Agent Design and Development for Enterprises",description:"Design and build dedicated AI Agents tailored to business requirements"},mission:{title:"Custom AI Agent Development Services",description:"We consistently develop custom AI Agents that address your company's unique business issues, from design to implementation and operation. Our architectural design emphasizes compatibility with existing mission-critical systems and SaaS environments, enabling smooth integration with APIs, databases, and internal tools. Our engineers are familiar with LangChain, AutoGen, CrewAI, and other major frameworks, Our engineers are familiar with LangChain, AutoGen, CrewAI, and other major frameworks, and will propose the best solution for your company's technology stack and operational structure. We do not only develop one-off chatbots, but also build multi-agent systems in which multiple Agents cooperate with each other to perform tasks, and Agentic Workflows that work in conjunction with external tools. We support maximizing the business value brought by AI Agents through a long-term partnership that includes continuous improvement after implementation, following model updates, and maintenance of operational monitoring systems.",imageAlt:"Custom AI Agent Development Services"},summary:{title:"Agent Development Trends",paragraphs:['From 2025 to 2026, AI Agent development is moving from the demonstration phase to the full-scale corporate implementation phase. The concept of "Agentic AI" has taken root, and autonomous business execution systems that go beyond mere chatbots have begun operating in various industries.',`Computer-Using Agents" that directly control browsers and desktops, such as OpenAI's Operator, Anthropic's Computer Use, and Google's Project Mariner, have become practical. The Model Context Protocol (MCP) is a burgeoning ecosystem, enabling plug-and-play integration with thousands of tools.`,"Multi-agent architectures have reached maturity, with specialized Agents working together to perform complex tasks such as project management, customer support, and data analysis. A2A (Agent-to-Agent) protocol standardization has also made progress in Agent collaboration between different vendors.",'The governance model has evolved from "Human-in-the-Loop" to "Human-on-the-Loop" for corporate implementations, with a mechanism for post-agent decision auditing and automatic escalation based on risk level as standard features, accelerating adoption in regulated industries such as finance, healthcare, and manufacturing. The adoption of this system is accelerating in regulated industries such as financial, medical, and manufacturing.']},features:{title:"Design and Development",subtitle:"Design & Development",items:[{title:"Agent design based on business requirements",description:"Extract use cases from business flow analysis, decompose tasks and clarify Agent responsibilities. We determine whether processing can be completed by a single Agent or requires multi-Agent coordination, and select the optimal inference patterns such as ReAct, Plan-and-Execute, and Reflexion."},{title:"RAG / Tool / Workflow integration",description:"Highly accurate RAG pipelines combining Embedding Generation, Chunk Strategy, and Hybrid Search, standardized connection to external APIs and databases with MCP compliant Tool definitions, and multi-step workflow orchestration using LangGraph and CrewAI. Orchestrate multi-step workflows with LangGraph and CrewAI."},{title:"Security and authorization design",description:"Access control of Agent functions by RBAC/ABAC, Prompt Injection countermeasures, and PII detection and masking are implemented. Audit logs of all inputs and outputs are retained, and SOC2 and ISO27001 compliant environment operation is supported."},{title:"Implementation including operation and monitoring",description:"Implement Trace visualization with LangSmith, Langfuse, etc., and real-time monitoring of latency, token consumption, and error rate. Build a continuous improvement cycle including anomaly detection alerts, A/B testing infrastru
227cture, and Regression Test when updating models."}]},techStack:{title:"Technology Stacks",subtitle:"Platform & Technology",categories:{agentFramework:{title:"Agent Framework",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","OpenAI Agents SDK","Anthropic MCP","Google ADK (Agent Development Kit)","Semantic Kernel","Proprietary Agent Platform"]},apiLayer:{title:"API Layer",items:["FastAPI / Litestar","gRPC / Connect","GraphQL Federation","Server-Sent Events (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","API Gateway (Kong / Envoy)","Adaptive Rate Limiting"]},vectorDb:{title:"Vector DB / RAG",items:["Pinecone","Weaviate","Qdrant","Milvus","ChromaDB","pgvector","FAISS","Turbopuffer"]},infrastructure:{title:"Infrastructure",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","On-Premise GPU Cluster","Private Cloud","Serverless (Lambda / Cloud Run)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"Main update points for 2026",description:"In Agent Framework, official SDKs/protocols from major vendors such as OpenAI Agents SDK, Anthropic MCP, and Google ADK are emerging; in API Layer, gRPC and SSE have become the standard for Agent-to-Agent communication, and the transition to OAuth 2.1 is underway. In Vector DB, Qdrant and Turbopuffer are gaining attention for their high-speed search."}},cta:{title:"Contact Us",description:`We can consult with you from the requirements arrangement.
228PoC and local LLM configurations can also be considered.`,primaryButton:"Contact Us",secondaryButton:"Technical Consultation"}},Kv={title:"Frequently Asked Questions",subtitle:"FAQ",items:[{question:"Can I use my existing manuals and FAQs without modification?",answer:"Yes, you can use it; it supports most formats, including PDF, Word, Excel, HTML, and text files. Simply upload your existing internal documents as they are, and AI will learn the content and use it to answer your questions. No format conversion or special processing is required."},{question:"Is it safe to use with data containing sensitive information?",answer:"Yes, you can use our service securely. On-premise (in-house servers) or in a private cloud environment, data is never transmitted outside the company. We can propose configurations to meet your security requirements."},{question:"How long does it take to implement?",answer:"A standard FAQ bot can be implemented in as little as 2-4 weeks. If integration with existing systems or advanced customization is required, we estimate 1-3 months. We can also start with a small-scale PoC (proof of concept)."},{question:"Do you use external APIs such as ChatGPT or Claude?",answer:"Choice is available upon request. We support both configurations that use external APIs (OpenAI, Anthropic, Google, etc.) and configurations that use open source LLMs (Llama, Mistral, Qwen, etc.) that run completely locally. We can propose the best configuration for your cost, security, and performance requirements."},{question:"How accurate is the AI's response?",answer:"Depending on the application and data quality, a properly designed RAG system can return accurate answers to questions for which relevant documents exist with 90% or greater accuracy. Mechanisms to control halcination (generation of erroneous information) are also built in as standard."},{question:"Do you support languages other than Japanese?",answer:"Yes, multilingual support is available. We support all major languages, including Japanese, English, Chinese, and Korean. Instead of having separate models for each language, a single system can handle multilingual queries."},{question:"Can you integrate with existing systems (CRM, chat tools, etc.)?",answer:"Yes, it can be integrated; it supports API integration with major business tools such as Salesforce, HubSpot, Slack, Microsoft Teams, and LINE WORKS. You can incorporate an AI assistant without changing your existing workflow."},{question:"What is your fee structure?",answer:"It depends on the size and requirements of the project. While initial construction and monthly operation fees are generally combined, we also accept requests for spot development or consulting services only. Please let us know your requirements first. We will provide you with a rough estimate."}]},Vv={title:"Rate Plans",subtitle:"Pricing Plans",description:"Flexible plans to fit the size of your business",plans:[{name:"starter",price:"29,800 yen",period:"Monthly/user",description:"The best plan for small teams. Basic AI functions at an affordable price.",features:["Up to 100 calls per month","Basic Transcription","Keyword Detection","Email Support","7-day data retention"],cta:"Get started for free",popular:!1},{name:"professional",price:"Â¥79,800",period:"Monthly/user",description:"Ideal for growing teams. Advanced analytical features.",features:["Up to 500 calls per month","High-precision AI transcription","Emotional Analysis","CRM Linkage","Priority Support","30-day data retention","Custom Reports"],cta:"14-day free trial",popular:!0},{name:"enterprise",price:"Contact Us",period:"custom",description:"Full-featured plans for large organizations",features:["Unlimited calls","Dedicated AI Model","on-premise support","Dedicated Support","Custom collaboration","SLA Assurance","Security Audits","Unlimited data retention"],cta:"Consult with Sales",popular:!1}],faq:{title:"Frequently Asked Questions",items:[{question:"Is there a free trial?",answer:"Yes, a 14-day free trial is available for Professional plans. No credit card required to get started."},{question:"Can I change my plan at any time?",answer:"Yes, you can upgrade or downgrade your plan at any time. Changes will be applied starting with the next billing cycle."},{question:"Is there a contract term bound?",answer:"Monthly plans have no contract term restrictions. If you choose an annual contract, you will receive a 20% discount."}]}},Fv={hero:{badge:"AI-Powered Technology",title:"AI Transcription",description:"Advanced machine learning models provide 99.5% accuracy. AI trained on millions of customer interaction data converts voice to text.",features:["99.5% accuracy","real time processing","Support for more than 40 languages"]},features:{title:"Main Functions",subtitle:"Advanced transcription engine that goes beyond simple speech recognition",items:[{title:"real-time transcription",description:"Get real-time transcripts during conversations. Gain instant insight and never miss a real-time coaching opportunity."},{title:"multilingual support",description:"Supports more than 40 languages and covers global teams with automatic language detection."},{title:"contextual understanding",description:"AI models trained on industry-specific terminology accurately recognize technical and business terms."},{title:"speaker separation",description:"Automatically identifies and separates different speakers in a conversation and assigns clear speaker attributes."},{title:"custom lexicon",description:"Learning your company's unique product names, service names, and technical terms provides even higher accuracy."},{title:"Quality Assurance",description:"Automatic quality checks and reliability scoring ensure the highest quality transcription."}]}
228,useCases:{title:"Usage Scenes",subtitle:"Industries and teams requiring accurate call transcription",items:[{title:"Sales Team",description:"Reflect on sales calls and identify success patterns. Improve talk effectiveness and coach team members with specific examples."},{title:"Customer Support",description:"Accurately records customer issues. Maintain a comprehensive support history to ensure consistent service quality."},{title:"quality control",description:"Monitor compliance and ensure script adherence. Maintain detailed records for audits and training."}]},stats:{accuracy:{value:"99.5%",label:"transcription accuracy"},languages:{value:"40+",label:"Languages Supported"},latency:{value:"<2 sec.",label:"processing delay"},availability:{value:"24/7",label:"continuous processing"}}},Wv={hero:{badge:"Smart Detection",title:"Keyword Tracking",description:"Automatically monitor competitor mentions, rebuttals, and important topics. Never miss important signals from customer conversations.",badges:["Competitive Tracking","Response Detection","Topic Analysis","custom keyword"]},features:{title:"Track critical information",subtitle:"Automatic detection and analysis of keywords from all conversations",items:[{title:"Competitive Monitoring",description:"Track competitor mentions to understand how prospects compare your solution to alternatives on the market."},{title:"Response Detection",description:"Automatically identify common objections and concerns and develop effective responses and training."},{title:"custom keyword",description:"Define and track custom keywords and phrases specific to your business, product or industry."},{title:"Trend Analysis",description:"Discover emerging trends from customer conversations and adapt your strategy based on actual market signals."},{title:"context extraction",description:"Get context before and after the keyword, not just the mention of it. Understand n
228ot only what was said, but why and how it was said."},{title:"Smart Search",description:"Instantly search all conversations to find exactly where and when a particular topic was discussed."}]},applications:{title:"Usage Scenes",items:{competitive:{title:"Competitive Intelligence",description:"Deep understanding of the competitive landscape:",points:["Track your most frequently mentioned competitors","Understand how prospective customers compare features and prices","Identify your competitive advantages and weaknesses","Creating effective anti-competitive materials"]},objections:{title:"response to a rebuttal",description:"Turn a rebuttal into an opportunity:",points:["Identify most common customer concerns","Analyze top performers' rebuttal responses","Playbook with proven response.","Train your team with effective turnaround"]},product:{title:"Product Insights",description:"Promoting product development through customer feedback:",points:["Identify most requested features","Understand challenges to current functionality","Discover unexpected use cases","Prioritize roadmap based on customer needs"]},compliance:{title:"Compliance & Quality",description:"Ensure regulatory compliance and quality:",points:["Monitor required disclosures and legal language","Flag conversations that may violate policy","Track script compliance and best practices","Generate compliance reports for audit"]}}},advancedFeatures:{title:"Advanced Features",items:[{title:"ambiguous retrieval",description:"Automatically detects keyword variations, synonyms, and related terms without manual configuration."},{title:"historical analysis",description:"Analyze keyword trends over time to identify seasonal patterns and emerging topics."},{title:"Real-time alerts",description:"Receive immediate notifications when important keywords are mentioned in live conversations."}]}},qv={hero:{badges:["Enterprise","Local LLM","In-house server operation"],title:"On-Premise LLM Construction",description:"Operate LLM in your own environment, keeping data outside the company"},mission:{title:"On-Premise LLM Construction Service Overview",paragraphs:["For companies that cannot release confidential data outside the company, we build an LLM environment that can be completed on their own servers or in a private cloud. This solution is ideal for organizations that require strict information management, such as financial institutions, medical institutions, government agencies, and research institutes, because it does not use any public API and all processing is completed within the customer-managed infrastructure.","We provide comprehensive support from model selection, server construction, inference engine optimization, and operation monitoring, using commercially available open-weight models such as Llama 3.3, Qwen 2.5, Mistral, and DeepSeek with high-performance inference engines such as vLLM, Ollama, and SGLang. These models are run on high-performance inference engines such as vLLM, Ollama, and SGLang to provide a low-latency, high-throughput inference environment.","We support a wide range of use cases such as integration with existing systems, chatbots, internal RAGs, document summarization, and code generation. We can design to meet enterprise requirements, including business specialization through model fine tuning, NVIDIA GPU / Apple Silicon optimization, multi-tenant design, API gateway construction, and more."]},summary:{title:"On-Premise LLM Trends",paragraphs:["In 2025-2026, the utility of on-premise LLMs is rapidly improving. The performance of open-weighted models has flanked that of closed models, and the number of models offered with commercially available licenses has significantly lowered the hurdle for in-house operations.","The models with 8B to 70B parameters have reached a practical level for many business tasks, GGUF quantization enables high-speed inference even on consumer GPUs.","For inference engines, vLLM's Continuous Batching and PagedAttention dramatically increase throughput, and SGLang's RadixAttention accelerates complex multi-turn interactions. Ollama has become the de facto standard for local development environments, and llama.cpp is Apple Silicon optimized for fast inference on M-series Macs.","In enterprise adoption, in addition to data sovereignty and compliance, long-term cost optimization (moving away from pay-as-you-go API billing) is increasingly becoming a motivation for adoption. Hybrid configurations (local for sensitive processing and cloud API for general purpose processing) have become a common option."],icons:[{label:`Private 229Cloud`},{label:`Data 230Sovereignty`},{label:`Cost 231Optimization`},{label:`Enterprise 232Security`}]},features:{title:"Design and development features",subtitle:"Design & Development",items:[{title:"Infrastru
232cture design and GPU optimization",description:"Design the optimal hardware configuration for your workload and budget, including NVIDIA A100/H100, RTX 4090/5090, and Apple Silicon (M2 Ultra/M3 Max/M4 Max), and create an inference environment that takes full advantage of GPU performance through CUDA, MPS, and Metal optimization. CUDA, MPS, and Metal optimization to maximize GPU performance."},{title:"Model selection and optimization",description:"Select the optimal model from Llama, Qwen, Mistral, DeepSeek, etc. considering task characteristics, language requirements, and resource constraints. Quantization (GGUF/AWQ/GPTQ), KV cache optimization, and batch processing tuning are used to achieve both accuracy and throughput."},{title:"Inference engine construction",description:"Select and build inference engines such as vLLM, SGLang, Ollama, TGI, etc. according to your application, and apply the latest technologies such as Continuous Batching, Speculative Decoding, and Prefix Caching to provide low-latency and high-throughput inference APIs. We provide low-latency and high-throughput inference APIs."},{title:"Operation, Monitoring and Security",description:"Implement inferential metrics monitoring with Prometheus/Grafana, access control with API gateway, audit logs, auto scaling, and failure recovery. Build a production operation environment that meets enterprise security requirements."}]},techStack:{title:"Technology Stack",subtitle:"Platform & Technology",categories:{openWeightModels:{title:"Open-Weight Models",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Command R (Cohere)"]},japaneseModels:{title:"Japanese-specific model",items:["ELYZA-japanese-Llama-2","Swallow 70B / 13B","Japanese-Llama-3","Qwen-2.5-Japanese","Karakuri-LM"]},inferenceEngine:{title:"Inference Engine",items:["vLLM (Continuous Batching)","SGLang (RadixAttention)","Ollama (local development)","llama.cpp (Apple Silicon)","TGI (Hugging Face)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (quantization specialization)"]},quantization:{title:"Quantization",items:["GGUF (llama.cpp standard)","AWQ (high precision 4bit)","GPTQ (GPU optimization)","bitsandbytes(8bit/4bit)","EETQ (Efficient Efficiency Quantization)"]},hardware:{title:"Hardware",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
232,infrastructure:{title:"Infrastructure",items:["Docker / Kubernetes","NVIDIA Triton Server","API Gateway (Kong / Envoy)","Prometheus / Grafana","Private Cloud (VMware / OpenStack)","Air-Gapped Environmental Support"]}},updateNote:{title:"Main update points for 2026",description:"In open-weight models, Llama 3.3 achieves GPT-4 class general-purpose performance and greatly improves Japanese language performance; the Qwen 2.5 series expands the choice with a variety of sizes and well-balanced performance; DeepSeek V3/R1 attracts attention for its inference cost performance; and the vLLM 2.0 Chunked Prefill and SGLang's RadixAttention inference engines speed up multi-turn dialogue. In the inference engine, vLLM 2.0's Chunked Prefill and SGLang's RadixAttention speed up multi-turn interactions; Apple Silicon optimization of llama.cpp makes 70B model inference practical on M4 Max; and the Quantization technology offers 4-bit precision and high performance. Quantization techniques achieved both 4-bit precision and inference speed, and GGUF became the de facto standard format."}},cta:{title:"Contact Us",description:`We can consult with you from the requirements arrangement.
233PoC and local LLM configurations can also be considered.`,primaryButton:"Contact Us",secondaryButton:"Technical Consultation"}},Uv={hero:{badges:["Enterprise","RAG","search extension generation"],title:"Vector / RAG Development",description:"Build a RAG system to link internal knowledge with LLM"},mission:{title:"Vector / RAG Development Services Overview",paragraphs:["We will build a RAG (search extension generation) system that allows employees to search and ask questions in natural language by linking the knowledge assets accumulated in the company with LLM. We integrate various data sources such as manuals, minutes, technical documents, FAQs, Slack history, Confluence, SharePoint, etc. to create an environment where organizational knowledge can be immediately utilized.","We maximize search accuracy and response quality by applying the latest technologies such as Hybrid Search (vector search + keyword search), Reranking, hierarchical chunking, metadata filtering, etc., in addition to simple document search. We clearly indicate the source of the answer to both suppress halcination and ensure reliability.","We support a variety of environments including AWS, GCP, Azure, and on-premise, and integrate with existing authentication infrastructure and authority management. We provide consistent support for maintaining data freshness (differential updates and automatic re-indexing), analyzing usage logs, and continuously improving accuracy."]},summary:{title:"RAG Technology Trends",paragraphs:['Between 2025 and 2026, RAG technology is moving into the "basic implementation to production quality" phase. In addition to simple vector search, Hybrid Search, which combines multiple search methods, Reranking, which reorders search results, and Query Decomposition, which decomposes and processes complex questions, have become standard configurations.',"Chunking strategies have also evolved, with hierarchical chunking that takes document structure into account, overlapping chunks, and multimodal chunking that processes tables and figures separately, all contributing to improved accuracy. Contextual Retrieval (adding contextual information to chunks) has also been widely recognized as effective.","For vector DB selection, in addition to managed services such as Pinecone, Weaviate, Qdrant, and Milvus, PostgreSQL pgvector and local FAISS offer a wide range of options to meet your requirements. Embedding models are also available, including text-Embedding-3-large, Cohere Embed v3, and multilingual models.",'In enterprise deployments, authority management (ACL) linkage, PII masking, audit logs, and multi-tenant design are essential requirements, and there is a need to move from a "working PoC" to a "production-ready production system.'],icons:[{label:`Hybrid 234Search`},{label:`Multi-modal 235RAG`},{label:`Agentic 236RAG`},{label:`Enterprise 237Security`}]},features:{title:"Design and development features",subtitle:"Design & Development",items:[{title:"Data collection and preprocessing pipeline",description:"Data extraction and cleansing from PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, etc. Multi-modal support including OCR, table structure analysis, and image caption generation. Maintain freshness with differential updates and scheduled execution."},{title:"High-precision search system design",description:"Construct high-precision search combining Vector Search + BM25 Hybrid Search, Reranking by Cohere Rerank / Cross-Encoder, and Query Expansion and Decomposition. Metadata filtering and permission-based access control are also implemented."},{title:"Response generation and quality control",description:"Improved answer quality with context optimization, Few-shot prompts, and Chain-of-Thought inference. Source clarification, confidence score display, and halcination detection are implemented to ensure reliability for business use."},{title:"Operation and improvement cycle",description:"We provide operational support including usage log analysis, search hit rate and response satisfaction monitoring, continuous improvement through feedback loops, A/B testing infrastru
237cture, Embedding model updates, and chunking strategy reviews."}]},techStack:{title:"Technology Stack",subtitle:"Platform & Technology",categories:{embeddingModels:{title:"Embedding Models",items:["OpenAI text-embedding-3-large","Cohere Embed v3","Voyage AI","Jina Embeddings v3","BGE-M3 (multilingual)","multilingual-e5-large","Japanese-specific models"]},vectorDatabases:{title:"Vector Databases",items:["Pinecone (Managed)","Weaviate (Hybrid Search)","Qdrant (high performance)","Milvus (large scale)","Chroma (lightweight)","PostgreSQL pgvector","FAISS (local)"]},chunking:{title:"Chunking & Processing",items:["hierarchical chunking","Semantic Chunking","Overlapping Chunks","Sentence Window","Contextual Retrieval","Table and chart processing","Multimodal support"]},search:{title:"Search & Retrieval",items:["Hybrid Search (Vector + BM25)","Cohere Rerank","Cross-Encoder Reranking","Query expansion and decomposition","HyDE (Hypothetical Document Generation)","Self-Query Retrieval","Multi-Query Retrieval"]}},updateNote:{title:"Main update points for 2026",description:"In the Embedding model, text-Embedding-3-large and Cohere Embed v3 became the enterprise standard, and Japanese language performance improved significantly; Contextual Retrieval proved to be effective, and adding context to chunks became the standard method. Hybrid Search + Reranking has become a mandatory configuration for search, reducing the number of simple vector search-only configurations, and Agentic RAG (agents dynamically select search strategies) is being put into practical use. On the operational side, emphasis is being placed on establishing quality measurement and improvement cycles using RAG evaluation frameworks (RAGAS, LangSmith)."}},cta:{title:"Contact Us",description:`We can consult with you from the requirements arrangement.
238PoC and local LLM configurations can also be considered.`,primaryButton:"Contact Us",secondaryButton:"Technical Consultation"}},_v={hero:{badges:["Full Stack","LLM Integration","API Design"],title:"AI Application Development",description:"Design and build practical applications that leverage LLM"},mission:{title:"AI Application Development Service Overview",paragraphs:["We provide design and development of AI applications that create business value by analyzing data acquired from external APIs with LLM, linking APIs with diverse data sources such as CRM, ERP, SaaS, IoT sensors, and social media, and feeding acquired data into LLM in real time. We enable advanced data analysis that cannot be achieved with conventional BI tools, such as analytical report generation using natural language, anomaly detection, trend prediction, and automatic classification.","Not just simple API integration, but also integration of multiple data sources, data cleansing, and conversion to a format that is easy for LLM to interpret through structured processing. Prompt engineering maximizes the accuracy of analysis and generates output specialized for business requirements. We build practical applications that combine data and AI, such as sales data to predict business negotiations, customer support logs to perform VoC analysis, and sensor data to provide equipment maintenance recommendations.","We support a variety of interfaces such as web applications, mobile applications, Slack/Teams integration, and periodic batch processing. We provide consistent support from requirement definition to API design, LLM integration implementation, and production operation."]},summary:{title:"Trends in AI Application Development",paragraphs:['From 2025 to 2026, AI application development is entering a practical phase based on "API integration x LLM analysis". Unstructured data analysis and natural language insight generation, which could not be handled by traditional BI tools and dashboards, are beginning to be incorporated into enterprise systems.',"Of particular note is the maturation of LLM's Structured Output functionality, which enables strict JSON Schema-compliant output control, making an end-to-e
238nd automated pipeline a reality, where data acquired via APIs is analyzed by LLM and the results are fed directly into subsequent systems. Multi-stage execution of Function Calling enables data collection, integration, and analysis across multiple APIs to be handled in a single workflow.","In the data processing infrastructure, Polars has emerged as a standard for high-speed processing, and in combination with streaming processing, it facilitates real-time analysis.","In corporate implementations, needs have shifted from one-off PoC development to scalable design for production operation, requiring comprehensive architecture design that includes cost optimization, error handling, and audit log support."],icons:[{label:`Agentic 239AI`},{label:`MCP 240Protocol`},{label:`Multi 241Agent`},{label:`Human-on 242-the-Loop`}]},features:{title:"Design and development features",subtitle:"Design & Development",items:[{title:"API integration and data collection design",description:"Build a data collection infrastructure that supports various protocols such as REST API, GraphQL, WebSocket, and Webhook. We design a stable data acquisition pipeline by implementing authentication processes (OAuth, API key, JWT), rate limiting, and retry mechanisms. We also support data integration, scheduling, and differential acquisition from multiple APIs."},{title:"Data preprocessing and structuring",description:"Converts raw data into a format that can be efficiently analyzed by LLM, including JSON parsing, data cleansing, normalization, and missing value processing, and performs optimal data segmentation and summarization considering context window restrictions. Metadata assignment ensures traceability of analysis results."},{title:"LLM analysis and prompt design",description:"Maximize the accuracy of data analysis by designing prompt templates specific to your business requirements. We build analysis pipelines for classification, summarization, sentiment analysis, anomaly detection, prediction generation, etc. We utilize Function Calling and Structured Output to generate output in a format that can be easily integrated with subsequent systems."},{title:"Application implementation and operation",description:"We provide analysis results through a variety of interfaces, including FastAPI, web applications using Next.js, etc., Slack/Teams Bot, and scheduled batch execution. Dashboards, notification alerts, and automatic report generation are implemented and delivered in a form that business users can immediately utilize. We also provide operational monitoring, cost optimization, and continuous improvement."}]},techStack:{title:"Technology Stack",subtitle:"Platform & Technology",categories:{apiIntegration:{title:"API Integration",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","Webhook / Polling","Apache Airflow / Prefect","Celery / Temporal","requests / httpx / aiohttp","Rate Limiting / Retry","Data Validation (Pydantic)"]},dataProcessing:{title:"Data Processing",items:["Pandas / Polars","JSON / JSONL Parser","Data Cleansing Pipeline","Apache Spark (Large-scale processing)","dbt (data conversion)","Great Expectations","Delta Lake / Iceberg","Streaming (Kafka / Flink)"]},llmCloud:{title:"Cloud LLM",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Gemini 2.0 / Gemini 2.5","Command R+ (Cohere)","Mistral Large"]},llmLocal:{title:"Local LLM",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","Gemma 2 / Gemma 3","Phi-4","ELYZA / Swallow (specialized in Japanese)","Command R (Cohere)"]},inference:{title:"Inference / Framework",items:["vLLM / SGLang","Ollama / llama.cpp","LiteLLM Proxy","Function Calling","Structured Output","Prompt Template Engine","LangChain / LlamaIndex","Proprietary Analysis Pipeline"]}
242,application:{title:"Application Layer",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Scheduled Jobs (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Cache / Queue)","Docker / Kubernetes"]}},updateNote:{title:"Main update points for 2026",description:"In the LLM analysis area, GPT-4.1 and Claude 4's Structured Output functionality has matured to standardize strict JSON Schema-compliant output control, and multi-stage execution of Function Calling enables complex data collection and analysis across multiple APIs in a single pipeline. The multi-stage execution of Function Calling enables complex data collection and analysis across multiple APIs in a single pipeline. In data processing, Polars has become an established alternative to Pandas for high-speed processing, and in combination with streaming processing, it facilitates the construction of a real-time analysis infrastructure. At the application layer, external tool integration using MCP has become commonplace, accelerating the development of agentic applications in which LLMs call APIs autonomously to acquire and analyze data."}},cta:{title:"Contact Us",description:`We can consult with you from the requirements arrangement.
243PoC and local LLM configurations can also be considered.`,primaryButton:"Contact Us",secondaryButton:"Technical Consultation"}},Hv={seo:xv,header:Lv,hero:Pv,mission:wv,businessServices:Sv,features:Iv,businessProcess:Mv,story:jv,contact:Cv,footer:Dv,cookiePolicy:zv,about:Tv,portfolio:Ev,common:Rv,privacyPolicy:Nv,termsOfService:Gv,weatherMap:Ov,agentDevelopment:Bv,faq:Kv,pricing:Vv,aiTranscription:Fv,keywordTracking:Wv,onPremiseLLM:qv,vectorRAG:Uv,aiAppDevelopment:_v},$v={home:{title:"telet.ai - à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¹à¸à¸¥à¸¹à¸à¸±à¸ AI",description:"à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸±à¸à¸¥à¸¹à¸à¸à¹à¸²à¸à¹à¸§à¸¢à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸£à¹à¸à¸£à¸à¹à¸§à¸¢ AI รัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸¥à¸¶à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸£à¸¡à¸à¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸·à¹à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸à¸à¸à¸µà¸¡"},about:{title:"à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸à¸£ - telet.ai",description:"à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸ ารà¸à¸´à¸à¸à¸à¸ telet.ai à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸±à¸à¸¥à¸¹à¸à¸à¹à¸²à¸à¹à¸§à¸¢ AI à¸à¸à¸à¸±à¸à¸à¸µà¸¡à¸à¸²à¸à¹à¸¥à¸°à¸ªà¸³à¸£à¸§à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸à¸à¹à¸£à¸²"},privacy:{title:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§ - telet.ai",description:"à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸ telet.ai à¹à¸à¸·à¹à¸à¸à¸³à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸§à¹à¸²à¹à¸£à¸²à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¹à¸£"},terms:{title:"à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£ - telet.ai",description:"à¸à¹à¸²à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸ telet.ai สำหรัà¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²à¹à¸à¸·à¹à¸à¸à¸à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²"},cookies:{title:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸¸à¸à¸à¸µà¹ - telet.ai",description:"à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸§à¹à¸² telet.ai à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¸à¸¥à¹à¸²à¸¢à¸à¸±à¸ (Cloudflare à¹à¸¥à¸° Google Analytics) à¸à¸¢à¹à¸²à¸à¹à¸£"},portfolio:{title:"à¸à¸à¸£à¹à¸à¹à¸à¸¥à¸´à¹à¸ - telet.ai",description:"สำรวà¸à¸à¸à¸£à¹à¸à¹à¸à¸¥à¸´à¹à¸à¸à¸à¸à¹à¸à¸¥à¸¹à¸à¸±à¸ AI à¸à¸µà¹à¸à¸à¸à¹à¸à¸à¸¡à¸²à¹à¸à¸·à¹à¸à¸¢à¸à¸£à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²"},agentDevelopment:{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸² AI Agent สำหรัà¸à¸à¸à¸à¹à¸à¸£ - telet.ai",description:"à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸ AI Agent ระà¸à¸±à¸à¸à¸²à¸£à¸à¸¥à¸´à¸à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸²à¸¡à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸¥à¸§à¹ à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸ à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¸à¸à¸à¸à¸¸à¸"},onPremiseLLM:{title:"à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ LLM ภายà¹à¸à¸à¸à¸à¹à¸à¸£ - telet.ai",description:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£ LLM สมัยà¹à¸«à¸¡à¹à¸ ายà¹à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¸£à¹à¸ à¸à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¹à¸à¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸¥à¹à¸²à¸à¹à¸²à¸à¹à¸³"},vectorRAG:{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸ Vector RAG à¹à¸¥à¸°à¸à¸±à¸à¸à¸µ - telet.ai",description:"à¸à¸à¸à¹à¸à¸à¹à¸à¸à¹à¹à¸¥à¸à¹à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸±à¸à¸à¸µà¸à¸µà¹à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸²à¸¡à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸¥à¸§à¹à¹à¸à¹à¸¥à¸°à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸³à¸à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸·à¹à¸à¸à¸²à¸"},aiAppDevelopment:{title:"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI - telet.ai",description:"สรà¹à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸£à¸´à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¥à¸·à¹à¸à¸à¸à¹à¸§à¸¢ LLM à¸à¸µà¹à¸£à¸§à¸¡à¹à¸à¹à¸²à¸à¸±à¸ API à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸¥à¸°à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸¥à¸§à¹à¸à¸¸à¸£à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸"}},Qv={brand:"telet.ai",nav:{services:"à¸à¸£à¸´à¸à¸²à¸£",portfolio:"à¸à¸à¸£à¹à¸à¹à¸à¸¥à¸´à¹à¸",about:"à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸à¸£",contact:"à¸à¸´à¸à¸à¹à¸"}},Jv={brandName:"telet.ai",tagline:"à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸«à¸¥à¸²à¸¢à¸£à¸°à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",badge:"à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¹à¸à¸·à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸¥à¸¶à¸à¹à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸²à¸à¹à¸à¸£à¸¨à¸±à¸à¸à¹",title:{line1:"à¸à¹à¸à¸à¸à¸´à¹à¸à¹à¸¥à¸°à¹à¸à¸´à¸à¸£à¸±à¸",line2:"à¸à¸¢à¸²à¸¢à¹à¸à¸à¸¥à¸²à¸§à¸à¹",line3:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸¢à¹à¸à¹à¸²à¸«à¸à¹à¸²à¸à¸µà¹"},description:"à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¹à¸à¸à¸à¸à¸à¹à¸ SLM à¸à¹à¸§à¸¢à¹à¸«à¹à¸¡à¸±à¹à¸à¹à¸à¹à¸à¸à¸à¸´à¸à¹à¸à¸¢à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¸à¸±à¸à¸à¸¥à¸²à¸§à¸à¹à¹à¸ LLM à¸à¸¢à¸²à¸¢à¸à¸µà¸à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸£à¹à¸à¸µà¸à¸à¸³à¸à¸±à¸; à¸à¸²à¸£à¸à¸³à¸ªà¸à¸²à¸à¸±à¸à¸¢à¸à¸£à¸£à¸¡ Agentic AI มาà¹à¸à¹à¹à¸£à¸´à¹à¸¡à¹à¸«à¹à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸±à¹à¸à¸à¸³à¹à¸¥à¹à¸§"},Zv={badge:"à¸à¸±à¸à¸à¸à¸´à¸à¸à¸à¸à¹à¸£à¸²",title:"à¸à¸³à¹à¸«à¹ LLM à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¹à¸²à¸¢à¸à¸¶à¹à¸",paragraphs:["à¸à¸¸à¸à¸à¸³à¹à¸à¹à¸à¸£à¸´à¸à¹ หรืà¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸à¸¥à¸à¸à¸²à¸à¸à¸µà¹? --à¸à¸§à¸²à¸¡à¸à¸£à¸°à¸«à¸¥à¸²à¸à¹à¸à¸à¸±à¹à¸à¹à¸«à¸¥à¸°à¸à¸·à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¹à¸£à¸²à¸à¹à¸à¸à¸à¸²à¸£",'ศัà¸à¸¢à¸ าà¸à¸à¸à¸à¹à¸¡à¹à¸à¸¥à¸ าษาà¸à¸à¸²à¸à¹à¸«à¸à¹ (LLM) à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸à¸±à¸§à¸à¸¸à¸à¸§à¸±à¸ à¸à¸¢à¹à¸²à¸à¹à¸£à¸à¹à¸à¸²à¸¡ à¹à¸£à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¸¥à¸²à¸¢à¸à¸³à¹à¸à¸à¹à¸à¹à¸ "à¸à¸±à¸à¸à¸±à¸à¸§à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸¥à¸±à¸à¹à¸à¸¢à¸±à¸ API ภายà¸à¸à¸," "à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI à¸à¸±à¹à¸à¸ªà¸¹à¸à¸¡à¸µà¹à¸§à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸´à¸©à¸±à¸à¹à¸«à¸à¹à¹à¸à¹à¸²à¸à¸±à¹à¸," à¹à¸¥à¸° "à¸à¹à¸²à¹à¸à¹à¸à¹à¸²à¸¢à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸¡à¹à¸à¸¸à¹à¸¡à¸à¹à¸²."',"à¹à¸£à¸²à¹à¸à¸µà¹à¸¢à¸§à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸ LLM à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¸µà¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¸ ายà¹à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸à¸à¸à¸¸à¸ à¸à¹à¸à¸¡à¸¹à¸¥à¸¥à¸¹à¸à¸à¹à¸²à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¹à¸à¸à¹à¸«à¸§à¸ªà¸¹à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¹à¸¥à¸à¸ ายà¸à¸à¸ à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸ªà¸¹à¸à¸ªà¸¸à¸à¸à¸à¸ AI à¹à¸à¸à¸à¸°à¸à¸µà¹à¸¢à¸±à¸à¸à¸à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸¡à¸±à¹à¸à¸à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥","มัà¸à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸ªà¸²à¸£à¸à¸²à¸¡à¸à¸à¸à¸´à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸à¸¶à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸à¸²à¸°à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸ à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸±à¸§à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¸£à¸¡à¸ªà¸´à¸à¸à¸´à¹à¸à¸à¸à¹à¸£à¸²à¹à¸«à¹à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸à¸µà¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¸à¸¥ API",'LLM à¹à¸¡à¹à¹à¸à¹à¸¡à¸²à¹à¸à¸à¸à¸µà¹à¸à¸ à¹à¸à¹à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸£à¸à¸à¸¥à¸±à¸à¸à¸¶à¹à¸à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸¹à¹à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸§à¸²à¸¡à¸à¸´à¸à¸ªà¸£à¹à¸²à¸à¸ªà¸£à¸£à¸à¹ à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸ à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸²à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸ à¹à¸£à¸²à¸à¸³à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸²à¸à¸ªà¸´à¹à¸à¸à¸´à¹à¸¨à¸©à¹à¸«à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸à¹à¸«à¹à¸à¹à¸à¹à¸à¸±à¹à¸§à¹à¸ - à¸à¸²à¸£ "à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¸ªà¸´à¸à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¹à¹à¸à¸£à¸´à¹à¸ à¸" à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸à¸£à¸´à¸','à¸à¸£à¸¸à¸à¸²à¸à¸¢à¹à¸²à¸¥à¸±à¸à¹à¸¥à¸à¸µà¹à¸à¸°à¸à¸£à¸¶à¸à¸©à¸²à¹à¸£à¸² à¹à¸£à¸²à¸à¸°à¸à¸³à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸«à¸²à¸§à¹à¸² "à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸°à¹à¸£à¹à¸à¹à¸à¹à¸²à¸?" รà¹à¸§à¸¡à¸à¸±à¸à¸à¸¸à¸'],animation:{label:"LLM",sublabel:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ"}},Xv={title:"à¸à¸£à¸´à¸à¸²à¸£",subtitle:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸",services:[{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£",titleEn:"à¹à¸à¹à¸à¸à¸à¹à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£",description:"à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸ AI à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¸à¸à¸ ายà¹à¸ à¹à¸¥à¸°à¸à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ สà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸ LLM à¸à¸£à¸°à¹à¸ ภAPI ภายà¸à¸à¸à¹à¸à¸¢à¸±à¸ LLM ภายà¹à¸à¸à¸à¸à¹à¸à¸£",badges:["à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸²à¸°à¸à¸¸à¸à¸à¸¥","รà¸à¸à¸£à¸±à¸ LLM","à¸à¸§à¸²à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸²à¸à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸"],link:"รายละà¹à¸à¸µà¸¢à¸"},{title:"à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ LLM à¸à¸µà¹à¸ªà¸±à¸à¸à¸²à¹à¸§à¹",titleEn:"à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ LLM ภายà¹à¸à¸à¸à¸à¹à¸à¸£",description:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£ LLM à¸à¸à¸²à¸ 7B à¸à¸¶à¸ 120B à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸à¸à¸²à¸°à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸ à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸
243ารà¹à¸à¹à¸à¸²à¸ LLM à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัยà¹à¸¥à¸°à¸¢à¸·à¸à¸«à¸¢à¸¸à¹à¸ หลีà¸à¹à¸¥à¸µà¹à¸¢à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¹à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ ายà¸à¸à¸",badges:["รà¸à¸à¸£à¸±à¸ 7B-120B","à¸à¸µà¸¢à¹ API à¸à¸à¸à¹à¸«à¹à¹à¸¥à¹à¸§","à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย"],link:"รายละà¹à¸à¸µà¸¢à¸"},{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸§à¸à¹à¸à¸à¸£à¹ RAG à¹à¸¥à¸°à¸à¸±à¸à¸à¸µ",titleEn:"สà¸à¸²à¸à¸±à¸à¸¢à¸à¸£à¸£à¸¡ RAG à¹à¸à¸à¹à¸§à¸à¹à¸à¸à¸£à¹",description:"à¹à¸¢à¸à¹à¸¥à¸°à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥ RAG à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸¥à¸°à¸à¸£à¸£à¸à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸µà¹à¸à¸·à¹à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸£à¸§à¸à¹à¸£à¹à¸§à¹à¸¥à¸°à¹à¸¡à¹à¸à¸¢à¸³",badges:["à¸à¸²à¸£à¹à¸¢à¸à¸à¸±à¸à¸à¸µ","à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸ªà¸¹à¸","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา"],link:"รายละà¹à¸à¸µà¸¢à¸"},{title:"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",titleEn:"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI",description:"à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸£à¸´à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸¢ LLM à¹à¸à¹à¸à¹à¸à¸à¸«à¸¥à¸±à¸ à¹à¸à¸¢à¹à¸à¹ API à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸ ายà¸à¸à¸",badges:["à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸ API","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM","à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸à¸¹à¸£à¸à¸²à¸à¸²à¸£"],link:"รายละà¹à¸à¸µà¸¢à¸"}]},Yv={title:"à¹à¸à¸£à¸à¸à¸²à¸£à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¹à¸à¸¢à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",subtitle:"à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¸à¸±à¸à¸à¸² AI à¹à¸à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸ªà¸²à¸à¸² รวมà¸à¸¶à¸à¸à¸¹à¹à¸à¹à¸§à¸¢à¸«à¸¥à¸²à¸¢à¸ าษา à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸²à¸à¸²à¸¨ LLM à¸à¹à¸à¸à¸à¸´à¹à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย",viewDetails:"à¸à¸¹à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸ â",items:[{title:"à¸à¸¹à¹à¸à¹à¸§à¸¢à¸«à¸¥à¸²à¸¢à¸ าษาà¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"à¸à¸¹à¹à¸à¹à¸§à¸¢à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸ าษาà¹à¸à¸¢ RAG + LLM. à¸à¸³à¸à¸à¸à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸¹à¸à¸à¹à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษา รวมà¸à¸¶à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸, ภาษาà¸à¸±à¸à¸à¸¤à¸©, à¹à¸¥à¸°à¸ าษาà¸à¸µà¸."},{title:"ระà¸à¸à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸²à¸à¸²à¸¨",description:"à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¸à¸¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸¶à¹à¸à¹à¸à¸¢à¹à¸à¹à¸à¸²à¸£à¸à¸à¸à¸³à¸£à¸¹à¸à¹à¸à¸à¸à¸à¸¸à¸à¸£à¸¡à¹à¸§à¸¥à¸²à¹à¸¥à¸° RAG à¹à¸à¸·à¹à¸à¸à¹à¸à¸«à¸²à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸¥à¹à¸²à¸¢à¸à¸¥à¸¶à¸à¸à¸±à¸à¹à¸à¸à¸à¸µà¸"},{title:"à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸ / On-Prem Local LLM",description:"à¹à¸£à¸²à¸ªà¹à¸à¸¡à¸à¸ AI à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸à¸±à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸£à¸à¸´à¸à¸à¸¸à¸ à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸ ายà¹à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸à¸à¸à¸¸à¸ à¸à¹à¸§à¸¢ Open WebUI à¹à¸à¹à¸à¸à¸¸à¸à¹à¸à¹à¸²à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¹à¸ à¸à¹à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸§à¸à¹à¸£à¹à¸§à¸à¹à¸§à¸¢ Ollama/MLX à¹à¸¥à¸°à¹à¸à¹à¸¡à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¢à¸à¸à¸à¸à¸à¸²à¸à¸à¸±à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸¥à¸° UID à¹à¸à¸à¸ªà¸²à¸£à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£à¸à¸°à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ RAG à¸à¸£à¹à¸à¸¡à¸
243ารà¸à¸±à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸©à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸¥à¸à¸³à¸à¸²à¸¡à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¥à¸°à¸à¸±à¸à¸©à¸°à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¹à¸²à¸§ à¸à¸²à¸£à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸ªà¸²à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸£à¸°à¸à¸³ à¸à¸°à¸à¸¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸§à¸à¸à¸¹à¹à¸à¸±à¸à¹à¸à¸£à¸°à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸±à¸à¸©à¸°à¸à¸¹à¸à¹à¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸£à¹ OpenClaw à¹à¸¥à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸²à¸¡à¸à¸±à¹à¸à¸à¸²à¸ Cloudflare edge à¹à¸¥à¸° Nginx à¸à¹à¸à¸à¸à¸´à¹à¸ à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸, à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸©à¸°, à¹à¸¥à¸°à¸à¹à¸¢à¸à¸²à¸¢à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸£à¸°à¸à¸ AI à¹à¸à¸à¸²à¸°à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸±à¹à¸à¹à¸à¹à¸§à¸±à¸à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸"},{title:"à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¸¡à¸²à¸à¸¶à¸à¸§à¸à¹à¸à¸à¸£à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ (AI)",description:"รัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸ NASA API à¹à¸¥à¸°à¹à¸à¸¥à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸§à¸à¹à¸à¸à¸£à¹à¸ LLM สรà¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸¥à¹à¸à¸¢à¸à¸£à¸§à¸ à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£ à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸·à¹à¸à¹à¸à¸¥à¸´à¸"},{title:"à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"รวà¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸§à¸¢ LLM + Python สรà¹à¸²à¸à¹à¸à¸§à¹à¸à¹à¸¡à¸£à¸²à¸à¸² à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸¥à¸²à¸ à¹à¸¥à¸°à¸à¸¥à¸à¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´"},{title:"à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸à¸³à¸à¸²à¸¢à¹à¸à¸à¸à¸°à¸à¸² (à¹à¸«à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹à¸ªà¸µà¹à¹à¸ªà¸²)",description:"สรà¹à¸²à¸à¸à¸£à¸£à¸à¸°à¸à¸à¸à¹à¸ªà¸²à¸«à¸¥à¸±à¸à¸ªà¸µà¹à¸à¸£à¸°à¸à¸²à¸£à¹à¸«à¹à¸à¹à¸à¸à¸à¸°à¸à¸²à¹à¸à¸ าษา Python à¹à¸¥à¸°à¹à¸à¸¥à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¸à¹à¸§à¸¢ LLM. รัà¸à¸à¸´à¸à¸±à¸à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¸à¸²à¸ API à¸à¸²à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹à¹à¸à¸·à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¹à¸¡à¸´à¸à¹à¸à¸à¸à¸°à¸à¸²à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¸à¸²à¸°à¸à¸¸à¸à¸à¸¥"},{title:"Google Workspace AI integration",description:"à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡ LLM à¸à¸±à¸ Gmail, Drive, à¸à¸à¸´à¸à¸´à¸, ฯลฯ AI à¸à¹à¸§à¸¢à¹à¸à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¸µà¹à¸¡à¸¥, à¸à¹à¸à¸«à¸²à¹à¸à¸¥à¹, à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸£à¸²à¸à¹à¸§à¸¥à¸²"},{title:"à¸à¹à¸²à¸§à¹à¸¥à¸ à¸à¸²à¸£à¹à¸à¸¥à¹à¸à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษา",description:"à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸²à¸§à¸à¸²à¸à¸à¸±à¹à¸§à¹à¸¥à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¹à¸à¸¥à¹à¸¥à¸°à¸ªà¸£à¸¸à¸à¹à¸à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษาà¹à¸à¸¢ LLM à¸à¸²à¸£à¹à¸à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¹à¸à¸¢à¸à¸´à¸à¸à¸²à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¹à¸à¸à¸£à¸´à¸à¸"},{title:"à¸à¸¹à¹à¸à¸±à¸à¸à¸²à¸£ AI สำหรัà¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย",description:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸ ัยà¸à¸¸à¸
243à¸à¸²à¸¡à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¢ LLM à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸à¸²à¸£à¸à¸±à¸à¸à¸¹à¹à¸à¸±à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸à¸à¸µà¸à¹à¸à¸¢ RAG"}]},eA={title:"วิà¸à¸µà¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸£à¸à¸à¸²à¸£",headline:"สิà¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸·à¸à¸§à¸´à¸ªà¸±à¸¢à¸à¸±à¸¨à¸à¹",paragraphs:['หมà¸à¸¢à¸¸à¸à¸à¸µà¹à¸à¸§à¸²à¸¡à¹à¸à¸à¸à¹à¸²à¸à¸à¸²à¸à¸ าษาà¹à¸à¹à¸à¸à¸¸à¸à¸ªà¸£à¸£à¸à¸à¹à¸à¸à¸²à¸£à¸à¸³à¸à¸¸à¸£à¸à¸´à¸à¹à¸¥à¹à¸§ à¹à¸¡à¹à¸§à¹à¸²à¹à¸£à¸²à¸à¸°à¹à¸à¹à¸à¸²à¸£à¹à¸à¸¥à¸à¹à¸§à¸¢ AI à¹à¸à¹à¹à¸£à¸²à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¸£à¸à¸²à¸à¸¸à¸£à¸à¸´à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸ 14 ภาษาà¹à¸à¹à¸à¹à¸²à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¸à¸¥à¸±à¸à¸©à¸à¹à¸à¸à¸à¹à¸£à¸² à¸à¸¶à¹à¸à¹à¸à¹à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸£à¹à¸ าà¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹ à¹à¸¡à¹à¹à¸à¹à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¹à¸à¹à¸§à¸¢à¸ าà¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¸·à¹à¸à¸«à¸¥à¸µà¸à¹à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸µà¹à¸à¸´à¸à¸à¸¥à¸²à¸ สิà¹à¸à¹à¸à¸µà¸¢à¸§à¸à¸µà¹à¸ªà¸³à¸à¸±à¸à¸à¸·à¸ "สิà¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸"',"à¹à¸à¸£à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸¢à¸·à¹à¸à¸à¸³à¸à¸à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ หลัà¸à¸à¸²à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸§à¸´à¸ªà¸±à¸¢à¸à¸±à¸¨à¸à¹à¹à¸¥à¸°à¸à¸£à¸°à¹à¸à¹à¸à¸ªà¸³à¸à¸±à¸à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸¢à¸à¸±à¹à¸§à¹à¸à¹à¸¥à¹à¸§ à¸à¸°à¸¡à¸µà¸à¸²à¸£à¸¥à¸à¸à¸²à¸¡à¹à¸à¸à¹à¸à¸à¸à¸¥à¸à¹à¸¡à¹à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥ (NDA) à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸µà¹à¸à¹à¸à¸¡à¸¹à¸¥à¸¥à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¸à¸à¸¸à¸¢à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย à¸à¸²à¸à¸à¸±à¹à¸à¹à¸£à¸²à¸à¸°à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸ªà¸±à¸¡à¸ าษà¸à¹à¸à¸¢à¹à¸²à¸à¸¥à¸°à¹à¸à¸µà¸¢à¸à¹à¸¥à¸°à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸²à¸ ๠à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹ à¹à¸£à¸²à¸à¸°à¸à¸±à¸à¸à¸³à¸à¹à¸à¹à¸ªà¸à¸à¹à¸¥à¸°à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸´à¸¨à¸à¸²à¸à¸à¸à¸à¹à¸à¸£à¸à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¹à¸ าà¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸ à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸à¸£à¸à¸à¸±à¸à¹à¸¥à¹à¸§ à¹à¸£à¸²à¸à¸°à¸à¸±à¸à¸à¸³à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²","à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¹à¸à¸°à¸à¸³à¸à¸±à¹à¸§à¹à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸£à¸²à¸à¸°à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸±à¸à¸ªà¸à¸²à¸à¸à¸²à¸£à¸à¹à¹à¸¥à¸°à¸à¸²à¸£à¸²à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸¢à¸·à¸à¸«à¸¢à¸¸à¹à¸ à¹à¸¡à¹à¸§à¹à¸²à¸à¸¸à¸à¸à¸°à¸à¸¢à¸¹à¹à¸à¸µà¹à¹à¸à¹à¸à¹à¸¥à¸ à¹à¸¡à¹à¸§à¹à¸²à¸à¸¸à¸à¸à¸°à¸à¸¹à¸à¸ าษาà¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸à¹à¸à¸²à¸¡ ภาà¸à¹à¸¥à¸° AI à¸à¸°à¸à¹à¸§à¸¢à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸à¸à¸à¸¸à¸ à¸à¸³à¹à¸¡à¹à¸¡à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸£à¸²à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸à¸¥à¸²à¸à¹à¸à¸§à¸«à¸à¹à¸²à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸¡à¸²à¸à¹à¸à¸à¸¥à¹à¸°? à¹à¸«à¹ telet.ai à¹à¸à¹à¸à¸à¸±à¸à¸à¸¡à¸´à¸à¸£à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸£à¸¹à¸à¸£à¹à¸²à¸à¹à¸«à¹à¸à¸±à¸à¹à¸à¹à¸à¸µà¸¢à¸à¸à¸à¸à¸¸à¸"],cards:[{title:"à¸à¸²à¸£à¸£à¸±à¸à¸à¸±à¸ / à¸à¹à¸à¸à¸à¸¥à¸à¹à¸¡à¹à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥",description:"หลัà¸à¸à¸²à¸à¸à¸²à¸£à¸à¸´à¸à¸²à¸£à¸à¸²à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸¥à¹à¸¥à¹à¸§ à¸à¸°à¸¡à¸µà¸à¸²à¸£à¸¥à¸à¸à¸²à¸¡à¹à¸à¸à¹à¸à¸à¸à¸¥à¸à¹à¸¡à¹à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¹à¹à¸£à¸²à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸ªà¸à¸²à¸¢à¹à¸"},{title:"à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸",description:"มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¹à¸ªà¸à¸à¹à¸¥à¸°à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸ าà¸à¹à¸§à¹à¹à¸«à¹à¹à¸¥à¹à¸§ รà¸à¸à¸£à¸±à¸ 14 ภาษา à¸à¸¸à¸à¸à¸¶à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¸à¸±à¸à¸§à¸¥à¹à¸£à¸·à¹à¸à¸à¸ าษา"},{title:"à¸à¸²à¸£à¸ªà¸¸à¹à¸¡à¸à¸±à¸§à¸à¸¢à¹à¸²à¸ & à¹à¸£à¸´à¹à¸¡à¸à¹à¸",description:"à¹à¸£à¸²à¸à¸°à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¸à¸³à¹à¸à¸´à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸à¸à¸¥à¸à¸à¸±à¸"},{title:"à¸à¸²à¸£à¸à¸±à¸à¸à¸², à¸à¸²à¸£à¸à¸à¸ªà¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£",description:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¹à¸à¸¥à¹ à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¹à¸à¸à¸à¸à¸¶à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸"}]},aA={badge:"à¸à¸£à¸à¸µà¸¨à¸¶à¸à¸©à¸²",title:"à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¹à¸à¸°à¸à¸³ AI",items:[{title:"à¹à¸à¸¥à¸¹à¸à¸±à¸à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸¥à¸°à¸¥à¸à¸à¹à¸à¸à¸¸à¸",subtitle:"ลà¸à¸à¸£à¸´à¸¡à¸²à¸à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸§à¸±à¸à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸¡à¸¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¸à¸£à¸à¸´à¸à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹",description:'à¸à¸¸à¸£à¸à¸´à¸à¸à¸à¸²à¸à¸à¸¥à¸²à¸à¹à¸¥à¸°à¸à¸à¸²à¸à¸¢à¹à¸à¸¡ (SMEs) à¸à¸³à¸à¸§à¸à¸¡à¸²à¸à¹à¸à¸à¸´à¸à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¸à¸²à¸£à¸à¸²à¸à¹à¸à¸¥à¸à¹à¸£à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸²à¸à¸à¸µà¹à¸¢à¸²à¸à¸¥à¸³à¸à¸²à¸ à¹à¸¡à¹à¸§à¹à¸²à¸à¸°à¸¡à¸µà¸à¸²à¸£à¸à¹à¸²à¸à¸à¸¸à¸à¸¥à¸²à¸à¸£à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§à¸à¹
243à¸à¸²à¸¡ à¸à¹à¸²à¹à¸à¹à¸à¹à¸²à¸¢à¹à¸à¸à¸²à¸£à¸à¸¶à¸à¸à¸à¸£à¸¡à¸à¹à¸ªà¸¹à¸ à¹à¸¥à¸°à¸¢à¸±à¸à¸¡à¸µà¸à¸±à¸à¸«à¸²à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸±à¸à¸£à¸²à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸¸à¸à¸¥à¸²à¸à¸£à¹à¸§à¹à¹à¸à¹ à¹à¸à¸¥à¸¹à¸à¸±à¸ AI à¸à¸à¸à¹à¸£à¸²à¸à¹à¸§à¸¢à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸§à¸±à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸£à¸°à¸¡à¸²à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸²à¸£à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¸ªà¸²à¸£à¸ ายà¹à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¹à¸¥à¸°à¹à¸à¸à¸ªà¸²à¸£à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸¹à¹à¸à¹à¸§à¸¢ AI à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¹à¸à¸¢à¹à¸à¹à¹à¸§à¸¥à¸²à¸¡à¸²à¸ 24 à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¹à¸à¸§à¸±à¸ 365 วัà¸à¸à¹à¸à¸à¸µ à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ à¸à¸£à¸´à¸©à¸±à¸à¸à¸µà¹à¹à¸à¹à¸à¸³ AI มาà¹à¸à¹à¹à¸à¹à¸à¸£à¸°à¸«à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸¥à¸à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸¡à¸µà¸à¸±à¸¢à¸ªà¸³à¸à¸±à¸ à¸à¸²à¸ "à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¸à¸¸à¸à¸à¸¥" สู๠"à¸à¸²à¸£à¸£à¹à¸§à¸¡à¸¡à¸·à¸à¸à¸±à¸ AI" à¹à¸£à¸²à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸à¸´à¸£à¸¹à¸à¸ªà¹à¸à¸¥à¹à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸'},{title:"ระà¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸¥à¸¹à¸à¸à¹à¸²",subtitle:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸¥à¸à¸ 24 à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¹à¸§à¸¢à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¶à¸à¸à¸à¹à¸à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¹à¸¥à¸°à¸¥à¸à¸à¹à¸à¸à¸¸à¸à¹à¸£à¸à¸à¸²à¸",description:"à¹à¸à¸à¸à¸à¸ AI à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´, à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¹à¸£à¸µà¸¢à¸à¸à¸³à¸à¸²à¸¡, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษา à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษา à¸à¸¹à¹à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸à¸¡à¸à¸¸à¸©à¸¢à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¡à¸¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸£à¸à¸µà¸à¸±à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¸à¸à¸ าà¸à¸à¸²à¸£à¸à¸£à¸´à¸à¸²à¸£à¸¥à¸¹à¸à¸à¹à¸² ยà¸à¸£à¸°à¸à¸±à¸à¸à¸¸à¸à¸ าà¸à¸à¸²à¸£à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸µà¸à¸à¸±à¹à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¸à¹à¸§à¸¢ AI"},{title:"à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¹à¸à¸·à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸ªà¸²à¸£",subtitle:"สิà¸à¸à¸£à¸±à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸ ายà¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸à¸¸à¸à¸à¸",description:'à¸à¸¹à¹à¸¡à¸·à¸à¸à¸¢à¸¹à¹à¸à¸µà¹à¹à¸«à¸?" มีà¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¸à¸²à¸°à¸à¸¹à¹à¸¡à¸²à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸à¸à¸µà¹à¸£à¸¹à¹" - à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸£à¸¹à¸à¸à¸£à¸£à¸¡à¹à¸à¹à¸à¸à¸¸à¸à¸ªà¸£à¸£à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ RAG (à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸²à¸£à¸à¹à¸à¸«à¸²) à¸à¸à¸à¹à¸£à¸²à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸à¸²à¸à¸à¸¹à¹à¸¡à¸·à¸à¸ ายà¹à¸ à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢ à¹à¸¥à¸°à¹à¸à¸à¸ªà¸²à¸£à¹à¸à¸à¸à¸µà¸à¹à¸à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸¡à¸à¸³à¸à¸²à¸¡à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´ มัà¸à¸à¹à¸§à¸¢à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸²à¸£à¸à¸¶à¸à¸à¸à¸£à¸¡à¸à¸à¸±à¸à¸à¸²à¸à¹à¸«à¸¡à¹ à¸à¸³à¹à¸«à¹à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸¢à¸¹à¹à¸à¸à¸à¸à¸à¸±à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸´à¸
243ิà¸à¸±à¸¥ à¹à¸¥à¸°à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¹à¸à¸à¸à¸à¹à¸²à¸à¹ à¹à¸à¹à¸à¹à¸à¹à¸à¹ à¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¸à¸²à¸¡à¹à¸à¸´à¸¡ à¸à¸±à¸à¸à¸±à¹à¸à¸à¸¶à¸à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸ªà¸²à¸£à¹à¸«à¸¡à¹'},{title:"à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸ าà¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸à¸¢à¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¢à¸²à¸à¸²à¸¥",subtitle:"à¸à¸§à¸à¸à¸²à¸à¸µà¹à¹à¸à¹à¸²à¸£à¸°à¸§à¸±à¸, à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¥à¸à¸ 24 à¸à¸±à¹à¸§à¹à¸¡à¸à¹à¸à¸¢ AI",description:"à¹à¸à¸ªà¸²à¸à¸²à¸à¸²à¸£à¹à¸à¸à¸¢à¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¢à¸²à¸à¸²à¸¥ à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸¹à¹à¸¥à¸à¸¹à¹à¸à¹à¸§à¸¢à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸¡à¸²à¸à¸à¹à¸§à¸¢à¸à¸³à¸à¸§à¸à¸à¸¸à¸à¸¥à¸²à¸à¸£à¸à¸µà¹à¸à¸³à¸à¸±à¸à¸£à¸°à¸à¸ AI วิà¹à¸à¸£à¸²à¸°à¸«à¹à¸ าà¸/วิà¸à¸µà¹à¸à¸à¸à¸à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¸à¸à¸à¸´à¸à¸²à¸à¸ าà¸à¸à¸¥à¹à¸à¸à¹à¸à¹à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ ระà¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸à¹ à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸±à¸à¸à¸µà¸«à¸²à¸à¸à¸¹à¹à¸à¹à¸§à¸¢à¸¥à¹à¸¡à¸«à¸£à¸·à¸à¹à¸à¸´à¸à¸«à¸¥à¸à¸à¸²à¸ à¹à¸¥à¸°à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸à¸à¸ªà¸ าà¸à¸£à¹à¸²à¸à¸à¸²à¸¢à¸à¹à¸²à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸ªà¸µà¸«à¸à¹à¸² à¸à¹à¸§à¸¢à¸à¸²à¸£à¸¥à¸à¸ าระà¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸£à¸²à¹à¸à¹à¸§à¸¥à¸²à¸à¸¥à¸²à¸à¸à¸·à¸ à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸¸à¸à¹à¸à¸´à¸à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸¸à¸à¸¥à¸²à¸à¸£à¸ªà¸²à¸¡à¸²à¸£à¸à¸¡à¸¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸²à¸£à¸à¸¹à¹à¸¥à¸à¸¹à¹à¸à¹à¸§à¸¢à¸«à¸¥à¸±à¸à¹à¸à¹à¸¡à¸²à¸à¸à¸¶à¹à¸ ระà¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸§à¹à¸à¸µà¹à¸ªà¸à¸²à¸à¸à¸µà¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§"}]},nA={title:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¹à¸à¹à¸à¸¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£ à¹à¸¥à¸°à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸²à¸£à¸à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² PoC à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸ LLM à¹à¸à¸à¸·à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸µà¸à¸à¹à¸§à¸¢",openForm:"à¹à¸à¸à¸à¸à¸£à¹à¸¡à¹à¸à¸´à¸",closeForm:"à¸à¸´à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡",form:{name:"à¸à¸·à¹à¸à¸à¸à¸à¸à¸¸à¸",namePlaceholder:"à¸à¸²à¹à¸£à¹ ยามาà¸à¸°",email:"à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥",emailPlaceholder:"[email protected]",subject:"หัวà¸à¹à¸",subjectPlaceholder:"หัวà¸à¹à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡à¸à¸à¸à¸à¸¸à¸",message:"à¸à¹à¸à¸à¸§à¸²à¸¡",messagePlaceholder:"à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸à¸à¸à¸²à¸¡à¸à¸à¸à¸à¸¸à¸",required:"*",submit:"สà¹à¸",submitting:"à¸à¸³à¸¥à¸±à¸à¸ªà¹à¸...",turnstileMessage:'à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸¡à¸µà¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸ "à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸«à¸¸à¹à¸à¸¢à¸à¸à¹" à¹à¸à¸·à¹à¸à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥',turnstileError:"à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¸¥à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹ à¸à¸£à¸¸à¸à¸²à¸¥à¸à¸à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹",errorRetry:"à¸à¸£à¸¸à¸à¸²à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸"}},tA={brand:"telet.ai",tagline:"à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸«à¸¥à¸²à¸¢à¸£à¸°à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"à¸à¸§à¸±à¸à¸à¸£à¸£à¸¡à¸à¸¸à¸£à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¸±à¸§à¹à¸à¸ AI สรà¹à¸²à¸à¸à¸¸à¸à¸à¹à¸²à¸à¸²à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²",sections:{product:{title:"สิà¸à¸à¹à¸²",features:"à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´",benefits:"à¸à¸à¸à¸³",testimonials:"à¸à¸³à¸£à¸±à¸à¸£à¸à¸à¸à¸²à¸à¸¥à¸¹à¸à¸à¹à¸²"},services:{title:"à¸à¸£à¸´à¸à¸²à¸£",agentDev:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£",onPremise:"à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ LLM à¸à¸µà¹à¸ªà¸±à¸à¸à¸²à¹à¸§à¹",vectorRag:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸§à¸à¹à¸à¸à¸£à¹ RAG à¹à¸¥à¸°à¸à¸±à¸à¸à¸µ",aiApp:"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹"},company:{title:"à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸à¸£",about:"à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸ telet.ai",profile:"à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸¹à¹à¹à¸à¸",contact:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²"},process:{title:"วิà¸à¸µà¸à¸µà¹à¹à¸£à¸²à¸à¸³à¹à¸à¸´à¸à¸à¸¸à¸£à¸à¸´à¸",hearing:"à¸à¸²à¸£à¸£à¸±à¸à¸à¸±à¸ / à¸à¹à¸à¸à¸à¸¥à¸à¹à¸¡à¹à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥",planning:"à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸",sampling:"à¸à¸²à¸£à¸ªà¸¸à¹à¸¡à¸à¸±à¸§à¸à¸¢à¹à¸²à¸ & à¹à¸£à¸´à¹à¸¡à¸à¹à¸",development:"à¸à¸²à¸£à¸à¸±à¸à¸à¸², à¸à¸²à¸£à¸à¸à¸ªà¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£"}},copyright:"© 2026 à¹à¸à¹à¸¥à¸.à¹à¸. สà¸à¸§à¸à¸¥à¸´à¸à¸ªà¸´à¸à¸à¸´à¹.",legal:{privacy:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§",terms:"à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸",cookies:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸¸à¸
243à¸à¸µà¹"}},iA={title:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸¸à¸à¸à¸µà¹",subtitle:"สà¹à¸§à¸à¸à¸µà¹à¸à¸à¸´à¸à¸²à¸¢à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸·à¹à¸ ๠(Cloudflare / Google Analytics) à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹",lastUpdated:"à¸à¸±à¸à¹à¸à¸à¸¥à¹à¸²à¸ªà¸¸à¸: 22 มà¸à¸£à¸²à¸à¸¡ 2569",intro:'telet.ai ("à¹à¸£à¸²", "à¸à¸§à¸à¹à¸£à¸²", "à¸à¸à¸à¹à¸£à¸²") ("à¹à¸£à¸²") à¸à¸²à¸à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¸à¸¥à¹à¸²à¸¢à¸à¸±à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹ รวมà¸à¸¶à¸à¹à¸à¸·à¹à¸à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹ à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¸±à¹à¸à¸à¹à¸²à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¸´à¹à¸¨à¸©à¸à¸à¸à¹à¸£à¸²à¹à¸à¸à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸£à¹à¸à¸©à¸à¸² (à¹à¸¡à¹à¸§à¹à¸² Cloudflare à¹à¸¥à¸° Google Analytics à¸à¸²à¸à¸à¸±à¹à¸à¸à¹à¸²à¸à¸¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¸à¸¥à¹à¸²à¸¢à¸à¸±à¸à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸§à¸à¹à¸à¸²)',sections:{what:{title:"1. à¸à¸¸à¸à¸à¸µà¹à¸à¸·à¸à¸à¸°à¹à¸£?",description:"à¸à¸¸à¸à¸à¸µà¹à¸à¸·à¸à¹à¸à¸¥à¹à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸à¸²à¸à¹à¸¥à¹à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¹à¸à¹à¸§à¹à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸§à¹à¸à¹à¸à¸à¹"},howWeUse:{title:"วัà¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¸à¸à¸à¹à¸£à¸² à¹à¸à¹à¸à¸à¹à¸",description:"à¹à¸£à¸²à¸à¸²à¸à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹ ฯลฯ à¹à¸à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹",items:["à¹à¸à¸·à¹à¸à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸ªà¸à¸µà¸¢à¸£","à¹à¸à¸·à¹à¸à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸¥à¸°à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸¢à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸²à¸à¸£à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢","à¹à¸à¸·à¹à¸à¸à¸³à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸ªà¸à¸²à¸à¸°à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸§à¸¢à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹"]},googleAnalytics:{title:"3. à¸à¸²à¸£à¹à¸à¹ Google Analytics",description:"à¹à¸£à¸²à¹à¸à¹ Google Analytics 4 (GA4) à¸à¸µà¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸¢ Google LLC สำหรัà¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸",items:["à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸²à¸à¸£à¸§à¸¡à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¡ à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸à¹ à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¸¡à¸²à¸à¸à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸´à¸ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¸à¸à¸à¸£à¸à¹à¹à¸¥à¸°à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹ ฯลฯ","à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸à¸±à¸§à¸à¸à¹à¸à¹à¹à¸à¸¢à¸à¸£à¸ (à¸à¸·à¹à¸, à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥, à¹à¸à¹à¸à¸à¹à¸) à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸£à¸ªà¹à¸à¹à¸à¸¢à¸±à¸ Google Analytics.","à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸¢ Google à¸à¸¢à¸¹à¹à¸ ายà¹à¸à¹à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸ Google"]},cloudflare:{title:"4. à¸à¸²à¸£à¹à¸à¹ Cloudflare",description:"à¹à¸£à¸²à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸ Cloudflare, Inc. สำหรัà¸à¸à¸²à¸£à¸ªà¹à¸à¸¡à¸à¸à¹à¸¥à¸°à¸¡à¸²à¸à¸£à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹ Cloudflare à¸à¸²à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸¥à¸°à¸à¹à¸²à¸à¸à¸´à¸à¸à¸¸à¸à¸à¸µà¹ ฯลฯ à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¹à¸ à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸ DDoS à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸à¸",items:["วัà¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¸«à¸¥à¸±à¸à¸à¸·à¸à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£ à¹à¸¥à¸°à¹à¸¡à¹à¹à¸à¹à¸¡à¸µà¹à¸à¸à¸à¸²à¹à¸«à¹à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸²à¸£à¹à¸ªà¸à¸à¹à¸à¸©à¸à¸²","à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸ Cloudflare à¸à¸¢à¸¹à¹à¸ ายà¹à¸à¹à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸ Cloudflare"]}
243,noSpecialCookies:{title:"5. à¸à¸¸à¸à¸à¸µà¹à¸ªà¸¹à¸à¸£à¸à¸´à¹à¸¨à¸©à¸à¸à¸à¹à¸£à¸²à¹à¸à¸",description:"à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¸±à¹à¸à¸à¹à¸²à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¹à¸¨à¸©à¸à¸à¸à¹à¸£à¸²à¹à¸à¸à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸£à¹à¸à¸©à¸à¸²à¸à¸²à¸¡à¸à¸¤à¸à¸´à¸à¸£à¸£à¸¡à¸«à¸£à¸·à¸à¸à¸·à¹à¸ ๠à¸à¸²à¸£à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹ ฯลฯ à¸à¸³à¸à¸±à¸à¸à¸¢à¸¹à¹à¹à¸à¸µà¸¢à¸à¸à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹ à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸²à¸à¸±à¹à¸"},choices:{title:"6. à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸µà¹ (ยà¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸¢à¸´à¸à¸¢à¸à¸¡)",description:"หาà¸à¸à¸¸à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ à¸à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹",items:["à¸à¸¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹","หาà¸à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸§à¸±à¸à¸à¸¥à¹à¸à¸¢ Google Analytics à¹à¸à¸£à¸à¹à¸à¹à¸§à¸´à¸à¸µà¸à¸²à¸£à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¸¢ Google","à¸à¸²à¸£à¹à¸à¹à¹à¸«à¸¡à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹ ฯลฯ à¸à¸²à¸à¸à¸³à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¹à¸à¹"]},changes:{title:"7. à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹",description:"à¹à¸£à¸²à¸à¸²à¸à¹à¸à¹à¹à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸±à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸à¸ªà¸à¸à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸à¸à¸à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸°à¸à¹à¸à¸à¸±à¸à¸à¸±à¸ หรืà¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹ à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸¥à¹à¸§à¸à¸°à¸¡à¸µà¸à¸¥à¸à¸±à¸à¸à¸±à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸£à¹à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹"},contact:{title:"8. à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"หาà¸à¸à¸¸à¸à¸¡à¸µà¸à¸³à¸à¸²à¸¡à¹à¸ ๠à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹ à¸à¸£à¸¸à¸à¸²à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²à¸à¸µà¹",company:"telet.ai",contactLink:"à¹à¸à¸à¸µà¹à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸ªà¸à¸à¸à¸²à¸¡"}}},sA={hero:{title:"à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸ telet.ai",subtitle:"à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸² AI à¸à¸¢à¹à¸²à¸à¸£à¸à¸à¸à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸¢à¸à¸µà¸¡à¸à¸à¸²à¸à¹à¸¥à¹à¸à¸à¸µà¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¹à¸²à¸à¸±à¹à¸"},story:{title:"à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸à¸£",content:"telet.ai à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸²à¸à¸à¸³à¸à¸²à¸¡à¸«à¸à¸¶à¹à¸à¸§à¹à¸² à¸à¸³à¹à¸¡à¸à¸£à¸´à¸©à¸±à¸à¸à¸³à¸à¸§à¸à¸¡à¸²à¸à¸à¸¶à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸¥à¸¶à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸´à¸ªà¸±à¸¡à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸¡à¹à¸à¹à¸§à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸±à¸à¸¥à¸¹à¸à¸à¹à¸²à¸à¸à¸à¸à¸à¹à¸à¹? à¸à¸µà¸¡à¸à¸²à¸à¸à¸¶à¹à¸à¸à¸³à¹à¸à¸¢à¸à¸¹à¹à¹à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸à¸²à¸£à¸§à¸´à¸à¸±à¸¢ AI à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£ à¹à¸à¹à¸à¸¹à¸à¸à¹à¸à¸à¸±à¹à¸à¸à¸¶à¹à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸à¸¸à¸à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¸£à¸´à¸©à¸±à¸à¸à¸à¸²à¸à¹à¸«à¸à¹ à¸à¸±à¹à¸à¸à¸·à¸à¹à¸«à¸à¸¸à¸à¸¥à¸à¸µà¹à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸´à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸²à¸à¸²à¸¢à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸¥à¸¶à¸à¸à¸¶à¹à¸à¹à¸¥à¸°à¸à¸³à¹à¸ªà¸à¸à¹à¸à¸à¸²à¸°à¹à¸à¸¥à¸¹à¸à¸±à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸à¸£à¸´à¸ ๠à¹à¸à¹à¸²à¸à¸±à¹à¸ à¸à¸¸à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸£à¸²à¸à¸·à¸à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸ªà¸à¸²à¸à¸±à¸à¸¢à¸à¸£à¸£à¸¡à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸à¸à¸µà¹à¸à¸ªà¸²à¸à¸£à¸§à¸¡ LLM à¹à¸à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¸´à¹à¸à¹à¸¥à¸° LLM à¸à¸à¸à¸¥à¸²à¸§à¸à¹à¹à¸à¹à¸²à¸à¹à¸§à¸¢à¸à¸±à¸ à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸à¸±à¸à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸à¹à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸¥à¸²à¸§à¸à¹à¸à¸µà¹à¹à¸¢à¸à¹à¸à¸à¸²à¸° à¹à¸à¸à¸à¸°à¸à¸µà¹à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸§à¸¢ AI à¸à¸±à¹à¸à¸ªà¸¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¢à¸²à¸¢à¹à¸à¹ à¹à¸£à¸²à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£ CLI สำหรัà¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¹à¸¥à¸° UI à¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸±à¸à¸à¸²à¸à¹à¸à¸§à¸«à¸à¹à¸² สรà¹à¸²à¸à¸£à¸²à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ AI à¸à¸±à¹à¸§à¸à¸±à¹à¸à¸à¸à¸à¹à¸à¸£à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¹à¸£à¸²à¸¡à¸¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸à¸à¸²à¸à¸à¸à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸¡à¸²à¸à¸à¸§à¹à¸²à¸à¸²à¸£à¹à¸à¹à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸¥à¹à¸³à¸ªà¸¡à¸±à¸¢à¸à¸µà¹à¸ªà¸¸à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸à¸à¸²à¸¡à¸à¸à¸à¸£à¸°à¸¡à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸´à¸à¸²à¸£à¸à¸²à¹à¸à¸µà¸¢à¸à¸«à¸à¸¶à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸§à¸²à¸¡à¹à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸à¹à¸à¸à¹à¸à¸à¸¸à¸ à¹à¸£à¸²à¸ªà¹à¸à¸¡à¸à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£ à¹à¸à¸à¸£à¸´à¸¡à¸²à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£ à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸² AI à¸à¸¢à¹à¸²à¸à¹à¸ªà¹à¹à¸à¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¸à¹à¸à¹à¸à¹à¹à¸à¸£à¸²à¸°à¹à¸£à¸²à¹à¸à¹à¸à¸à¸µà¸¡à¹à¸¥à¹à¸à¹à¸¥à¸°à¹à¸ªà¹à¹à¸à¹à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸ à¹à¸à¸·à¹à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¸à¸²à¸à¹à¸à¸¥à¸à¸à¸¸à¸à¸¥à¸²à¸à¸£à¹à¸¥à¸°à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸ à¸à¸±à¹à¸à¸à¸·à¸à¸à¸³à¸¡à¸±à¹à¸à¸ªà¸±à¸à¸à¸²à¸à¸²à¸ telet.ai"},representative:{title:"à¸à¸±à¸§à¹à¸à¸à¸à¸²à¸ telet.ai labo",name:"à¹à¸à¸à¸´à¸à¸° à¹à¸à¸à¸¸à¸à¸´à¸à¸¸à¸¡à¸´",tagline:"สูà¹à¸à¹à¸à¸à¸à¹à¸² สูà¹à¸à¹à¸à¸à¸à¸°à¹à¸¥ à¹à¸¥à¸°à¸ªà¸¹à¹à¹à¸à¹à¸ - à¸à¸§à¸²à¸¡à¸«à¸¥à¸à¹à¸«à¸¥à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸² AI à¸à¸µà¹à¹à¸à¸´à¸à¸à¸²à¸à¸à¸²à¸à¸µà¸à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸£à¸¡à¸à¸²",paragraphs:['à¹à¸à¸à¸²à¸à¸°à¸à¸à¸µà¸à¸à¸±à¸à¸à¸´à¸à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥ (PPL) à¹à¸¥à¸°à¸à¸¹à¹à¸à¸·à¸à¹à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸´à¸à¹à¸£à¸·à¸ à¸à¸¡à¹à¸à¹à¹à¸à¸à¸´à¸à¸à¸±à¸à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¸à¸±à¹à¸à¹à¸à¸à¸²à¸à¸²à¸¨à¹à¸¥à¸°à¹à¸à¸à¸°à¹à¸¥à¸¡à¸²à¹à¸à¹à¸à¹à¸§à¸¥à¸²à¸«à¸¥à¸²à¸¢à¸à¸µ à¹à¸à¸«à¹à¸à¸à¸à¸±à¸à¸à¸´à¸à¹à¸¥à¸°à¸«à¹à¸à¸à¸à¸§à¸à¸à¸¸à¸¡à¹à¸£à¸·à¸ à¸à¸¡à¹à¸à¹à¸²à¸à¸¹à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸à¸à¸à¸²à¸£à¸à¸¡à¸´à¹à¸à¸à¸£à¹ à¹à¸à¸¥à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¹à¸ªà¹à¸à¸à¸§à¸²à¸¡à¸à¸à¸à¸²à¸à¸²à¸¨ à¹à¸¥à¸°à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸
243ัà¸à¸à¸²à¸£à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸à¸à¸¥à¸¡à¹à¸¥à¸°à¹à¸¡à¸ à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸ªà¸¶à¸à¸à¸à¸à¸à¸²à¸£ "à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸£à¸°à¹à¸¡à¸´à¸ à¹à¸¥à¸°à¸¥à¸à¸¡à¸·à¸à¸à¸³" à¸à¸µà¹à¸à¸¡à¸à¸±à¸à¸à¸²à¸à¸¶à¹à¸à¸à¹à¸²à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¹à¸³à¹ à¸à¸µà¹à¸à¸·à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¡à¹à¸à¸§à¸±à¸à¸à¸µà¹','à¸à¸±à¸à¹à¸£à¸´à¹à¸¡à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¹à¸à¸£à¹à¸à¸£à¸¡ Python à¸à¸à¸à¸à¸²à¸¢à¸¸ 57 à¸à¸µ à¹à¸£à¸à¸à¸¹à¸à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸¡à¸²à¸à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¢à¸²à¸à¸£à¸¹à¹à¸à¸¢à¸²à¸à¹à¸«à¹à¸à¸à¸£à¸£à¸¡à¸à¸² à¹à¸à¹à¸à¸±à¸à¸à¸µà¸à¸µà¹à¸à¸±à¸à¹à¸£à¸´à¹à¸¡à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸ à¸à¸±à¸à¸à¹à¸«à¸¥à¸à¹à¸«à¸¥à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹ à¸à¸±à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¹à¸§à¸¢à¸¡à¸·à¸à¸à¸à¸à¸à¸±à¸§à¹à¸à¸ à¹à¸à¹à¸à¸²à¸ à¹à¸¥à¸°à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸¡à¸±à¸à¹à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸µà¹ à¸à¸¡à¹à¸à¹à¸à¸£à¸°à¸«à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸à¸ªà¸´à¹à¸à¸à¸²à¸à¸à¸¢à¹à¸²à¸ à¹à¸à¹à¸à¸£à¸à¸à¸²à¸£à¸à¸µà¹à¸à¹à¸²à¸à¸¡à¸² à¸à¸¡à¸¡à¸µà¸ªà¹à¸§à¸à¸£à¹à¸§à¸¡à¹à¸à¸à¸²à¸à¸°à¸à¸¹à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸§à¸´à¸¨à¸§à¸à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸¹à¸à¸à¸³à¹à¸à¸¢à¸à¸¹à¹à¸à¸·à¹à¸à¹à¸ªà¸¡à¸ à¸à¸¢à¹à¸²à¸à¹à¸£à¸à¹à¸à¸²à¸¡ à¹à¸¡à¸·à¹à¸à¸à¸¡à¹à¸£à¸´à¹à¸¡à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸à¹à¸§à¸¢à¸à¸±à¸§à¹à¸à¸ à¸à¸¡à¹à¸£à¸´à¹à¸¡à¸¡à¸à¸à¹à¸«à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸±à¸à¸«à¸² "à¸à¸µà¹à¸à¸·à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸à¸à¸§à¸" หรืภ"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¢à¸²à¸¢à¹à¸à¹" - à¸à¹à¸§à¸¢à¸à¸²à¸£à¸¡à¸µà¸¡à¸¸à¸¡à¸¡à¸à¸à¸à¸à¸à¸§à¸´à¸¨à¸§à¸à¸£ à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸«à¸à¸±à¸à¸à¸¶à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¹à¸¡à¸à¸¶à¹à¸à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸',"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸²à¸à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸à¸¢à¸à¸²à¸£à¸à¸ªà¸²à¸à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸ าà¸à¸ªà¸à¸²à¸¡à¸à¸±à¸à¸§à¸´à¸à¸¢à¸²à¸¨à¸²à¸ªà¸à¸£à¹à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸¥à¸°à¹à¸à¸£à¸à¸à¸²à¸£à¸à¸à¸¥à¸à¸à¸à¹à¸²à¸ ๠à¹à¸¡à¸·à¹à¸à¸à¸±à¸à¸¢à¸±à¸à¸à¸à¸à¸³à¸à¸²à¸à¸à¹à¸§à¸¢à¸¡à¸·à¸à¸à¸à¸à¸à¸±à¸§à¹à¸à¸à¸à¹à¸à¹à¸ à¸à¸±à¸à¸à¹à¹à¸£à¸´à¹à¸¡à¹à¸à¸·à¹à¸à¸¡à¸±à¹à¸à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¹à¸²à¸ªà¸à¹à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸à¹à¸¢à¸±à¸à¸à¹à¸à¸à¸¡à¸µà¸à¸¹à¹à¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸à¸à¸","à¹à¸à¹à¸²à¸«à¸¡à¸²à¸¢à¸à¸à¸à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¹à¸à¸²à¸¡à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸¥à¹à¸³à¸ªà¸¡à¸±à¸¢ à¹à¸£à¸²à¹à¸à¸à¸´à¸à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¹à¸¥à¸°à¸à¸à¸à¸£à¸°à¸¡à¸²à¸à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸² à¹à¸¥à¸°à¸ªà¹à¸à¸¡à¸à¸à¹à¸à¸à¸²à¸°à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸à¸£à¸´à¸à¹à¸à¸£à¸²à¸à¸²à¸à¸µà¹à¸ªà¸¡à¹à¸«à¸à¸¸à¸ªà¸¡à¸à¸¥ à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¹à¸à¸£à¸à¸à¸²à¸à¹à¸«à¸à¹ à¸à¸±à¸à¸à¸±à¹à¸à¹à¸£à¸²à¸à¸¶à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¹à¸à¹à¸¥à¸°à¸£à¸²à¸¢ à¹à¸£à¸²à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸à¸à¸ªà¸±à¸à¸à¸¡ - à¸à¸±à¹à¸à¸à¸·à¸à¹à¸«à¸à¸¸à¸à¸¥à¸à¸µà¹à¹à¸£à¸²à¹à¸à¸´à¸à¸à¸±à¸§ telet.ai"]},contact:{title:"à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸£à¸²",company:"telet.ai labo",ceo:"à¸à¸¹à¹à¹à¸à¸: à¹à¸à¸à¸¸à¸à¸´à¸à¸¹à¸¡à¸´ à¹à¸à¸à¸°",button:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²"},studios:{tokyo:{title:"à¹à¸à¹à¸à¸µà¸¢à¸§ สà¸à¸¹à¸à¸´à¹à¸",address:"#301 à¹à¸à¸´à¸£à¹à¸ª ฮิลส๠à¹à¸ มูà¸à¸²à¸à¸´à¹à¸à¸
243าà¹à¸à¸à¸´, 3-3-21 à¸à¸¸à¸à¸¸à¸à¸´à¸¡à¸´à¸à¸²à¸¡à¸´à¹à¸, à¹à¸à¸à¸²à¹à¸à¸à¸´-à¸à¸´, à¹à¸à¹à¸à¸µà¸¢à¸§ 184-0014, à¸à¸µà¹à¸à¸¸à¹à¸"}}},rA={title:"à¸à¸à¸£à¹à¸à¹à¸à¸¥à¸´à¹à¸",subtitle:"à¸à¸¹à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¸à¸à¸à¹à¸£à¸²à¹à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",techStackLabel:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸ªà¹à¸à¸à¸ªà¹",viewProject:"à¸à¸¹à¹à¸à¸£à¸à¸à¸²à¸£",privateProject:"à¹à¸à¸£à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¸à¸±à¸§",visualizationLabel:"à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥",cta:{title:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"à¸à¸£à¸¸à¸à¸²à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²à¹à¸à¸·à¹à¸à¸«à¸²à¸£à¸·à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸à¸£à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¸ªà¸à¸à¸à¸²à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸à¸à¸´à¸à¹à¸à¹à¸à¸¥à¸à¸à¹à¸§à¸¥à¸²",button:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²"},projects:{"traffic-route-ai":{title:"ระà¸à¸ AI à¹à¸¥à¸·à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸",subtitle:"วาà¸à¹à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸à¸ªà¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°à¹à¸à¸¡à¸²à¹à¸¥à¹à¸à¸µà¸¢",description:"ระà¸à¸à¸à¹à¸à¸«à¸²à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸µà¹à¸à¸ªà¸¡à¸à¸ªà¸²à¸à¸£à¸à¹à¸à¸¢à¸ªà¸²à¸£à¹à¸¥à¸°à¸£à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸¶à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸ à¸à¸£à¹à¸à¸¡à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸§à¸¥à¸²à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸§à¸¥à¸²à¸à¸¶à¸ à¹à¸¥à¸°à¸à¸³à¸à¸§à¸à¸à¸£à¸±à¹à¸à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸ªà¸²à¸¢ รà¸à¸à¸£à¸±à¸à¸à¸±à¸§à¸à¸£à¸à¸à¹à¸à¸à¸²à¸°à¸£à¸à¹à¸à¸¢à¸ªà¸²à¸£à¸«à¸£à¸·à¸à¸£à¸à¹à¸ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸ªà¸à¸²à¸à¸µà¹à¸¥à¸°à¸à¹à¸²à¸¢à¹à¸à¸¥à¹à¹à¸à¸µà¸¢à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา à¹à¸à¸·à¹à¸à¸à¹à¸§à¸¢à¹à¸¥à¸·à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸§à¸±à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸§",techStack:["à¸à¹à¸à¸«à¸²à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸à¸ªà¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°","à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸£à¸à¹à¸à¸¢à¸ªà¸²à¸£à¹à¸¥à¸°à¸£à¸à¹à¸","à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸","หà¸à¹à¸²à¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา"]},"multilingual-assistant":{title:"à¸à¸¹à¹à¸à¹à¸§à¸¢à¸«à¸¥à¸²à¸¢à¸ าษาà¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"à¸à¸¹à¹à¸à¹à¸§à¸¢à¹à¸à¸à¸à¸±à¸à¸à¸£à¸´à¸¢à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡à¸«à¸¥à¸²à¸¢à¸ าษา สรà¹à¸²à¸à¸à¸±à¸à¸à¸µà¹à¸§à¸à¹à¸à¸à¸£à¹ 1,573 รายà¸à¸²à¸£ à¹à¸¥à¸°à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸à¸¢à¸³à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸¢à¸à¸ªà¸²à¸à¸²à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¹à¸ à¸à¸²à¸£à¸à¸£à¸à¸à¸à¸³ NG à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸à¸à¹à¸§à¸¢à¸à¸³à¸ªà¸³à¸à¸±à¸ à¸à¸³à¸à¸²à¸¡à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษา รวมà¸à¸¶à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸ ภาษาà¸à¸±à¸à¸à¸¤à¸© à¹à¸¥à¸°à¸ าษาà¸à¸µà¸ à¸à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¹à¸³à¹à¸ªà¸¡à¸à¹à¸¥à¸°à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¸à¹à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¸à¹à¸²à¸¡à¸ าษา",techStack:["RAG","à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸§à¸à¹à¸à¸à¸£à¹","à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸§à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา","LLM","à¸à¸£à¸£à¸à¸°à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¹à¸à¸à¸¡à¸µà¹à¸à¸·à¹à¸à¸à¹à¸"]},"weather-forecast":{title:"à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸²à¸à¸²à¸¨à¸à¹à¸§à¸¢à¸£à¸°à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸à¹à¸²à¸ Weather API",description:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸ AI à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸à¸à¸à¸µà¸à¹à¸¥à¸°à¸à¸³à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ LLM วิà¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸µà¸à¸à¸µà¹à¹à¸à¹à¸à¸²à¸ JMA API, OpenWeatherMap à¹à¸¥à¸°à¹à¸«à¸¥à¹à¸à¸à¸·à¹à¸ ๠à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸£à¸°à¸¢à¸°à¸ªà¸±à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸à¸«à¸ ูมิ à¸à¸§à¸²à¸¡à¸à¹à¸²à¸à¸°à¹à¸à¹à¸à¸à¸à¸à¸à¸ à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸¥à¸¡ à¹à¸à¹à¸à¸à¹à¸ à¸à¸²à¸£à¸à¸ªà¸¡à¸à¸ªà¸²à¸à¸à¸²à¸£à¸à¸à¸à¸³à¸£à¸¹à¸à¹à¸à¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸¸à¸à¸£à¸¡à¹à¸§à¸¥à¸²à¹à¸à¹à¸²à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¹à¸²à¸¢à¸à¸¥à¸¶à¸à¹à¸à¸à¸à¸µà¸à¹à¸à¸¢à¹à¸à¹ RAG à¸à¸³à¹à¸«à¹à¸£à¸°à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¢à¸²à¸à¸£à¸à¹à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¸à¸¶à¹à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸à¸à¸à¸³à¸¥à¸à¸à¸à¸²à¸à¸ªà¸à¸´à¸à¸´à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡",techStack:["à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸ API สภาà¸à¸à¸²à¸à¸²à¸¨","LLM","RAG","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸¸à¸à¸£à¸¡à¹à¸§à¸¥à¸²","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹"]},"local-llm":{title:"à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸ / On-Prem Local LLM",description:"à¹à¸£à¸²à¸ªà¹à¸à¸¡à¸à¸ AI à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸à¸±à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸£à¸à¸´à¸à¸à¸¸à¸ à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸ ายà¹à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸à¸à¸à¸¸à¸ à¸à¹à¸§à¸¢ Open WebUI à¹à¸à¹à¸à¸à¸¸à¸à¹à¸à¹à¸²à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¹à¸ à¸à¹à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸§à¸à¹à¸£à¹à¸§à¸à¹à¸§à¸¢ Ollama/MLX à¹à¸¥à¸°à¹à¸à¹à¸¡à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¢à¸à¸à¸à¸à¸à¸²à¸à¸à¸±à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸¥à¸° UID à¹à¸à¸à¸ªà¸²à¸£à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£à¸à¸°à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ RAG à¸à¸£à¹à¸à¸¡à¸
243ารà¸à¸±à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸©à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸¥à¸à¸³à¸à¸²à¸¡à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¥à¸°à¸à¸±à¸à¸©à¸°à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¹à¸²à¸§ à¸à¸²à¸£à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸ªà¸²à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸£à¸°à¸à¸³ à¸à¸°à¸à¸¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸§à¸à¸à¸¹à¹à¸à¸±à¸à¹à¸à¸£à¸°à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸±à¸à¸©à¸°à¸à¸¹à¸à¹à¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸£à¹ OpenClaw à¹à¸¥à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸²à¸¡à¸à¸±à¹à¸à¸à¸²à¸ Cloudflare edge à¹à¸¥à¸° Nginx à¸à¹à¸à¸à¸à¸´à¹à¸ à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸, à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸©à¸°, à¹à¸¥à¸°à¸à¹à¸¢à¸à¸²à¸¢à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸£à¸°à¸à¸ AI à¹à¸à¸à¸²à¸°à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸±à¹à¸à¹à¸à¹à¸§à¸±à¸à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¸¡à¸²à¸à¸¶à¸à¸§à¸à¹à¸à¸à¸£à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ (AI)",description:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¹à¸à¸·à¹à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸¸à¸à¸à¸à¸à¹à¸à¸´à¸à¸à¸²à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ à¹à¸à¸¢à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸³à¹à¸«à¸à¹à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸§à¸à¹à¸à¸à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹à¹à¸£à¸à¹à¸à¹à¸¡à¸à¹à¸§à¸à¸à¸²à¸ NASA API à¸à¸³à¸à¸§à¸à¸§à¸à¹à¸à¸à¸£à¹à¸à¸¢à¸à¸´à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¸à¸à¸£à¸à¹à¸²à¸¢à¹à¸à¸à¹à¸à¸ Hohmann à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¹à¸£à¸à¹à¸à¹à¸¡à¸à¹à¸§à¸à¹à¸à¸·à¹à¸à¸à¹à¸§à¸¢à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸à¸¢à¹à¸à¹ API à¹à¸¥à¸° Python à¹à¸¥à¸°à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸¥à¹à¸à¸¢à¸à¸£à¸§à¸ à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸à¹ à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸·à¹à¸à¹à¸à¸¥à¸´à¸ ระà¸à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸³à¸¥à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸ªà¸à¸²à¸à¸±à¸à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸²à¹à¸¥à¸°à¸à¸£à¸´à¸©à¸±à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¸±à¸à¸à¸§à¸à¸²à¸¨ *à¸à¸±à¸à¸à¹à¸à¸±à¸ AI à¸à¸¹à¸à¸à¸³à¸à¸à¸à¹à¸à¸à¸à¸°à¸à¸µà¹ à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸§à¸¢ API à¹à¸¥à¸° Python",techStack:["NASA API (Horizons, SPICE)","à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸¥à¸¨à¸²à¸ªà¸à¸£à¹à¸§à¸à¹à¸à¸à¸£","à¹à¸à¸à¸à¸","à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥"]},"real-estate":{title:"à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸ ูมิภาà¸à¹à¸à¸à¸²à¸°à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¥à¸°à¸à¸³à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¹à¸à¸ªà¸¹à¸à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸¥à¸° Python à¸à¸±à¸§à¹à¸à¸£à¸à¹à¸²à¸à¹ à¹à¸à¹à¸ ราà¸à¸²à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸´à¸ ราà¸à¸²à¸à¹à¸à¸à¸²à¸£à¸²à¸à¸à¸¸à¸ à¸à¸²à¸¢à¸¸à¸à¸²à¸à¸²à¸£ à¹à¸¥à¸°à¸£à¸°à¸¢à¸°à¸à¸²à¸à¸à¸²à¸à¸ªà¸à¸²à¸à¸µà¸£à¸à¹à¸à¸à¸¹à¸à¸à¸¶à¸à¸à¸à¸à¸¡à¸² à¹à¸¥à¸°à¸à¸³à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸§à¹à¸à¹à¸¡à¸£à¸²à¸à¸² à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸¥à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸¥à¸à¸à¸à¸¥à¸à¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸à¸à¸à¸²à¸à¸à¸µà¹à¸¢à¸±à¸à¸¡à¸µà¸à¸²à¸£à¸à¸¶à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸´à¸à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸¥à¸²à¸à¸à¸µà¹à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸£à¹à¸§à¸¡à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸à¸£à¸´à¸¡à¸²à¸*à¸à¹à¸à¹à¸ªà¸à¸à¸à¸£à¹à¸à¸¡à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸ (à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸)",techStack:["à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹ (Scrapy, Playwright)","à¹à¸à¸à¸à¸","à¹à¸à¸à¸à¹à¸²","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM","à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥"]},"fortune-ai":{title:"ระà¸à¸à¸à¸£à¸°à¹à¸¡à¸´à¸à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸ªà¸µà¹à¹à¸ªà¸²à¸«à¸¥à¸±à¸",subtitle:"à¸à¹à¸²à¸¢à¸à¸à¸à¸ ูมิà¸à¸±à¸à¸à¸²à¸à¸±à¹à¸à¹à¸à¸´à¸¡à¸à¹à¸§à¸¢à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ",paragraphs:["หลัà¸à¸ªà¸µà¹à¹à¸ªà¸²à¹à¸«à¹à¸à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¹à¸à¹à¸à¸à¸¸à¸à¸ªà¸¹à¸à¸ªà¸¸à¸à¸à¸à¸à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸°à¸§à¸±à¸à¸à¸à¸à¸à¸µà¹à¸ªà¸±à¹à¸à¸ªà¸¡à¸¡à¸²à¸«à¸¥à¸²à¸¢à¸à¸±à¸à¸à¸µ ระà¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸³à¸¥à¸à¸à¸à¸£à¸£à¸à¸°à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸à¸ าษาà¹à¸à¸à¸à¸ à¸à¸ªà¸¡à¸à¸ªà¸²à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¸à¸§à¸²à¸¡à¹à¸¥à¸°à¸à¸²à¸£à¹à¸«à¹à¸à¸³à¹à¸à¸°à¸à¸³à¹à¸à¸¢à¹à¸à¹ LLM (Large Language Models) à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸¥à¸à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸£à¸°à¹à¸¡à¸´à¸à¸à¸¥à¸à¸µà¹à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸¢à¸«à¸¡à¸à¸à¸¹à¸à¸¹à¹à¹à¸à¸µà¹à¸¢à¸§à¸à¸²à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸à¸¢à¸³","หลัà¸à¸à¸²à¸à¸à¹à¸à¸à¸§à¸±à¸à¸à¸µà¹ à¹à¸§à¸¥à¸² à¹à¸¥à¸°à¸ªà¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸ ระà¸à¸à¸à¸°à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸§à¸¥à¸²à¸à¸£à¸°à¸à¸²à¸à¸´à¸à¸¢à¹à¸à¸¶à¹à¸à¹à¸¥à¸°à¸à¸£à¸°à¸à¸²à¸à¸´à¸à¸¢à¹à¸à¸ รวมà¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸´à¸à¸±à¸ ภà¹à¸§à¸¥à¸²à¸à¸±à¹à¸à¸à¸²à¸ API à¸à¹à¸²à¸à¸à¸²à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹ à¸à¸²à¸à¸à¸±à¹à¸à¸£à¸°à¸à¸à¸à¸°à¸à¸³à¸à¸§à¸à¸£à¸²à¸¨à¸µ à¹à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸à¸ªà¸´à¸ à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸ªà¸¡à¸à¸¸à¸¥à¸à¸à¸à¸à¸²à¸à¸¸à¸à¸±à¹à¸à¸«à¹à¸²à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸à¸¢à¸³à¹à¸à¸¢à¸à¸´à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸£à¸£à¸à¸°à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸¨à¸²à¸ªà¸à¸£à¹à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸à¸à¸«à¸¥à¸±à¸à¹à¸«à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹à¸ªà¸µà¹à¹à¸ªà¸²à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸°à¸à¸²à¸à¸£à¸£à¸¡à¸à¸¹à¸à¸à¸±à¸à¸à¸³à¸à¸±à¸à¸à¸µà¹à¸à¸ าษาà¹à¸à¸à¸à¸à¹à¸¥à¸°à¸£à¸§à¸¡à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¸ªà¸à¸´à¸à¸´à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥ RAG (Retrieval Augmentation Generation) à¹à¸à¸·à¹à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸à¸à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸ªà¸¹à¸à¸£à¸à¸µà¸§à¸´à¸","à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸à¹à¸ªà¹à¸à¸¥à¹à¸à¸µà¹à¸à¸³à¸à¸§à¸à¹à¸à¹à¸à¸¹à¸à¸à¸
243ิà¸à¸²à¸¢à¸à¹à¸§à¸¢à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¹à¸à¸¢ LLM à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸²à¹à¸à¸à¹à¸²à¸¢ à¸à¸¥à¸à¸²à¸£à¸à¸£à¸°à¹à¸¡à¸´à¸à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸°à¸à¸¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸¶à¹à¸ รวมà¸à¸¶à¸à¸à¸£à¸°à¹à¸ªà¹à¸à¸à¸¥à¸²à¸ à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹à¸à¸à¸à¸à¸§à¸²à¸¡à¸ªà¸±à¸¡à¸à¸±à¸à¸à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸¸à¸à¸à¸¥ à¹à¸¥à¸°à¸à¸²à¸à¸µà¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¸à¸³à¸à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸¥à¸¶à¸à¸à¸¶à¹à¸à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸²à¸à¸±à¸à¸à¸²à¸£à¸à¸£à¸¶à¸à¸©à¸²à¸«à¸¡à¸à¸à¸¹à¸¡à¸·à¸à¸à¸²à¸à¸µà¸","à¸à¸à¸°à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸¥à¸à¸à¹à¸à¹à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸·à¹à¸à¸à¸²à¸à¸à¸à¸à¸à¸¹à¸¡à¸´à¸à¸´à¸à¸´à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸à¸à¸°à¸à¸²à¹à¸à¹ à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¸à¸¶à¹à¸à¸£à¸§à¸¡à¸à¸¶à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸¡à¸²à¸à¸à¸¶à¹à¸à¹à¸¥à¸°à¸à¸³à¹à¸à¸°à¸à¸³à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸·à¹à¸à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸à¹à¸à¹"],techStack:["à¹à¸à¸à¸à¸","API à¸à¸²à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹ (à¸à¸£à¸°à¸à¸²à¸à¸´à¸à¸¢à¹à¸à¸¶à¹à¸-à¸à¸£à¸°à¸à¸²à¸à¸´à¸à¸¢à¹à¸à¸, TimeZoneDB)","หลัà¸à¸à¸£à¸£à¸à¸°à¸ªà¸µà¹à¹à¸ªà¸²","LLM","à¸à¸²à¸£à¸à¸£à¸°à¸ªà¸²à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¹à¸§à¸¥à¸²"]},"google-workspace":{title:"Google Workspace AI integration",description:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸ Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) à¸à¸±à¸ LLM à¹à¸à¸·à¹à¸à¸à¹à¸²à¸ à¹à¸à¹à¹à¸ à¹à¸¥à¸°à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ AI à¸à¹à¸§à¸¢à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸§à¸±à¸ à¹à¸à¹à¸ สรุà¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸¡à¸¥ สรà¹à¸²à¸à¸£à¹à¸²à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¥à¹à¹à¸ Drive สà¸à¸±à¸à¸à¸²à¸£à¸²à¸à¹à¸§à¸¥à¸²à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸ à¹à¸¥à¸°à¹à¸ªà¸à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡ à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸ Workspace à¸à¹à¸²à¸ Agent ยัà¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ API à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัยà¸à¹à¸§à¸¢à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸±à¸§à¸à¸à¹à¸à¸ OAuth à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸à¸¡à¸²à¸à¸£à¸à¸²à¸ MCPà¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¹à¸¥à¹à¸§ (à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¸à¸°à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸«à¹à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸)",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"à¸à¹à¸²à¸§à¹à¸¥à¸ à¸à¸²à¸£à¹à¸à¸¥à¹à¸à¹à¸à¸«à¸¥à¸²à¸¢à¸ าษา",description:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸à¸à¸§à¸²à¸¡à¸à¸²à¸à¹à¸«à¸¥à¹à¸à¸à¹à¸²à¸§à¸à¸±à¹à¸§à¹à¸¥à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¹à¸¥à¸°à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸¥à¸ าษาหลายภาษา สรุà¸à¹à¸à¸·à¹à¸à¸«à¸² à¹à¸¥à¸°à¸à¸±à¸à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸à¸¥à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸±à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸© à¸
243ีภà¸à¸£à¸±à¹à¸à¹à¸¨à¸ª à¸à¸²à¸«à¸£à¸±à¸ à¹à¸¥à¸°à¸ าษาà¸à¸·à¹à¸à¹ à¹à¸à¹à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸ à¹à¸¥à¸°à¸à¸±à¸à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸«à¸±à¸§à¸à¹à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸§à¸ªà¸²à¸£à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸¢à¹à¸²à¸à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¸´à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸¥à¸à¹à¸§à¸¢à¹à¸à¸£à¸·à¹à¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢ à¹à¸à¹à¹à¸à¸´à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸¥à¸à¸²à¸¡à¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¸à¸µà¹à¸à¸²à¸¨à¸±à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¹à¸à¸à¸£à¸´à¸à¸à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸¶à¸à¸à¸£à¸°à¹à¸à¹à¸à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸à¸à¸§à¸²à¸¡à¸à¸à¸à¸¡à¸² *à¸à¸à¸°à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸ (à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸)",techStack:["à¸à¹à¸²à¸§ API","à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡ RSS","à¸à¸²à¸£à¹à¸à¸¥à¹à¸¥à¸°à¸ªà¸£à¸¸à¸ LLM","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸«à¸¥à¸²à¸¢à¸ าษา","à¸à¸²à¸£à¸à¸±à¸à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸²à¸¡à¸à¸³à¸«à¸à¸à¹à¸§à¸¥à¸²"]},"security-monitoring":{title:"à¸à¸¹à¹à¸à¸±à¸à¸à¸²à¸£ AI สำหรัà¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย",description:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¸à¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸à¸à¹à¸à¸£à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸ ัยà¸à¸¸à¸à¸à¸²à¸¡à¸à¸±à¹à¸à¸ªà¸¹à¸à¹à¸à¸¢à¹à¸à¹ LLMà¹à¸«à¸¥à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸²à¸ ๠à¹à¸à¹à¸ à¹à¸à¸£à¹à¸§à¸à¸¥à¸¥à¹, IDS/IPS, à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸ªà¸´à¸à¸à¸´à¹, à¹à¸¥à¸°à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ à¸à¸°à¸à¸¹à¸à¹à¸à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¢à¹à¸¡à¸à¸¹à¸¥ Python à¹à¸¥à¸°à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸à¸à¸µà¸, à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸à¸à¹à¸«à¸§à¹, à¹à¸¥à¸°à¸à¸£à¸à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸ªà¸°à¸ªà¸¡à¹à¸§à¹à¹à¸ RAG à¹à¸¡à¸·à¹à¸à¸à¸£à¸§à¸à¸à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸à¸à¸´, LLM à¸à¸°à¸à¸à¸´à¸à¸²à¸¢à¸£à¸°à¸à¸±à¸à¸ ัยà¸à¸¸à¸à¸à¸²à¸¡, à¸à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸¥à¸à¸£à¸°à¸à¸, à¹à¸¥à¸°à¸à¸³à¹à¸à¸°à¸à¸³à¹à¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¹à¸à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´ à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸¹à¹à¸£à¸±à¸à¸à¸´à¸à¸à¸à¸à¸à¸±à¸à¸à¸µ หาà¸à¸£à¸¹à¸à¹à¸à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸à¹à¸³, à¸à¸°à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸ªà¸¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸·à¹à¸à¹à¸£à¹à¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹",techStack:["à¹à¸¡à¸à¸¹à¸¥à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸ Python","à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸±à¸à¸à¸¶à¸ (Fluentd, Logstash)","RAG","à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸£à¸¹à¸à¹à¸à¸à¸ ัยà¸à¸¸à¸à¸à¸²à¸¡","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM","à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸ (Slack, PagerDuty)"]}}},oA={learnMore:"à¸à¹à¸²à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡",getStarted:"à¹à¸£à¸´à¹à¸¡à¸à¸µà¹à¸à¸° ...",contactUs:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",backToHome:"à¸à¸¥à¸±à¸à¸ªà¸¹à¹à¸«à¸à¹à¸²à¸«à¸¥à¸±à¸"},lA={title:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§",subtitle:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§",lastUpdated:"à¸à¸±à¸à¹à¸à¸à¸¥à¹à¸²à¸ªà¸¸à¸: 23 มà¸à¸£à¸²à¸à¸¡ 2569",intro:'telet.ai ("à¸à¸£à¸´à¸à¸²à¸£") à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¹à¸¡à¸à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸µà¹à¸ªà¸³à¸à¸±à¸ à¹à¸¥à¸°à¹à¸à¹à¸à¸±à¸à¸à¸±à¹à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¹à¸à¹à¸à¸à¸µà¹',sections:{collection:{title:"1. à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸°à¹à¸
243à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡",description:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²à¸«à¸£à¸·à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£",items:["à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥","à¸à¸·à¹à¸à¸à¸à¸à¸à¸¸à¸ (à¹à¸¡à¹à¸à¸±à¸à¸à¸±à¸)","รายละà¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡","à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¹à¸ ๠à¸à¸µà¹à¸à¸¸à¸à¹à¸«à¹à¹à¸§à¹à¹à¸à¸¢à¸ªà¸¡à¸±à¸à¸£à¹à¸"]},purpose:{title:"2. วัà¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥",description:"à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¹à¸à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸°à¸à¸¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸",items:["à¸à¸à¸à¹à¸¥à¸°à¸à¸à¸à¸ªà¸à¸à¸à¸à¹à¸à¸à¹à¸à¸ªà¸à¸à¸à¸²à¸¡","à¸à¸´à¸à¸à¹à¸à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸£à¸²","à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸¡à¸µà¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¹à¸à¸·à¹à¸à¸à¸§à¸²à¸¡à¸à¹à¸²à¸§à¸«à¸à¹à¸²à¸à¸à¸à¹à¸à¸£à¸à¸à¸²à¸£","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸·à¹à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸£à¸´à¸à¸²à¸£ (à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸°à¸à¸¸à¸à¸±à¸§à¸à¸¸à¸à¸à¸¥)"]},thirdParty:{title:"3. à¸à¸²à¸£à¸à¸±à¸à¸«à¸²à¹à¸«à¹à¹à¸à¹à¸à¸¸à¸à¸à¸¥à¸ ายà¸à¸à¸",description:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸°à¹à¸¡à¹à¹à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸¸à¸à¸à¸¥à¸ ายà¸à¸à¸ ยà¸à¹à¸§à¹à¸à¹à¸à¸à¸£à¸à¸µà¸à¹à¸à¹à¸à¸à¸µà¹",items:["หาà¸à¸¥à¸¹à¸à¸à¹à¸²à¹à¸«à¹à¸à¸§à¸²à¸¡à¸¢à¸´à¸à¸¢à¸à¸¡","à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸£à¹à¸à¸à¸à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸°à¸à¹à¸à¸à¸±à¸à¸à¸±à¸","à¹à¸¡à¸·à¹à¸à¸à¸³à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸¸à¹à¸¡à¸à¸£à¸à¸à¸à¸µà¸§à¸´à¸ รà¹à¸²à¸à¸à¸²à¸¢ หรืà¸à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸´à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¥"]},security:{title:"4. à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥",description:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¹à¸à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸§à¹à¸à¸¢à¹à¸²à¸à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡ à¹à¸¥à¸°à¸à¸³à¹à¸à¸´à¸à¸¡à¸²à¸à¸£à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸ªà¸¡à¹à¸«à¸à¸¸à¸ªà¸¡à¸à¸¥à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸¢à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸ à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢ à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¥à¸à¸¡à¹à¸à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥"},email:{title:"5. à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¹à¸¡à¸¥",description:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¹à¸¡à¸¥à¸à¸²à¸¡à¸à¹à¸¢à¸à¸²à¸¢à¸à¹à¸à¹à¸à¸à¸µà¹",items:["à¹à¸£à¸²à¸à¸°à¹à¸à¹à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¸à¸µà¹à¸¡à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸³à¸à¸²à¸¡à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¸²à¸à¸±à¹à¸","à¹à¸£à¸²à¸à¸°à¹à¸¡à¹à¸à¸²à¸¢, à¹à¸«à¹à¹à¸à¹à¸², หรืà¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥à¸à¸à¸à¸à¸¸à¸à¸à¸±à¸à¸à¸¸à¸à¸à¸¥à¸ ายà¸à¸à¸","à¹à¸£à¸²à¸à¸²à¸à¸ªà¹à¸à¸à¸µà¹à¸¡à¸¥à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸£à¸²à¹à¸«à¹à¸à¸¸à¸ หาà¸à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸£à¸¸à¸à¸²à¹à¸à¹à¸¥à¸´à¸à¸à¹à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¹à¸à¸à¸µà¹à¸¡à¸¥ หรืà¸à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¸à¹à¸²à¸à¸¥à¹à¸²à¸","à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª SSL/TLS à¸à¸¹à¸à¹à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸²à¸à¸à¸µà¹à¸¡à¸¥à¹à¸à¸·à¹à¸à¹à¸«à¹à¸¡à¸±à¹à¸à¹à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£","à¹à¸£à¸²à¸à¸°à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸µà¹à¸¡à¸¥à¸à¸à¸à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยหลัà¸à¸à¸²à¸à¹à¸à¹à¸à¸£à¸±à¸à¸©à¸²à¹à¸§à¹à¹à¸à¹à¸à¸£à¸°à¸¢à¸°à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡"]}
243,cookies:{title:"6. à¸à¸²à¸£à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹",description:"à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸"},external:{title:"7. à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸ ายà¸à¸à¸",description:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸ ายà¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹ à¸à¸£à¸¸à¸à¸²à¸à¹à¸²à¸à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¹à¸à¹à¸¥à¸°à¸à¸£à¸´à¸à¸²à¸£",items:["Google Analytics (access analysis)","à¸à¸£à¸´à¸à¸²à¸£à¸à¸¥à¸²à¸§à¸à¹à¸à¸·à¹à¸ ๠à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸¸à¸£à¸à¸´à¸"]},changes:{title:"8. à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§",description:"à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¸à¸²à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¹à¸à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¹à¸à¹à¸«à¹à¸à¸£à¸²à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸² à¸à¸²à¸¡à¸à¸²à¸£à¹à¸à¹à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸à¸à¸à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸°à¸à¹à¸à¸à¸±à¸à¸à¸±à¸ หรืà¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸£à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£ à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸¥à¹à¸§à¸à¸°à¸¡à¸µà¸à¸¥à¸à¸±à¸à¸à¸±à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¹à¸à¹à¸à¸£à¸°à¸à¸²à¸¨à¹à¸§à¹à¸à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹"},contact:{title:"9. à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"หาà¸à¸à¸¸à¸à¸¡à¸µà¸à¸³à¸à¸²à¸¡à¹à¸ ๠à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹ à¸à¸£à¸¸à¸à¸²à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²à¸à¸µà¹",company:"telet.ai",contactLink:"à¹à¸à¸à¸µà¹à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸ªà¸à¸à¸à¸²à¸¡"}}},dA={title:"à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸",subtitle:"à¸à¸µà¹à¸à¸·à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸£à¸¶à¸à¸©à¸², à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¸ªà¸à¸à¸à¸²à¸¡, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸ telet.ai",lastUpdated:"à¸à¸±à¸à¹à¸à¸à¸¥à¹à¸²à¸ªà¸¸à¸: 22 มà¸à¸£à¸²à¸à¸¡ 2569",intro:'à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ (à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¸à¹à¸à¸à¸³à¸«à¸à¸") à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ (à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¸à¹à¸à¸à¸³à¸«à¸à¸") à¸à¸µà¹à¹à¸à¹à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸¢ telet.ai (à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¹à¸£à¸²", "à¸à¸§à¸à¹à¸£à¸²", "à¸à¸à¸à¹à¸£à¸²" หรืภ"à¸à¸à¸à¹à¸£à¸²")(à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¹à¸£à¸²" หรืภ"à¸à¸à¸à¹à¸£à¸²") (à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¹à¸§à¹à¸à¹à¸à¸à¹") à¸à¸¶à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸¢ telet.ai (à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¹à¸£à¸²") à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸±à¸à¸à¸³à¸à¸¶à¹à¸à¹à¸à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸à¸«à¸¡à¸²à¸¢à¸à¸²à¸£à¸à¸£à¸¶à¸à¸©à¸² à¸à¸´à¸à¸à¹à¸à¸ªà¸à¸à¸à¸²à¸¡ à¹à¸¥à¸°à¸à¸à¹à¸à¸à¸ªà¸²à¸£à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸¥à¸°à¹à¸¡à¹à¸¡à¸µà¸à¸£à¸´à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸±à¸à¸à¸µà¸«à¸£à¸·à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸à¸´à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹',sections:{scope:{title:"1. à¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹",description:'à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¸±à¸à¸à¸¹à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸¸à¸à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹ ("à¸à¸¹à¹à¹à¸à¹") à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸°à¹à¸à¹à¸à¸±à¸à¸à¸¹à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸¸à¸à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹ (à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² "à¸à¸¹à¹à¹à¸à¹") à¹à¸à¸à¸£à¸à¸µà¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸³à¸à¹à¸à¸à¸à¸¥à¸ NDA, à¸à¹à¸à¸à¸à¸¥à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸²à¸à¸ ายà¸à¸à¸, สัà¸à¸à¸²à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥ ฯลฯ ระหวà¹à¸²à¸à¹à¸£à¸²à¸à¸±à¸à¸à¸¹à¹à¹à¸à¹ à¹à¸à¸à¸ªà¸²à¸£à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¸à¸°à¸¡à¸µà¸à¸¥à¹à¸«à¸à¸·à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹'},prohibited:{title:"2. สิà¹à¸à¸à¸à¸à¸à¹à¸à¸à¸«à¹à¸²à¸¡",description:"à¹à¸à¸à¸²à¸£à¹à¸à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹ à¸à¸¹à¹à¹à¸à¹à¸à¸°à¸à¹à¸à¸à¹à¸¡à¹à¸à¸£à¸°à¸à¸³à¸à¸²à¸£à¹à¸ ๠à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹",items:["à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¸¥à¸°à¹à¸¡à¸´à¸à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸°à¸£à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¸±à¸à¸à¸±à¸ หรืà¸à¸à¸§à¸²à¸¡à¸ªà¸à¸à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢à¹à¸¥à¸°à¸¨à¸µà¸¥à¸à¸£à¸£à¸¡à¸à¸à¸à¸à¸£à¸°à¸à¸²à¸à¸","à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¹à¸ ๠à¸à¸µà¹à¸¥à¸°à¹à¸¡à¸´à¸à¸ªà¸´à¸à¸à¸´à¹à¹à¸à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸´à¸à¸à¸²à¸à¸à¸±à¸à¸à¸² à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§ หรืà¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¸£à¸·à¸à¸à¸¥à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸·à¹à¸ ๠à¸à¸à¸à¹à¸£à¸²à¸«à¸£à¸·à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡","à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¸£à¸à¸
243วà¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¸£à¸°à¸à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸¢à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸ à¸à¸²à¸£à¹à¸«à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸à¸à¸²à¸ à¸à¸²à¸£à¸à¹à¸à¸§à¸´à¸à¸²à¸¨à¸à¸£à¸£à¸¡ ฯลฯ","à¸à¸²à¸£à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸«à¸£à¸·à¸à¸à¸²à¸£à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¹à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¹à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸ªà¸à¸à¸à¸²à¸¡ ฯลฯ","à¸à¸²à¸£à¸à¸¹à¸à¸à¹à¸à¸¡à¸¹à¸¥, à¸à¸²à¸£à¸§à¸´à¸¨à¸§à¸à¸£à¸£à¸¡à¸¢à¹à¸à¸à¸£à¸à¸¢, หรืà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸£à¸°à¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸à¸£à¸´à¸¡à¸²à¸à¸¡à¸²à¸à¹à¸à¸¢à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸à¹à¸£à¸²"]},disclaimer:{title:"3. à¸à¹à¸à¸ªà¸à¸§à¸à¸ªà¸´à¸à¸à¸´à¹",description:'à¹à¸£à¸²à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸£à¸¹à¸à¹à¸à¸ "à¸à¸²à¸¡à¸ªà¸ าà¸" à¹à¸¥à¸° "à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¹" à¸à¸²à¸¡à¸à¸à¸à¹à¸à¸à¸ªà¸¹à¸à¸ªà¸¸à¸à¸à¸µà¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸à¸¸à¸à¸²à¸ à¹à¸£à¸²à¸à¸à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¸£à¸±à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹',items:["à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸²à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸«à¸£à¸·à¸à¸¥à¸à¸à¸à¸à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¹à¸à¹à¸«à¹à¸à¸£à¸²à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²","à¹à¸£à¸²à¹à¸¡à¹à¸£à¸±à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸ à¸à¸§à¸²à¸¡à¸ªà¸¡à¸à¸¹à¸£à¸à¹ หรืà¸à¸à¸§à¸²à¸¡à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸à¸à¸²à¸°à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹","à¹à¸£à¸²à¸à¸°à¹à¸¡à¹à¸£à¸±à¸à¸à¸´à¸à¸à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¹à¸ ๠à¸à¸µà¹à¹à¸à¸´à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¸à¸²à¸£à¸à¸¶à¹à¸à¸à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸µà¹","à¸à¸³à¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸¶à¸à¸©à¸²à¸«à¸²à¸£à¸·à¸à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡à¸¡à¸µà¹à¸§à¹à¹à¸à¸·à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¹à¸§à¹à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸¥à¸°à¹à¸¡à¹à¸à¸·à¸à¹à¸à¹à¸à¸à¸³à¹à¸à¸°à¸à¸³à¸à¸²à¸à¸à¸à¸«à¸¡à¸²à¸¢ ภาษี à¸à¸²à¸£à¹à¸à¸à¸¢à¹ หรืà¸à¸à¸³à¹à¸à¸°à¸à¸³à¸à¸²à¸à¸§à¸´à¸à¸²à¸à¸µà¸à¸à¸·à¹à¸ à¹"]},ip:{title:"4. สิà¸à¸à¸´à¹à¸à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸´à¸à¸à¸²à¸à¸à¸±à¸à¸à¸²",description:"ลิà¸à¸ªà¸´à¸à¸à¸´à¹à¸à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡, รูà¸à¸ าà¸, à¹à¸à¸, à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸²à¸£à¸à¹à¸², à¹à¸¥à¹à¸à¹, à¹à¸à¹à¸à¸à¹à¸ à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸à¸à¹à¸£à¸²à¸«à¸£à¸·à¸à¸à¸à¸à¸à¸¹à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¸²à¸¡à¸à¸à¸«à¸¡à¸²à¸¢. à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸à¸à¸¹à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¸²à¸¡à¸à¸à¸«à¸¡à¸²à¸¢."},links:{title:"5. ลิà¸à¸à¹à¹à¸à¸¢à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸ ายà¸à¸à¸",description:"à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸²à¸à¸¡à¸µà¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡ à¹à¸£à¸²à¹à¸¡à¹à¸£à¸±à¸à¸à¸´à¸à¸à¸à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸"},changes:{title:"6. à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹",description:"à¹à¸£à¸²à¸à¸à¸ªà¸à¸§à¸à¸ªà¸´à¸à¸à¸´à¹à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¸±à¹à¸à¸à¸£à¸²à¸§à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¸³à¹à¸à¹à¸ à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸¥à¹à¸§à¸à¸°à¸¡à¸µà¸à¸¥à¸à¸±à¸à¸à¸±à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸ªà¸à¹à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹"},governingLaw:{title:"7. à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸µà¹à¸à¸±à¸à¸à¸±à¸à¹à¸à¹à¹à¸¥à¸°à¹à¸à¸à¸à¸³à¸à¸²à¸à¸¨à¸²à¸¥",description:"à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸¢à¸¹à¹à¸ ายà¹à¸à¹à¹à¸¥à¸°à¸à¸µà¸à¸§à¸²à¸¡à¸à¸²à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸µà¹à¸à¸¸à¹à¸ หาà¸à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸²à¸à¹à¸ ๠à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹ à¹à¸«à¹à¸¨à¸²à¸¥à¹à¸à¸§à¸à¹à¸à¹à¸à¸µà¸¢à¸§à¹à¸à¹à¸à¸¨à¸²à¸¥à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¸à¸³à¸à¸²à¸à¹à¸à¹à¹à¸à¸µà¸¢à¸à¸à¸¹à¹à¹à¸à¸µà¸¢à¸§à¹à¸à¸à¸±à¹à¸à¸à¹à¸"},contact:{title:"8. à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"หาà¸à¸à¸¸à¸à¸¡à¸µà¸à¸³à¸à¸²à¸¡à¹à¸ ๠à¹à¸
243ีà¹à¸¢à¸§à¸à¸±à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹ à¸à¸£à¸¸à¸à¸²à¸à¸´à¸à¸à¹à¸",company:"telet.ai",contactLink:"à¹à¸à¸à¸µà¹à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸ªà¸à¸à¸à¸²à¸¡"}}},uA={title:"à¸à¸²à¸£à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¹à¸à¹à¸à¸à¸£à¸°à¸à¸³",subtitle:"AI à¸à¸³à¸à¸²à¸¢à¸§à¹à¸²",description1:"à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¸à¸¹à¸à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¹à¸à¸¢à¹à¸à¹à¸¥à¸°à¸à¸£à¸°à¹à¸à¸¨ à¸à¸£à¸°à¹à¸à¸¨à¸à¸à¸à¸à¸¸à¸à¸à¸°à¹à¸ªà¸à¸à¸à¸¢à¸¹à¹à¸à¸£à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸à¸µà¹ สภาà¸à¸à¸²à¸à¸²à¸¨à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¹à¸¥à¸°à¸§à¸±à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸£à¸´à¸ - à¹à¸¡à¸à¸à¸à¸à¸§à¸£à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¸à¸±à¹à¸",description2:"à¸à¸¢à¹à¸²à¸à¹à¸£à¸à¹à¸à¸²à¸¡ à¹à¸à¸à¸´à¹à¸¡à¸à¸±à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸ªà¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸à¸à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸à¸à¸à¸²à¸à¸à¸à¹à¸§à¸¢",description3:"à¹à¸§à¸à¹à¸à¸à¸£à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸µà¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸à¸à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸ªà¸¹à¸ สามารà¸à¸à¸³à¸à¸²à¸¢à¹à¸à¸à¹à¸à¸à¸à¸à¸à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸à¹à¸à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¹à¸à¸¢à¸£à¸à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸ สามารà¸à¸à¸³à¸à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸µà¹à¸¢à¸§ à¸à¸²à¸£à¸à¸¥à¸´à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸²à¸¢à¹à¸à¹à¹à¸à¸¢à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸ (i) à¸à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡ à¹à¸¥à¸°à¸à¹à¸²à¸ªà¸à¸´à¸à¸´à¸à¸±à¹à¸à¸ªà¸¹à¸à¸à¸²à¸à¸à¸¥à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸à¸à¸à¸µà¸ à¹à¸¥à¸°à¹à¸«à¹à¸£à¸°à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¥à¹à¸²à¸à¸µà¹",refresh:"รีà¹à¸à¸£à¸ (à¹à¸à¹à¸ à¸à¸§à¸²à¸¡à¸à¸³)",loading:"à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸à¹à¸à¸à¸à¸µà¹à¸à¸²à¸à¸²à¸¨..."},cA={hero:{badges:["à¸à¸à¸à¹à¸à¸£","LLM à¹à¸à¸à¹à¸à¸à¸à¸´à¹à¸","à¸à¸±à¸§à¹à¸à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸"],title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£",description:"à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸à¸±à¸§à¹à¸à¸ AI à¸à¸µà¹à¹à¸à¸à¸²à¸°à¹à¸à¸²à¸°à¸à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸"},mission:{title:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸ AI à¹à¸à¸à¸à¸³à¸«à¸à¸à¹à¸à¸",description:"à¹à¸£à¸²à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸ AI à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸à¸à¸²à¸°à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸ à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸ªà¸à¸²à¸à¸±à¸à¸¢à¸à¸£à¸£à¸¡à¸à¸à¸à¹à¸£à¸²à¸¡à¸¸à¹à¸à¹à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸à¹à¸à¸ ารà¸à¸´à¸à¹à¸¥à¸°à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡ SaaS à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸à¸´à¸¡ à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¸à¸±à¸ API à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸¥à¸°à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸ ายà¹à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸£à¸²à¸à¸£à¸·à¹à¸ วิศวà¸à¸£à¸à¸à¸à¹à¸£à¸²à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¸¸à¹à¸à¹à¸à¸¢à¸à¸±à¸ LangChain, AutoGen, CrewAI à¹à¸¥à¸°à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¸«à¸¥à¸±à¸à¸à¸·à¹à¸ ๠à¹à¸¥à¸°à¸à¸°à¸à¸³à¹à¸ªà¸à¸à¹à¸à¸¥à¸¹à¸à¸±à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¹à¸¥à¸°à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸à¸à¹à¸à¸à¸à¸£à¸±à¹à¸à¹à¸à¸µà¸¢à¸§à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸à¹à¸¢à¸±à¸à¸ªà¸£à¹à¸²à¸à¸£à¸°à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¸§à¹à¸à¸ (Multi-Agent Systems) à¸à¸µà¹à¸à¸±à¸§à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¸§à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¹à¸§à¸¡à¸¡à¸·à¸à¸à¸±à¸à¹à¸à¸·à¹à¸à¸à¸³à¸ ารà¸à¸´à¸à¸à¹à¸²à¸ ๠à¹à¸à¹ à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸à¸à¸±à¸§à¹à¸à¸ (Agentic Workflows) à¸à¸µà¹à¸à¸³à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸ ายà¸à¸à¸à¹à¸à¹ à¹à¸£à¸²à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸¸à¸à¸à¹à¸²à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸²à¸à¸à¸±à¸§à¹à¸à¸ AI à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸¡à¸´à¸à¸£à¸£à¸°à¸¢à¸°à¸¢à¸²à¸§ à¸à¸¶à¹à¸à¸£à¸§à¸¡à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹ à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸£à¸¸à¸à¸£à¸±à¸à¸©à¸²à¸£à¸°à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸",imageAlt:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸ AI à¹à¸à¸à¸à¸³à¸«à¸à¸à¹à¸à¸"},summary:{title:"à¹à¸à¸§à¹à¸à¹à¸¡à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸",paragraphs:['à¸à¸±à¹à¸à¹à¸à¹à¸à¸µ 2025 à¸à¸¶à¸ 2026 à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹ (AI Agent) à¸à¸³à¸¥à¸±à¸à¸à¹à¸²à¸§à¸à¸²à¸à¸£à¸°à¸¢à¸°à¸à¸²à¸£à¸ªà¸²à¸à¸´à¸à¹à¸à¸ªà¸¹à¹à¸£à¸°à¸¢à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸à¸à¹à¸à¸£à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸£à¸¹à¸à¹à¸à¸ à¹à¸à¸§à¸à¸´à¸à¸à¸à¸ "Agentic AI" à¹à¸à¹à¸«à¸¢à¸±à¹à¸à¸£à¸²à¸à¸¥à¸¶à¸ à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸¸à¸£à¸à¸´à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸µà¹à¸à¹à¸²à¸§à¹à¸à¸¥à¸à¸§à¹à¸²à¹à¸à¸à¸à¸à¸à¸à¸±à¹à¸§à¹à¸à¹à¸à¹à¹à¸£à¸´à¹à¸¡à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸à¸¸à¸à¸ªà¸²à¸«à¸à¸£à¸£à¸¡à¹à¸¥à¹à¸§','"à¸à¸±à¸§à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹" à¸à¸µà¹à¸à¸§à¸à¸à¸¸à¸¡à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸¥à¸°à¹à¸à¸ªà¸à¹à¸à¹à¸à¸à¹à¸à¸¢à¸à¸£à¸ à¹à¸à¹à¸ Operator à¸à¸à¸ OpenAI, Computer Use à¸à¸à¸ Anthropic à¹à¸¥à¸° Project Mariner à¸à¸à¸ Google à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¹à¸à¸à¸²à¸à¸à¸à¸´à¸à¸±à¸à¸´à¹à¸¥à¹à¸§ Model Context Protocol (MCP) à¹à¸à¹à¸à¸£à¸°à¸à¸à¸à¸´à¹à¸§à¸¨à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¹à¸à¸´à¸à¹à¸ à¸à¸¶à¹à¸à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸ªà¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸±à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢',"สà¸à¸²à¸à¸±à¸à¸¢à¸à¸£à¸£à¸¡à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¸§à¹à¸à¸à¹à¸à¹à¸à¸±à¸à¸à¸²à¸à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸¥à¹à¸§ à¹à¸à¸¢à¸¡à¸µà¸à¸±à¸§à¹à¸à¸à¹à¸à¸à¸²à¸°à¸à¸²à¸à¸à¸³à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸£à¸à¸à¸²à¸£ à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸¥à¸¹à¸à¸à¹à¸² à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸à¸à¸à¸²à¸à¸à¸µà¹ à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥ A2A (Agent-to-Agent) ยัà¸à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¹à¸²à¸§à¸«à¸à¹à¸²à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸ªà¸²à¸à¸à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸±à¸§à¹à¸à¸à¸à¸²à¸à¸à¸¹à¹à¸à¸¥à¸´à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸±à¸",'รูà¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸±à¸à¸à¸¹à¹à¸¥à¹à¸à¹à¸à¸±à¸à¸à¸²à¸à¸²à¸ "มà¸à¸¸à¸©à¸¢à¹à¹à¸à¸«à¹à¸§à¸" (Human-in-the-Loop) à¹à¸à¹à¸à¹à¸ "มà¸à¸¸à¸©à¸¢à¹à¸à¸à¸«à¹à¸§à¸" (Human-on-the-Loop) สำหรัà¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸à¸à¹à¸à¸£ à¹à¸à¸¢à¸¡à¸µà¸à¸¥à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸à¸à¸à¸à¸±à¸§à¹à¸à¸à¸ ายหลัà¸à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸ à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸²à¸¡à¸£à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¹à¸à¹à¸à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸¡à¸²à¸à¸£à¸à¸²à¸ à¸à¸¶à¹à¸à¸à¹à¸§à¸¢à¹à¸£à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸¸à¸à¸ªà¸²à¸«à¸à¸£à¸£à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸³à¸à¸±à¸à¸à¸¹à¹à¸¥ à¹à¸à¹à¸ à¸à¸²à¸£à¹à¸à¸´à¸ à¸à¸²à¸£à¹à¸à¸à¸¢à¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¥à¸´à¸ à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¸à¸à¸à¸£à¸°à¸à¸à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¹à¸à¹à¹à¸à¸´à¹à¸¡à¸à¸¶à¹à¸à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§à¹à¸à¸à¸¸à¸à¸ªà¸²à¸«à¸à¸£à¸£à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸³à¸à¸±à¸à¸à¸¹à¹à¸¥ à¹à¸à¹à¸ à¸à¸²à¸£à¹à¸à¸´à¸ à¸à¸²à¸£à¹à¸à¸à¸¢à¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¥à¸´à¸']},features:{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",subtitle:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",items:[{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸±à¸§à¹à¸à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸",description:"สà¸à¸±à¸à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸²à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¹à¸¢à¸à¸¢à¹à¸à¸¢à¸à¸²à¸à¹à¸¥à¸°à¸à¸µà¹à¹à¸à¸à¸à¸§à¸²à¸¡à¸£à¸±à¸à¸à¸´à¸à¸à¸à¸à¸à¸à¸à¸à¸±à¸§à¹à¸à¸ à¹à¸£à¸²à¸à¸´à¸à¸²à¸£à¸à¸²à¸§à¹à¸²à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸¢à¸à¸±à¸§à¹à¸à¸à¸à¸à¹à¸à¸µà¸¢à¸§à¸«à¸£à¸·à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸°à¸ªà¸²à¸à¸à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸±à¸§à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸ à¹à¸¥à¸°à¹à¸¥à¸·à¸à¸à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸ à¹à¸à¹à¸ ReA
243ct, Plan-and-Execute à¹à¸¥à¸° Reflexion"},{title:"à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡ RAG / à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸ / à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸¥à¸§à¹",description:"à¸à¹à¸à¸ªà¹à¸ RAG à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¸à¸¶à¹à¸à¸£à¸§à¸¡à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸§, à¸à¸¥à¸¢à¸¸à¸à¸à¹à¸à¸²à¸£à¹à¸à¹à¸à¸ªà¹à¸§à¸, à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸, à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¸à¸±à¸ API à¹à¸¥à¸°à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ ายà¸à¸à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸ MCP, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸¥à¸§à¹à¸«à¸¥à¸²à¸¢à¸à¸±à¹à¸à¸à¸à¸à¹à¸à¸¢à¹à¸à¹ LangGraph à¹à¸¥à¸° CrewAI à¸à¸±à¸à¸à¸²à¸£à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸¥à¸§à¹à¸«à¸¥à¸²à¸¢à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¸§à¸¢ LangGraph à¹à¸¥à¸° CrewAI"},{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸",description:"à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¹à¹à¸à¸¢ RBAC/ABAC, มาà¸à¸£à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸£à¸à¸à¸³à¸ªà¸±à¹à¸, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸¥à¸°à¸à¸à¸à¸´à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥ (PII) à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸¥à¹à¸§ à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸³à¹à¸à¹à¸²à¹à¸¥à¸°à¸ªà¹à¸à¸à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸°à¸à¸¹à¸à¹à¸à¹à¸à¸£à¸±à¸à¸©à¸²à¹à¸§à¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸µà¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸à¸¡à¸²à¸à¸£à¸à¸²à¸ SOC2 à¹à¸¥à¸° ISO27001 à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸"},{title:"à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸£à¸§à¸¡à¸à¸¶à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸¥",description:"à¸à¸³à¸à¸²à¸£à¹à¸ªà¸à¸à¸ าà¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡ (Trace visualization) มาà¹à¸à¹à¸£à¹à¸§à¸¡à¸à¸±à¸ LangSmith, Langfuse à¹à¸¥à¸°à¸à¸·à¹à¸à¹ à¸à¸£à¹à¸à¸¡à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸«à¸à¹à¸§à¸à¹à¸§à¸¥à¸² à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¸à¸±à¸à¸£à¸²à¸à¸²à¸£à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ สรà¹à¸²à¸à¸§à¸à¸à¸£à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸ รวมà¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸¡à¸·à¹à¸à¸à¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¸à¸à¸à¸´ à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸ A/B à¹à¸¥à¸°à¸à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¢ (Regression Test) à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¥"}]},techStack:{title:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸ªà¹à¸à¸à¸ªà¹",subtitle:"à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ",categories:{agentFramework:{title:"à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸§à¹à¸à¸",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","OpenAI Agents SDK","Anthropic MCP","Google ADK (Agent Development Kit)","à¹à¸à¸à¸£à¹à¹à¸à¸¥à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢","à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸§à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¸£à¸¡à¸ªà¸´à¸à¸à¸´à¹"]},apiLayer:{title:"à¸à¸±à¹à¸ API",items:["FastAPI / Litestar","gRPC / à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸","GraphQL à¹à¸à¹à¸à¸à¹à¸£à¸à¸±à¹à¸","à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","à¹à¸à¸à¹à¸§à¸¢à¹ API (Kong / Envoy)","à¸à¸²à¸£à¸à¸³à¸à¸±à¸à¸à¸±à¸à¸£à¸²à¹à¸à¸à¸à¸£à¸±à¸à¸à¸±à¸§à¹à¸à¹"]},vectorDb:{title:"à¹à¸§à¸à¹à¸à¸à¸£à¹ DB / RAG",items:["ลูà¸à¸ªà¸","วีà¹à¸§à¸µà¸¢à¸","à¸à¸§à¸à¸à¹à¸£à¸à¸à¹","มิลวุส","ChromaDB","à¸à¸µà¸à¸µà¹à¸§à¸à¹à¸à¸à¸£à¹","FAISS","à¹à¸à¸à¸£à¹à¹à¸à¸à¸±à¹à¸à¹à¸à¸à¸£à¹"]}
243,infrastructure:{title:"à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","à¸à¸¥à¸±à¸ªà¹à¸à¸à¸£à¹ GPU ภายà¹à¸à¸à¸à¸à¹à¸à¸£","à¸à¸¥à¸²à¸§à¸à¹à¸ªà¹à¸§à¸à¸à¸±à¸§","à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸¥à¸ª (à¹à¸¥à¸¡à¸à¹à¸à¸² / à¸à¸¥à¸²à¸§à¸à¹à¸£à¸±à¸)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µ 2026",description:"à¹à¸ Agent Framework, SDK/à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸£à¸²à¸¢à¹à¸«à¸à¹ à¹à¸à¹à¸ OpenAI Agents SDK, Anthropic MCP, à¹à¸¥à¸° Google ADK à¸à¸³à¸¥à¸±à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸; à¹à¸ API Layer, gRPC à¹à¸¥à¸° SSE à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸£à¸°à¸«à¸§à¹à¸²à¸ Agent-to-Agent à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¹à¸²à¸à¹à¸à¸ªà¸¹à¹ OAuth 2.1 à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸¢à¸¹à¹; à¹à¸ Vector DB, Qdrant à¹à¸¥à¸° Turbopuffer à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸ªà¸¹à¸."}},cta:{title:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¹à¸à¹à¸à¸¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸ PoC à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸² LLM à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸²à¸£à¸à¸²à¹à¸à¹à¹à¸à¹à¸à¸à¸±à¸",primaryButton:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",secondaryButton:"à¸à¸²à¸£à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¸à¸²à¸à¹à¸à¸à¸à¸´à¸"}},mA={title:"à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢",subtitle:"à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢",items:[{question:"à¸à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸¹à¹à¸¡à¸·à¸à¹à¸¥à¸°à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?",answer:"à¹à¸à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹; มัà¸à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¥à¹à¸ªà¹à¸§à¸à¹à¸«à¸à¹ รวมà¸à¸¶à¸ PDF, Word, Excel, HTML, à¹à¸¥à¸°à¹à¸à¸¥à¹à¸à¹à¸à¸à¸§à¸²à¸¡. à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¹à¸«à¸¥à¸à¹à¸à¸à¸ªà¸²à¸£à¸ ายà¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸à¸²à¸¡à¹à¸à¸´à¸¡ à¹à¸¥à¸° AI à¸à¸°à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸¥à¸°à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸à¸à¸³à¸à¸²à¸¡à¸à¸à¸à¸à¸¸à¸. à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¸¥à¸à¸£à¸¹à¸à¹à¸à¸à¸«à¸£à¸·à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸´à¹à¸¨à¸©."},{question:"สามารà¸à¹à¸à¹à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸à¸±à¸à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?",answer:"à¹à¸à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย à¹à¸¡à¹à¸§à¹à¸²à¸à¸°à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£ (à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸) หรืà¸à¹à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸¥à¸²à¸§à¸à¹à¸ªà¹à¸§à¸à¸à¸±à¸§ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¸ªà¹à¸à¸à¸à¸à¹à¸à¸ ายà¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸ à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸ªà¸à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸µà¹à¸à¸£à¸à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸à¹à¸à¹"},{question:"à¹à¸à¹à¹à¸§à¸¥à¸²à¸à¸²à¸à¹à¸à¹à¸²à¹à¸£à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£?",answer:"à¸à¸à¸ FAQ มาà¸à¸£à¸à¸²à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¹à¸à¹à¹à¸à¹à¸§à¸¥à¸²à¹à¸à¸µà¸¢à¸ 2-4 สัà¸à¸à¸²à¸«à¹ หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸«à¸£à¸·à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸ªà¸¹à¸ à¹à¸£à¸²à¸à¸£à¸°à¹à¸¡à¸´à¸à¸§à¹à¸²à¸à¸°à¹à¸à¹à¹à¸§à¸¥à¸² 1-3 à¹à¸à¸·à¸à¸ à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¹à¸§à¸¢ PoC (proof of concept) à¸à¸à¸²à¸à¹à¸¥à¹à¸à¹à¸à¹à¹à¸à¹à¸à¸à¸±à¸"},{question:"à¸à¸¸à¸à¹à¸à¹ API ภายà¸à¸à¸ à¹à¸à¹à¸ ChatGPT หรืภClaude หรืà¸à¹à¸¡à¹?",answer:"สามารà¸à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸²à¸¡à¸à¸³à¸à¸ à¹à¸£à¸²à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸à¹ API ภายà¸à¸à¸ (OpenAI, Anthropic, Google ฯลฯ) à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸à¹ LLM à¹à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸£à¹à¸ª (Llama, Mistral, Qwen ฯลฯ) à¸à¸µà¹à¸à¸³à¸à¸²à¸à¹à¸à¸à¸ ายà¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸ à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸ªà¸à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¹à¸à¸à¸¸à¸ à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸à¸à¸à¸¸à¸"},{question:"à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸³à¸à¸à¸à¸à¸à¸ AI à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¹à¸£?",answer:"à¸à¸¶à¹à¸à¸à¸¢à¸¹à¹à¸à¸±à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¹à¸¥à¸°à¸à¸¸à¸à¸ าà¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ ระà¸à¸ RAG à¸à¸µà¹à¸à¸à¸à¹à¸à¸à¸à¸¢à¹à¸²à¸à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸³à¸à¸à¸à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¹à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³ 90% หรืà¸à¸¡à¸²à¸à¸à¸§à¹à¸² à¸à¸¥à¹à¸à¹à¸à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸
243ิà¸à¸ าà¸à¸«à¸¥à¸à¸ (à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸´à¸à¸à¸¥à¸²à¸) à¸à¹à¸à¸¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸¶à¹à¸à¹à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸"},{question:"à¸à¸¸à¸à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸ าษาà¸à¸·à¹à¸à¸à¸à¸à¸à¸²à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?",answer:"à¹à¸à¹, มีà¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸«à¸¥à¸²à¸¢à¸ าษาà¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£. à¹à¸£à¸²à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¸à¸à¸ าษาหลัภรวมà¸à¸¶à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸, ภาษาà¸à¸±à¸à¸à¸¤à¸©, ภาษาà¸à¸µà¸, à¹à¸¥à¸°à¸ าษาà¹à¸à¸²à¸«à¸¥à¸µ. à¹à¸à¸à¸à¸µà¹à¸à¸°à¸¡à¸µà¹à¸¡à¹à¸à¸¥à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸¥à¸°à¸ าษา ระà¸à¸à¹à¸à¸µà¸¢à¸§à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸³à¸à¹à¸à¸«à¸²à¸«à¸¥à¸²à¸¢à¸ าษาà¹à¸à¹."},{question:"à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸ªà¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹ (CRM, à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¹à¸à¸ ฯลฯ) à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?",answer:"à¹à¸à¹ สามารà¸à¸£à¸§à¸¡à¹à¸à¹à¸²à¸à¹à¸§à¸¢à¸à¸±à¸à¹à¸à¹; รà¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸à¸ªà¸²à¸à¸à¸±à¸ API à¸à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸¸à¸£à¸à¸´à¸à¸«à¸¥à¸±à¸ à¹à¸à¹à¸ Salesforce, HubSpot, Slack, Microsoft Teams à¹à¸¥à¸° LINE WORKS à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸¹à¹à¸à¹à¸§à¸¢ AI มาà¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸´à¸¡à¸à¸à¸à¸à¸¸à¸"},{question:"à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¹à¸²à¸à¸£à¸£à¸¡à¹à¸à¸µà¸¢à¸¡à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¹à¸£?",answer:"à¸à¸¶à¹à¸à¸à¸¢à¸¹à¹à¸à¸±à¸à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸à¸à¹à¸à¸£à¸à¸à¸²à¸£. à¹à¸à¸à¸à¸°à¸à¸µà¹à¸à¹à¸²à¸à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¹à¸¥à¸°à¸à¹à¸²à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸£à¸²à¸¢à¹à¸à¸·à¸à¸à¸¡à¸±à¸à¸à¸°à¸£à¸§à¸¡à¸à¸±à¸à¹à¸§à¹à¹à¸¥à¹à¸§ à¹à¸à¹à¹à¸£à¸²à¸à¹à¸£à¸±à¸à¸à¸³à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¸à¸£à¸´à¸à¸²à¸£à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¹à¸à¸µà¸¢à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§à¹à¸à¹à¸à¸à¸±à¸. à¹à¸à¸£à¸à¹à¸à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸à¸. à¹à¸£à¸²à¸à¸°à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸²à¸à¸à¸²à¸£à¸à¸£à¹à¸²à¸§ ๠à¹à¸«à¹à¸à¸¸à¸."}]},pA={title:"à¹à¸à¸à¸à¸±à¸à¸£à¸²à¸à¹à¸²à¸à¸£à¸´à¸à¸²à¸£",subtitle:"à¹à¸à¸à¸£à¸²à¸à¸²",description:"à¹à¸à¸à¸à¸µà¹à¸¢à¸·à¸à¸«à¸¢à¸¸à¹à¸à¹à¸à¸·à¹à¸à¹à¸«à¸¡à¸²à¸°à¸à¸±à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸£à¸à¸´à¸à¸à¸¸à¸",plans:[{name:"สà¸à¸²à¸£à¹à¸à¹à¸à¸à¸£à¹",price:"ยีà¹à¸ªà¸´à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸£à¹à¸à¸¢à¹à¸¢à¸",period:"รายà¹à¸à¸·à¸à¸/à¸à¸¹à¹à¹à¸à¹",description:"à¹à¸à¸à¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µà¸¡à¸à¸à¸²à¸à¹à¸¥à¹à¸ à¸à¸±à¸à¸à¹à¸à¸±à¸ AI à¸à¸·à¹à¸à¸à¸²à¸à¹à¸à¸£à¸²à¸à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¸¶à¸",features:["สูà¸à¸ªà¸¸à¸ 100 สายà¸à¹à¸à¹à¸à¸·à¸à¸","à¸à¸²à¸£à¸à¸à¸à¸à¸§à¸²à¸¡à¸à¸·à¹à¸à¸à¸²à¸","à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸³à¸«à¸¥à¸±à¸","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸¥","à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸±à¸à¸©à¸²à¸à¹à¸à¸¡à¸¹à¸¥ 7 วัà¸"],cta:"à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸£à¸µ",popular:!1},{name:"มืà¸à¸à¸²à¸à¸µà¸",price:"Â¥79,800",period:"รายà¹à¸à¸·à¸à¸/à¸à¸¹à¹à¹à¸à¹",description:"à¹à¸«à¸¡à¸²à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µà¸¡à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¹à¸à¸´à¸à¹à¸. à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸±à¹à¸à¸ªà¸¹à¸.",features:["สูà¸à¸ªà¸¸à¸ 500 สายà¸à¹à¸à¹à¸à¸·à¸à¸","à¸à¸²à¸£à¸à¸à¸à¹à¸ªà¸µà¸¢à¸à¸à¹à¸§à¸¢ AI à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸à¸à¸²à¸£à¸¡à¸à¹","à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸ CRM","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸","à¸à¸²à¸£à¹à¸
243à¹à¸à¸£à¸±à¸à¸©à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¹à¸§à¸¥à¸² 30 วัà¸","รายà¸à¸²à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸"],cta:"à¸à¸à¸¥à¸à¸à¹à¸à¹à¸à¸£à¸µ 14 วัà¸",popular:!0},{name:"à¸à¸à¸à¹à¸à¸£à¸à¸¸à¸£à¸à¸´à¸",price:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",period:"à¸à¸´à¸ªà¸±à¸¢",description:"à¹à¸à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸£à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸à¸£à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£à¸à¸à¸²à¸à¹à¸«à¸à¹",features:["à¹à¸¡à¹à¸à¸³à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸£","à¹à¸¡à¹à¸à¸¥ AI à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¸²à¸°","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸µà¹à¸à¸¸à¹à¸¡à¹à¸","à¸à¸²à¸£à¸£à¹à¸§à¸¡à¸¡à¸·à¸à¹à¸à¸à¸à¸³à¸«à¸à¸à¹à¸à¸","à¸à¸²à¸£à¸£à¸±à¸à¸à¸£à¸°à¸à¸±à¸ SLA","à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย","à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¡à¹à¸à¸³à¸à¸±à¸"],cta:"à¸à¸£à¸¶à¸à¸©à¸²à¸à¸±à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢",popular:!1}],faq:{title:"à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢",items:[{question:"มีà¹à¸«à¹à¸à¸à¸¥à¸à¸à¹à¸à¹à¸à¸£à¸µà¸«à¸£à¸·à¸à¹à¸¡à¹",answer:"à¹à¸à¹, à¸à¸à¸¥à¸à¸à¹à¸à¹à¸à¸£à¸µ 14 วัภสำหรัà¸à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸à¸µà¸. à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¹à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¹à¸à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸."},{question:"à¸à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸à¸à¸à¸à¸à¸±à¸à¹à¸à¹à¸à¸¥à¸à¸à¹à¸§à¸¥à¸²à¸«à¸£à¸·à¸à¹à¸¡à¹",answer:"à¹à¸à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸£à¸à¸«à¸£à¸·à¸à¸à¸²à¸§à¸à¹à¹à¸à¸£à¸à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸¸à¸à¹à¸¡à¸·à¹à¸ à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸°à¸¡à¸µà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹à¸£à¸à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¸à¹à¸"},{question:"มีà¹à¸à¸·à¹à¸à¸à¹à¸à¸ªà¸±à¸à¸à¸²à¸à¸¹à¸à¸à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?",answer:"à¹à¸à¸à¸£à¸²à¸¢à¹à¸à¸·à¸à¸à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸à¸³à¸à¸±à¸à¸£à¸°à¸¢à¸°à¹à¸§à¸¥à¸²à¸ªà¸±à¸à¸à¸² หาà¸à¸à¸¸à¸à¹à¸¥à¸·à¸à¸à¸à¸³à¸ªà¸±à¸à¸à¸²à¸£à¸²à¸¢à¸à¸µ à¸à¸¸à¸à¸à¸°à¹à¸à¹à¸£à¸±à¸à¸ªà¹à¸§à¸à¸¥à¸ 20%"}]}},gA={hero:{badge:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸±à¸à¹à¸à¸¥à¸·à¹à¸à¸à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",title:"à¸à¸²à¸£à¸à¸à¸à¹à¸ªà¸µà¸¢à¸à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"à¹à¸à¸à¸à¸³à¸¥à¸à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¸±à¹à¸à¸ªà¸¹à¸à¹à¸«à¹à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸à¸¶à¸ 99.5% ระà¸à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸¶à¸à¸à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¸à¸±à¸à¸¥à¸¹à¸à¸à¹à¸²à¸«à¸¥à¸²à¸¢à¸¥à¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹",features:["à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸ 99.5%","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹","รà¸à¸à¸£à¸±à¸à¸¡à¸²à¸à¸à¸§à¹à¸² 40 ภาษา"]},features:{title:"หà¸à¹à¸²à¸à¸µà¹à¸«à¸¥à¸±à¸",subtitle:"à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸à¸à¹à¸ªà¸µà¸¢à¸à¸à¸±à¹à¸à¸ªà¸¹à¸à¸à¸µà¹à¹à¸«à¸à¸·à¸à¸à¸§à¹à¸²à¸à¸²à¸£à¸£à¸¹à¹à¸à¸³à¹à¸ªà¸µà¸¢à¸à¸à¸¹à¸à¸à¸±à¹à¸§à¹à¸",items:[{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹",description:"รัà¸à¸à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸² รัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸¥à¸¶à¸à¸à¸±à¸à¸à¸µà¹à¸¥à¸°à¹à¸¡à¹à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸¥à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹"},{title:"à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา",description:"รà¸à¸à¸£à¸±à¸à¸¡à¸²à¸à¸à¸§à¹à¸² 40 ภาษาà¹à¸¥à¸°à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸à¸µà¸¡à¸à¸²à¸à¸à¸±à¹à¸§à¹à¸¥à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸ าษาà¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´"},{title:"à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸à¸²à¸¡à¸à¸£à¸´à¸à¸",description:"à¹à¸à¸à¸à¸³à¸¥à¸à¸ AI à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸¶à¸à¸à¸à¸à¹à¸§à¸¢à¸à¸³à¸¨à¸±à¸à¸à¹à¹à¸à¸à¸²à¸°à¸à¸²à¸à¸à¸¸à¸à¸ªà¸²à¸«à¸à¸£à¸£à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸³à¸à¸³à¸¨à¸±à¸à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸´à¸à¹à¸¥à¸°à¸à¸¸à¸£à¸à¸´à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸"},{title:"à¸à¸²à¸£à¹à¸¢à¸à¹à¸ªà¸µà¸¢à¸à¸¥à¸³à¹à¸à¸",description:"ระà¸à¸¸à¹à¸¥à¸°à¹à¸¢à¸à¸à¸¹à¹à¸à¸¹à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸±à¸à¹à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¥à¸°à¸à¸³à¸«à¸à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸à¸à¸¹à¹à¸à¸¹à¸à¸à¸¢à¹à¸²à¸à¸à¸±à¸à¹à¸à¸"},{title:"à¸à¸³à¸¨à¸±à¸à¸à¹à¹à¸à¸à¸²à¸°à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸",description:"à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸à¸·à¹à¸à¸à¸¥à¸´à¸à¸ ัà¸à¸à¹ à¸à¸·à¹à¸à¸à¸£à¸´à¸à¸²à¸£ à¹à¸¥à¸°à¸à¸³à¸¨à¸±à¸à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸´à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¸à¸¥à¸±à¸à¸©à¸à¹à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸ à¸à¸°à¸à¹à¸§à¸¢à¹à¸«à¹à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸¢à¸´à¹à¸à¸à¸¶à¹à¸"},{title:"à¸à¸²à¸£à¸à¸£à¸°à¸à¸±à¸à¸à¸¸à¸à¸ าà¸",description:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸¸à¸à¸ าà¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸¥à¸°à¸à¸²à¸£à¹à¸«à¹à¸à¸°à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸·à¸à¸à¹à¸§à¸¢à¹à¸«à¹à¸¡à¸±à¹à¸à¹à¸à¹à¸à¹à¸à¸¶à¸à¸à¸²à¸£à¸à¸à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸¸à¸à¸ าà¸à¸ªà¸¹à¸à¸ªà¸¸à¸"}]},useCases:{title:"à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸ªà¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¹à¸²à¸à¹",subtitle:"à¸à¸¸à¸à¸ªà¸²à¸«à¸à¸£à¸£à¸¡à¹à¸¥à¸°à¸à¸µà¸¡à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸à¸à¹à¸ªà¸µà¸¢à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸",items:[{title:"à¸à¸µà¸¡à¸à¸²à¸¢",description:"à¸à¸à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸£à¸à¸²à¸¢à¹à¸¥à¸°à¸£à¸°à¸à¸¸à¸£à¸¹à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸ à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸²à¸£à¸à¸¹à¸à¹à¸¥à¸°à¹à¸«à¹à¸à¸³à¹à¸à¸°à¸à¸³à¹à¸à¹à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸à¸à¸µà¸¡à¸à¹à¸§à¸¢à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¸à¸²à¸°"},{title:"à¸à¹à¸²à¸¢à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸¥à¸¹à¸à¸à¹à¸²",description:"à¸à¸±à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸ à¸à¸¹à¹à¸¥à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸à¹à¸§à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¸¡à¸±à¹à¸à¹à¸à¹à¸à¸à¸¸à¸à¸ าà¸à¸à¸²à¸£à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¸ªà¸¡à¹à¸³à¹à¸ªà¸¡à¸"},{title:"à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸¸à¸à¸ าà¸",description:"à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¸£à¸±à¸à¸£à¸à¸à¸à¸²à¸£à¹à¸à¹à¸ªà¸à¸£à¸´à¸à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¹à¸à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¢à¹à¸²à¸à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¶à¸à¸à¸à¸£à¸¡"}]},stats:{accuracy:{value:"à¹à¸à¹à¸²à¸ªà¸´à¸à¹à¸à¹à¸²à¸à¸¸à¸à¸«à¹à¸²à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¸à¹",label:"à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸§à¸²à¸¡"},languages:{value:"40+",label:"ภาษาà¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸"},latency:{value:"<2 วิà¸à¸²à¸à¸µ",label:"à¸à¸§à¸²à¸¡à¸¥à¹à¸²à¸à¹à¸²à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥"},availability:{value:"24/7",label:"à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸"}}},hA={hero:{badge:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸±à¸à¸à¸£à¸´à¸¢à¸°",title:"à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸³à¸à¹à¸à¸«à¸²",description:"à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸à¸à¸¹à¹à¹à¸à¹à¸ à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸ à¹à¸¥à¸°à¸«à¸±à¸§à¸à¹à¸à¸ªà¸³à¸à¸±à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¡à¹à¸à¸¥à¸²à¸à¸ªà¸±à¸à¸à¸²à¸à¸ªà¸³à¸à¸±à¸à¸à¸²à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²",badges:["à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸","à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸«à¸±à¸§à¸à¹à¸","à¸à¸³à¸«à¸¥à¸±à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸"]},features:{title:"à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸ªà¸³à¸à¸±à¸",subtitle:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸³à¸ªà¸³à¸à¸±à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸²à¸à¸à¸¸à¸à¸à¸à¸ªà¸à¸à¸à¸²",items:[{title:"à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸¹à¹à¹à¸à¹à¸",description:"à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸à¸à¸¹à¹à¹à¸à¹à¸à¹à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸³à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸§à¹à¸²à¸à¸¥à¸¸à¹à¸¡à¹à¸à¹à¸²à¸«à¸¡à¸²à¸¢à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸¥à¸¹à¸à¸±à¸à¸à¸à¸à¸à¸¸à¸à¸à¸±à¸à¸à¸²à¸à¹à¸¥à¸·à¸à¸à¸à¸·à¹à¸à¹à¸à¸à¸¥à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸£"},{title:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸",description:"ระà¸à¸¸à¸à¹à¸à¹à¸à¹à¹à¸¢à¹à¸à¹à¸¥à¸°à¸à¹à¸à¸à¸±à¸à¸§à¸¥à¸à¸±à¹à¸§à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¶à¸à¸à¸à¸£à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸"},{title:"à¸à¸³à¸«à¸¥à¸±à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸",description:"à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¸à¸´à¸à¸à¸²à¸¡à¸à¸³à¸«à¸¥à¸±à¸à¹à¸¥à¸°à¸§à¸¥à¸µà¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸à¹à¸à¸à¸²à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸£à¸à¸´à¸ à¸à¸¥à¸´à¸à¸ ัà¸à¸à¹ หรืà¸à¸à¸¸à¸à¸ªà¸²à¸«à¸à¸£à¸£à¸¡à¸à¸à¸à¸à¸¸à¸"},{title:"à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸§à¹à¸à¹à¸¡",description:"à¸à¹à¸à¸à¸à¹à¸à¸§à¹à¸à¹à¸¡à¹à¸«à¸¡à¹ ๠à¸à¸²à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸±à¸à¸¥à¸¹à¸à¸à¹à¸² à¹à¸¥à¸°à¸à¸£à¸±à¸à¸à¸¥à¸¢à¸¸à¸à¸à¹à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸à¸²à¸à¸à¸¥à¸²à¸à¸à¸µà¹à¹à¸à¹à¸à¸£à¸´à¸"},{title:"à¸à¸²à¸£à¸ªà¸à¸±à¸à¸à¸£à¸´à¸à¸",description:"รัà¸à¸à¸£à¸´à¸à¸à¸à¸±à¹à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸«à¸¥à¸±à¸à¸à¸³à¸ªà¸³à¸à¸±à¸ à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸à¸²à¸£à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸à¸à¸³à¸à¸±à¹à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸à¹à¸²à¹à¸à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸ à¹à¸à¹à¸¢à¸±à¸à¸£à¸§à¸¡à¸à¸¶à¸à¹à¸«à¸à¸¸à¸à¸¥à¹à¸¥à¸°à¸§à¸´à¸à¸µà¸à¸²à¸£à¸à¸µà¹à¸¡à¸±à¸à¸à¸¹à¸à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸à¸à¹à¸§à¸¢"},{title:"à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸±à¸à¸à¸£à¸´à¸¢à¸°",description:"à¸à¹à¸à¸«à¸²à¸à¸¸à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¹à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸·à¹à¸à¸«à¸²à¸à¸³à¹à¸«à¸à¹à¸à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¸à¸µà¹à¸«à¸±à¸§à¸à¹à¸à¹à¸à¸à¸²à¸°à¸à¸¹à¸à¸à¸¹à¸à¸à¸¶à¸"}]},applications:{title:"à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸ªà¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¹à¸²à¸à¹",items:{competitive:{title:"à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸±à¸",description:"à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸à¸¢à¹à¸²à¸à¸¥à¸¶à¸à¸à¸¶à¹à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸ ูมิà¸à¸±à¸¨à¸à¹à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸:",points:["à¸à¸´à¸à¸à¸²à¸¡à¸à¸¹à¹à¹à¸à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸à¸à¹à¸à¸¢à¸à¸µà¹à¸ªà¸¸à¸à¸à¸à¸à¸à¸¸à¸","à¹à¸à¹à¸²à¹à¸à¸§à¹à¸²à¸¥à¸¹à¸à¸à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¹à¸¥à¸°à¸£à¸²à¸à¸²à¸à¸¢à¹à¸²à¸à¹à¸£","ระà¸à¸¸à¸à¸¸à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸à¸à¸à¸¸à¸","à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸ªà¸²à¸£à¸à¹à¸à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸"]},objections:{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¹à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸",description:"à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¹à¸«à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸à¸à¸²à¸ª:",points:["ระà¸à¸¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢à¸à¸µà¹à¸ªà¸¸à¸à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²","วิà¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸²à¸£à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸¹à¹à¸à¸µà¹à¸¡à¸µà¸à¸¥à¸à¸²à¸à¸¢à¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡","à¸à¸¹à¹à¸¡à¸·à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¸µà¹à¸à¸´à¸ªà¸¹à¸à¸à¹à¹à¸¥à¹à¸§","à¸à¸¶à¸à¸à¸à¸£à¸¡à¸à¸µà¸¡à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸"]},product:{title:"à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸¥à¸¶à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¥à¸´à¸à¸ ัà¸à¸à¹",description:"สà¹à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸¥à¸´à¸à¸ ัà¸à¸à¹à¸à¹à¸²à¸à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸à¸¥à¸¹à¸à¸à¹à¸²:",points:["ระà¸à¸¸à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸µà¹à¸¡à¸µà¸à¸¹à¹à¸£à¹à¸à¸à¸à¸à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸","à¹à¸à¹à¸²à¹à¸à¸à¸§à¸²à¸¡à¸à¹à¸²à¸à¸²à¸¢à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸","à¸à¹à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸","à¸à¸±à¸à¸¥à¸³à¸à¸±à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸à¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸²"]},compliance:{title:"à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¸°à¸à¸¸à¸à¸ าà¸",description:"à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸°à¸à¸¸à¸à¸ าà¸:",points:["à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸¥à¸°à¸ าษาà¸à¸²à¸à¸à¸à¸«à¸¡à¸²à¸¢","à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸µà¹à¸à¸²à¸à¸¥à¸°à¹à¸¡à¸´à¸à¸à¹à¸¢à¸à¸²à¸¢","à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸ªà¸à¸£à¸´à¸à¸à¹à¹à¸¥à¸°à¹à¸à¸§à¸à¸²à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸","สรà¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸"]}}},advancedFeatures:{title:"à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸±à¹à¸à¸ªà¸¹à¸",items:[{title:"à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸±à¸à¹à¸à¸",de
243scription:"à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸³à¸à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸, à¸à¸³à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸, à¹à¸¥à¸°à¸à¸³à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¹à¸à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸"},{title:"à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸´à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¨à¸²à¸ªà¸à¸£à¹",description:"วิà¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸§à¹à¸à¹à¸¡à¸à¸à¸à¸à¸³à¸à¹à¸à¸«à¸²à¸à¸²à¸¡à¹à¸§à¸¥à¸²à¹à¸à¸·à¹à¸à¸£à¸°à¸à¸¸à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸¡à¸¤à¸à¸¹à¸à¸²à¸¥à¹à¸¥à¸°à¸«à¸±à¸§à¸à¹à¸à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸"},{title:"à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹",description:"รัà¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸±à¸à¸à¸µà¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸à¸¥à¹à¸²à¸§à¸à¸¶à¸à¸à¸³à¸ªà¸³à¸à¸±à¸à¹à¸à¸à¸à¸ªà¸à¸à¸à¸²à¸ªà¸"}]}},fA={hero:{badges:["à¸à¸à¸à¹à¸à¸£","LLM à¹à¸à¸à¹à¸à¸à¸à¸´à¹à¸","à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£"],title:"à¸à¸²à¸£à¸à¹à¸à¸ªà¸£à¹à¸²à¸ LLM ภายà¹à¸à¸à¸à¸à¹à¸à¸£",description:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£ LLM à¹à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸à¸à¸à¸¸à¸à¹à¸à¸ à¹à¸à¸¢à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸§à¹à¸ ายà¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸"},mission:{title:"ภาà¸à¸£à¸§à¸¡à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸à¸ªà¸£à¹à¸²à¸ LLM ภายà¹à¸à¸à¸à¸à¹à¸à¸£",paragraphs:["สำหรัà¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸¥à¸±à¸à¸à¸à¸à¸à¸à¸à¹à¸à¸£à¹à¸à¹ à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡ LLM à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸à¹à¸à¹à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸à¸à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸à¸à¸¥à¸²à¸§à¸à¹à¸ªà¹à¸§à¸à¸à¸±à¸§ à¹à¸à¸¥à¸¹à¸à¸±à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸à¸¢à¹à¸²à¸à¸¢à¸´à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸§à¸ à¹à¸à¹à¸ สà¸à¸²à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸ หà¸à¹à¸§à¸¢à¸à¸²à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸à¸¢à¹ หà¸à¹à¸§à¸¢à¸à¸²à¸à¸£à¸±à¸à¸à¸²à¸¥ à¹à¸¥à¸°à¸ªà¸à¸²à¸à¸±à¸à¸§à¸´à¸à¸±à¸¢ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹ API สาà¸à¸²à¸£à¸à¸°à¹à¸à¹ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸°à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸à¸ ายà¹à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¸à¸µà¹à¸¥à¸¹à¸à¸à¹à¸²à¹à¸à¹à¸à¸à¸¹à¹à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸","à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸, à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹, à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸à¸¢à¹à¸à¹à¹à¸à¸à¸à¸³à¸¥à¸à¸à¸à¹à¸³à¸«à¸à¸±à¸à¹à¸à¸´à¸à¸à¸µà¹à¸¡à¸µà¸à¸³à¸«à¸à¹à¸²à¸¢à¹à¸à¹à¸à¸´à¸à¸à¸²à¸à¸´à¸à¸¢à¹ à¹à¸à¹à¸ Llama 3.3, Qwen 2.5, Mistral, à¹à¸¥à¸° DeepSeek à¸à¸£à¹à¸à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸ à¹à¸à¹à¸ vLLM, Ollama, à¹à¸¥à¸° SGLangà¹à¸¡à¹à¸à¸¥à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸³à¸à¸²à¸à¸à¸à¹à¸à¸à¸à¸´à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸ à¹à¸à¹à¸ vLLM, Ollama à¹à¸¥à¸° SGLang à¹à¸à¸·à¹à¸à¹à¸«à¹à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸«à¸à¹à¸§à¸à¸à¹à¸³à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸","à¹à¸£à¸²à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢ à¹à¸à¹à¸ à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸à¸´à¸¡, à¹à¸à¸à¸à¸à¸, RAG ภายà¹à¸à¸à¸à¸à¹à¸à¸£, à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¹à¸à¸à¸ªà¸²à¸£, à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¹à¸ à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¹à¸à¸à¹à¸«à¹à¸à¸£à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸à¸à¹à¸à¸£ รวมà¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸¡à¹à¸à¸¥à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸à¸à¸²à¸°à¸à¸²à¸, à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸§à¸¢ NVIDIA GPU / Apple Silicon, à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸¥à¸²à¸¢à¸à¸¹à¹à¹à¸à¹à¸à¸²à¸, à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸ API gateway à¹à¸¥à¸°à¸à¸·à¹à¸à¹ à¸à¸µà¸à¸¡à¸²à¸à¸¡à¸²à¸¢"]},summary:{title:"à¹à¸à¸§à¹à¸à¹à¸¡à¸à¸à¸ LLM ภายà¹à¸à¸à¸à¸à¹à¸à¸£",paragraphs:["à¹à¸à¸à¸µ 2025-2026 à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸à¸ LLM à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§ à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸à¸à¹à¸¡à¹à¸à¸¥à¹à¸à¸à¹à¸à¸´à¸à¸à¹à¸³à¸«à¸à¸±à¸à¹à¸à¹à¹à¸à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¹à¸¡à¹à¸à¸¥à¹à¸à¸à¸à¸´à¸ à¹à¸¥à¸°à¸à¸³à¸à¸§à¸à¹à¸¡à¹à¸à¸¥à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸´à¸à¸à¸²à¸à¸´à¸à¸¢à¹à¹à¸à¹à¸¥à¸à¸¥à¸à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸ à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£à¹à¸à¹à¸à¹à¸£à¸·à¹à¸à¸à¸à¹à¸²à¸¢à¸à¸¶à¹à¸","à¹à¸¡à¹à¸à¸¥à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹ 8B à¸à¸¶à¸ 70B à¹à¸à¹à¸à¸¶à¸à¸£à¸°à¸à¸±à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¹à¸à¸£à¸´à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¸¡à¸²à¸à¸¡à¸²à¸¢ à¸à¸²à¸£à¸à¸§à¸à¸à¹à¸à¸à¹à¹à¸à¸ GGUF à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¹à¸à¹à¸£à¸§à¸à¹à¸£à¹à¸§à¹à¸¡à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸à¸à¸à¸à¸à¸¹à¹à¸à¸£à¸´à¹à¸ à¸","สำหรัà¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸, à¸à¸²à¸£à¸à¸±à¸à¸à¸¥à¸¸à¹à¸¡à¸à¹à¸à¹à¸à¸·à¹à¸à¸ (Continuous Batching) à¹à¸¥à¸°à¸à¸²à¸£à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¹à¸à¹à¸à¸«à¸à¹à¸² (PagedAttention) à¸à¸à¸ vLLM à¸à¹à¸§à¸¢à¹à¸à¸´à¹à¸¡à¸à¸£à¸´à¸¡à¸²à¸à¸à¸²à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸à¸²à¸à¹à¸¥à¸ (RadixAttention) à¸à¸à¸ SGLang à¸à¹à¸§à¸¢à¹à¸£à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¹à¸à¸à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸ Ollama à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¸à¸±à¸à¸à¸±à¹à¸§à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸
243ารà¸à¸±à¸à¸à¸²à¹à¸à¹à¸à¸£à¸·à¹à¸à¸ à¹à¸¥à¸° llama.cpp à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸ Apple Silicon สำหรัà¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¸£à¸§à¸à¹à¸£à¹à¸§à¸à¸ Mac à¸à¸µà¸£à¸µà¸ªà¹ M","à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸à¸à¹à¸à¸£ à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸à¸´à¸à¹à¸à¸¢à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸¥à¹à¸§ à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸à¸à¸¸à¸à¹à¸à¸£à¸°à¸¢à¸°à¸¢à¸²à¸§ (à¸à¸²à¸£à¸¢à¹à¸²à¸¢à¸à¸à¸à¸à¸²à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸à¸´à¸ API à¹à¸à¸à¸à¹à¸²à¸¢à¸à¸²à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸) à¸à¸³à¸¥à¸±à¸à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸£à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¸¡à¸²à¸à¸à¸¶à¹à¸ à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸ (à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¹à¸¥à¸° API à¸à¸à¸à¸¥à¸²à¸§à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸±à¹à¸§à¹à¸) à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¸à¸à¹à¸à¹à¸à¹à¸à¸¢"],icons:[{label:"à¸à¸¥à¸²à¸§à¸à¹à¸ªà¹à¸§à¸à¸à¸±à¸§"},{label:"à¸à¸à¸´à¸à¹à¸à¸¢à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥"},{label:"à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸à¸à¸¸à¸"},{label:"à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸à¸à¹à¸à¸£"}]},features:{title:"à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",subtitle:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",items:[{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸§à¸¢ GPU",description:"à¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸®à¸²à¸£à¹à¸à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸´à¸¡à¸²à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸à¸à¸£à¸°à¸¡à¸²à¸à¸à¸à¸à¸à¸¸à¸ รวมà¸à¸¶à¸ NVIDIA A100/H100, RTX 4090/5090 à¹à¸¥à¸° Apple Silicon (M2 Ultra/M3 Max/M4 Max) à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¹à¸à¹à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸²à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸à¸ GPU à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸ CUDA, MPS à¹à¸¥à¸° Metal à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸ CUDA, MPS à¹à¸¥à¸° Metal à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าภGPU à¹à¸«à¹à¸ªà¸¹à¸à¸ªà¸¸à¸"},{title:"à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡",description:"à¹à¸¥à¸·à¸à¸à¹à¸¡à¹à¸à¸¥à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸à¸²à¸ Llama, Qwen, Mistral, DeepSeek à¹à¸¥à¸°à¸à¸·à¹à¸ ๠à¹à¸à¸¢à¸à¸´à¸à¸²à¸£à¸à¸²à¸à¸²à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸à¸à¸²à¸ à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸ าษา à¹à¸¥à¸°à¸à¹à¸à¸à¸³à¸à¸±à¸à¸à¸à¸à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£ à¹à¸à¹à¸à¸²à¸£à¸à¸§à¸à¸à¹à¸à¸à¹ (GGUF/AWQ/GPTQ) à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸ KV à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¹à¸à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸à¸±à¹à¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¹à¸¥à¸°à¸à¸£à¸´à¸¡à¸²à¸à¸à¸²à¸"},{title:"à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸",description:"à¹à¸¥à¸·à¸à¸à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸ à¹à¸à¹à¸ vLLM, SGLang, Ollama, TGI à¹à¸à¹à¸à¸à¹à¸ à¸à¸²à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸¥à¸°à¸à¸³à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸¥à¹à¸²à¸ªà¸¸à¸ à¹à¸à¹à¸ Continuous Batching, Speculative Decoding, à¹à¸¥à¸° Prefix Caching มาà¹à¸à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹ API à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸«à¸à¹à¸§à¸à¸à¹à¸³à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸ à¹à¸£à¸²à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£ API à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸«à¸à¹à¸§à¸à¸à¹à¸³à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸"},{title:"à¸à¸²à¸£à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£ à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย",description:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸¡à¸à¸£à¸´à¸à¹à¸à¸´à¸à¸à¸à¸¸à¸¡à¸²à¸à¸à¹à¸§à¸¢ Prometheus/Grafana, à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸§à¸¢ API gateway, à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸, à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸à¸²à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¹à¹à¸à¸·à¸à¸à¸§à¸²à¸¡à¸¥à¹à¸¡à¹à¸«à¸¥à¸§ สรà¹à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸
243ารà¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸à¸à¸µà¹à¸à¸£à¸à¸à¸²à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸à¸à¹à¸à¸£"}]},techStack:{title:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¹à¸à¹: LLM à¹à¸à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£",subtitle:"à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ",categories:{openWeightModels:{title:"à¹à¸¡à¹à¸à¸¥à¸à¹à¸³à¸«à¸à¸±à¸à¹à¸à¸´à¸",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","à¹à¸à¸¡à¸¡à¹à¸² 2 27B / 9B","à¸à¸µ-4","à¸à¸³à¸ªà¸±à¹à¸ R (Cohere)"]},japaneseModels:{title:"รุà¹à¸à¹à¸à¸à¸²à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸µà¹à¸à¸¸à¹à¸",items:["ELYZA-à¸à¸µà¹à¸à¸¸à¹à¸-ลามะ-2","Swallow 70B / 13B","à¸à¸µà¹à¸à¸¸à¹à¸-ลามะ-3","Qwen-2.5-Japanese","à¸à¸²à¸£à¸²à¸à¸¹à¸£à¸´-LM"]},inferenceEngine:{title:"à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸",items:["vLLM (à¸à¸²à¸£à¸à¸±à¸à¸à¸¥à¸¸à¹à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸)","SGLang (RadixAttention)","à¹à¸à¸¥à¸²à¸¡à¸² (à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¹à¸à¸à¸à¸´à¹à¸)","llama.cpp (Apple Silicon)","à¸à¸µà¸à¸µà¹à¸ (ฮัà¸à¸à¸´à¹à¸ à¹à¸ã¤ã¹)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¹à¸²à¹à¸à¹à¸à¸£à¸°à¸à¸±à¸)"]},quantization:{title:"à¸à¸²à¸£à¸à¸§à¸à¸à¹à¸à¸à¹",items:["GGUF (มาà¸à¸£à¸à¸²à¸ llama.cpp)","AWQ (à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸ 4 à¸à¸´à¸)","GPTQ (à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าภGPU)","à¸à¸´à¸à¹à¸à¸à¸à¹à¹à¸à¸à¹(8à¸à¸´à¸/4à¸à¸´à¸)","EETQ (à¸à¸²à¸£à¸à¸§à¸à¸à¹à¸à¸à¹à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸)"]},hardware:{title:"ฮารà¹à¸à¹à¸§à¸£à¹",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
243,infrastructure:{title:"à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸",items:["Docker / Kubernetes","NVIDIA Triton Server","à¹à¸à¸à¹à¸§à¸¢à¹ API (Kong / Envoy)","Prometheus / Grafana","à¸à¸¥à¸²à¸§à¸à¹à¸ªà¹à¸§à¸à¸à¸±à¸§ (VMware / OpenStack)","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¹à¸²à¸à¸ªà¸´à¹à¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¹à¸à¸à¹à¸¢à¸à¸à¸²à¸à¸à¸²à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢"]}},updateNote:{title:"à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µ 2026",description:"à¹à¸à¹à¸¡à¹à¸à¸¥à¸à¹à¸³à¸«à¸à¸±à¸à¹à¸à¸´à¸ Llama 3.3 สามารà¸à¸à¸£à¸£à¸¥à¸¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸±à¹à¸§à¹à¸à¹à¸à¸£à¸°à¸à¸±à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸ GPT-4 à¹à¸¥à¸°à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸; à¸à¸µà¸£à¸µà¸ªà¹ Qwen 2.5 à¸à¸¢à¸²à¸¢à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¹à¸§à¸¢à¸à¸à¸²à¸à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸µà¹à¸ªà¸¡à¸à¸¸à¸¥;DeepSeek V3/R1 à¸à¸¶à¸à¸à¸¹à¸à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¸à¹à¸§à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸²à¸à¸à¹à¸à¸à¸¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸; à¹à¸¥à¸°à¹à¸à¸à¸à¸´à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸ vLLM 2.0 Chunked Prefill à¹à¸¥à¸° RadixAttention à¸à¸à¸ SGLang à¸à¹à¸§à¸¢à¹à¸£à¹à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸«à¸¥à¸²à¸¢à¸£à¸à¸à¹à¸à¹à¸à¸à¸à¸´à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸ Chunked Prefill à¸à¸à¸ vLLM 2.0 à¹à¸¥à¸° RadixAttention à¸à¸à¸ SGLang à¸à¹à¸§à¸¢à¹à¸à¸´à¹à¸¡à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¸«à¸¥à¸²à¸¢à¸£à¸à¸ à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸ Apple Silicon à¸à¸à¸ llama.cpp à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸²à¸ 70B à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸à¸£à¸´à¸à¸à¸ M4 Max à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸²à¸£à¸à¸§à¸à¸à¹à¸à¸à¹à¹à¸«à¹à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸£à¸°à¸à¸±à¸ 4 à¸à¸´à¸à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸ à¹à¸à¸à¸à¸´à¸à¸à¸²à¸£à¸à¸§à¸à¸à¹à¸à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸£à¸¥à¸¸à¸à¸±à¹à¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸£à¸°à¸à¸±à¸ 4 à¸à¸´à¸à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸ à¹à¸¥à¸° GGUF à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¹à¸à¸¢à¸à¸¤à¸à¸´à¸à¸±à¸¢"}},cta:{title:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¹à¸à¹à¸à¸¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸ PoC à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸² LLM à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸²à¸£à¸à¸²à¹à¸à¹à¹à¸à¹à¸à¸à¸±à¸",primaryButton:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",secondaryButton:"à¸à¸²à¸£à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¸à¸²à¸à¹à¸à¸à¸à¸´à¸"}},kA={hero:{badges:["à¸à¸à¸à¹à¸à¸£","RAG","à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸²à¸£à¸à¹à¸à¸«à¸²"],title:"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸§à¸à¹à¸à¸à¸£à¹ / RAG",description:"สรà¹à¸²à¸à¸£à¸°à¸à¸ RAG à¹à¸à¸·à¹à¸à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸ ายà¹à¸à¸à¸±à¸ LLM"},mission:{title:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸§à¸à¹à¸à¸à¸£à¹ / RAG ภาà¸à¸£à¸§à¸¡",paragraphs:["à¹à¸£à¸²à¸à¸°à¸ªà¸£à¹à¸²à¸à¸£à¸°à¸à¸ RAG (ระà¸à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¸à¸²à¸£à¸à¹à¸à¸«à¸²) à¸à¸µà¹à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸à¸±à¸à¸à¸²à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸²à¸¡à¸à¸³à¸à¸²à¸¡à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¹à¸à¹à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸à¸ªà¸´à¸à¸à¸£à¸±à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸à¸µà¹à¸ªà¸°à¸ªà¸¡à¹à¸§à¹à¹à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸±à¸ LLM à¹à¸£à¸²à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¹à¸«à¸¥à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸²à¸ ๠à¹à¸à¹à¸ à¸à¸¹à¹à¸¡à¸·à¸, à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡, à¹à¸à¸à¸ªà¸²à¸£à¸à¸²à¸à¹à¸à¸à¸à¸´à¸, à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢, à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¹à¸ Slack, Confluence, SharePoint, à¹à¸à¹à¸à¸à¹à¸ à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸µà¹à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸à¸à¸à¸à¸à¸à¹à¸à¸£à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¹à¸à¹à¸à¸±à¸à¸à¸µ","à¹à¸£à¸²à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¹à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸¸à¸à¸ าà¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¹à¸à¸¢à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸¥à¹à¸²à¸ªà¸¸à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸ (à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢à¹à¸§à¸à¹à¸à¸à¸£à¹ + à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢à¸à¸³à¸ªà¸³à¸à¸±à¸), à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¸±à¸à¹à¸«à¸¡à¹, à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸, à¸à¸²à¸£à¸à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¡à¸à¸², à¹à¸à¹à¸à¸à¹à¸ à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¸ªà¸²à¸£à¹à¸à¸à¸à¸£à¸£à¸¡à¸à¸² à¹à¸£à¸²à¹à¸ªà¸à¸à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¸¡à¸²à¸à¸à¸à¸à¸³à¸à¸à¸à¸à¸¢à¹à¸²à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸¥à¸à¸à¸²à¸£à¹à¸
243ิà¸à¸ าà¸à¸«à¸¥à¸à¸à¹à¸¥à¸°à¸£à¸±à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸·à¸","à¹à¸£à¸²à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸ªà¸ าà¸à¹à¸§à¸à¸¥à¹à¸à¸¡à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢ รวมà¸à¸¶à¸ AWS, GCP, Azure à¹à¸¥à¸°à¸£à¸°à¸à¸à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£ à¸à¸£à¹à¸à¸¡à¸à¸±à¹à¸à¸à¸ªà¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸±à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸±à¸§à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸ªà¸´à¸à¸à¸´à¹à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸à¸´à¸¡ à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¹à¸³à¹à¸ªà¸¡à¸à¹à¸à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸±à¸à¸ªà¸¡à¸±à¸¢à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ (à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸³à¸à¸±à¸à¸à¸µà¹à¸«à¸¡à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´) à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸"]},summary:{title:"à¹à¸à¸§à¹à¸à¹à¸¡à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ RAG",paragraphs:['ระหวà¹à¸²à¸à¸à¸µ 2025 à¸à¸¶à¸ 2026 à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ RAG à¸à¸³à¸¥à¸±à¸à¸à¹à¸²à¸§à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸¢à¸° "à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸²à¸à¸ªà¸¹à¹à¸à¸¸à¸à¸ าà¸à¸à¸²à¸£à¸à¸¥à¸´à¸" à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸§à¸à¹à¸à¸à¸£à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¹à¸¥à¹à¸§ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸ à¸à¸¶à¹à¸à¸£à¸§à¸¡à¸§à¸´à¸à¸µà¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸«à¸¥à¸²à¸¢à¸§à¸´à¸à¸µà¹à¸à¹à¸²à¸à¹à¸§à¸¢à¸à¸±à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¸±à¸à¹à¸«à¸¡à¹ à¸à¸¶à¹à¸à¸à¸±à¸à¸¥à¸³à¸à¸±à¸à¸à¸¥à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸«à¸¡à¹ à¹à¸¥à¸°à¸à¸²à¸£à¹à¸¢à¸à¸à¸³à¸à¸²à¸¡ à¸à¸¶à¹à¸à¹à¸¢à¸à¹à¸¥à¸°à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸³à¸à¸²à¸¡à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸ à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¸¡à¸²à¸à¸£à¸à¸²à¸',"à¸à¸¥à¸¢à¸¸à¸à¸à¹à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸à¹à¸à¸ªà¹à¸§à¸ ๠à¸à¹à¹à¸à¹à¸à¸±à¸à¸à¸²à¸à¸¶à¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¹à¸à¸¢à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸à¸µà¹à¸à¸³à¸à¸¶à¸à¸à¸¶à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸à¸à¹à¸à¸à¸ªà¸²à¸£ à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¹à¸à¸à¸à¸±à¸ à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸²à¸£à¸²à¸à¹à¸¥à¸°à¸£à¸¹à¸à¸ าà¸à¹à¸¢à¸à¸à¸±à¸ à¸à¸¶à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¸à¹à¸§à¸¢à¹à¸à¸´à¹à¸¡à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸²à¸¡à¸à¸£à¸´à¸à¸ (à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸´à¸à¸à¹à¸«à¹à¸à¸±à¸à¸ªà¹à¸§à¸à¸à¹à¸à¸¡à¸¹à¸¥) à¸à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸¢à¹à¸²à¸à¸à¸§à¹à¸²à¸à¸à¸§à¸²à¸à¸§à¹à¸²à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¹à¸à¸à¸±à¸","สำหรัà¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸§à¸à¹à¸à¸à¸£à¹ à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£ à¹à¸à¹à¸ Pinecone, Weaviate, Qdrant à¹à¸¥à¸° Milvus à¹à¸¥à¹à¸§ PostgreSQL pgvector à¹à¸¥à¸° FAISS à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¢à¸±à¸à¹à¸ªà¸à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¹à¸à¸·à¹à¸à¸à¸à¸à¸ªà¸à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸ à¸à¸à¸à¸à¸²à¸à¸à¸µà¹à¸¢à¸±à¸à¸¡à¸µà¹à¸¡à¹à¸à¸¥à¸à¸±à¸à¸à¸±à¸§à¹à¸«à¹à¹à¸¥à¸·à¸à¸à¹à¸à¹ รวมà¸à¸¶à¸ text-Embedding-3-large, Cohere Embed v3 à¹à¸¥à¸°à¹à¸¡à¹à¸à¸¥à¸«à¸¥à¸²à¸¢à¸ าษา",'à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸à¸à¹à¸à¸£ à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸ªà¸´à¸à¸à¸´à¹ (ACL) à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥ (PII) à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸¹à¹à¹à¸à¹à¸² à¹à¸à¹à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸ à¹à¸¥à¸°à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸¢à¹à¸²à¸¢à¸à¸²à¸ "PoC à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹" à¹à¸à¸ªà¸¹à¹ "ระà¸à¸à¸à¸µà¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸"'],icons:[{label:"à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¸à¸ªà¸¡à¸à¸ªà¸²à¸"},{label:"ระà¸à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸§à¸¢à¸«à¸¥à¸²à¸¢à¸£à¸¹à¸à¹à¸à¸"},{label:"à¹à¸à¹à¸à¸à¸à¸´à¸ RAG"},{label:"à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸à¸à¹à¸à¸£"}]},features:{title:"à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",subtitle:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",items:[{title:"à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥",description:"à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸§à¸²à¸¡à¸ªà¸°à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸ PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, à¹à¸à¹à¸à¸à¹à¸ รà¸à¸à¸£à¸±à¸à¸«à¸¥à¸²à¸¢à¸£à¸¹à¸à¹à¸à¸ รวมà¸à¸¶à¸ OCR, à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸²à¸, à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸³à¸à¸£à¸£à¸¢à¸²à¸¢à¸ าภรัà¸à¸©à¸²à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸«à¸¡à¹à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸²à¸¡à¸à¸³à¸«à¸à¸à¹à¸§à¸¥à¸²"},{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸£à¸°à¸à¸à¸à¹à¸à¸«à¸²à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸",description:"สรà¹à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¸à¸µà¹à¸à¸ªà¸¡à¸à¸ªà¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸§à¸à¹à¸à¸à¸£à¹ + à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸ BM25, à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¸±à¸à¹à¸«à¸¡à¹à¹à¸à¸¢ Cohere Rerank / Cross-Encoder à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¹à¸¢à¸à¸à¸³à¸à¹à¸à¸«à¸² à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸¡à¸à¸²à¸à¸²à¸à¹à¸²à¹à¸¥à¸°à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸²à¸¡à¸ªà¸´à¸à¸à¸´à¹à¸à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸"},{title:"à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸³à¸à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸¸à¸à¸ าà¸",description:"à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¸à¸à¸ าà¸à¸à¸à¸à¸à¸³à¸à¸à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸´à¸à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡, à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¸ Few-shot, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸à¹à¸à¸ Chain-of-Thought. à¸à¸²à¸£à¸à¸µà¹à¹à¸à¸à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¸¡à¸², à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¸°à¹à¸à¸à¸à¸§à¸²à¸¡à¸¡à¸±à¹à¸à¹à¸, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸
243ิà¸à¸ าà¸à¸«à¸¥à¸à¸à¸à¸¹à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸¡à¸±à¹à¸à¹à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸."},{title:"วà¸à¸à¸£à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸",description:"à¹à¸£à¸²à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ รวมà¸à¸¶à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ à¸à¸±à¸à¸£à¸²à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸£à¸à¹à¸à¹à¸²à¸«à¸¡à¸²à¸¢ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¸¶à¸à¸à¸à¹à¸à¹à¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸ à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¹à¸²à¸à¸§à¸à¸à¸£à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸° à¸à¸²à¸£à¸à¸à¸ªà¸à¸ A/B à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¥ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¸§à¸à¸à¸¥à¸¢à¸¸à¸à¸à¹à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥"}]},techStack:{title:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¹à¸à¹: à¹à¸§à¸à¹à¸à¸à¸£à¹ / RAG",subtitle:"à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ",categories:{embeddingModels:{title:"à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸",items:["OpenAI text-embedding-3-large","Cohere Embed v3","à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹","à¸à¸´à¸à¸² à¹à¸à¸¡à¹à¸à¸à¸à¸´à¹à¸à¸ªà¹ v3","BGE-M3 (หลายภาษา)","มัลà¸à¸´à¹à¸¥à¸nguage-e5-à¸à¸à¸²à¸à¹à¸«à¸à¹","รุà¹à¸à¹à¸à¸à¸²à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸µà¹à¸à¸¸à¹à¸"]},vectorDatabases:{title:"à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸§à¸à¹à¸à¸à¸£à¹",items:["à¹à¸à¸à¸ªà¸ (à¸à¸±à¸à¸à¸²à¸£)","Weaviate (à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸)","Qdrant (à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸ªà¸¹à¸)","มิลวุส (à¸à¸à¸²à¸à¹à¸«à¸à¹)","à¹à¸à¸£à¸¡à¸² (à¸à¹à¸³à¸«à¸à¸±à¸à¹à¸à¸²)","PostgreSQL pgvector","FAISS (à¸à¹à¸à¸à¸à¸´à¹à¸)"]},chunking:{title:"à¸à¸²à¸£à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸à¸´à¹à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥",items:["à¸à¸²à¸£à¸à¸±à¸à¸à¸¥à¸¸à¹à¸¡à¹à¸à¸à¸¥à¸³à¸à¸±à¸à¸à¸±à¹à¸","à¸à¸²à¸£à¹à¸à¹à¸à¸à¸¥à¸¸à¹à¸¡à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢","à¸à¸´à¹à¸à¸ªà¹à¸§à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸±à¸à¸à¸±à¸","หà¸à¹à¸²à¸à¹à¸²à¸à¸à¸£à¸°à¹à¸¢à¸","à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¸²à¸¡à¸à¸£à¸´à¸à¸","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸²à¸£à¸²à¸à¹à¸¥à¸°à¹à¸à¸à¸ ูมิ","à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¹à¸à¸à¸à¸²à¸"]},search:{title:"à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸·à¸",items:["à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸ (à¹à¸§à¸à¹à¸à¸à¸£à¹ + BM25)","à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¸±à¸à¹à¸«à¸¡à¹à¸à¸à¸ Cohere","à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¸±à¸à¹à¸«à¸¡à¹à¹à¸à¸à¸à¹à¸²à¸¡à¸à¸±à¸§à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª","à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¸à¸²à¸£à¹à¸¢à¸à¸¢à¹à¸à¸¢à¸à¸³à¸à¸²à¸¡","HyDE (à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸ªà¸²à¸£à¸ªà¸¡à¸¡à¸à¸´)","à¸à¸²à¸£à¸ªà¸·à¸à¸à¹à¸à¸à¹à¸§à¸¢à¸à¸à¹à¸à¸","à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸«à¸¥à¸²à¸¢à¸à¸³à¸ªà¸±à¹à¸"]}},updateNote:{title:"à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µ 2026",description:"à¹à¸à¹à¸¡à¹à¸à¸¥ Embedding, text-Embedding-3-large à¹à¸¥à¸° Cohere Embed v3 à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£ à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¹à¸à¹à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¢à¹à¸²à¸à¸¡à¸µà¸à¸±à¸¢à¸ªà¸³à¸à¸±à¸; à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸²à¸¡à¸à¸£à¸´à¸à¸à¹à¸à¹à¸à¸´à¸ªà¸¹à¸à¸à¹à¹à¸¥à¹à¸§à¸§à¹à¸²à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าภà¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸´à¸à¸à¹à¸«à¹à¸à¸±à¸à¸à¸´à¹à¸à¸ªà¹à¸§à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸§à¸´à¸à¸µà¸à¸²à¸£à¸¡à¸²à¸à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸®à¸à¸£à¸´à¸ + à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¸à¸±à¸à¹à¸«à¸¡à¹à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¹à¸²à¸à¸³à¸«à¸à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸² ลà¸à¸à¸³à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸§à¸à¹à¸à¸à¸£à¹à¹à¸à¸à¸à¹à¸²à¸¢à¹à¸à¸µà¸¢à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§ à¹à¸¥à¸° Agentic RAG (à¸à¸±à¸§à¹à¸à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸¥à¸¢à¸¸à¸à¸à¹à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸à¸à¸²à¸¡à¸´à¸) à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸²à¸à¸à¸à¸´à¸à¸±à¸à¸´ à¹à¸à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ มีà¸à¸²à¸£à¹à¸à¹à¸à¸¢à¹à¸³à¹à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸§à¸à¸à¸£à¸à¸²à¸£à¸§à¸±à¸à¸à¸¸à¸à¸ าà¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¹à¸à¸¢à¹à¸à¹à¸à¸£à¸à¸à¸à¸²à¸£à¸à¸£à¸°à¹à¸¡à¸´à¸ RAG (RAGAS, LangSmith)"}},cta:{title:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¹à¸à¹à¸à¸¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸ PoC à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸² LLM à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¹
243สามารà¸à¸à¸´à¸à¸²à¸£à¸à¸²à¹à¸à¹à¹à¸à¹à¸à¸à¸±à¸",primaryButton:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",secondaryButton:"à¸à¸²à¸£à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¸à¸²à¸à¹à¸à¸à¸à¸´à¸"}},bA={hero:{badges:["à¸à¸¹à¸¥à¸ªà¹à¸à¹à¸","à¸à¸²à¸£à¸à¸¹à¸£à¸à¸²à¸à¸²à¸£ LLM","à¸à¸²à¸£à¸à¸à¸à¹à¸à¸ API"],title:"à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",description:"à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸£à¸´à¸à¹à¸à¸¢à¹à¸à¹à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸²à¸ LLM"},mission:{title:"à¸à¸£à¸´à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",paragraphs:["à¹à¸£à¸²à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI à¸à¸µà¹à¸ªà¸£à¹à¸²à¸à¸à¸¸à¸à¸à¹à¸²à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¹à¸à¸¢à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¸à¸²à¸ API ภายà¸à¸à¸à¸à¹à¸§à¸¢ LLM à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ API à¸à¸±à¸à¹à¸«à¸¥à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢ à¹à¸à¹à¸ CRM, ERP, SaaS, à¹à¸à¹à¸à¹à¸à¸à¸£à¹ IoT à¹à¸¥à¸°à¹à¸à¹à¸à¸µà¸¢à¸¥à¸¡à¸µà¹à¸à¸µà¸¢ à¹à¸¥à¸°à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸²à¸ªà¸¹à¹ LLM à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¹à¸£à¸²à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¹à¸à¸ªà¸¹à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¸§à¸¢à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸ BI à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡ à¹à¸à¹à¸ à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¢à¹à¸à¹à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´ à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¸à¸à¸à¸´ à¸à¸²à¸£à¸à¸³à¸à¸²à¸¢à¹à¸à¸§à¹à¸à¹à¸¡ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸à¸à¸£à¸°à¹à¸ à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´","à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸°à¸à¸ API à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢ à¹à¸à¹à¸¢à¸±à¸à¸£à¸§à¸¡à¸à¸¶à¸à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸°à¸à¸à¸à¸²à¸à¹à¸«à¸¥à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸«à¸¥à¸²à¸¢à¹à¸«à¸¥à¹à¸ à¸à¸²à¸£à¸à¸³à¸à¸§à¸²à¸¡à¸ªà¸°à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¹à¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸à¹à¸²à¸¢à¸à¹à¸à¸à¸²à¸£à¸à¸µà¸à¸§à¸²à¸¡à¸à¸à¸ LLM à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸ à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸³à¸ªà¸±à¹à¸ (Prompt Engineering) à¸à¹à¸§à¸¢à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸«à¹à¸ªà¸¹à¸à¸ªà¸¸à¸ à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¹à¸à¸£à¸´à¸à¸à¸¶à¹à¸à¸à¸ªà¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹ à¹à¸à¹à¸ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¸à¸²à¸¢à¹à¸à¸·à¹à¸à¸à¸³à¸à¸²à¸¢à¸à¸²à¸£à¹à¸à¸£à¸à¸²à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¹à¸à¸·à¹à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¸¥à¸¹à¸à¸à¹à¸² (VoC) à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¹à¸à¹à¸à¸à¸£à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸³à¹à¸à¸°à¸à¸³à¸à¸²à¸£à¸à¸³à¸£à¸¸à¸à¸£à¸±à¸à¸©à¸²à¸à¸¸à¸à¸à¸£à¸à¹","à¹à¸£à¸²à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ à¹à¸à¹à¸ à¹à¸§à¹à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸, à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸à¸¡à¸·à¸à¸à¸·à¸, à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸ Slack/Teams à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¹à¸à¸à¸à¹à¹à¸à¹à¸à¸£à¸°à¸¢à¸° à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¹à¸³à¹à¸ªà¸¡à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£ à¸à¸²à¸£à¸à¸à¸à¹à¸à¸ API à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡ LLM à¹à¸à¸à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸à¸£à¸°à¸à¸à¸à¸£à¸´à¸"]},summary:{title:"à¹à¸à¸§à¹à¸à¹à¸¡à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸£à¸°à¸à¸´à¸©à¸à¹",paragraphs:['à¸à¸±à¹à¸à¹à¸à¹à¸à¸µ 2025 à¸à¸¶à¸ 2026 à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸¢à¸°à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸£à¸´à¸à¹à¸à¸¢à¸à¸²à¸¨à¸±à¸¢ "à¸à¸²à¸£à¸à¸ªà¸²à¸ API x à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM" à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸¥à¸¶à¸à¸à¸²à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´ à¸à¸¶à¹à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸§à¸¢à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸ BI à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡à¹à¸¥à¸°à¹à¸à¸à¸à¸à¸£à¹à¸ à¸à¸³à¸¥à¸±à¸à¹à¸£à¸´à¹à¸¡à¸à¸¹à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¹à¸à¸£à¸°à¸à¸à¸à¸à¸à¸à¸à¸à¹à¸à¸£',"สิà¹à¸à¸à¸µà¹à¸à¸§à¸£à¸ªà¸±à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸´à¹à¸¨à¸©à¸à¸·à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸ (Structured Output) à¸à¸à¸ LLM à¸à¸¶à¹à¸à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸¥à¸¥à¸±à¸à¸à¹à¹à¸«à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸ JSON Schema à¸à¸¢à¹à¸²à¸à¹à¸à¸£à¹à¸à¸à¸£à¸±à¸ à¸à¸³à¹à¸«à¹à¸£à¸°à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸±à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸£à¸´à¸à¹à¸à¹ à¹à¸à¸¢à¸à¸µà¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¸¡à¸²à¸à¸²à¸ API à¸à¸°à¸à¸¹à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¢ LLM à¹à¸¥à¸°à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸°à¸à¸¹à¸à¸ªà¹à¸à¸à¹à¸à¹à¸à¸¢à¸±à¸à¸£à¸°à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸¢à¸à¸£à¸ à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¹à¸à¸à¸à¸à¸à¸à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ (Function Calling) à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸²à¸£à¸à¸ªà¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸²à¸ API หลายà¸à¸±à¸§à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¹à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸µà¸¢à¸§","à¹à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¹à¸à¸¡à¸¹à¸¥ Polars à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸ªà¸¹à¸ à¹à¸¥à¸°à¹à¸¡à¸·à¹à¸à¸£à¸§à¸¡à¸à¸±à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¸ªà¸à¸£à¸µà¸¡à¸¡à¸´à¹à¸ à¸à¸°à¸à¹à¸§à¸¢à¸à¸³à¸à¸§à¸¢à¸à¸§à¸²à¸¡à¸ªà¸°à¸à¸§à¸à¹à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹","à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¸à¸à¸à¹à¸à¸£ à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸² PoC à¹à¸à¸à¸à¸£à¸±à¹à¸à¹à¸à¸µà¸¢à¸§à¹à¸à¹à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸±à¸à¸à¸à¸²à¸à¹à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸à¹à¸à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸¥à¸´à¸ à¸à¸¶à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸ªà¸à¸²à¸à¸±à¸à¸¢à¸à¸£à¸£à¸¡à¸à¸µà¹à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸à¸¶à¹à¸à¸£à¸§à¸¡à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸²à¸à¸à¹à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸"],icons:[{label:"à¹à¸à¹à¸à¸à¸à¸´à¸ à¹à¸à¹à¸"},{label:"à¹à¸à¸£à¹à¸à¸à¸à¸¥ MCP"},{label:"หลายà¸à¸±à¸§à¹à¸à¸"},{label:"มà¸à¸¸à¸©à¸¢à¹à¹à¸à¸«à¹à¸§à¸à¹à¸à¹"}]},features:{title:"à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",subtitle:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸²",items:[{title:"à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸£à¸§à¸¡ API à¹à¸¥à¸°à¸à¸²à¸£à¹à¸
243à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥",description:"สรà¹à¸²à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢ à¹à¸à¹à¸ REST API, GraphQL, WebSocket à¹à¸¥à¸° Webhook à¹à¸£à¸²à¸à¸à¸à¹à¸à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸ªà¸à¸µà¸¢à¸£à¹à¸à¸¢à¹à¸à¹à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸±à¸§à¸à¸ (OAuth, API key, JWT) à¸à¸²à¸£à¸à¸³à¸à¸±à¸à¸à¸±à¸à¸£à¸² à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¥à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¹à¸«à¸¡à¹ à¸à¸à¸à¸à¸²à¸à¸à¸µà¹à¹à¸£à¸²à¸¢à¸±à¸à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸²à¸à¹à¸§à¸¥à¸² à¹à¸¥à¸°à¸à¸²à¸£à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¹à¸²à¸à¸à¸±à¸à¸à¸²à¸à¸«à¸¥à¸²à¸¢ API"},{title:"à¸à¸²à¸£à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸",description:"à¹à¸à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸´à¸à¹à¸«à¹à¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸¢ LLM รวมà¸à¸¶à¸à¸à¸²à¸£à¹à¸¢à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ JSON à¸à¸²à¸£à¸à¸³à¸à¸§à¸²à¸¡à¸ªà¸°à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸²à¸£à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸«à¸²à¸¢ à¹à¸¥à¸°à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¹à¸à¸¢à¸à¸´à¸à¸²à¸£à¸à¸²à¸à¹à¸à¸à¸³à¸à¸±à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸£à¸´à¸à¸ à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¹à¸¡à¸à¸²à¸à¸²à¸à¹à¸²à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸²à¸¡à¸à¸¥à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¹"},{title:"à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸³à¸ªà¸±à¹à¸",description:"à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¹à¸ªà¸¹à¸à¸ªà¸¸à¸à¸à¹à¸§à¸¢à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸¡à¹à¸à¸¥à¸à¸à¸³à¸ªà¸±à¹à¸à¸à¸µà¹à¹à¸à¸à¸²à¸°à¹à¸à¸²à¸°à¸à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸à¸à¸£à¸°à¹à¸ ภà¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸§à¸²à¸¡à¸£à¸¹à¹à¸ªà¸¶à¸ à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¸à¸à¸à¸´ à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹ ฯลฯ à¹à¸£à¸²à¹à¸à¹ Function Calling à¹à¸¥à¸° Structured Output à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸±à¸à¹à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢"},{title:"à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸",description:"à¹à¸£à¸²à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸¥à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸²à¸à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¸ รวมà¸à¸¶à¸ FastAPI, à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¹à¸§à¹à¸à¸à¸µà¹à¹à¸à¹ Next.js, à¹à¸à¹à¸à¸à¹à¸, Slack/Teams Bot, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸à¹à¸à¸à¸à¹à¸à¸²à¸¡à¸à¸³à¸«à¸à¸à¹à¸§à¸¥à¸² à¹à¸à¸à¸à¸à¸£à¹à¸, à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸, à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸¹à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¹à¸¥à¸°à¸ªà¹à¸à¸¡à¸à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸¹à¹à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸à¹à¹à¸à¹à¸à¸±à¸à¸à¸µ à¸à¸à¸à¸à¸²à¸à¸à¸µà¹à¹à¸£à¸²à¸¢à¸±à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸, à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸²à¹à¸à¹à¸à¹à¸²à¸¢, à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸"}]},techStack:{title:"à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¹à¸à¹: à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ AI",subtitle:"à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µ",categories:{apiIntegration:{title:"à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸°à¸à¸ API",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","à¹à¸§à¹à¸à¸®à¸¸à¸ / à¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸","Apache Airflow / Prefect","à¸à¸¶à¹à¸à¸à¹à¸²à¸¢ / à¸à¸±à¹à¸§à¸à¸£à¸²à¸§","à¸à¸³à¸à¸ / httpx / aiohttp","à¸à¸²à¸£à¸à¸³à¸à¸±à¸à¸à¸±à¸à¸£à¸² / à¸à¸²à¸£à¸¥à¸à¸à¹à¸«à¸¡à¹","à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ (Pydantic)"]}
243,dataProcessing:{title:"à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¹à¸à¸¡à¸¹à¸¥",items:["à¹à¸à¸à¸à¹à¸² / à¸à¸±à¹à¸§à¹à¸¥à¸","à¸à¸±à¸§à¹à¸¢à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ JSON / JSONL","à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸§à¸²à¸¡à¸ªà¸°à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥","Apache Spark (à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸à¸²à¸à¹à¸«à¸à¹)","dbt (à¸à¸²à¸£à¹à¸à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥)","à¸à¸§à¸²à¸¡à¸à¸²à¸à¸«à¸§à¸±à¸à¸à¸±à¸à¸¢à¸´à¹à¸à¹à¸«à¸à¹","à¸à¸°à¹à¸¥à¸ªà¸²à¸à¹à¸à¸¥à¸à¹à¸² / à¸à¹à¸³à¹à¸à¹à¸à¸ ูà¹à¸à¸²à¸à¹à¸³à¹à¸à¹à¸","à¸à¸²à¸£à¸ªà¸à¸£à¸µà¸¡à¸¡à¸´à¹à¸ (Kafka / Flink)"]},llmCloud:{title:"à¸à¸¥à¸²à¸§à¸à¹ LLM",items:["OpenAI GPT-4o / GPT-4.1","à¹à¸à¸¥à¹à¸ 3.5 / à¹à¸à¸¥à¹à¸ 4","à¹à¸à¸¡à¸´à¸à¸µ 2.0 / à¹à¸à¸¡à¸´à¸à¸µ 2.5","à¸à¸³à¸ªà¸±à¹à¸ R+ (Cohere)","Mistral Large"]},llmLocal:{title:"LLM à¹à¸à¸à¹à¸à¸à¸à¸´à¹à¸",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","à¹à¸à¸¡à¸¡à¹à¸² 2 / à¹à¸à¸¡à¸¡à¹à¸² 3","à¸à¸µ-4","ELYZA / สวà¸à¸¥à¹à¸¥à¸§à¹ (à¹à¸à¸µà¹à¸¢à¸§à¸à¸²à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸)","à¸à¸³à¸ªà¸±à¹à¸ R (Cohere)"]},inference:{title:"à¸à¸²à¸£à¸à¸à¸¸à¸¡à¸²à¸ / à¸à¸£à¸à¸à¹à¸à¸§à¸à¸´à¸",items:["vLLM / SGLang","Ollama / llama.cpp","LiteLLM Proxy","à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¸","à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸","à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¡à¹à¸à¸¥à¸à¸à¸³à¸ªà¸±à¹à¸","LangChain / LlamaIndex","สายà¸à¸²à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸²à¸°à¸à¸²à¸"]},application:{title:"à¸à¸±à¹à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","à¸à¸²à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸§à¸¥à¸²à¹à¸§à¹ (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (à¹à¸à¸ / à¸à¸´à¸§)","Docker / Kubernetes"]}},updateNote:{title:"à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µ 2026",description:"à¹à¸à¸à¸·à¹à¸à¸à¸µà¹à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM à¸à¸±à¸à¸à¹à¸à¸±à¸ Structured Output à¸à¸à¸ GPT-4.1 à¹à¸¥à¸° Claude 4 à¹à¸à¹à¸à¸±à¸à¸à¸²à¸à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ JSON Schema à¸à¸¢à¹à¸²à¸à¹à¸à¸£à¹à¸à¸à¸£à¸±à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸à¹à¸²à¸¡à¸«à¸¥à¸²à¸¢ API à¹à¸à¹à¹à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸§ à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¸§à¸¢à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸à¹à¸²à¸¡à¸«à¸¥à¸²à¸¢ API à¹à¸à¹à¹à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸§à¹à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¹à¸à¸¡à¸¹à¸¥ Polars à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸²à¸à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸£à¹à¸«à¸¥à¸²à¸¢à¹à¸à¸ Pandas สำหรัà¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸ªà¸¹à¸ à¹à¸¥à¸°à¹à¸¡à¸·à¹à¸à¹à¸à¹à¸£à¹à¸§à¸¡à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¸ªà¸à¸£à¸µà¸¡à¸¡à¸´à¹à¸ à¸à¸°à¸à¹à¸§à¸¢à¸à¸³à¸à¸§à¸¢à¸à¸§à¸²à¸¡à¸ªà¸°à¸à¸§à¸à¹à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸·à¹à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ à¹à¸à¸£à¸°à¸à¸±à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ à¸à¸²à¸£à¸à¸ªà¸²à¸à¸£à¸§à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸ ายà¸à¸à¸à¹à¸à¸¢à¹à¸à¹ MCP à¹à¸à¹à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸£à¸·à¹à¸à¸à¸à¸à¸à¸´ à¸à¸¶à¹à¸à¸à¹à¸§à¸¢à¹à¸£à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸à¹à¸à¸µà¹ LLMs สามารà¸à¹à¸£à¸µà¸¢à¸à¹à¸à¹ API à¹à¸à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸·à¹à¸à¸à¸¶à¸à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥"}},cta:{title:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",description:"à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¹à¸à¹à¸à¸¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¸à¹à¸à¸à¸³à¸«à¸à¸ PoC à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸² LLM à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¹
243สามารà¸à¸à¸´à¸à¸²à¸£à¸à¸²à¹à¸à¹à¹à¸à¹à¸à¸à¸±à¸",primaryButton:"à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²",secondaryButton:"à¸à¸²à¸£à¹à¸«à¹à¸à¸³à¸à¸£à¸¶à¸à¸©à¸²à¸à¸²à¸à¹à¸à¸à¸à¸´à¸"}},yA={seo:$v,header:Qv,hero:Jv,mission:Zv,businessServices:Xv,features:Yv,businessProcess:eA,story:aA,contact:nA,footer:tA,cookiePolicy:iA,about:sA,portfolio:rA,common:oA,privacyPolicy:lA,termsOfService:dA,weatherMap:uA,agentDevelopment:cA,faq:mA,pricing:pA,aiTranscription:gA,keywordTracking:hA,onPremiseLLM:fA,vectorRAG:kA,aiAppDevelopment:bA},vA={home:{title:"telet.ai - Platform Penyelesaian Dikuasakan AI",description:"Ubah perbualan pelanggan anda dengan analitik panggilan dikuasakan AI. Dapatkan pandangan masa nyata, analisis sentimen dan penjejakan prestasi untuk meningkatkan hasil pasukan anda."},about:{title:"Maklumat Organisasi - telet.ai",description:"Ketahui tentang misi telet.ai untuk mengubah perbualan pelanggan dengan AI. Temui pasukan kami dan terokai perjalanan kami."},privacy:{title:"Dasar Privasi - telet.ai",description:"Semak dasar privasi telet.ai untuk memahami bagaimana kami mengendalikan data anda dan melindungi privasi anda."},terms:{title:"Terma Perkhidmatan - telet.ai",description:"Baca terma perkhidmatan telet.ai untuk menggunakan laman web ini dan menghubungi kami untuk perundingan."},cookies:{title:"Dasar Kuki - telet.ai",description:"Ketahui bagaimana telet.ai menggunakan kuki dan teknologi serupa (Cloudflare dan Google Analytics)."},portfolio:{title:"Portfolio - telet.ai",description:"Terokai portfolio penyelesaian AI kami yang direka untuk meningkatkan operasi perniagaan dan pengalaman pelanggan anda."},agentDevelopment:{title:"Reka Bentuk & Pembangunan AI Agent Enterprise - telet.ai",description:"Reka bentuk dan bina AI Agent gred pengeluaran yang disesuaikan dengan aliran kerja, alatan dan keperluan pematuhan anda."},onPremiseLLM:{title:"Operasi LLM On-Premise - telet.ai",description:"Kendalikan LLM moden dalam persekitaran anda untuk kawalan data yang kukuh, kos yang boleh diramal dan inferens latensi rendah."},vectorRAG:{title:"Reka Bentuk Vector RAG & Indeks - telet.ai",description:"Reka bentuk saluran pengambilan dan indeks yang disesuaikan dengan setiap aliran kerja untuk meningkatkan jawapan yang berasas."},aiAppDevelopment:{title:"Pembangunan Aplikasi AI - telet.ai",description:"Bina aplikasi praktikal yang dikuasakan oleh LLMâdisepadukan dengan API, data dan aliran kerja perniagaan anda."}},AA={brand:"telet.ai",nav:{services:"Perkhidmatan",portfolio:"Portfolio",about:"Maklumat Organisasi",contact:"Hubungi"}},xA={brandName:"telet.ai",tagline:"Komunikasi Multi AI",badge:"Inteligensi Panggilan Berkuasa AI",title:{line1:"Tempatan dan defensif,",line2:"Perluas di awan",line3:"Diotomasi oleh ejen."},description:"Inferens tepi dalam SLM memastikan kedaulatan data, dan integrasi awan dalam LLM membesarkan kuasa pemprosesan tanpa had; penerapan seni bina Agentic AI mula menunjukkan hasil daripada syarikat terkemuka."},LA={badge:"Misi Kami",title:"Mempermudah akses kepada LLM",paragraphs:["Bolehkah anda benar-benar sampai sejauh ini? --Itulah rasa terkejut yang kami sasarkan.",'Potensi pemodelan bahasa berskala besar (LLM) berkembang setiap hari. Namun, kami ingin meruntuhkan halangan seperti "Saya bimbang menghantar data sulit kepada API luaran," "Aplikasi AI lanjutan hanya untuk syarikat besar," dan "Kos pelaksanaan tidak berbaloi."',"Kami mengkhusus dalam membina LLM tempatan yang disiapkan dalam persekitaran anda. Maklumat pelanggan yang sangat sensitif boleh digunakan dengan selamat tanpa didedahkan kepada dunia luar. Kami dapat memaksimumkan manfaat AI sambil memastikan keselamatan data.","Ia mengendalikan segala-galanya daripada penciptaan dokumen rutin dan pengorganisasian data hingga analisis khusus dan sokongan membuat keputusan. Teknologi ejen proprietari kami menyediakan ketepatan yang setanding dengan model API.",'LLM tidak menggantikan manusia. Ia adalah alat yang berkuasa yang membolehkan manusia menggunakan lebih banyak kreativiti, pertimbangan, dan kepakaran. Kita menjadikan teknologi daripada sesuatu yang istimewa kepada sesuatu yang biasa â satu "pengkomersialan" sebenar teknologi tersebut.','Sila hubungi kami tanpa segan. Kami akan bekerjasama dengan anda untuk mengetahui "Apa yang boleh kami lakukan?" bersama-sama dengan anda.'],animation:{label:"LLM",sublabel:"Teknologi"}},PA={title:"Perkhidmatan",subtitle:"Perkhidmatan Perniagaan",services:[{title:"Reka Bentuk dan Pembangunan Ejen AI untuk Perusahaan",titleEn:"Ejen AI Perusahaan",description:"Reka dan kembangkan ejen AI yang dioptimumkan untuk keperluan perniagaan, peraturan dalaman, dan skop data. Sokongan daripada LLM jenis API luaran kepad
243a LLM tempatan.",badges:["Reka Bentuk Individu","Serasi LLM","pengkhususan perniagaan"],link:"Butiran."},{title:"pelayan LLM berjanji",titleEn:"Pelayan LLM di Tempat",description:"Mengendalikan LLM skala 7B hingga 120B pada pelayan khusus syarikat. Menyediakan persekitaran penggunaan LLM yang selamat dan fleksibel, mengelakkan risiko penghantaran data luaran.",badges:["7B-120B disokong","Kunci API telah dikeluarkan","Reka Bentuk Keselamatan"],link:"Butiran."},{title:"Reka bentuk RAG dan indeks vektor",titleEn:"Arkitektur RAG Vektor",description:"Pisahkan dan optimumkan data RAG mengikut kandungan perniagaan dan logik analisis. Reka bentuk indeks untuk carian pantas dan tepat.",badges:["Pemisahan Indeks","Carian berkelajuan tinggi","Sokongan pelbagai bahasa"],link:"Butiran."},{title:"Pembangunan Aplikasi AI",titleEn:"Pembangunan Aplikasi AI",description:"Kembangkan aplikasi AI praktikal dengan analisis dan penjanaan berasaskan LLM di terasnya, menggunakan API sedia ada dan data luaran.",badges:["Pengikatan API","Analisis LLM","Reka Bentuk Bersepadu"],link:"Butiran."}]},wA={title:"Projek pencapaian menggunakan teknologi AI",subtitle:"Pengalaman pembangunan AI dalam pelbagai bidang, termasuk pembantu multibahasa, peramalan cuaca, LLM tempatan, dan pemantauan keselamatan.",viewDetails:"Lihat butiran â.",items:[{title:"Pembantu Pelbagai Bahasa AI",description:"Penolong sembang pelbagai bahasa oleh RAG + LLM. Tindak balas yang sangat tepat kepada pertanyaan dalam pelbagai bahasa termasuk Jepun, Inggeris, dan Cina."},{title:"Sistem Peramalan Cuaca",description:"Belajar data cuaca dan menjana ramalan masa nyata. Ramalan yang sangat tepat dijana dengan menggunakan pengecaman corak siri masa dan RAG untuk mencari corak serupa pada masa lalu."},{title:"Pelayan Dalaman / On-Prem Local LLM",description:"Kami menyediakan AI yang disesuaikan dengan operasi perniagaan anda, sedia untuk digunakan dalam syarikat anda, dengan Open WebUI sebagai titik kemasukan biasa, laluan inferens pantas dengan Ollama/MLX, dan domain data yang dipisahkan sepenuhnya untuk setiap UID. Dokumen dalaman dirakam dalam RAG dengan pemadatan Bahasa Inggeris dan terjemahan pertanyaan Jepun secara automatik, dan kemahiran perniagaan seperti ringkasan berita, pengaturan dokumen, dan tugas rutin dijalankan dengan selamat secara serentak. Sistem pelaksanaan kemahiran diasingkan sebagai kontena OpenClaw dan dilindungi oleh tiga lapisan edge Cloudflare serta Nginx tempatan. Kami menyediakan sokongan menyeluruh untuk pemilihan model, reka bentuk kemahiran, dan dasar operasi, dan memulakan AI khusus syarikat anda dalam bentuk yang boleh digunakan sejak hari ia dikerahkan."},{title:"Ramalan Ketibaan Orbit Antarpanah (AI)",description:"Dapatkan data planetari daripada NASA API dan tafsirkan pengiraan orbit dalam LLM. Menghasilkan laporan mengenai tetingkap pelancaran, masa yang diperlukan, dan kecekapan bahan api."},{title:"Analisis AI Data Hartanah",description:"Kumpulkan maklumat hartanah melalui pengikisan web dan analisis dengan LLM + Python. Penghasilan automatik tren harga, ramalan pasaran, dan pulangan atas pelaburan."},{title:"AI Peramalan Nasib (Peramalan Empat Tiang)",description:"Meniru logik Empat Tiang Takdir dalam Python dan mentafsirkannya dengan LLM. Dapatkan koordinat dan masa daripada API Astronomi untuk penilaian nasib dan keserasian secara peribadi."},{title:"Google Workspace AI integration",description:"Integrasi LLM dengan Gmail, Drive, Kalendar, dan lain-lain. AI membantu meringkas e-mel, mencari fail, dan menjadualkan."},{title:"Berita Dunia Pelbagai Bahasa",description:"Pengumpulan berita dunia secara masa nyata, diterjemahkan dan diringkaskan dalam pelbagai bahasa oleh LLM. Terjemahan semula jadi dan penjanaan ringkasan berdasarkan pemahaman konteks."},{title:"Pengurus AI Pemantauan Log Keselamatan",description:"Pemantauan log keselamatan secara masa nyata, pengesanan dan analisis ancaman oleh LLM, serta amaran segera melalui perpadanan dengan corak serangan lampau oleh RAG."}]},SA={title:"Bagaimana untuk meneruskan projek itu",headline:"Yang anda perlukan hanyalah visi.",paragraphs:['Hilang sudah zaman apabila perbezaan bahasa menjadi halangan kepad
243a perniagaan, dan walaupun kami menggunakan terjemahan AI, kami dapat mengendalikan rundingan dan pembangunan perniagaan dalam 14 bahasa melalui aliran kerja unik kami yang memanfaatkan sepenuhnya perkongsian imej. Malah spesifikasi yang kompleks boleh diperiksa dengan imej sampel untuk mengelakkan salah faham. Satu-satunya perkara yang penting ialah "apa yang anda ingin cipta".',"Projek bermula dengan sesi pendengaran awal bagi permohonan perniagaan. Selepas perkongsian umum visi pelanggan dan pemahaman mengenai isu-isu, NDA (Perjanjian Tidak Pendedahan) ditandatangani. Setelah mewujudkan persekitaran di mana maklumat sulit boleh dibincangkan secara sulit, kami menjalankan temu bual terperinci dan mengesahkan keperluan. Berdasarkan kandungan tersebut, kami menyediakan cadangan dan mengesahkan hala tuju projek menggunakan imej sampel. Setelah kefahaman terbentuk, kami menyediakan spesifikasi dan memulakan pembangunan.","Aliran ini hanyalah pengenalan umum. Kami akan menyesuaikan diri dengan fleksibel mengikut situasi dan jadual anda. Di mana sahaja anda berada di dunia, walaupun anda tidak bertutur dalam bahasa yang sama, imej dan AI akan menyokong komunikasi anda. Mengapa tidak anda sertai kami untuk menembusi pasaran sempadan yang belum pernah diterokai oleh sesiapa pun? Biarkan telet.ai menjadi rakan kongsi anda untuk membentuk idea anda."],cards:[{title:"Pendengaran / NDA",description:"Selepas sesi pendengaran awal melalui e-mel, perjanjian kerahsiaan ditandatangani. Anda boleh memberikan kami butiran dengan tenang."},{title:"Perancangan & CA",description:"Cadangan dan imej contoh disediakan. 14 bahasa disokong, jadi anda boleh meneruskan tanpa halangan bahasa."},{title:"Pengambilan Sampel & Permulaan",description:"Kami akan menyediakan spesifikasi dan memulakan perniagaan setelah mencapai persetujuan."},{title:"Pembangunan, pengujian dan operasi",description:"Pelaksanaan pantas melalui pembangunan tangkas. Kami menyediakan sokongan berterusan daripada peringkat ujian hingga sokongan operasi."}]},IA={badge:"Kajian Kes",title:"Cerita Pengenalan AI",items:[{title:"Penyelesaian Kecekapan Perniagaan dan Pengurangan Kos",subtitle:"Kurangkan beban kerja harian dan cipta persekitaran di mana anda boleh menumpukan perhatian pada perniagaan teras anda.",description:'Banyak perusahaan kecil dan sederhana (PKS) menghadapi kekurangan tenaga kerja dan kesukaran pengambilan. Walaupun apabila kakitangan baru diambil, kos latihan tinggi dan terdapat masalah kadar pengekalan. Penyelesaian AI kami menyokong tugas harian seperti mengautomasikan pengurusan bajet, kemasukan dan pengaturan data, pemulihan dokumen dalaman, dan penjanaan automatik laporan dan dokumen. Pembantu AI mengendalikan tugas rutin yang dahulunya memakan banyak masa, 24 jam sehari, 365 hari setahun, tanpa sebarang ralat. Syarikat yang telah memperkenalkan AI telah menyaksikan pengurangan ketara dalam jam kerja. Daripada "menambah sumber manusia" kepada "berkolaborasi dengan AI". Kami akan melakukan yang terbaik untuk menyokong pembaharuan gaya kerja syarikat anda.'},{title:"Automasi Sokongan Pelanggan",subtitle:"Perkhidmatan 24 jam meningkatkan kepuasan pelanggan dan mengurangkan kos buruh.",description:"Chatbot AI menyediakan respons automatik kepada soalan lazim, respons utama dan penyortiran pertanyaan, serta respons masa nyata dalam pelbagai bahasa. Respons masa nyata dalam pelbagai bahasa. Operator manusia boleh menumpukan perhatian pada kes kompleks dan meningkatkan kualiti perkhidmatan pelanggan. Tingkatkan kualiti perkhidmatan anda ke tahap seterusnya dengan sokongan pelanggan AI."},{title:"AI Pengetahuan dan Penggunaan Dokumen",subtitle:"Aset pengetahuan dalaman dalam bentuk yang boleh digunakan serta-merta oleh sesiapa sahaja",description:'"Di manakah manual itu?" "Terdapat maklumat yang hanya diketahui oleh pendahulu" â pengetahuan yang tidak diperibadikan menghalang pertumbuhan sesebuah syarikat. Teknologi RAG (generasi lanjutan carian) kami membolehkan anda mendapatkan maklumat yang diperlukan daripada manual dalaman, soalan lazim, dan dokumen lalu hanya dengan mengajukan soalan dalam bahasa semula jadi. Ia memperkemas latihan pekerja baharu, mendigitalkan pengetahuan tersirat veteran, dan membolehkan perkongsian pengetahuan merentas jabatan. Dokumen sedia ada boleh digunakan seperti sedia kala, jadi tiada keperluan untuk mencipta dokumen ba
243haru.'},{title:"AI analisis imej untuk penjagaan perubatan dan kejururawatan",subtitle:"Mata yang berjaga-jaga, sokongan 24 jam oleh AI",description:"Dalam bidang perubatan dan penjagaan kejururawatan, adalah perlu untuk memantau sejumlah besar pesakit dan pengguna dengan kakitangan yang terhad. AI analisis imej/video kami mengesan kelainan secara masa nyata daripada imej kamera. Ia secara automatik mengesan penyakit berjangkit dengan mengesan demam, memberi amaran segera jika pesakit jatuh atau tersesat, dan mengesan perubahan keadaan fizikal dengan menganalisis ekspresi wajah. Dengan mengurangkan beban rondaan malam, bertindak balas dengan cepat terhadap kecemasan, dan mengautomasikan tugas rakaman, kakitangan boleh menumpukan perhatian pada tugas penjagaan utama mereka. Pemasangan di premis juga disediakan untuk memastikan privasi."}]},MA={title:"Hubungi Kami",description:"Kami boleh berunding dengan anda sejak peringkat perancangan keperluan, dan juga boleh mempertimbangkan PoC serta konfigurasi LLM tempatan.",openForm:"Buka Borang",closeForm:"Tutup borang",form:{name:"Nama Anda",namePlaceholder:"Taro Yamada",email:"Alamat E-mel",emailPlaceholder:"[email protected]",subject:"subjek",subjectPlaceholder:"Subjek pertanyaan anda",message:"Mesej",messagePlaceholder:"Sila isi pertanyaan anda.",required:"*",submit:"Hantar",submitting:"Menghantar...",turnstileMessage:'Kebenaran "Saya bukan robot" diperlukan untuk penghantaran.',turnstileError:"Gagal memuatkan kebenaran keselamatan. Sila muatkan semula.",errorRetry:"Sila cuba lagi."}},jA={brand:"telet.ai",tagline:"Komunikasi Multi AI",description:"Inovasikan perniagaan anda dengan ejen AI. Cipta nilai melalui dialog.",sections:{product:{title:"Produk",features:"Ciri",benefits:"pengenalan",testimonials:"Testimoni Pelanggan"},services:{title:"Perkhidmatan",agentDev:"Reka Bentuk dan Pembangunan Ejen AI untuk Perusahaan",onPremise:"pelayan LLM berjanji",vectorRag:"Reka bentuk RAG dan indeks vektor",aiApp:"Pembangunan Aplikasi AI"},company:{title:"Maklumat Organisasi",about:"Tentang telet.ai",profile:"Profil Wakil",contact:"Hubungi Kami"},process:{title:"Cara kami menjalankan perniagaan",hearing:"Pendengaran / NDA",planning:"Perancangan & CA",sampling:"Pengambilan Sampel & Permulaan",development:"Pembangunan, pengujian dan operasi"}},copyright:"© 2026 telet.ai. Semua hak terpelihara.",legal:{privacy:"Dasar Privasi",terms:"Syarat Penggunaan",cookies:"Dasar Kuki"}},CA={title:"Dasar Kuki",subtitle:"Bahagian ini menerangkan kuki dan teknologi lain (Cloudflare / Google Analytics) yang digunakan di laman ini.",lastUpdated:"Kemas kini terakhir: 22 Januari 2026",intro:'telet.ai ("kami", "kita", "kita") mungkin menggunakan kuki dan teknologi serupa untuk menyediakan dan meningkatkan Laman ini serta memastikan keselamatannya. Kami tidak menetapkan kuki penjejakan khas kami untuk tujuan pengiklanan (walaupun Cloudflare dan Google Analytics mungkin menetapkan kuki atau teknologi serupa mengikut spesifikasi perkhidmatan masing-masing).',sections:{what:{title:"1. Apakah kuki?",description:"Kuki adalah fail teks kecil yang disimpan dalam pelayar anda apabila anda melayari laman web."},howWeUse:{title:"Tujuan penggunaan kuki dan lain-lain oleh kami",description:"Kami mungkin menggunakan kuki dan sebagainya terutamanya untuk tujuan berikut",items:["Untuk menstabilkan paparan dan operasi laman web tersebut.","Untuk mengesan dan mencegah akses tanpa kebenaran dan trafik berniat jahat","Untuk memahami status capaian dan membantu meningkatkan laman web ini."]},googleAnalytics:{title:"3. penggunaan Google Analytics",description:"Kami menggunakan Google Analytics 4 (GA4) yang disediakan oleh Google LLC untuk analisis capaian.",items:["Maklumat yang dikumpul mungkin termasuk halaman yang dilihat, masa yang dihabiskan, sumber rujukan, maklumat peranti dan pelayar, dan sebagainya.","Kami tidak menggunakan maklumat peribadi yang boleh dikenal pasti secara langsung (nama, alamat e-mel, dan sebagainya) untuk tujuan menghantarnya ke Google Analytics.","Penyelenggaraan data oleh Google tertakluk kepada terma dan dasar Google."]},cloudflare:{title:"4. Penggunaan Cloudflare",description:"Kami menggunakan perkhidmatan Cloudflare, Inc. untuk penghantaran dan langkah keselamatan Laman ini. Cloudflare mungkin menetapkan dan merujuk kepada kuki dan sebagainya untuk tujuan seperti perlindungan DDoS dan pencegahan bot.",items:["Tujuan utama adalah untu
243k keselamatan dan pengoptimuman komunikasi, dan tidak dimaksudkan untuk dijejaki bagi penghantaran iklan.","Penyeliaan data oleh Cloudflare tertakluk kepada terma dan dasar Cloudflare."]},noSpecialCookies:{title:"5. Kuki istimewa kami sendiri",description:"Kami tidak menetapkan kuki khusus kami sendiri untuk tujuan pengiklanan penargetan tingkah laku dan sebagainya. Penggunaan kuki dan sebagainya terhad terutamanya kepada skop operasi laman, keselamatan, dan analisis capaian."},choices:{title:"6. Pengurusan kuki (pencabutan)",description:"Jika kuki dilumpuhkan, beberapa fungsi mungkin tidak tersedia.",items:["Kuki boleh dipadam atau dilumpuhkan dalam tetapan pelayar.","Jika anda ingin menyahdayakan pengukuran oleh Google Analytics, sila gunakan kaedah opt-out yang disediakan oleh Google.","Penggunaan mod peribadi pelayar dan sebagainya boleh mengehadkan maklumat yang disimpan."]},changes:{title:"7. Perubahan kepada dasar ini",description:"Kami mungkin menyemak semula dasar ini sebagai tindak balas kepada pindaan undang-undang dan peraturan atau perubahan dalam perkhidmatan yang digunakan. Dasar yang disemak semula akan berkuat kuasa apabila ia disiarkan di halaman ini."},contact:{title:"8. hubungi kami",description:"Jika anda mempunyai sebarang pertanyaan mengenai dasar ini, sila hubungi kami di",company:"telet.ai",contactLink:"Pergi ke Borang Pertanyaan"}}},DA={hero:{title:"Tentang telet.ai",subtitle:"Sokongan pembangunan AI yang berhati-hati hanya boleh disediakan oleh pasukan kecil yang diperibadikan."},story:{title:"Tentang kami",content:"telet.ai bermula dengan satu persoalan. Mengapa begitu banyak syarikat gagal memanfaatkan wawasan yang tersimpan dalam interaksi tanpa had antara syarikat dan pelanggan mereka? Pasukan ini, yang diketuai oleh seorang wakil dengan pengalaman dalam penyelidikan AI dan pembangunan perisian perusahaan, ditubuhkan untuk menangani isu ini secara langsung. Kami bukan sebuah organisasi besar. Itulah sebabnya kami dapat menangani cabaran anda secara mendalam dan mencadangkan hanya penyelesaian yang benar-benar diperlukan. Kekuatan kami ialah keupayaan kami untuk mereka bentuk seni bina hibrid yang menggabungkan LLM tempatan dan LLM awan. Kami dapat melindungi data sensitif syarikat anda dalam persekitaran awan khusus sambil menjalankan inferens AI lanjutan secara berskala. Kami menyediakan CLI untuk pembangun dan UI sembang untuk kakitangan barisan hadapan, mewujudkan asas untuk penggunaan AI di seluruh organisasi anda. Dan kami menumpukan pada menjadi penyelesaian yang optimum dan bukannya yang paling canggih. Menggugurkan fungsi mengikut bajet dan menyemak hanya satu konfigurasi boleh membuat perbezaan besar dari segi kos. Kami menyampaikan apa yang anda perlukan, dalam kuantiti yang anda perlukan. Sokongan pembangunan AI kami yang teliti hanya mungkin kerana kami kecil dan peribadi. Untuk menyelesaikan kekurangan tenaga kerja dan menyokong pertumbuhan syarikat anda. Itulah janji telet.ai."},representative:{title:"Wakil telet.ai labo",name:"Keita Okuizumi",tagline:"Kepada langit, kepada laut, dan kepada kod - semangat pembangunan AI yang lahir daripada kerjaya yang luar biasa",paragraphs:['Sebagai bekas juruterbang persendirian (PPL) dan pemegang lesen kapal, saya telah lama berurusan dengan cuaca di udara dan di laut. Di kokpit dan bilik kemudi, saya memerhati perubahan pada barometer, mentafsir garis tekanan isobar, dan membandingkannya dengan pergerakan angin dan awan. Rasa "membaca data, menilai, dan bertindak" yang saya kembangkan melalui proses berulang ini menjadi titik permulaan bagi saya hari ini.','Saya mula belajar pengaturcaraan Python pada usia 57 tahun. Dorongannya hanyalah rasa ingin tahu semata-mata, tetapi sebaik sahaja saya mula menulis kod, saya terpesona dengan kemungkinan ejen AI. Saya mencipta aplikasi dengan tangan sendiri, menjalankannya, dan memperbaikinya. Dalam proses itu, saya sedar sesuatu. Dalam projek-projek sebelum ini, saya terlibat sebagai bukan jurutera, dan pembangunan sentiasa dilakukan oleh orang lain. Namun, sebaik sahaja saya mula menulis kod sendiri, saya mula melihat intipati masalah. "Ini adalah titik sempit di sini" atau "Reka bentuk ini tidak boleh diperluas" - dengan mempunyai sudut pandang seorang jurutera, kelajuan untuk merealisasikan apa yang saya ingin lakukan meningkat dengan ketara.',"Membangunkan perkhidmatan cuaca dengan menggabungkan pengalaman lapangan dan sains data, membina ejen AI untuk meningkatkan kecekapan operasi, dan pelbagai projek eksperimen. Semakin saya terus bekerja dengan tangan, saya semakin yakin bukan sahaja bahawa teknologi ini menarik, tetapi juga bahawa pasti ada orang yang memerlukan ini.","Matlamat kami bukan mengejar teknologi tercanggih. Kami menangani isu dan bajet pelanggan, dan hanya menyampaikan apa yang benar-benar diperlukan pada kos yang munasabah. Kami bukan organisasi besar, jadi kami dapat menyediakan sokongan pembangunan yang disesuaikan dengan keperluan setiap pelanggan. Kami ingin menggunakan teknologi ini untuk manfaat masyarakat â itulah sebabnya kami melancarkan telet.ai."]},contact:{title:"Maklumat Organisasi",company:"telet.ai labo",ceo:"Wakil: OKUIZUMI Keita",button:"Hubungi Kami"},studios:{tokyo:{title:"Studio Tokyo",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tokyo 184-0014, Jepun"}}},zA={title:"Portfolio",subtitle:"Lihat rekod prestasi kami dalam memanfaatkan teknologi AI",techStackLabel:"Susunan Teknologi",viewProject:"Lihat Projek",privateProject:"Projek Swasta",visualizationLabel:"visualisasi data",cta:{title:"Hubungi Kami",description:"Sila hubungi kami untuk membincangkan projek anda atau untuk pertanyaan teknikal.",button:"Hubungi Kami"},projects:{"traffic-route-ai":{title:"Sistem Pemilihan Laluan Pengangkutan AI",subtitle:"Perancangan laluan pengangkutan awam di Malaysia",description:"Sistem yang mencari gabungan laluan bas dan kereta api antara tempat bertolak dan destinasi serta membandingkan pilihan mengikut waktu ketibaan, tempoh perjalanan dan bilangan pertukaran. Penapis bas sahaja atau kereta api sahaja, carian stesen dan hentian berdekatan serta antara muka berbilang bahasa membantu pemilihan laluan untuk perjalanan harian dan percutian.",techStack:["Laluan Pengangkutan Awam","Integrasi Bas dan Kereta Api","Perbandingan Laluan","Antara Muka Berbilang Bahasa"]},"multilingual-assistant":{title:"Pembantu Pelbagai Bahasa AI",description:"Penolong sembang pintar untuk pertanyaan berbilang bahasa, membina 1,573 indeks vektor dan melaksanakan kawalan jawapan tepat melalui percabangan bersyarat, penapisan kata NG, dan pencetus kata kunci. Jawapan yang konsisten dan sangat tepat kepada soalan pengguna dalam pelbagai bahasa, termasuk Jepun, Inggeris, dan Cina, dijana melalui carian semantik merentas bahasa.",techStack:["RAG","Carian Vektor","Penyisipan Pelbagai Bahasa","LLM","logik cawangan bersyarat"]},"weather-forecast":{title:"Peramalan Cuaca AI dengan API Cuaca",description:"Membangunkan sistem AI yang belajar daripada data cuaca lalu dan membuat ramalan masa nyata mengenai keadaan cuaca terkini. LLM menganalisis data lalu yang diperoleh daripada JMA API, OpenWeatherMap dan lain-lain, dan menjana ramalan
243jangka pendek untuk suhu, kebarangkalian hujan, kelajuan angin dan lain-lain. Dengan menggabungkan pengecaman corak data siri masa dan carian corak keserupaan lalu melalui RAG, sistem ini mencapai ramalan yang sangat tepat yang melengkapi model statistik konvensional.",techStack:["Pautan API Cuaca","LLM","RAG","Analisis Data Siri Masa","pemprosesan masa nyata"]},"local-llm":{title:"Pelayan Dalaman / On-Prem Local LLM",description:"Kami menyediakan AI yang disesuaikan dengan operasi perniagaan anda, sedia untuk digunakan dalam syarikat anda, dengan Open WebUI sebagai titik kemasukan biasa, laluan inferens pantas dengan Ollama/MLX, dan domain data yang dipisahkan sepenuhnya untuk setiap UID. Dokumen dalaman dirakam dalam RAG dengan pemadatan Bahasa Inggeris dan terjemahan pertanyaan Jepun secara automatik, dan kemahiran perniagaan seperti ringkasan berita, pengaturan dokumen, dan tugas rutin dijalankan dengan selamat secara serentak. Sistem pelaksanaan kemahiran diasingkan sebagai kontena OpenClaw dan dilindungi oleh tiga lapisan edge Cloudflare serta Nginx tempatan. Kami menyediakan sokongan menyeluruh untuk pemilihan model, reka bentuk kemahiran, dan dasar operasi, dan memulakan AI khusus syarikat anda dalam bentuk yang boleh digunakan sejak hari ia dikerahkan.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"Ramalan Ketibaan Orbit Antarpanah (AI)",description:"Membangunkan sistem untuk menganalisis titik pelepasan optimum bagi pemindahan antara planet dengan mendapatkan data kedudukan planet, elemen orbit, dan parameter graviti daripada NASA API. Mengira pengiraan orbit dengan mengambil kira orbit pemindahan Hohmann dan bantuan graviti menggunakan API dan Python, serta memaparkan tetingkap pelancaran, masa yang diperlukan, dan kecekapan bahan api. Sistem ini digunakan sebagai alat simulasi untuk institusi pendidikan dan syarikat berkaitan angkasa lepas. *Fungsi AI pada masa ini telah dialih keluar, pengiraan sedang dijalankan dengan API dan Python.",techStack:["NASA API (Horizons, SPICE)","Pengiraan Dinamik Orbit","Python","visualisasi data"]},"real-estate":{title:"Analisis AI Data Hartanah",description:"Membangunkan sistem yang mengumpul maklumat hartanah untuk wilayah tertentu melalui pengikisan web dan menjalankan analisis data lanjutan menggunakan LLM dan Python. Pembolehubah seperti harga hartanah, harga unit tsubo, umur bangunan, dan jarak stesen diekstrak, dan analisis trend harga, ramalan pasaran, serta simulasi pulangan pelaburan dijana secara automatik. Ciri-ciri juga diekstrak daripada keterangan hartanah tidak berstruktur menggunakan LLM untuk menyediakan analisis pasaran menyeluruh yang digabungkan dengan data kuantitatif. *Tawaran kini tersedia sebagai versi kedua (versi PENUH disediakan secara berasingan)",techStack:["Pengikisan web (Scrapy, Playwright)","Python","Beruang","Analisis LLM","visualisasi data"]},"fortune-ai":{title:"Sistem Penilaian AI Empat Pilar",subtitle:"Menghasilkan semula kebijaksanaan tradisional dengan teknologi.",paragraphs:["Empat Pilar Peramalan adalah kemuncak beribu-ribu tahun peramalan Timur. Sistem ini menghasilkan semula logik peramalan tradisionalnya sepenuhnya dalam Python, digabungkan dengan tafsiran dan penjanaan nasihat menggunakan LLM (Model Bahasa Besar). AI ini menghasilkan semula dengan setia proses penilaian yang dijalankan oleh peramal pakar.","Selepas memasukkan tarikh, masa, dan tempat kelahiran, sistem mendapatkan masa matahari terbit dan terbenam serta maklumat koordinat pada waktu tersebut daripada Astronomy API. Berdasarkan data ini, sistem mengira dengan tepat tanda zodiak, sepuluh dewa, dan keseimbangan lima unsur. Logik berdasarkan sains peramalan Empat Tiang Takdir diindeks dalam Python dan digabungkan dengan data statistik serta maklumat RAG (Retrieval Augmentation Generation) untuk meningkatkan ketepatan analisis formula kehidupan.","Data gaya hidup yang dikira dijelaskan dalam bahasa semula jadi oleh LLM dengan cara yang mudah difahami. Keputusan penilaian peribadi dihasilkan, termasuk aliran nasib, keserasian hubungan interpersonal, dan pekerjaan yang sesuai untuk anda. Anda boleh mendapatkan jawapan dengan kedalaman yang sama seperti apabila berunding dengan peramal profesional.","Ia kini tersedia sebagai versi kedua. Anda boleh mencuba analisis kumishiki asas dan analisis nasib. Versi penuh, yang merangkumi analisis yang lebih terperinci dan nasihat pelbagai aspek, tersedia secara berasingan."],techStack:["Python","API Astronomi (Terbit-Terbenam, Pangkalan Data Zon Waktu)","Logik Empat Tiang","LLM","Pengkoordinasian dan pengiraan masa"]}
243,"google-workspace":{title:"Google Workspace AI integration",description:"Membangunkan sistem yang menghubungkan Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) dengan LLM untuk membaca, mengedit, dan memproses data perniagaan secara automatik. AI membantu dengan tugasan harian seperti meringkaskan kandungan e-mel, menjana draf untuk balasan automatik, mencari dan menganalisis fail Drive, mengekstrak jadual daripada Calendar, dan mencadangkan penyesuaian. Operasi Workspace oleh Agent juga direalisasikan melalui sambungan API selamat dengan pengesahan OAuth dan reka bentuk alat yang mematuhi MCP. Versi kedua kini tersedia (Versi PENUH akan disediakan secara berasingan).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"Berita Dunia Pelbagai Bahasa",description:"Pembangunan sistem yang mengumpul artikel secara masa nyata daripada sumber berita di seluruh dunia dan menjalankan terjemahan pelbagai bahasa, penyusunan ringkas, dan pengkategorian menggunakan LLM. Menyelaras artikel asal dalam Bahasa Inggeris, Cina, Perancis, Arab, dan bahasa lain ke dalam Bahasa Jepun serta menyusunnya mengikut topik. Pemantauan berita antarabangsa yang cekap dicapai bukan melalui terjemahan mesin ringkas, tetapi melalui terjemahan semula jadi berdasarkan pemahaman konteks menggunakan LLM dan penjanaan ringkasan yang mengekstrak isi utama artikel. *Tawaran kini tersedia sebagai versi kedua (versi PENUH disediakan secara berasingan).",techStack:["API Berita","Koleksi RSS","Terjemahan dan Ringkasan LLM","pemprosesan pelbagai bahasa","Pengkategorian automatik","pemprosesan kelompok terjadual"]},"security-monitoring":{title:"Pengurus AI Pemantauan Log Keselamatan",description:"Membangunkan sistem untuk pemantauan log keselamatan korporat secara masa nyata dan pengesanan serta analisis ancaman lanjutan menggunakan LLM. Pelbagai sumber log seperti firewall, IDS/IPS, log pengesahan, dan log aplikasi dikumpul dan dianalisis oleh modul Python, dan dibandingkan dengan corak serangan lampau, maklumat kerentanan, dan kes insiden yang terkumpul dalam RAG. Apabila corak tidak normal dikesan, LLM menerangkan tahap ancaman, skop impak, dan tindak balas yang disyorkan dalam bahasa semula jadi, dan segera memberi amaran kepada pihak yang bertanggungjawab. Jika corak yang sama berulang, amaran keutamaan tinggi akan dikeluarkan secara automatik untuk mempercepat tindak balas insiden.",techStack:["Modul Pemantauan Python","Pengumpulan log (Fluentd, Logstash)","RAG","Corak Ancaman DB","Analisis LLM","Notifikasi amaran (Slack, PagerDuty)"]}}},TA={learnMore:"Baca lagi",getStarted:"mula untuk ...",contactUs:"Hubungi Kami",backToHome:"Kembali ke Laman Utama"},EA={title:"Dasar Privasi",subtitle:"Dasar Privasi",lastUpdated:"Kemas kini terakhir: 23 Januari 2026",intro:'telet.ai (the "Service") menganggap perlindungan maklumat peribadi anda sebagai tanggungjawab penting dan telah menetapkan dasar privasi berikut.',sections:{collection:{title:"1. maklumat yang akan dikumpul",description:"Perkhidmatan mungkin mengumpul maklumat berikut apabila anda menghubungi kami atau menggunakan Perkhidmatan.",items:["Alamat E-mel","Nama anda (pilihan)","Butiran Siasatan","Maklumat lain yang disediakan secara sukarela oleh anda"]},purpose:{title:"2. Tujuan penggunaan maklumat",description:"Maklumat peribadi yang dikumpul akan digunakan hanya untuk tujuan berikut",items:["Menjawab dan memberi maklum balas kepada pertanyaan","Hubungi dan maklumat mengenai perkhidmatan kami","Komunikasi diperlukan untuk kemajuan projek.","Analisis untuk penambahbaikan perkhidmatan (dalam format yang tidak mengenal pasti individu)"]},thirdParty:{title:"3. penyediaan kepada pihak ketiga",description:"Perkhidmatan ini tidak akan memberikan maklumat peribadi anda kepada pihak ketiga kecuali dalam kes-kes berikut",items:["Jika pelanggan bersetuju","Apabila terdapat permintaan pendedahan berdasarkan undang-undang dan peraturan","Apabila perlu untuk melindungi nyawa, badan atau harta seseorang"]},security:{title:"4. pengurusan maklumat",description:"Perkhidmatan akan menguruskan maklumat peribadi yang dikumpul dengan sewajarnya dan mengambil langkah keselamatan yang munasabah untuk mencegah akses tanpa kebenaran, kehilangan, kebocoran, dan pemalsuan."},email:{title:"5. Pengendalian e-mel",description:"Perkhidmatan akan mengendalikan e-mel selaras dengan dasar berikut.",items:["Kami akan menggunakan kandungan e-mel anda hanya untuk tujuan menjawab pertanyaan anda dan menyediakan perkhidmatan kami.","Kami tidak akan menjual, menyewa, atau berkongsi alamat e-mel anda dengan mana-mana pihak ketiga.","Kami mungkin menghantar e-mel maklumat mengenai perkhidmatan kami. Jika anda ingin berhenti melanggan, sila gunakan pautan berhenti melanggan dalam e-mel tersebut atau hubungi kami menggunakan maklumat hubungan di bawah.","Sulitan SSL/TLS digunakan untuk komunikasi e-mel bagi memastikan komunikasi yang selamat.","Kami akan memadam e-mel anda dengan selamat selepas menyimpannya untuk tempoh masa yang sesuai."]},cookies:{title:"6. Penggunaan kuki",description:"Kuki boleh dilumpuhkan dalam tetapan pelayar anda."},external:{title:"7. penggunaan perkhidmatan luaran",description:"Perkhidmatan ini mungkin menggunakan perkhidmatan luaran berikut. Sila rujuk pautan masing-masing untuk dasar privasi
243setiap perkhidmatan.",items:["Google Analytics (access analysis)","Perkhidmatan awan lain yang diperlukan untuk operasi perniagaan"]},changes:{title:"8. perubahan kepada dasar privasi",description:"Dasar ini tertakluk kepada semakan tanpa notis selaras dengan pindaan undang-undang dan peraturan atau perubahan dalam kandungan perkhidmatan. Dasar yang disemak semula akan berkuat kuasa apabila dipaparkan di halaman ini."},contact:{title:"9. hubungi kami",description:"Jika anda mempunyai sebarang pertanyaan mengenai dasar ini, sila hubungi kami di",company:"telet.ai",contactLink:"Pergi ke Borang Pertanyaan"}}},RA={title:"Syarat Penggunaan",subtitle:"Ini adalah terma dan syarat untuk menggunakan laman ini dan untuk menempah konsultasi, membuat pertanyaan, dan meminta maklumat daripada telet.ai.",lastUpdated:"Kemas kini terakhir: 22 Januari 2026",intro:'Syarat Penggunaan ini (selepas ini dirujuk sebagai "Syarat") Syarat Penggunaan ini (selepas ini dirujuk sebagai "Syarat") terpakai kepada laman web yang dioperasikan oleh telet.ai (selepas ini dirujuk sebagai "kami", "kamilah", "milik kami", atau "milik kami"). (selepas ini dirujuk sebagai "kami", "kamil", atau "milik kami"). (selepas ini dirujuk sebagai "Laman") yang dioperasikan oleh telet.ai (selepas ini dirujuk sebagai "Kami"). Laman ini disediakan terutamanya sebagai halaman pendaratan untuk temu janji perundingan, pertanyaan, dan permintaan dokumen, dan tidak menyediakan fungsi penciptaan akaun atau pengebilan berbayar di Laman ini.',sections:{scope:{title:"1. Skop aplikasi",description:'Terma dan Syarat ini terpakai kepada semua pelawat dan pengguna Laman ("Pengguna"). Terma Penggunaan hendaklah terpakai kepada semua pelawat dan pengguna Laman Web (selepas ini dirujuk sebagai "Pengguna"). Sekiranya perjanjian NDA berasingan, perjanjian outsourcing, kontrak individu dan sebagainya dimeterai antara kami dan seorang Pengguna, dokumen tersebut akan mengatasi Terma dan Syarat ini.'},prohibited:{title:"2. Barangan terlarang",description:"Dalam menggunakan Laman ini, Pengguna tidak boleh melakukan mana-mana daripada perkara berikut",items:["Tindakan yang melanggar undang-undang dan peraturan atau ketenteraman awam dan moral","Mana-mana perbuatan yang menceroboh hak harta intelek kami atau mana-mana pihak ketiga, privasi, atau hak dan kepentingan lain.","Tindakan yang mengganggu operasi laman ini atau sistem berkaitan melalui akses tanpa kebenaran, beban berlebihan, sabotaj, dan sebagainya.","Mengemukakan maklumat palsu atau menyamar sebagai pihak ketiga dalam borang pertanyaan, dan sebagainya.","Mengikis, kejuruteraan terbalik, atau akses automatik berlebihan tanpa kebenaran kami terlebih dahulu"]},disclaimer:{title:"3. Penafian",description:'Kami menyediakan laman ini atas dasar "seadanya" dan "sebagaimana tersedia". Setakat yang dibenarkan oleh undang-undang, kami menafikan semua jaminan berkaitan laman ini.',items:["Maklumat di laman ini tertakluk kepada perubahan atau pemadaman tanpa notis.","Kami tidak menjamin ketepatan, kelengkapan, atau kesesuaian maklumat di laman ini untuk tujuan tertentu.","Kami tidak akan bertanggungjawab atas sebarang kerosakan yang timbul daripada penggunaan laman ini oleh anda atau kebergantungan anda terhadap maklumat yang terkandung di dalamnya.","Maklum balas kepada perundingan dan pertanyaan adalah untuk maklumat umum sahaja dan tidak merupakan nasihat undang-undang, cukai, perubatan atau nasihat profesional lain."]},ip:{title:"4. hak harta intelek",description:"Semua hak terhadap teks, imej, reka bentuk, tanda dagangan, logo dan lain-lain di laman ini milik kami atau pemegang hak yang sah. Anda tidak boleh menggunakannya tanpa kebenaran pemegang hak."},links:{title:"5. pautan ke laman luar",description:"Laman web ini mungkin mengandungi pautan ke laman web pihak ketiga. Kami tidak bertanggungjawab terhadap kandungan atau operasi laman yang dipautkan."},changes:{title:"6. Pengubahsuaian Terma dan Syarat ini",description:"Kami berhak untuk mengubah Terma dan Syarat ini dari semasa ke semasa mengikut keperluan. Terma Penggunaan yang telah diubah akan berkuat kuasa apabila dipaparkan di
243Laman Web."},governingLaw:{title:"7. undang-undang yang mengatur dan bidang kuasa",description:"Terma dan Syarat ini ditadbir dan ditafsirkan mengikut undang-undang Jepun. Jika timbul sebarang pertikaian berkaitan dengan Laman ini, Mahkamah Daerah Tokyo hendaklah mempunyai bidang kuasa eksklusif sebagai mahkamah peringkat pertama."},contact:{title:"8. hubungi kami",description:"Jika anda mempunyai sebarang pertanyaan mengenai Terma dan Syarat ini, sila hubungi",company:"telet.ai",contactLink:"Pergi ke Borang Pertanyaan"}}},NA={title:"gerakan biasa",subtitle:"AI meramalkan",description1:"Maklumat cuaca disediakan secara masa nyata oleh setiap negara. Negara anda dipaparkan di tengah peta. Cuaca semalam dan cuaca hari ini adalah rekod sebenar - awan hujan sepatutnya berada di langit anda pada tarikh dan masa tersebut.",description2:"Walau bagaimanapun, animasi ini juga menganimasikan pergerakan cuaca masa depan.",description3:"Vektor memproses data lampau dan mencari corak pada kelajuan tinggi. Corak cuaca juga boleh diramalkan daripada persekitaran sekeliling. Begitu juga, adalah mungkin untuk meramalkan hasil tuaian, pengeluaran, dan jualan dengan mengira elemen (i) daripada persekitaran serta nilai statistik lanjutan daripada prestasi lampau dan membiarkan AI menganalisisnya.",refresh:"menyegarkan (contohnya memori)",loading:"Memuat peta cuaca..."},GA={hero:{badges:["Perusahaan","LLM Tempatan","Ejen Tersuai"],title:"Reka Bentuk dan Pembangunan Ejen AI untuk Perusahaan",description:"Reka dan bina ejen AI khusus yang disesuaikan dengan keperluan perniagaan"},mission:{title:"Perkhidmatan Pembangunan Ejen AI Tersuai",description:"Kami sentiasa membangunkan ejen AI tersuai yang menangani isu perniagaan unik syarikat anda, daripada reka bentuk hingga pelaksanaan dan operasi. Reka bentuk seni bina kami menekankan keserasian dengan sistem kritikal sedia ada dan persekitaran SaaS, membolehkan integrasi lancar dengan API, pangkalan data, dan alat dalaman. Jurutera kami biasa dengan LangChain, AutoGen, CrewAI, dan rangka kerja utama lain, dan akan mencadangkan penyelesaian terbaik untuk susunan teknologi dan struktur operasi syarikat anda. Kami bukan sahaja membangunkan chatbot sekali sahaja, tetapi juga membina sistem ejen pelbagai di mana beberapa Ejen bekerjasama antara satu sama lain untuk melaksanakan tugas, dan Aliran Kerja Agensik yang berfungsi bersama alat luaran. Kami menyokong memaksimumkan nilai perniagaan yang dibawa oleh Ejen AI melalui perkongsian jangka panjang yang merangkumi penambahbaikan berterusan selepas pelaksanaan, pengemaskinian model, dan penyelenggaraan sistem pemantauan operasi.",imageAlt:"Perkhidmatan Pembangunan Ejen AI Tersuai"},summary:{title:"Tren Pembangunan Ejen",paragraphs:['Dari 2025 hingga 2026, pembangunan Ejen AI bergerak daripada fasa demonstrasi ke fasa pelaksanaan korporat berskala penuh. Konsep "AI Agensial" telah berakar, dan sistem pelaksanaan perniagaan autonomi yang melangkaui sekadar chatbot telah mula beroperasi dalam pelbagai industri.','"Ejen yang menggunakan komputer" yang mengawal pelayar dan desktop secara langsung, seperti Operator OpenAI, Computer Use Anthropic, dan Project Mariner Google, telah menjadi praktikal. Model Context Protocol (MCP) adalah ekosistem yang sedang berkembang, membolehkan integrasi plug-and-play dengan beribu-ribu alat.',"Arkitektur berbilang ejen telah mencapai kematangan, dengan ejen khusus bekerjasama untuk melaksanakan tugas kompleks seperti pengurusan projek, sokongan pelanggan, dan analisis data. Penstandardan protokol A2A (Ejen-ke-Ejen) juga telah membuat kemajuan dalam kerjasama ejen antara pembekal yang berbeza.",'Model tadbir urus telah berkembang daripada "Human-in-the-Loop" kepada "Human-on-the-Loop" untuk pelaksanaan korporat, dengan mekanisme untuk pengauditan keputusan pasca ejen dan eskalasi automatik berdasarkan tahap risiko sebagai ciri standard, mempercepatkan penerimaan dalam industri terkawal seperti kewangan, penjagaan kesihatan, dan pembuatan. Penerimaan sistem ini semakin pesat dalam industri terkawal seperti kewangan, perubatan, dan pembuatan.']},features:{title:"Reka Bentuk dan Pembangunan",subtitle:"Reka Bentuk & Pembangunan",items:[{title:"Reka bentuk ejen berdasarkan keperluan perniagaan",description:"Ekstrak kes penggunaan daripada analisis aliran perniagaan, pecahkan tugas dan jelaskan tanggungjawab Agens. Kami menentukan sama ada pemprosesan boleh diselesaikan oleh seorang Agens sahaja atau memerlukan koordinasi berbilang Agens, dan memilih corak inferens optimum seperti ReAct, Rancang-dan-Laksana, dan Refleksi."},{title:"Integrasi RAG / Alat / Aliran Kerja",description:"Pipeline RAG yang sangat tepat menggabungkan Generasi Embedding, Strategi Pekali, dan Carian Hibrid, penyambungan piawai kepada API dan pangkalan data luaran dengan definisi Alat yang mematuhi MCP, serta orkestrasi aliran kerja berbilang langkah menggunakan LangGraph dan CrewAI. Orkestrasikan aliran kerja berbilang langkah dengan LangGraph dan CrewAI."}
243,{title:"Reka bentuk keselamatan dan kebenaran",description:"Kawalan akses fungsi ejen melalui RBAC/ABAC, langkah balas terhadap suntikan Prompt, serta pengesanan dan penyamaran PII telah dilaksanakan. Log audit bagi semua input dan output disimpan, dan operasi persekitaran yang mematuhi SOC2 dan ISO27001 disokong."},{title:"Pelaksanaan termasuk operasi dan pemantauan",description:"Melaksanakan visualisasi jejak dengan LangSmith, Langfuse dan lain-lain, serta pemantauan masa nyata terhadap kelewatan, penggunaan token, dan kadar ralat. Membina kitaran penambahbaikan berterusan yang merangkumi amaran pengesanan anomali, infrastruktur ujian A/B, dan Ujian Regresi semasa mengemas kini model."}]},techStack:{title:"Susunan Teknologi",subtitle:"Platform & Teknologi",categories:{agentFramework:{title:"Kerangka Agens",items:["AutoGen 0.4 / AG2","CrewAI","Graf Bahasa","SDK Ejen OpenAI","MCP Anthropic","Google ADK (Agent Development Kit)","Nukleus Semantik","Platform Ejen Milik Perusahaan"]},apiLayer:{title:"Lapisan API",items:["FastAPI / Litestar","gRPC / Sambung","Persekutuan GraphQL","Acara yang dihantar oleh pelayan (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","Gerbang API (Kong / Envoy)","Pembatasan Kadar Adaptif"]},vectorDb:{title:"Pangkalan data vektor / RAG",items:["Kuncup pain","Menenun","Kuadrant","Milvus","ChromaDB","pgvektor","FAISS","Turbopuffer"]}
243,infrastructure:{title:"Infrastruktur",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","Kumpulan GPU di Tempat","Awan Persendirian","Tanpa pelayan (Lambda / Cloud Run)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"Titik-titik utama kemas kini untuk 2026",description:"Dalam Agent Framework, SDK/protokol rasmi daripada pembekal utama seperti OpenAI Agents SDK, Anthropic MCP, dan Google ADK sedang muncul; dalam Lapisan API, gRPC dan SSE telah menjadi piawaian untuk komunikasi antara ejen, dan peralihan kepada OAuth 2.1 sedang dijalankan. Dalam Vector DB, Qdrant dan Turbopuffer mendapat perhatian kerana carian berkelajuan tinggi mereka."}},cta:{title:"Hubungi Kami",description:"Kami boleh berunding dengan anda bermula daripada penyusunan keperluan. PoC dan konfigurasi LLM tempatan juga boleh dipertimbangkan.",primaryButton:"Hubungi Kami",secondaryButton:"Perundingan Teknikal"}},OA={title:"Soalan Lazim",subtitle:"Soalan Lazim",items:[{question:"Bolehkah saya menggunakan manual dan Soalan Lazim sedia ada tanpa pengubahsuaian?",answer:"Ya, anda boleh menggunakannya; ia menyokong kebanyakan format, termasuk PDF, Word, Excel, HTML, dan fail teks. Cukup muat naik dokumen dalaman sedia ada seperti sedia kala, dan AI akan mempelajari kandungannya serta menggunakannya untuk menjawab soalan anda. Tiada penukaran format atau pemprosesan khas diperlukan."},{question:"Adakah selamat untuk digunakan dengan data yang mengandungi maklumat sensitif?",answer:"Ya, anda boleh menggunakan perkhidmatan kami dengan selamat. Sama ada di premis (pelayan dalaman) atau dalam persekitaran awan peribadi, data tidak pernah dihantar keluar dari syarikat. Kami boleh mencadangkan konfigurasi untuk memenuhi keperluan keselamatan anda."},{question:"Berapa lama masa yang diperlukan untuk melaksanakannya?",answer:"Bot FAQ standard boleh dilaksanakan dalam tempoh serendah 2â4 minggu. Jika integrasi dengan sistem sedia ada atau penyesuaian lanjutan diperlukan, kami menganggarkan 1â3 bulan. Kami juga boleh memulakan dengan PoC (bukti konsep) skala kecil."},{question:"Adakah anda menggunakan API luaran seperti ChatGPT atau Claude?",answer:"Pilihan tersedia atas permintaan. Kami menyokong kedua-dua konfigurasi yang menggunakan API luaran (OpenAI, Anthropic, Google, dan lain-lain) dan konfigurasi yang menggunakan LLM sumber terbuka (Llama, Mistral, Qwen, dan lain-lain) yang dijalankan sepenuhnya secara tempatan. Kami boleh mencadangkan konfigurasi terbaik untuk keperluan kos, keselamatan, dan prestasi anda."},{question:"Sejauh manakah ketepatan respons AI?",answer:"Bergantung pada aplikasi dan kualiti data, sistem RAG yang direka dengan betul boleh memberikan jawapan tepat kepada soalan yang mempunyai dokumen berkaitan dengan ketepatan 90% atau lebih. Mekanisme untuk mengawal halusinasi (penghasilan maklumat yang salah) juga disertakan sebagai standard."},{question:"Adakah anda menyokong bahasa selain bahasa Jepun?",answer:"Ya, sokongan pelbagai bahasa tersedia. Kami menyokong semua bahasa utama, termasuk Jepun, Inggeris, Cina, dan Korea. Daripada mempunyai model berasingan untuk setiap bahasa, satu sistem boleh mengendalikan pertanyaan pelbagai bahasa."},{question:"Bolehkah anda berintegrasi dengan sistem sedia ada (CRM, alat sembang, dan lain-lain)?",answer:"Ya, ia boleh diintegrasikan; ia menyokong integrasi API dengan alat perniagaan utama seperti Salesforce, HubSpot, Slack, Microsoft Teams, dan LINE WORKS. Anda boleh memasukkan pembantu AI tanpa mengubah aliran kerja sedia ada."},{question:"Apakah struktur yuran anda?",answer:"Ia bergantung pada saiz dan keperluan projek. Walaupun yuran pembinaan awal dan yuran operasi bulanan biasanya digabungkan, kami juga menerima permintaan untuk pembangunan terpilih atau perkhidmatan perundingan sahaja. Sila beritahu kami keperluan anda terlebih dahulu. Kami akan memberikan anda anggaran kasar."}]},BA={title:"Pelan Tarif",subtitle:"Pelan Harga",description:"Pelan fleksibel untuk memenuhi saiz perniagaan anda",plans:[{name:"pemula",price:"29,800 yen",period:"Bulan/pengguna",description:"Rancangan terbaik untuk pasukan kecil. Fungsi AI asas pada harga yang berpatutan.",features:["Sehingga 100 panggilan sebulan","Transkripsi Asas","Pengesanan Kata Kunci","Sokongan E-mel","Penahanan data 7 hari"],cta:"Mulakan secara percuma",popular:!1},{name:"profesional",price:"Â¥79,800",period:"Bulan/pengguna",description:"Sesuai untuk pasukan yang sedang berkembang. Ciri analitik lanjutan.",features:["Sehingga 500 panggilan sebulan","Transkripsi AI berketepatan tinggi","Analisis Emosi","Pautan CRM","Sokongan Keutamaan","Penahanan data 30 hari","Laporan Tersuai"],cta:"Uji cuba percuma 14 hari",popular:!0},{name:"perusahaan",price:"Hubungi Kami",period:"sesuai",description:"Pelan berperincian penuh untuk organisasi besar",features:["Panggilan tanpa had","Model AI Dedicated","Sokongan di lokasi","Sokongan Khusus","Kerjasama tersuai","Jaminan SLA","Audit Keselamatan","Penahanan data tanpa had"],cta:"Berkonsultasi dengan Jualan",popular:!1}],faq:{title:"Soalan Lazim",items:[{question:"Adakah terdapat percubaan percuma?",answer:"Ya, percubaan percuma selama 14 hari tersedia untuk pelan Profesional. Tiada kad kredit diperlukan untuk memulakan."},{question:"Bolehkah saya menukar pelan saya pada bila-bila masa?",answer:"Ya, anda boleh menaik taraf atau menurunkan taraf pelan anda pada bila-bila masa. Perubahan akan digunakan bermula kitaran pengebilan seterusnya."},{question:"Adakah terdapat terma kontrak yang terikat?",answer:"Pelan bulanan tidak mempunyai sekatan tempoh kontrak. Jika anda memilih kontrak tahunan, anda akan menerima diskaun 20%."}]}},KA={hero:{badge:"Teknologi Berkuasa AI",title:"Transkripsi AI",description:"Model pembelajaran mesin lanjutan menyediakan ketepatan 99.5%. AI yang dilatih pada jutaan data interaksi pelanggan menukarkan suara kepada teks.",features:["Ketepatan 99.5%","pemprosesan masa nyata","Sokongan untuk lebih daripada 40 bahasa"]},features:{title:"Fungsi Utama",subtitle:"Enjin transkripsi lanjutan yang melangkaui pengecaman ucapan ringkas",items:[{title:"Transkripsi masa nyata",description:"Dapatkan transkrip masa nyata semasa perbualan. Dapatkan pandangan segera dan jangan lepaskan peluang bimbingan masa nyata."},{title:"Sokongan pelbagai bahasa",description:"Mendukung lebih daripada 40 bahasa dan merangkumi pasukan global dengan pengesanan bahasa automatik."},{title:"pemahaman kontekstual",description:"Model AI yang dilatih dengan terminologi khusus industri dapat mengenal pasti istilah teknikal dan perniagaan dengan tepat."},{title:"pemisahan pembicara",description:"Secara automatik mengenal pasti dan memisahkan penceramah yang berbeza dalam perbualan serta menetapkan atribut penceramah yang jelas."},{title:"leksikon tersuai",description:"Mempelajari nama produk unik syarikat anda, nama perkhidmatan, dan istilah teknikal memberikan ketepatan yang lebih tinggi."},{title:"Penyelamatan Kualiti",description:"Semakan kualiti automatik dan pemarkahan kebolehpercayaan memastikan transkripsi berkualiti tertinggi."}]},useCases:{title:"Adegan Penggunaan",subtitle:"Industri dan pasukan yang memerlukan transkripsi panggilan yang tepat",items:[{title:"Pasukan Jualan",description:"Renungkan panggilan jualan dan kenal pasti corak kejayaan. Tingkatkan keberkesanan ucapan dan bimbing ahli pasukan de
243ngan contoh khusus."},{title:"Sokongan Pelanggan",description:"Merekod dengan tepat isu pelanggan. Menjaga rekod sokongan yang menyeluruh untuk memastikan kualiti perkhidmatan yang konsisten."},{title:"kawalan kualiti",description:"Memantau pematuhan dan memastikan pematuhan kepada skrip. Menyimpan rekod terperinci untuk audit dan latihan."}]},stats:{accuracy:{value:"99.5%",label:"ketepatan transkripsi"},languages:{value:"40+",label:"Bahasa yang disokong"},latency:{value:"kurang daripada 2 saat",label:"kelewatan pemprosesan"},availability:{value:"24/7",label:"pemprosesan berterusan"}}},VA={hero:{badge:"Pengesanan Pintar",title:"Penjejakan Kata Kunci",description:"Memantau secara automatik sebutan pesaing, sanggahan, dan topik penting. Jangan terlepas isyarat penting daripada perbualan pelanggan.",badges:["Penjejakan Kompetitif","Pengesanan Tindak Balas","Analisis Topik","kata kunci tersuai"]},features:{title:"Lacak maklumat kritikal",subtitle:"Pengesanan dan analisis automatik kata kunci daripada semua perbualan",items:[{title:"Pemantauan Persaingan",description:"Lacak sebutan pesaing untuk memahami bagaimana prospek membandingkan penyelesaian anda dengan alternatif di pasaran."},{title:"Pengesanan Tindak Balas",description:"Mengesan secara automatik bantahan dan kebimbangan biasa serta membangunkan tindak balas dan latihan yang berkesan."},{title:"kata kunci tersuai",description:"Takrifkan dan jejaki kata kunci dan frasa tersuai yang khusus untuk perniagaan, produk atau industri anda."},{title:"Analisis Tren",description:"Temui trend baharu daripada perbualan pelanggan dan sesuaikan strategi anda berdasarkan isyarat pasaran sebenar."},{title:"pengeluaran konteks",description:"Dapatkan konteks sebelum dan selepas kata kunci, bukan hanya sebutan semata-mata. Fahamilah bukan sahaja apa yang dikatakan, tetapi juga mengapa dan bagaimana ia dikatakan."},{title:"Carian Pintar",description:"Cari semua perbualan dengan segera untuk mengetahui dengan tepat di mana dan bila topik tertentu dibincangkan."}]},applications:{title:"Adegan Penggunaan",items:{competitive:{title:"Perisikan Persaingan",description:"Pemahaman mendalam tentang landskap persaingan:",points:["Lacak pesaing yang paling kerap disebut","Memahami bagaimana pelanggan prospektif membandingkan ciri-ciri dan harga","Kenal pasti kelebihan dan kelemahan anda dalam persaingan.","Mencipta bahan anti-persaingan yang berkesan"]},objections:{title:"tindak balas terhadap sanggahan",description:"Ubah sanggahan menjadi peluang:",points:["Kenal pasti kebimbangan pelanggan yang paling biasa","Analisis respons sanggahan para peforma teratas","Buku panduan dengan tindak balas yang terbukti.","Latih pasukan anda dengan penukaran yang berkesan"]},product:{title:"Pandangan Produk",description:"Mempromosikan pembangunan produk melalui maklum balas pelanggan:",points:["Kenal pasti ciri yang paling banyak diminta","Memahami cabaran terhadap fungsi semasa","Temui kes penggunaan yang tidak dijangka","Keutamakan peta jalan berdasarkan keperluan pelanggan"]},compliance:{title:"Pematuhan & Kualiti",description:"Pastikan pematuhan peraturan dan kualiti:",points:["Pantau pendedahan yang diperlukan dan bahasa undang-undang","Tandakan perbualan yang mungkin melanggar dasar","Lacak pematuhan skrip dan amalan terbaik","Jana laporan pematuhan untuk audit"]}}},advancedFeatures:{title:"Ciri Lanjutan",items:[{title:"pemulihan yang samar",description:"Mengesan secara automatik variasi kata kunci, sinonim, dan istilah berkaitan tanpa konfigurasi manual."},{title:"analisis sejarah",description:"Analisis trend kata kunci dari masa ke masa untuk mengenal pasti corak bermusim dan topik yang sedang muncul."},{title:"Amaran masa nyata",description:"Terima pemberitahuan segera apabila kata kunci penting disebut dalam perbualan langsung."}]}},FA={hero:{badges:["Perusahaan","LLM Tempatan","Pengoperasian pelayan dalaman"],title:"Pembinaan LLM di Tempat",description:"Mengendalikan LLM dalam persekitaran anda sendiri, dengan menyimpan data di luar syarikat."},mission:{title:"Rangkuman Perkhidmatan Pembinaan LLM di Lokasi",paragraphs:["Bagi syarikat yang tidak dapat mengeluarkan data sulit di luar syarikat, kami membina persekitaran LLM yang boleh dilaksanakan pada pelayan mereka sendiri atau di awan persendirian. Penyelesaian ini sesuai untuk organisasi yang memerlukan pengurusan maklumat yang ketat, seperti institusi kewangan, institusi perubatan, agensi kerajaan, dan institut penyelidikan, kerana ia tidak menggunakan sebarang API awam dan semua pemprosesan diselesaikan dalam infrastruktur yang diuruskan oleh pelanggan.","Kami menyediakan sokongan menyeluruh daripada pemilihan model, pembinaan pelayan, pe
243ngoptimuman enjin inferens, dan pemantauan operasi, menggunakan model open-weight yang boleh didapati secara komersial seperti Llama 3.3, Qwen 2.5, Mistral, dan DeepSeek dengan enjin inferens berprestasi tinggi seperti vLLM, Ollama, dan SGLang. Model-model ini dijalankan pada enjin inferens prestasi tinggi seperti vLLM, Ollama, dan SGLang untuk menyediakan persekitaran inferens berlatensi rendah dan berprestasi tinggi.","Kami menyokong pelbagai kes penggunaan seperti integrasi dengan sistem sedia ada, chatbot, RAG dalaman, penyusunan dokumen, dan penjanaan kod. Kami boleh mereka bentuk untuk memenuhi keperluan perusahaan, termasuk pengkhususan perniagaan melalui penalaan halus model, pengoptimuman NVIDIA GPU / Apple Silicon, reka bentuk berbilang penyewa, pembinaan gerbang API, dan banyak lagi."]},summary:{title:"Trend LLM di Lokasi",paragraphs:["Pada tahun 2025â2026, kegunaan LLM di premis semakin meningkat dengan pesat. Prestasi model berat terbuka telah menyamai model tertutup, dan bilangan model yang ditawarkan dengan lesen komersial telah mengurangkan dengan ketara halangan untuk operasi dalaman.","Model dengan parameter 8B hingga 70B telah mencapai tahap praktikal untuk banyak tugas perniagaan, kuantisasi GGUF membolehkan inferens berkelajuan tinggi walaupun pada GPU pengguna.","Untuk enjin inferens, Continuous Batching dan PagedAttention vLLM meningkatkan throughput dengan ketara, dan RadixAttention SGLang mempercepat interaksi kompleks berbilang pusingan. Ollama telah menjadi piawaian de facto untuk persekitaran pembangunan tempatan, dan llama.cpp dioptimumkan untuk Apple Silicon bagi inferens pantas pada Mac siri M.","Dalam penerimaan perusahaan, selain kedaulatan data dan pematuhan, pe
243ngoptimuman kos jangka panjang (beralih daripada pengebilan API bayar-sebagaimana-digunakan) semakin menjadi motivasi untuk penerimaan. Konfigurasi hibrid (lokal untuk pemprosesan sensitif dan API awan untuk pemprosesan tujuan umum) telah menjadi pilihan biasa."],icons:[{label:"Awan Persendirian"},{label:"Kedaulatan Data"},{label:"Pengoptimuman Kos"},{label:"Keselamatan Perusahaan"}]},features:{title:"Ciri reka bentuk dan pembangunan",subtitle:"Reka Bentuk & Pembangunan",items:[{title:"Reka bentuk infrastruktur dan pengoptimuman GPU",description:"Reka konfigurasi perkakasan optimum untuk beban kerja dan bajet anda, termasuk NVIDIA A100/H100, RTX 4090/5090, dan Apple Silicon (M2 Ultra/M3 Max/M4 Max), dan bina persekitaran inferens yang memanfaatkan sepenuhnya prestasi GPU melalui pengoptimuman CUDA, MPS, dan Metal. Pengoptimuman CUDA, MPS, dan Metal untuk memaksimumkan prestasi GPU."},{title:"Pemilihan dan pengoptimuman model",description:"Pilih model optimum daripada Llama, Qwen, Mistral, DeepSeek dan lain-lain dengan mengambil kira ciri tugas, keperluan bahasa, dan sekatan sumber. Kuantisasi (GGUF/AWQ/GPTQ), pengoptimuman cache KV, dan penalaan pemprosesan ber kelompok digunakan untuk mencapai ketepatan dan throughput."},{title:"Pembinaan enjin inferens",description:"Pilih dan bina enjin inferens seperti vLLM, SGLang, Ollama, TGI dan lain-lain mengikut aplikasi anda, dan terapkan teknologi terkini seperti Continuous Batching, Speculative Decoding dan Prefix Caching untuk menyediakan API inferens berlatensi rendah dan berprestasi tinggi. Kami menyediakan API inferens berlatensi rendah dan berprestasi tinggi."},{title:"Operasi, Pemantauan dan Keselamatan",description:"Melaksanakan pemantauan metrik inferensial dengan Prometheus/Grafana, kawalan akses dengan gerbang API, log audit, penskalaan automatik, dan pemulihan kegagalan. Membina persekitaran operasi pengeluaran yang memenuhi keperluan keselamatan perusahaan."}]},techStack:{title:"Susunan Teknologi: LLM di premis",subtitle:"Platform & Teknologi",categories:{openWeightModels:{title:"Model Berat Terbuka",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Perintah R (Cohere)"]},japaneseModels:{title:"Model khusus Jepun",items:["ELYZA-jepun-Llama-2","Telan 70B / 13B","Jepun-Llama-3","Qwen-2.5-Japanese","Karakuri-LM"]},inferenceEngine:{title:"Enjin inferens",items:["vLLM (Pengumpulan Berterusan)","SGLang (RadixAttention)","Ollama (pembangunan tempatan)","llama.cpp (Apple Silicon)","TGI (Hugging Face)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (khusus kuantisasi)"]},quantization:{title:"Kuantizasi",items:["GGUF (piawaian llama.cpp)","AWQ (4-bit ketepatan tinggi)","GPTQ (Pengoptimuman GPU)","bitdanbait(8bit/4bit)","EETQ (Kuantisasi Kecekapan Berkesan)"]},hardware:{title:"Perangkat keras",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
243,infrastructure:{title:"Infrastruktur",items:["Docker / Kubernetes","Pelayan NVIDIA Triton","Gerbang API (Kong / Envoy)","Prometheus / Grafana","Awan Persendirian (VMware / OpenStack)","Sokongan Persekitaran Berjarak Udara"]}},updateNote:{title:"Titik-titik utama kemas kini untuk 2026",description:"Dalam model berat terbuka, Llama 3.3 mencapai prestasi gunaan umum kelas GPT-4 dan sangat meningkatkan prestasi bahasa Jepun; siri Qwen 2.5 memperluas pilihan dengan pelbagai saiz dan prestasi seimbang; DeepSeek V3/R1 menarik perhatian kerana prestasi kos inferensnya; dan enjin inferens vLLM 2.0 Chunked Prefill serta RadixAttention SGLang mempercepatkan dialog berbilang pusingan. Dalam enjin inferens, Chunked Prefill vLLM 2.0 dan RadixAttention SGLang mempercepatkan interaksi berbilang pusingan; pengoptimuman Apple Silicon untuk llama.cpp menjadikan inferens model 70B praktikal pada M4 Max; dan teknologi Kuantizasi menawarkan ketepatan 4-bit dan prestasi tinggi. Teknik kuantizasi mencapai kedua-dua ketepatan 4-bit dan kelajuan inferens, dan GGUF menjadi format piawaian de facto."}},cta:{title:"Hubungi Kami",description:"Kami boleh berunding dengan anda bermula daripada penyusunan keperluan. PoC dan konfigurasi LLM tempatan juga boleh dipertimbangkan.",primaryButton:"Hubungi Kami",secondaryButton:"Perundingan Teknikal"}},WA={hero:{badges:["Perusahaan","RAG","generasi sambungan carian"],title:"Pembangunan Vektor / RAG",description:"Bina sistem RAG untuk menghubungkan pengetahuan dalaman dengan LLM."},mission:{title:"Rangkuman Perkhidmatan Pembangunan Vector / RAG",paragraphs:["Kami akan membina sistem RAG (generasi sambungan carian) yang membolehkan pekerja mencari dan mengemukakan soalan dalam bahasa semula jadi dengan menghubungkan aset pengetahuan yang terkumpul di syarikat dengan LLM. Kami mengintegrasikan pelbagai sumber data seperti manual, minit mesyuarat, dokumen teknikal, soalan lazim, sejarah Slack, Confluence, SharePoint dan lain-lain untuk mewujudkan persekitaran di mana pengetahuan organisasi boleh digunakan serta-merta.","Kami memaksimumkan ketepatan carian dan kualiti respons dengan menerapkan teknologi terkini seperti Carian Hibrid (carian vektor + carian kata kunci), Reranking, pengagihan hierarki, penapisan metadata dan lain-lain, di samping carian dokumen ringkas. Kami dengan jelas menunjukkan sumber jawapan untuk mengurangkan halusinasi dan memastikan kebolehpercayaan.","Kami menyokong pelbagai persekitaran termasuk AWS, GCP, Azure, dan on-premise, serta mengintegrasikannya dengan infrastruktur pengesahan sedia ada dan pengurusan autoriti. Kami menyediakan sokongan konsisten untuk mengekalkan kesegaran data (kemas kini perbezaan dan penalaan semula automatik), menganalisis log penggunaan, dan sentiasa meningkatkan ketepatan."]},summary:{title:"Trend Teknologi RAG",paragraphs:['Antara tahun 2025 dan 2026, teknologi RAG sedang memasuki fasa "pelaksanaan asas ke kualiti pengeluaran". Selain carian vektor ringkas, Carian Hibrid yang menggabungkan pelbagai kaedah carian, Penyusunan Semula yang menyusun semula keputusan carian, dan Pemecahan Permintaan yang memecah dan memproses soalan kompleks telah menjadi konfigurasi standard.',"Strategi pengelompokan juga telah berkembang, dengan pengelompokan hierarki yang mengambil kira struktur dokumen, kelompok yang bertindih, dan pengelompokan multimodal yang memproses jadual dan figura secara berasingan, kesemuanya menyumbang kepada peningkatan ketepatan. Pemulihan Kontekstual (menambah maklumat kontekstual kepada kelompok) juga telah diiktiraf secara meluas sebagai berkesan.","Untuk pemilihan pangkalan data vektor, selain perkhidmatan terurus seperti Pinecone, Weaviate, Qdrant, dan Milvus, PostgreSQL pgvector dan FAISS tempatan menawarkan pelbagai pilihan untuk memenuhi keperluan anda. Model pemapan juga tersedia, termasuk text-Embedding-3-large, Cohere Embed v3, dan model pelbagai bahasa.",'Dalam penyebaran perusahaan, pautan pengurusan kebenaran (ACL), penyamaran PII, log audit, dan reka bentuk berbilang penyewa adalah keperluan penting, dan perlu beralih daripada "PoC berfungsi" kepada "sistem pengeluaran yang sedia untuk di
243hasilkan".'],icons:[{label:"Pencarian Hibrid"},{label:"RAG multimodal"},{label:"RAG Agensial"},{label:"Keselamatan Perusahaan"}]},features:{title:"Ciri reka bentuk dan pembangunan",subtitle:"Reka Bentuk & Pembangunan",items:[{title:"Saluran pengumpulan dan pemprosesan awal data",description:"Pengekstrakan dan pembersihan data daripada PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, dan lain-lain. Sokongan berbilang mod termasuk OCR, analisis struktur jadual, dan penjanaan kapsyen imej. Menjaga kesegaran dengan kemas kini berperbeza dan pelaksanaan terjadual."},{title:"Reka bentuk sistem carian berketepatan tinggi",description:"Membina carian berketepatan tinggi yang menggabungkan Carian Vektor + Carian Hibrid BM25, Reranking oleh Cohere Rerank / Cross-Encoder, serta Pengembangan dan Pemecahan Query. Penapisan metadata dan kawalan akses berasaskan kebenaran juga dilaksanakan."},{title:"Penghasilan respons dan kawalan kualiti",description:"Meningkatkan kualiti jawapan dengan pengoptimuman konteks, arahan Few-shot, dan inferens Chain-of-Thought. Penjelasan sumber, paparan skor keyakinan, dan pengesanan halusinasi telah dilaksanakan untuk memastikan kebolehpercayaan bagi kegunaan perniagaan."},{title:"Kitaran operasi dan penambahbaikan",description:"Kami menyediakan sokongan operasi termasuk analisis log penggunaan, pemantauan kadar kejayaan carian dan kepuasan tindak balas, penambahbaikan berterusan melalui gelung maklum balas, infrastruktur ujian A/B, penyepaduan kemas kini model, dan semakan strategi pembahagian kepada bahagian-bahagian."}]},techStack:{title:"Susunan teknologi: Vektor / RAG",subtitle:"Platform & Teknologi",categories:{embeddingModels:{title:"Penyisipan Model",items:["OpenAI text-embedding-3-large","Cohere Embed v3","Pelayaran AI","Jina Embeddings v3","BGE-M3 (pelbagai bahasa)","pelbagai-bahasa-e5-besar","Model khusus Jepun"]},vectorDatabases:{title:"Pangkalan Data Vektor",items:["Pinecone (Dikelola)","Weaviate (Pencarian Hibrid)","Qdrant (prestasi tinggi)","Milvus (skala besar)","Chroma (ringan)","PostgreSQL pgvector","FAISS (lokal)"]},chunking:{title:"Pengagihan & Pemprosesan",items:["pembahagian berperingkat","Pengelompokan Semantik","Kepingan yang bertindih","Tetingkap Ayat","Pemulihan Kontekstual","Pemprosesan jadual dan carta","Sokongan multimodal"]},search:{title:"Pencarian & Pengambilan",items:["Pencarian Hibrid (Vektor + BM25)","Cohere Rerank","Penarafan Semula Pengkod Salib","Pengembangan dan dekomposisi pertanyaan","HyDE (Pengenerasian Dokumen Hipotesis)","Pemulihan Semula Soalan Diri","Pemulihan Pelbagai Permintaan"]}},updateNote:{title:"Titik-titik utama kemas kini untuk 2026",description:"Dalam model Embedding, text-Embedding-3-large dan Cohere Embed v3 menjadi piawaian perusahaan, dan prestasi bahasa Jepun bertambah baik dengan ketara; Contextual Retrieval terbukti berkesan, dan menambah konteks pada ketulan menjadi kaedah piawai. Carian Hibrid + Reranking telah menjadi konfigurasi wajib untuk carian, mengurangkan bilangan konfigurasi carian vektor ringkas sahaja, dan Agentic RAG (agensi memilih strategi carian secara dinamik) sedang digunakan secara praktikal. Dari segi operasi, penekanan diberikan kepada penubuhan kitaran pengukuran kualiti dan penambahbaikan menggunakan rangka kerja penilaian RAG (RAGAS, LangSmith)."}},cta:{title:"Hubungi Kami",description:"Kami boleh berunding dengan anda bermula daripada penyusunan keperluan. PoC dan konfigurasi LLM tempatan juga boleh dipertimbangkan.",primaryButton:"Hubungi Kami",secondaryButton:"Perundingan Teknikal"}}
243,qA={hero:{badges:["Susunan Penuh","Integrasi LLM","Reka Bentuk API"],title:"Pembangunan Aplikasi AI",description:"Reka dan bina aplikasi praktikal yang memanfaatkan LLM."},mission:{title:"Rangkuman Perkhidmatan Pembangunan Aplikasi AI",paragraphs:["Kami menyediakan reka bentuk dan pembangunan aplikasi AI yang mencipta nilai perniagaan dengan menganalisis data yang diperoleh daripada API luaran menggunakan LLM, menghubungkan API dengan pelbagai sumber data seperti CRM, ERP, SaaS, sensor IoT, dan media sosial, serta memasukkan data yang diperoleh ke dalam LLM secara masa nyata. Kami membolehkan analisis data lanjutan yang tidak dapat dicapai dengan alat BI konvensional, seperti penjanaan laporan analitik menggunakan bahasa semula jadi, pengesanan anomali, ramalan trend, dan pengelasan automatik.","Bukan sekadar integrasi API ringkas, tetapi juga integrasi pelbagai sumber data, pembersihan data, dan penukaran kepada format yang mudah untuk LLM tafsirkan melalui pemprosesan berstruktur. Kejuruteraan prompt memaksimumkan ketepatan analisis dan menghasilkan keluaran yang khusus untuk keperluan perniagaan. Kami membina aplikasi praktikal yang menggabungkan data dan AI, seperti data jualan untuk meramalkan rundingan perniagaan, log sokongan pelanggan untuk menjalankan analisis VoC, dan data sensor untuk memberikan cadangan penyelenggaraan peralatan.","Kami menyokong pelbagai antara muka seperti aplikasi web, aplikasi mudah alih, integrasi Slack/Teams, dan pemprosesan kelompok berkala. Kami menyediakan sokongan berterusan dari penentuan keperluan hingga reka bentuk API, pelaksanaan integrasi LLM, dan operasi pengeluaran."]},summary:{title:"Tren dalam Pembangunan Aplikasi AI",paragraphs:['Dari 2025 hingga 2026, pembangunan aplikasi AI memasuki fasa praktikal berasaskan "integrasi API x analisis LLM". Analisis data tidak berstruktur dan penjanaan wawasan bahasa semula jadi, yang tidak dapat diuruskan oleh alat BI dan papan pemuka tradisional, mula dimasukkan ke dalam sistem perusahaan.',"Yang perlu diberi perhatian khusus ialah kematangan fungsi Output Berstruktur LLM, yang membolehkan kawalan output yang ketat selaras dengan skema JSON, menjayakan saluran automatik hujung ke hujung, di mana data yang diperoleh melalui API dianalisis oleh LLM dan hasilnya dihantar terus ke sistem seterusnya. Pelaksanaan berbilang peringkat Pemanggilan Fungsi membolehkan pengumpulan data, integrasi, dan analisis merentas pelbagai API dikendalikan dalam satu aliran kerja.","Dalam infrastruktur pemprosesan data, Polars telah muncul sebagai piawaian untuk pemprosesan berkelajuan tinggi, dan apabila digabungkan dengan pemprosesan penstriman, ia memudahkan analisis masa nyata.","Dalam pelaksanaan korporat, keperluan telah beralih daripada pembangunan bukti konsep sekali sahaja kepada reka bentuk berskala untuk operasi pengeluaran, yang memerlukan reka bentuk seni bina menyeluruh yang merangkumi pengoptimuman kos, pengendalian ralat, dan sokongan log audit."],icons:[{label:"AI Agensial"},{label:"Protokol MCP"},{label:"Multi ejen"},{label:"Manusia-dalam-Gelung"}]},features:{title:"Ciri reka bentuk dan pembangunan",subtitle:"Reka Bentuk & Pembangunan",items:[{title:"Reka bentuk integrasi API dan pengumpulan data",description:"Bina infrastruktur pengumpulan data yang menyokong pelbagai protokol seperti REST API, GraphQL, WebSocket, dan Webhook. Kami mereka bentuk saluran pemerolehan data yang stabil dengan melaksanakan proses pengesahan (OAuth, kunci API, JWT), had kadar, dan mekanisme percubaan semula. Kami juga menyokong integrasi data, penjadualan, dan pemerolehan perbezaan daripada pelbagai API."},{title:"Pemprosesan dan penyusunan data",description:"Menukar data mentah ke dalam format yang boleh dianalisis dengan cekap oleh LLM, termasuk pemarseman JSON, pembersihan data, penormalan, dan pemprosesan nilai yang hilang, serta melaksanakan segmentasi dan pengringkasan data yang optimum dengan mengambil kira sekatan tetingkap konteks. Penugasan metadata memastikan kebolehjejakan keputusan analisis."},{title:"Analisis LLM dan reka bentuk arahan",description:"Maksimumkan ketepatan analisis data de
243ngan mereka bentuk templat arahan khusus mengikut keperluan perniagaan anda. Kami membina saluran analisis untuk pengelasan, penyusunan ringkasan, analisis sentimen, pengesanan anomali, penjanaan ramalan, dan lain-lain. Kami menggunakan Panggilan Fungsi dan Output Berstruktur untuk menjana hasil dalam format yang mudah disepadukan dengan sistem seterusnya."},{title:"Pelaksanaan dan operasi aplikasi",description:"Kami menyediakan keputusan analisis melalui pelbagai antara muka, termasuk FastAPI, aplikasi web menggunakan Next.js, Bot Slack/Teams, dan pelaksanaan pukal terjadual. Paparan pemantauan, amaran pemberitahuan, dan penjanaan laporan automatik dilaksanakan dan disampaikan dalam bentuk yang boleh digunakan serta-merta oleh pengguna perniagaan. Kami juga menyediakan pemantauan operasi, pengoptimuman kos, dan penambahbaikan berterusan."}]},techStack:{title:"Susunan Teknologi: Pembangunan Aplikasi AI",subtitle:"Platform & Teknologi",categories:{apiIntegration:{title:"Integrasi API",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","Webhook / Pengecaman","Apache Airflow / Prefect","Seleri / Temporal","permintaan / httpx / aiohttp","Had Kelajuan / Cuba Semula","Pengesahan Data (Pydantic)"]},dataProcessing:{title:"Pemprosesan Data",items:["Beruang / Kutub","Parser JSON / JSONL","Saluran Pemurnian Data","Apache Spark (Pemprosesan berskala besar)","dbt (penukaran data)","Harapan Yang Besar","Tasik Delta / Gunung ais","Streaming (Kafka / Flink)"]},llmCloud:{title:"LLM Awan",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Gemini 2.0 / Gemini 2.5","Perintah R+ (Cohere)","Mistral Large"]},llmLocal:{title:"LLM Tempatan",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","Gemma 2 / Gemma 3","Phi-4","ELYZA / Swallow (khusus dalam bahasa Jepun)","Perintah R (Cohere)"]},inference:{title:"Inferens / Kerangka",items:["vLLM / SGLang","Ollama / llama.cpp","LiteLLM Proksi","Panggilan Fungsi","Keluaran Berstruktur","Enjin Templat Prompt","LangChain / LlamaIndex","Saluran Paip Analisis Milik Perusahaan"]},application:{title:"Lapisan Aplikasi",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Tugas Jadual (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Cache / Queue)","Docker / Kubernetes"]}},updateNote:{title:"Titik-titik utama kemas kini untuk 2026",description:"Dalam bidang analisis LLM, fungsi Output Berstruktur GPT-4.1 dan Claude 4 telah matang untuk menstandardkan kawalan output yang ketat selaras dengan Skema JSON, dan pelaksanaan berbilang peringkat Panggilan Fungsi membolehkan pengumpulan dan analisis data kompleks merentas pelbagai API dalam satu saluran. Pelaksanaan berbilang peringkat Panggilan Fungsi membolehkan pengumpulan dan analisis data kompleks merentas pelbagai API dalam satu saluran. Dalam pemprosesan data, Polars telah menjadi alternatif yang mantap kepada Pandas untuk pemprosesan berkelajuan tinggi, dan digabungkan dengan pemprosesan penstriman, ia memudahkan pembinaan infrastruktur analisis masa nyata. Pada lapisan aplikasi, integrasi alat luaran menggunakan MCP telah menjadi perkara biasa, mempercepat pembangunan aplikasi agenik di mana LLM memanggil API secara autonomi untuk memperoleh dan menganalisis data."}},cta:{title:"Hubungi Kami",description:"Kami boleh berunding dengan anda bermula daripada penyusunan keperluan. PoC dan konfigurasi LLM tempatan juga boleh dipertimbangkan.",primaryButton:"Hubungi Kami",secondaryButton:"Perundingan Teknikal"}},UA={seo:vA,header:AA,hero:xA,mission:LA,businessServices:PA,features:wA,businessProcess:SA,story:IA,contact:MA,footer:jA,cookiePolicy:CA,about:DA,portfolio:zA,common:TA,privacyPolicy:EA,termsOfService:RA,weatherMap:NA,agentDevelopment:GA,faq:OA,pricing:BA,aiTranscription:KA,keywordTracking:VA,onPremiseLLM:FA,vectorRAG:WA,aiAppDevelopment:qA},_A={home:{title:"Platform Solusi Berbasis Kecerdasan Buatan - telet.ai",description:"Transformasikan percakapan pelanggan Anda dengan analitik panggilan yang didukung oleh kecerdasan buatan (AI). Dapatkan wawasan real-time, analisis sentimen, dan pelacakan kinerja untu
243k meningkatkan hasil tim Anda."},about:{title:"Informasi Organisasi - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"Kebijakan Privasi - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"Syarat dan Ketentuan - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"Kebijakan Cookie - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"Portofolio - telet.ai",description:"Jelajahi portofolio solusi kecerdasan buatan (AI) kami yang dirancang untuk meningkatkan operasional bisnis dan pengalaman pelanggan Anda."},agentDevelopment:{title:"Desain dan Pengembangan Agen Kecerdasan Buatan (AI) untuk Perusahaan - telet.ai",description:"Desain dan bangun agen AI berkualitas produksi yang disesuaikan dengan alur kerja, alat, dan kebutuhan kepatuhan Anda."},onPremiseLLM:{title:"Operasi LLM di Lokasi - telet.ai",description:"Jalankan model bahasa besar (LLM) modern di lingkungan Anda untuk kontrol data yang kuat, biaya yang dapat diprediksi, dan inferensi dengan latensi rendah."},vectorRAG:{title:"Desain Vektor RAG & Indeks - telet.ai",description:"Desain alur kerja dan indeks yang disesuaikan dengan setiap alur kerja untuk meningkatkan jawaban yang didukung data."},aiAppDevelopment:{title:"Pengembangan Aplikasi Kecerdasan Buatan - telet.ai",description:"Bangun aplikasi praktis yang didukung oleh LLMsâterintegrasi dengan API, data, dan alur kerja bisnis Anda."}},HA={brand:"telet.ai",nav:{services:"Layanan",portfolio:"Portofolio",about:"Informasi Organisasi",contact:"Kontak"}},$A={brandName:"telet.ai",tagline:"Komunikasi multi AI",badge:"Kecerdasan Panggilan Bertenaga AI",title:{line1:"Lokal dan defensif,",line2:"Perluas di awan,",line3:"Otomatis oleh agen."},description:"Edge inference dalam SLM memastikan kedaulatan data, dan integrasi cloud dalam LLM meningkatkan daya pemrosesan hingga tak terbatas; adopsi arsitektur Agentic AI mulai menunjukkan hasil dari perusahaan-perusahaan terkemuka."},QA={badge:"Misi Kami",title:"Membuat LLM lebih mudah diakses",paragraphs:['Apakah Anda benar-benar bisa melangkah sejauh ini?" --Kejutan itulah yang menjadi tujuan kami.','Potensi pemodelan bahasa berskala besar (LLM) terus berkembang setiap hari. Namun, kami ingin mend
243obrak hambatan seperti "Saya khawatir tentang pengiriman data rahasia ke API eksternal," "Aplikasi AI tingkat lanjut hanya untuk perusahaan besar," dan "Biaya implementasi tidak sepadan.',"Kami mengkhususkan diri dalam membangun LLM lokal yang diselesaikan di lingkungan Anda. Informasi pelanggan yang sangat sensitif dapat digunakan dengan aman tanpa terekspos ke dunia luar. Kami dapat memaksimalkan manfaat AI sekaligus memastikan keamanan data.","Sistem ini menangani segala sesuatu mulai dari pembuatan dokumen rutin dan organisasi data hingga analisis khusus dan dukungan keputusan. Teknologi agen milik kami memberikan akurasi yang sebanding dengan model API.",'LLM tidak menggantikan manusia. Ini adalah alat yang ampuh yang memungkinkan orang untuk menggunakan lebih banyak kreativitas, penilaian, dan keahlian. Kami membawa teknologi dari hal yang istimewa menjadi hal yang biasa - sebuah "konsumerisasi" yang sesungguhnya dari teknologi.','Jangan ragu untuk berkonsultasi dengan kami. Kami akan bekerja sama dengan Anda untu
243k mencari tahu "Apa yang bisa kami lakukan?" bersama Anda.'],animation:{label:"LLM",sublabel:"Teknologi"}},JA={title:"Layanan",subtitle:"Layanan Bisnis",services:[{title:"Desain dan Pengembangan Agen AI untuk Perusahaan",titleEn:"Agen AI Perusahaan",description:"Merancang dan mengembangkan agen AI yang dioptimalkan untuk kebutuhan bisnis, aturan internal, dan cakupan data. Dukungan dari LLM tipe API eksternal ke LLM lokal.",badges:["Desain Individu","Kompatibel dengan LLM","spesialisasi bisnis"],link:"Detail."},{title:"server LLM sesuai janji",titleEn:"Server LLM Di Lokasi",description:"Menjalankan LLM skala 7B hingga 120B dalam server khusus perusahaan. Menyediakan lingkungan penggunaan LLM yang aman dan fleksibel, menghindari risiko transmisi data eksternal.",badges:["Didukung 7B-120B","KUNCI API diterbitkan","Desain Keselamatan"],link:"Detail."},{title:"RAG vektor dan desain indeks",titleEn:"Arsitektur Vektor RAG",description:"Pisahkan dan optimalkan data RAG berdasarkan konten bisnis dan logika analisis. Desain indeks untuk pencarian yang cepat dan akurat.",badges:["Pemisahan Indeks","Pencarian kecepatan tinggi","dukungan multibahasa"],link:"Detail."},{title:"Pengembangan Aplikasi AI",titleEn:"Pengembangan Aplikasi AI",description:"Mengembangkan aplikasi AI praktis dengan analisis dan pembangkitan oleh LLM sebagai intinya, memanfaatkan API yang ada dan data eksternal.",badges:["Tautan API","Analisis LLM","Desain Terpadu"],link:"Detail."}]},ZA={title:"Proyek-proyek pencapaian yang menggunakan teknologi AI",subtitle:"Pengalaman pengembangan AI di berbagai bidang, termasuk asisten multibahasa, prakiraan cuaca, LLM lokal, dan pemantauan keamanan.",viewDetails:"Lihat detail â.",items:[{title:"Asisten Multibahasa AI",description:"Asisten obrolan multibahasa oleh RAG + LLM. Tanggapan yang sangat akurat terhadap pertanyaan dalam berbagai bahasa termasuk bahasa Jepang, Inggris, dan Mandarin."},{title:"Sistem Prakiraan Cuaca",description:"Mempelajari data cuaca dan menghasilkan prakiraan waktu nyata. Prakiraan yang sangat akurat dihasilkan dengan menggunakan pengenalan pola deret waktu dan RAG untuk mencari pola yang serupa di masa lalu."},{title:"Server Internal / On-Prem Local LLM",description:"Kami memberikan AI yang disesuaikan dengan operasi bisnis Anda, siap digunakan di dalam perusahaan Anda, dengan Open WebUI sebagai titik masuk umum, jalur inferensi cepat dengan Ollama/MLX, dan domain data yang sepenuhnya terpisah untuk setiap UID. Dokumen internal ditangkap dalam RAG dengan penyematan bahasa Inggris dan terjemahan kueri bahasa Jepang otomatis, dan keterampilan bisnis seperti ringkasan berita, organisasi dokumen, dan tugas rutin dijalankan dengan aman secara berdampingan. Sistem eksekusi keterampilan diisolasi sebagai wadah OpenClaw dan dilindungi oleh tiga lapisan Cloudflare edge dan Nginx lokal. Kami menyediakan dukungan komprehensif untuk pemilihan model, desain keterampilan, dan kebijakan operasional, dan memulai AI khusus perusahaan Anda dalam bentuk yang dapat digunakan sejak hari pertama digunakan."},{title:"Prediksi Kedatangan Orbit Antarplanet (AI)",description:"Mendapatkan data planet dari API NASA dan menginterpretasikan perhitungan orbit di LLM. Menghasilkan laporan tentang jendela peluncuran, waktu yang diperlukan, dan efisiensi bahan bakar."},{title:"Analisis AI Data Real Estat",description:"Kumpulkan informasi real estat dengan web scraping dan analisis dengan LLM + Python. Pembuatan tren harga, prakiraan pasar, dan laba atas investasi secara otomatis."},{title:"AI Peramal (Empat Pilar Peramal)",description:"Mereproduksi logika Empat Pilar Takdir dalam bahasa Python dan menginterpretasikannya dengan LLM. Dapatkan koordinat dan waktu dari API Astronomi untuk penilaian keberuntungan dan kecocokan yang dipersonalisasi."},{title:"Google Workspace AI integration",description:"Integrasi LLM dengan Gmail, Drive, Kalender, dll. AI membantu dengan ringkasan email, pencarian file, dan penjadwalan."},{title:"BERITA DUNIA Multibahasa",description:"Koleksi berita dunia secara real-time, diterjemahkan dan dirangkum dalam berbagai bahasa oleh LLM. Terjemah
243an dan ringkasan yang dibuat secara alami berdasarkan pemahaman kontekstual."},{title:"Manajer AI Pemantauan Log Keamanan",description:"Pemantauan log keamanan secara real-time, deteksi dan analisis ancaman oleh LLM, dan peringatan langsung dengan mencocokkan dengan pola serangan sebelumnya oleh RAG."}]},XA={title:"Cara melanjutkan proyek",headline:"Yang Anda perlukan hanyalah sebuah visi.",paragraphs:['Sudah lewatlah sudah hari-hari ketika perbedaan bahasa menjadi penghalang dalam bisnis, dan meskipun kami menggunakan penerjemahan AI, kami dapat menangani negosiasi dan pengembangan bisnis dalam 14 bahasa melalui alur kerja unik kami yang memanfaatkan sepenuhnya berbagi gambar. Bahkan spesifikasi yang rumit pun dapat diperiksa dengan contoh gambar untuk menghindari miskomunikasi. Satu-satunya hal yang penting adalah "apa yang ingin Anda buat.',"Proyek ini dimulai dengan audiensi awal dalam aplikasi bisnis. Setelah berbagi visi dan pemahaman umum tentang masalah yang dihadapi klien, NDA (Non-Disclosure Agreement) ditandatangani. Setelah menciptakan lingkungan di mana informasi rahasia dapat didiskusikan secara rahasia, kami melakukan wawancara terperinci dan mengonfirmasi persyaratan. Berdasarkan konten, kami menyiapkan proposal dan mengkonfirmasi arah proyek dengan menggunakan contoh gambar. Dengan pemahaman yang ada, kami menyiapkan spesifikasi dan memulai pengembangan.","Alur ini hanya merupakan pengantar umum. Kami akan secara fleksibel beradaptasi dengan situasi dan jadwal Anda. Di mana pun Anda berada di dunia, meskipun Anda tidak berbicara dalam bahasa yang sama, gambar dan AI akan mendukung komunikasi Anda. Mengapa Anda tidak bergabung dengan kami untuk memasuki pasar perbatasan yang belum pernah dijamah oleh siapa pun? Biarkan telet.ai menjadi mitra Anda untuk mewujudkan ide-ide Anda."],cards:[{title:"Sidang / NDA",description:"Setelah pemeriksaan awal melalui email, perjanjian kerahasiaan ditandatangani. Anda dapat memberikan detail kepada kami dengan tenang."},{title:"Perencanaan & CA",description:"Proposal dan contoh gambar disediakan. Tersedia 14 bahasa yang didukung, sehingga Anda dapat melanjutkan tanpa hambatan bahasa."},{title:"Pengambilan Sampel & Mulai",description:"Kami akan menyiapkan spesifikasi dan memulai bisnis setelah ada kesepakatan."},{title:"Pengembangan, pengujian, dan pengoperasian",description:"Implementasi yang cepat melalui pengembangan yang gesit. Kami memberikan dukungan yang konsisten dari pengujian hingga dukungan operasional."}]},YA={badge:"Studi Kasus",title:"Kisah Pengenalan AI",items:[{title:"Solusi Efisiensi Bisnis dan Pengurangan Biaya",subtitle:"Kurangi beban kerja harian dan ciptakan lingkungan yang memungkinkan Anda untu
243k fokus pada bisnis inti Anda.",description:'Banyak usaha kecil dan menengah (UKM) menghadapi kekurangan tenaga kerja dan kesulitan perekrutan. Bahkan ketika personil baru dipekerjakan, biaya pelatihan tinggi dan ada masalah dengan tingkat retensi. Solusi AI kami mendukung tugas-tugas harian seperti mengotomatiskan manajemen anggaran, entri dan pengaturan data, pengambilan dokumen internal, dan pembuatan laporan dan dokumen secara otomatis. Asisten AI menangani tugas-tugas rutin yang biasanya menghabiskan banyak waktu, 24 jam sehari, 365 hari setahun, tanpa kesalahan. Perusahaan yang telah memperkenalkan AI telah menyadari pengurangan jam kerja yang signifikan. Dari "meningkatkan sumber daya manusia" menjadi "berkolaborasi dengan AI. Kami akan melakukan yang terbaik untuk mendukung reformasi gaya kerja perusahaan Anda.'},{title:"Otomatisasi Dukungan Pelanggan",subtitle:"Layanan 24 jam meningkatkan kepuasan pelanggan dan mengurangi biaya tenaga kerja.",description:"Chatbot AI memberikan respons otomatis untuk pertanyaan yang sering diajukan, respons utama dan penyortiran pertanyaan, serta respons waktu nyata dalam berbagai bahasa. Tanggapan waktu nyata dalam berbagai bahasa. Operator manusia dapat fokus pada kasus-kasus yang kompleks dan meningkatkan kualitas layanan pelanggan. Tingkatkan kualitas layanan Anda ke level berikutnya dengan dukungan pelanggan AI."},{title:"AI Pemanfaatan Pengetahuan dan Dokumen",subtitle:"Aset pengetahuan internal dalam bentuk yang dapat segera dimanfaatkan oleh siapa saja",description:'Di mana buku panduan itu?" Ada informasi yang hanya diketahui oleh pendahulunya" - pengetahuan yang tidak personal menghambat pertumbuhan perusahaan. Teknologi RAG (search extension generation) kami memungkinkan Anda untu
243k mengambil informasi yang diperlukan dari manual internal, FAQ, dan dokumen terdahulu hanya dengan mengajukan pertanyaan dalam bahasa alami. Teknologi ini menyederhanakan pelatihan karyawan baru, mendigitalkan pengetahuan tacit dari para veteran, dan memungkinkan berbagi pengetahuan antar departemen. Dokumen yang sudah ada dapat digunakan sebagaimana adanya, sehingga tidak perlu membuat dokumen baru.'},{title:"AI analisis gambar untuk perawatan medis dan keperawatan",subtitle:"Mata yang waspada, dukungan 24 jam oleh AI",description:"Dalam bidang perawatan medis dan keperawatan, penting untuk mengawasi sejumlah besar pasien dan pengguna dengan staf yang terbatas. AI analisis gambar/video kami mendeteksi ketidaknormalan secara real time dari gambar kamera. Secara otomatis mendeteksi penyakit menular dengan mendeteksi demam, memberi tahu segera jika pasien jatuh atau mengembara, dan mendeteksi perubahan kondisi fisik dengan menganalisis ekspresi wajah. Dengan mengurangi beban patroli malam hari, merespons keadaan darurat dengan cepat, dan mengotomatiskan tugas pencatatan, staf dapat fokus pada tugas perawatan utama mereka. Instalasi di tempat juga tersedia untuk memastikan privasi."}]},ex={title:"Hubungi Kami",description:"Kami dapat berkonsultasi dengan Anda mulai dari tahap perencanaan kebutuhan, dan juga dapat mempertimbangkan konfigurasi PoC dan LLM lokal.",openForm:"Formulir Terbuka",closeForm:"Tutup formulir",form:{name:"Nama Anda",namePlaceholder:"Taro Yamada",email:"Alamat email",emailPlaceholder:"[email protected]",subject:"subjek",subjectPlaceholder:"Perihal pertanyaan Anda",message:"Pesan",messagePlaceholder:"Silakan isi pertanyaan Anda",required:"*",submit:"Kirim",submitting:"Mengirim...",turnstileMessage:'Otorisasi "Saya bukan robot" diperlukan untuk pengiriman.',turnstileError:"Gagal memuat otorisasi keamanan. Silakan muat ulang.",errorRetry:"Silakan coba lagi."}},ax={brand:"telet.ai",tagline:"Komunikasi multi AI",description:"Inovasikan bisnis Anda dengan agen AI. Ciptakan nilai dari dialog.",sections:{product:{title:"Produk",features:"Fitur",benefits:"pengantar",testimonials:"Testimoni Pelanggan"},services:{title:"Layanan",agentDev:"Desain dan Pengembangan Agen AI untuk Perusahaan",onPremise:"server LLM sesuai janji",vectorRag:"RAG vektor dan desain indeks",aiApp:"Pengembangan Aplikasi AI"},company:{title:"Informasi Organisasi",about:"Tentang telet.ai",profile:"Profil Perwakilan",contact:"Hubungi Kami"},process:{title:"Bagaimana kami menjalankan bisnis",hearing:"Sidang / NDA",planning:"Perencanaan & CA",sampling:"Pengambilan Sampel & Mulai",development:"Pengembangan, pengujian, dan pengoperasian"}},copyright:"© 2026 telet.ai. Semua hak cipta dilindungi undang-undang.",legal:{privacy:"Kebijakan Privasi",terms:"Ketentuan Penggunaan",cookies:"Kebijakan Cookie"}},nx={title:"Kebijakan Cookie",subtitle:"Bagian ini menjelaskan tentang cookie dan teknologi lain (Cloudflare / Google Analytics) yang digunakan di situs ini.",lastUpdated:"Pembaruan terakhir: 22 Januari 2026",intro:'telet.ai ("kami", "kita", "milik kita") ("Kami") dapat menggunakan cookie dan teknologi serupa untuk menyediakan dan meningkatkan Situs ini dan memastikan keamanannya. Kami tidak mengatur cookie pelacakan khusus kami sendiri untuk tujuan periklanan (meskipun Cloudflare dan Google Analytics dapat mengatur cookie atau teknologi serupa sesuai dengan spesifikasi layanan masing-masing).',sections:{what:{title:"1. Apa yang dimaksud dengan cookie?",description:"Cookie adalah file teks kecil yang disimpan di browser Anda saat Anda mengunjungi situs web."},howWeUse:{title:"Tujuan penggunaan cookie kami, dll.",description:"Kami dapat menggunakan cookie, dll. terutama untuk tujuan berikut",items:["Untuk menstabilkan tampilan dan pengoperasian situs","Untuk mendeteksi dan mencegah akses yang tidak sah dan lalu lintas berbahaya","Untuk memahami status akses dan membantu meningkatkan situs"]},googleAnalytics:{title:"3. Penggunaan Google Analytics",description:"Kami menggunakan Google Analytics 4 (GA4) yang disediakan oleh Google LLC untuk analisis akses.",items:["Informasi yang dikumpulkan dapat mencakup halaman yang dilihat, waktu yang dihabiskan, sumber rujukan, informasi perangkat dan browser, dll.","Kami tidak menggunakan informasi yang dapat diidentifikasi secara langsung (nama, alamat email, dll.) untuk tujuan mengirimkannya ke Google Analytics.","Perlakuan data oleh Google tunduk pada persyaratan dan kebijakan Google"]},cloudflare:{title:"4. Penggunaan Cloudflare",description:"Kami menggunakan layanan dari Cloudflare, Inc. untuk pengiriman dan langkah-langkah keamanan Situs ini. Cloudflare dapat mengatur dan merujuk pada cookie, dll. untuk tujuan seperti perlindungan DDoS dan pencegahan bot.",items:["Tujuan utamanya adalah untu
243k keamanan dan pengoptimalan komunikasi, dan tidak dimaksudkan untuk dilacak untuk penayangan iklan","Perlakuan Cloudflare terhadap data tunduk pada ketentuan dan kebijakan Cloudflare"]},noSpecialCookies:{title:"5. Kue-kue spesial kami sendiri",description:"Kami tidak menetapkan cookie khusus kami sendiri untuk tujuan iklan penargetan perilaku, dll. Penggunaan cookie, dll. terutama terbatas pada ruang lingkup operasi situs, keamanan, dan analisis akses."},choices:{title:"6. Manajemen cookie (memilih keluar)",description:"Jika cookie dinonaktifkan, beberapa fungsi mungkin tidak tersedia.",items:["Cookie dapat dihapus atau dinonaktifkan di pengaturan browser","Jika Anda ingin menonaktifkan pengukuran oleh Google Analytics, silakan gunakan metode penyisihan yang disediakan oleh Google","Penggunaan mode privat browser, dll., dapat membatasi informasi yang disimpan."]},changes:{title:"7. perubahan terhadap kebijakan ini",description:"Kami dapat merevisi kebijakan ini sebagai tanggapan atas perubahan peraturan perundang-undangan atau perubahan layanan yang digunakan. Kebijakan yang direvisi akan berlaku efektif ketika diposting di halaman ini."},contact:{title:"8. hubungi kami",description:"Jika Anda memiliki pertanyaan mengenai kebijakan ini, silakan hubungi kami di",company:"telet.ai",contactLink:"Buka Formulir Pertanyaan"}}},tx={hero:{title:"Tentang telet.ai",subtitle:"Dukungan pengembangan AI yang cermat yang hanya dapat diberikan oleh tim kecil yang dipersonalisasi."},story:{title:"Tentang kami",content:"telet.ai dimulai dengan sebuah pertanyaan. Mengapa begitu banyak perusahaan gagal memanfaatkan wawasan yang ada dalam interaksi yang tak terhitung jumlahnya antara perusahaan dan pelanggan mereka? Tim yang dikepalai oleh seorang perwakilan yang berpengalaman dalam penelitian AI dan pengembangan perangkat lunak perusahaan, didirikan untuk mengatasi masalah ini secara langsung. Kami bukanlah organisasi yang besar. Itulah sebabnya kami mampu menghadapi tantangan Anda secara mendalam dan hanya mengusulkan solusi yang benar-benar diperlukan. Kekuatan kami adalah kemampuan kami untuk merancang arsitektur hibrida yang mengintegrasikan LLM lokal dan LLM cloud. Kami dapat melindungi data sensitif perusahaan Anda di lingkungan cloud khusus sambil melakukan inferensi AI tingkat lanjut dengan cara yang terukur. Kami menyediakan CLI untuk pengembang dan UI obrolan untuk staf garis depan, menciptakan fondasi untuk penggunaan AI di seluruh organisasi Anda. Dan kami fokus untuk menjadi solusi yang optimal, bukan yang paling canggih. Membuang fungsi sesuai dengan anggaran dan meninjau hanya satu konfigurasi dapat membuat perbedaan besar dalam biaya. Kami memberikan apa yang Anda butuhkan, dalam jumlah yang Anda butuhkan. Dukungan pengembangan AI kami yang penuh perhatian hanya mungkin dilakukan karena kami adalah perusahaan kecil dan personal. Untuk mengatasi kekurangan tenaga kerja dan mendukung pertumbuhan perusahaan Anda. Itulah janji telet.ai."},representative:{title:"Perwakilan dari telet.ai labo",name:"Keita Okuizumi",tagline:"Ke langit, ke laut, dan ke kode - hasrat untuk pengembangan AI yang lahir dari karier yang tidak biasa",paragraphs:['Sebagai mantan pilot swasta (PPL) dan pemegang lisensi kapal, saya telah berurusan dengan cuaca baik di udara maupun di laut selama bertahun-tahun. Di dalam kokpit dan ruang kemudi, saya mengamati perubahan pada barometer, menguraikan garis tekanan isobarik, dan membandingkannya dengan pergerakan angin dan awan. Perasaan "membaca data, menilai, dan bertindak" yang saya kembangkan melalui proses yang berulang-ulang ini, merupakan titik awal bagi saya saat ini.','Saya mulai belajar pemrograman Python pada usia 57 tahun. Dorongannya adalah rasa ingin tahu yang sederhana, tetapi begitu saya mulai menulis kode, saya terpesona oleh kemungkinan agen AI. Saya membuat aplikasi dengan tangan saya sendiri, menjalankannya, dan memperbaikinya. Dalam prosesnya, saya menyadari sesuatu. Dalam proyek-proyek sebelumnya, saya terlibat sebagai seorang non-insinyur, dan pengembangan selalu dilakukan oleh orang lain. Namun, begitu saya mulai menulis kode sendiri, saya mulai melihat esensi masalahnya. Inilah hambatannya di sini" atau "Desain ini tidak dapat diperluas" - dengan memiliki sudut pandang seorang insinyur, kecepatan mewujudkan apa yang ingin saya lakukan telah meningkat secara dramatis.',"Mengembangkan layanan cuaca dengan menggabungkan pengalaman lapangan dengan ilmu data, membangun agen AI untuk meningkatkan efisiensi operasional, dan berbagai proyek eksperimental. Ketika saya terus bekerja dengan tangan saya, saya menjadi yakin tidak hanya ba
243hwa teknologinya menarik, tetapi juga bahwa pasti ada orang yang membutuhkannya.","Tujuan kami bukan untuk mengejar yang paling mutakhir. Kami menghadapi masalah dan anggaran pelanggan, dan hanya memberikan apa yang benar-benar diperlukan dengan biaya yang masuk akal. Kami bukanlah organisasi besar, sehingga kami dapat memberikan dukungan pengembangan yang disesuaikan dengan kebutuhan masing-masing pelanggan. Kami ingin menggunakan teknologi ini untuk kepentingan masyarakat - itulah sebabnya kami meluncurkan telet.ai."]},contact:{title:"Informasi Organisasi",company:"telet.ai labo",ceo:"Perwakilan: OKUIZUMI Keita",button:"Hubungi Kami"},studios:{tokyo:{title:"Tokyo Studio",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tokyo 184-0014, Jepang"}}},ix={title:"Portofolio",subtitle:"Lihat rekam jejak kami dalam memanfaatkan teknologi AI",techStackLabel:"Tumpukan Teknologi",viewProject:"Lihat Proyek",privateProject:"Proyek Swasta",visualizationLabel:"visualisasi data",cta:{title:"Hubungi Kami",description:"Jangan ragu untuk menghubungi kami untuk mendiskusikan proyek Anda atau untuk pertanyaan teknis.",button:"Hubungi Kami"},projects:{"traffic-route-ai":{title:"Sistem Pemilihan Rute Transportasi AI",subtitle:"Perencanaan rute transportasi umum di Malaysia",description:"Sistem yang mencari kombinasi rute bus dan kereta antara titik keberangkatan dan tujuan serta membandingkan pilihan berdasarkan waktu tiba, durasi perjalanan, dan jumlah perpindahan. Filter khusus bus atau kereta, pencarian stasiun dan halte terdekat, serta antarmuka multibahasa membantu memilih rute untuk perjalanan sehari-h
243ari maupun wisata.",techStack:["Rute Transportasi Umum","Integrasi Bus dan Kereta","Perbandingan Rute","Antarmuka Multibahasa"]},"multilingual-assistant":{title:"Asisten Multibahasa AI",description:"Asisten obrolan cerdas untuk pertanyaan multi-bahasa, membangun 1.573 indeks vektor dan mengimplementasikan kontrol jawaban yang tepat melalui percabangan bersyarat, pemfilteran kata NG, dan pemicuan kata kunci. Jawaban yang konsisten dan sangat akurat untuk pertanyaan pengguna dalam berbagai bahasa, termasuk bahasa Jepang, Inggris, dan Mandarin, dihasilkan melalui pencarian semantik lintas bahasa.",techStack:["RAG","Pencarian Vektor","Penyematan Multibahasa","LLM","logika cabang bersyarat"]},"weather-forecast":{title:"Prakiraan Cuaca AI dengan API Cuaca",description:"Mengembangkan sistem AI yang belajar dari data cuaca masa lalu dan membuat prakiraan waktu nyata dari kondisi cuaca terkini. LLM menganalisis data masa lalu yang diperoleh dari JMA API, OpenWeatherMap, dll., dan menghasilkan prakiraan jangka pendek untuk suhu, probabilitas curah hujan, kecepatan angin, dll. Menggabungkan pengenalan pola data deret waktu dengan pencarian pola kemiripan di masa lalu dengan RAG, sistem ini menghasilkan prakiraan yang sangat akurat yang melengkapi model statistik konvensional.",techStack:["Tautan API Cuaca","LLM","RAG","Analisis Data Deret Waktu","pemrosesan waktu nyata"]},"local-llm":{title:"Server Internal / On-Prem Local LLM",description:"Kami memberikan AI yang disesuaikan dengan operasi bisnis Anda, siap digunakan di dalam perusahaan Anda, dengan Open WebUI sebagai titik masuk umum, jalur inferensi cepat dengan Ollama/MLX, dan domain data yang sepenuhnya terpisah untuk setiap UID. Dokumen internal ditangkap dalam RAG dengan penyematan bahasa Inggris dan terjemahan kueri bahasa Jepang otomatis, dan keterampilan bisnis seperti ringkasan berita, organisasi dokumen, dan tugas rutin dijalankan dengan aman secara berdampingan. Sistem eksekusi keterampilan diisolasi sebagai wadah OpenClaw dan dilindungi oleh tiga lapisan Cloudflare edge dan Nginx lokal. Kami menyediakan dukungan komprehensif untuk pemilihan model, desain keterampilan, dan kebijakan operasional, dan memulai AI khusus perusahaan Anda dalam bentuk yang dapat digunakan sejak hari pertama digunakan.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"Prediksi Kedatangan Orbit Antarplanet (AI)",description:"Mengembangkan sistem untuk menganalisis titik keberangkatan yang optimal untuk transfer antar planet dengan memperoleh data posisi planet, elemen orbit, dan parameter gravitasi dari API NASA. Menghitung perhitungan orbit dengan mempertimbangkan orbit transfer Hohmann dan bantuan gravitasi menggunakan API dan Python, serta menampilkan jendela peluncuran, waktu yang dibutuhkan, dan efisiensi bahan bakar. Sistem ini digunakan sebagai alat simulasi untuk lembaga pendidikan dan perusahaan yang berhubungan dengan ruang angkasa. *Fungsi API saat ini telah dihapus, perhitungan sedang berlangsung dengan API dan Python.",techStack:["NASA API (Horizons, SPICE)","Perhitungan Dinamika Orbital","Python","visualisasi data"]},"real-estate":{title:"Analisis AI Data Real Estat",description:"Mengembangkan sistem yang mengumpulkan informasi real estat untuk wilayah tertentu melalui penggalian web dan melakukan analisis data tingkat lanjut menggunakan LLM dan Python. Variabel seperti harga properti, harga unit tsubo, usia bangunan, dan jarak stasiun diekstraksi, dan analisis tren harga, prakiraan pasar, dan simulasi hasil investasi dihasilkan secara otomatis. Fitur-fitur juga diekstraksi dari deskripsi properti yang tidak terstruktur menggunakan LLM untuk memberikan analisis pasar yang komprehensif yang dikombinasikan dengan data kuantitatif. *Sekarang tersedia dalam versi kedua (versi LENGKAP tersedia secara terpisah)",techStack:["Pengikisan web (Scraping, Playwright)","Python","Panda","Analisis LLM","visualisasi data"]},"fortune-ai":{title:"Sistem Penilaian AI Empat Pilar",subtitle:"Mereproduksi kearifan tradisional dengan teknologi.",paragraphs:["Empat Pilar Ramalan adalah puncak dari ramalan Timur yang telah berusia ribuan tahun. Sistem ini mereproduksi logika ramalan tradisional sepenuhnya dalam bahasa Python, dikombinasikan dengan interpretasi dan pembuatan saran menggunakan LLM (Large Language Models). AI mereproduksi dengan tepat proses penilaian yang dilakukan oleh peramal ahli.","Setelah memasukkan tanggal, waktu, dan tempat lahir, sistem mengambil waktu matahari terbit dan terbenam serta mengkoordinasikan informasi pada saat itu dari Astronomy API. Berdasarkan data ini, sistem secara akurat menghitung tanda zodiak, sepuluh dewa, dan keseimbangan lima elemen. Logika berdasarkan ilmu ramalan Empat Pilar Takdir diindeks dalam bahasa Python dan digabungkan dengan data statistik dan informasi RAG (Retrieval Augmentation Generation) untuk meningkatkan keakuratan analisis rumus kehidupan.","Data gaya hidup yang dihitung dijelaskan dalam bahasa alami oleh LLM dengan cara yang mudah dipahami. Hasil penilaian yang dipersonalisasi dihasilkan, termasuk aliran keberuntungan, kecocokan hubungan interpersonal, dan pekerjaan yang cocok untuk Anda. Anda dapat memperoleh jawaban dengan kedalaman yang sama seperti jika Anda berkonsultasi dengan peramal profesional.","Saat ini tersedia sebagai versi kedua. Anda bisa mencoba analisis kumishiki dasar dan analisis keberuntungan. Versi lengkapnya, yang mencakup analisis yang lebih terperinci dan saran dari berbagai sisi, tersedia secara terpisah."],techStack:["Python","API Astronomi (Matahari Terbit-Matahari Terbenam, TimeZoneDB)","Logika Empat Pilar","LLM","Perhitungan koordinat dan waktu"]}
243,"google-workspace":{title:"Google Workspace AI integration",description:"Mengembangkan sistem yang menghubungkan Google Workspace (Gmail, Drive, Kalender, Dokumen, Spreadsheet) dengan LLM untuk membaca, mengedit, dan memproses data bisnis secara otomatis. AI membantu tugas sehari-hari seperti meringkas konten email, membuat draf untuk balasan otomatis, mencari dan menganalisis file Drive, mengekstrak jadwal dari Kalender, dan mengusulkan penyesuaian. Pengoperasian ruang kerja dari Agen juga diwujudkan melalui koneksi API yang aman dengan otentikasi OAuth dan desain alat yang sesuai dengan MCP. Versi kedua sekarang tersedia (versi LENGKAP akan disediakan secara terpisah).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"BERITA DUNIA Multibahasa",description:"Pengembangan sistem yang mengumpulkan artikel secara real time dari sumber berita di seluruh dunia dan melakukan penerjemahan multibahasa, peringkasan, dan kategorisasi menggunakan LLM. Menerjemahkan artikel asli dalam bahasa Inggris, Mandarin, Prancis, Arab, dan bahasa lainnya ke dalam bahasa Jepang dan mengaturnya berdasarkan topik. Pemantauan berita internasional yang efisien tidak dapat dicapai dengan terjemahan mesin yang sederhana, tetapi dengan terjemahan alami berdasarkan pemahaman kontekstual menggunakan LLM dan pembuatan ringkasan yang mengekstrak poin-poin utama dari artikel. *Sekarang tersedia dalam versi kedua (versi LENGKAP tersedia secara terpisah).",techStack:["API Berita","Koleksi RSS","Terjemahan dan Ringkasan LLM","pemrosesan multibahasa","Kategorisasi otomatis","pemrosesan batch terjadwal"]},"security-monitoring":{title:"Manajer AI Pemantauan Log Keamanan",description:"Mengembangkan sistem untuk pemantauan log keamanan perusahaan secara real-time serta deteksi dan analisis ancaman tingkat lanjut menggunakan LLM. Berbagai sumber log seperti firewall, IDS / IPS, log otentikasi, dan log aplikasi dikumpulkan dan dianalisis oleh modul Python, dan dibandingkan dengan pola serangan masa lalu, informasi kerentanan, dan kasus insiden yang terkumpul dalam RAG. Ketika pola abnormal terdeteksi, LLM menjelaskan tingkat ancaman, cakupan dampak, dan respons yang direkomendasikan dalam bahasa alami, dan segera memberi tahu orang yang bertanggung jawab. Jika pola yang sama terulang kembali, peringatan prioritas tinggi secara otomatis dikeluarkan untuk mempercepat respons insiden.",techStack:["Modul Pemantauan Python","Pengumpulan log (Fluentd, Logstash)","RAG","Pola Ancaman DB","Analisis LLM","Pemberitahuan peringatan (Slack, PagerDuty)"]}}},sx={learnMore:"Baca lebih lanjut",getStarted:"mulai ...",contactUs:"Hubungi Kami",backToHome:"Kembali ke Rumah"},rx={title:"Kebijakan Privasi",subtitle:"Kebijakan Privasi",lastUpdated:"Pembaruan terakhir: 23 Januari 2026",intro:'telet.ai ("Layanan") menganggap perlindungan informasi pribadi Anda sebagai tanggung jawab penting dan telah menetapkan kebijakan privasi berikut.',sections:{collection:{title:"1. Informasi yang akan dikumpulkan",description:"Layanan dapat mengumpulkan informasi berikut ini ketika Anda menghubungi kami atau menggunakan Layanan.",items:["Alamat email","Nama Anda (opsional)","Detail Pertanyaan","Informasi lain yang diberikan secara sukarela oleh Anda"]},purpose:{title:"2. tujuan penggunaan informasi",description:"Informasi pribadi yang dikumpulkan hanya akan digunakan untuk tujuan berikut",items:["Menjawab dan menanggapi pertanyaan","Kontak dan informasi tentang layanan kami","Komunikasi yang diperlukan untuk kemajuan proyek","Analisis untuk peningkatan layanan (dalam format yang tidak mengidentifikasi individu)"]},thirdParty:{title:"3. Penyediaan kepada pihak ketiga",description:"Layanan tidak akan memberikan informasi pribadi Anda kepada pihak ketiga kecuali dalam kasus-kasus berikut",items:["Jika pelanggan menyetujui","Ketika ada permintaan pengungkapan berdasarkan peraturan perundang-undangan","Jika diperlukan untuk melindungi nyawa, tubuh, atau properti seseorang"]},security:{title:"4. manajemen informasi",description:"Layanan akan mengelola informasi pribadi yang dikumpulkan dengan baik dan mengambil langkah-langkah keamanan yang wajar untuk mencegah akses yang tidak sah, kehilangan, kebocoran, dan pemalsuan."},email:{title:"5. Penanganan email",description:"Layanan akan menangani email sesuai dengan kebijakan berikut.",items:["Kami akan menggunakan isi email Anda hanya untuk tujuan menanggapi pertanyaan Anda dan menyediakan layanan kami.","Kami tidak akan menjual, menyewakan, atau membagikan alamat email Anda kepada pihak ketiga mana pun","Kami mungkin akan mengirimkan email informasi tentang layanan kami. Jika Anda ingin berhenti berlangganan, silakan gunakan tautan berhenti berlangganan di email atau hubungi kami menggunakan informasi kontak di bawah ini.","Enkripsi SSL/TLS digunakan untuk komunikasi email untuk memastikan komunikasi yang aman","Kami akan menghapus email Anda dengan aman setelah menyimpannya dalam jangka waktu yang sesuai."]},cookies:{title:"6. penggunaan cookie",description:"Cookie dapat dinonaktifkan di pengaturan browser Anda."},external:{title:"7. penggunaan layanan eksternal",description:"Layanan ini dapat menggunakan layanan eksternal berikut ini. Silakan lihat tautan masing-masing untuk mengetahui kebijakan privasi
243setiap layanan.",items:["Google Analytics (access analysis)","Layanan cloud lainnya yang diperlukan untuk operasi bisnis"]},changes:{title:"8. perubahan pada kebijakan privasi",description:"Kebijakan ini dapat direvisi tanpa pemberitahuan sesuai dengan perubahan peraturan perundang-undangan atau perubahan konten layanan. Kebijakan yang telah direvisi akan berlaku efektif ketika diposting di halaman ini."},contact:{title:"9. hubungi kami",description:"Jika Anda memiliki pertanyaan mengenai kebijakan ini, silakan hubungi kami di",company:"telet.ai",contactLink:"Buka Formulir Pertanyaan"}}},ox={title:"Ketentuan Penggunaan",subtitle:"Ini adalah syarat dan ketentuan untuk menggunakan situs ini dan untuk memesan konsultasi, membuat pertanyaan, dan meminta informasi dari telet.ai.",lastUpdated:"Pembaruan terakhir: 22 Januari 2026",intro:'Ketentuan Penggunaan ini (selanjutnya disebut sebagai "Ketentuan") Ketentuan Penggunaan ini (selanjutnya disebut sebagai "Ketentuan") berlaku untuk situs web yang dioperasikan oleh telet.ai (selanjutnya disebut sebagai "kami", "kita", "milik kami", atau "milik kita"). (selanjutnya disebut sebagai "kami", "kita", atau "milik kami"). (selanjutnya disebut sebagai "Situs") yang dioperasikan oleh telet.ai (selanjutnya disebut sebagai "Kami"). Situs ini disediakan terutama sebagai halaman arahan untuk janji konsultasi, pertanyaan, dan permintaan dokumen, dan tidak menyediakan pembuatan akun atau fungsi penagihan berbayar di Situs.',sections:{scope:{title:"1. ruang lingkup aplikasi",description:'Syarat dan Ketentuan ini berlaku untuk semua pengunjung dan pengguna Situs ("Pengguna"). Syarat Penggunaan berlaku untuk semua pengunjung dan pengguna Situs (selanjutnya disebut sebagai "Pengguna"). Dalam hal NDA terpisah, perjanjian outsourcing, kontrak individu, dll. disepakati antara kami dan Pengguna, dokumen tersebut akan diutamakan daripada Syarat dan Ketentuan.'},prohibited:{title:"2. barang yang dilarang",description:"Dalam menggunakan Situs, Pengguna tidak boleh melakukan tindakan berikut ini",items:["Tindakan yang melanggar hukum dan peraturan atau ketertiban umum dan moral","Tindakan apa pun yang melanggar hak kekayaan intelektual, privasi, atau hak atau kepentingan kami atau pihak ketiga mana pun","Tindakan yang mengganggu pengoperasian situs ini atau sistem terkait melalui akses yang tidak sah, beban yang berlebihan, sabotase, dll.","Mengirimkan informasi palsu atau menyamar sebagai pihak ketiga dalam formulir pertanyaan, dll.","Mengikis, merekayasa balik, atau akses otomatis yang berlebihan tanpa izin sebelumnya dari kami"]},disclaimer:{title:"3. Penafian",description:'kami menyediakan situs ini atas dasar "sebagaimana adanya" dan "sebagaimana tersedia". Sejauh yang diizinkan oleh hukum, kami menyangkal semua jaminan sehubungan dengan situs ini.',items:["Informasi di situs ini dapat berubah atau dihapus tanpa pemberitahuan.","Kami tidak menjamin keakuratan, kelengkapan, atau kesesuaian untuk tujuan tertentu dari informasi yang ada di situs ini.","Kami tidak bertanggung jawab atas segala kerusakan yang diakibatkan oleh penggunaan situs ini atau ketergantungan pada informasi yang terkandung di sini.","Tanggapan terhadap konsultasi dan pertanyaan hanya untuk informasi umum dan bukan merupakan nasihat hukum, pajak, medis, atau nasihat profesional lainnya."]},ip:{title:"4. Hak kekayaan intelektual",description:"Semua hak atas teks, gambar, desain, merek dagang, logo, dan lain-lain yang ada di situs ini adalah milik kami atau pemegang hak yang sah. Anda tidak boleh menggunakannya tanpa izin dari pemegang hak."},links:{title:"5. Tautan ke situs eksternal",description:"Situs web ini mungkin berisi tautan ke situs web pihak ketiga. Kami tidak bertanggung jawab atas konten atau pengoperasian situs yang ditautkan."},changes:{title:"6. Modifikasi Syarat dan Ketentuan ini",description:"Kami berhak untuk mengubah Syarat dan Ketentuan ini dari waktu ke waktu sesuai kebutuhan. Syarat dan Ketentuan yang telah diubah akan berlaku efektif ketika diposting di Situs."},governingLaw:{title:"7. Hukum dan yurisdiksi yang mengatur",description:"Syarat dan Ketentuan ini diatur oleh dan ditafsirkan sesuai dengan hukum Jepang. Jika timbul sengketa sehubungan dengan Situs ini, Pengadilan Distrik Tokyo memiliki yurisdiksi eksklusif sebagai pengadilan tingkat pertama."},contact:{title:"8. hubungi kami",description:"Jika Anda memiliki pertanyaan mengenai Syarat dan Ketentuan ini, silakan hubungi",company:"telet.ai",contactLink:"Buka Formulir Pertanyaan"}}},lx={title:"gerakan teratur",subtitle:"AI memprediksi",description1:"Informasi cuaca disediakan secara real-time oleh setiap negara. Negara Anda ditampilkan di tengah peta. Cuaca kemarin dan cuaca hari ini adalah catatan aktual - awan hujan seharusnya ada di langit Anda pada tanggal dan waktu tersebut.",description2:"Namun, animasi ini juga menganimasikan pergerakan cuaca di masa depan.",description3:"
243Vektor melewati data dan mencari pola dengan kecepatan tinggi. Pola cuaca juga dapat diprediksi dari lingkungan sekitar. Demikian pula, dimungkinkan untuk memprediksi panen, produksi, dan penjualan dengan menghitung elemen (i) dari lingkungan dan nilai statistik lanjutan dari kinerja masa lalu dan meminta AI menganalisisnya.",refresh:"menyegarkan (mis. memori)",loading:"Memuat peta cuaca..."},dx={hero:{badges:["Perusahaan","LLM lokal","Agen Khusus"],title:"Desain dan Pengembangan Agen AI untuk Perusahaan",description:"Merancang dan membangun Agen AI khusus yang disesuaikan dengan kebutuhan bisnis"},mission:{title:"Layanan Pengembangan Agen AI Khusus",description:"Kami secara konsisten mengembangkan Agen AI khusus yang menangani masalah bisnis unik perusahaan Anda, mulai dari desain hingga implementasi dan operasi. Desain arsitektur kami menekankan kompatibilitas dengan sistem mission-critical dan lingkungan SaaS yang ada, memungkinkan integrasi yang lancar dengan API, database, dan alat internal. Teknisi kami terbiasa dengan LangChain, AutoGen, CrewAI, dan kerangka kerja utama lainnya, Teknisi kami terbiasa dengan LangChain, AutoGen, CrewAI, dan kerangka kerja utama lainnya, dan akan mengusulkan solusi terbaik untuk tumpukan teknologi dan struktur operasional perusahaan Anda. Kami tidak hanya mengembangkan chatbot sekali pakai, tetapi juga membangun sistem multi-agen di mana beberapa Agen bekerja sama satu sama lain untuk melakukan tugas, dan Alur Kerja Agen yang bekerja bersama dengan alat eksternal. Kami mendukung memaksimalkan nilai bisnis yang dibawa oleh Agen AI melalui kemitraan jangka panjang yang mencakup peningkatan berkelanjutan setelah implementasi, mengikuti pembaruan model, dan pemeliharaan sistem pemantauan operasional.",imageAlt:"Layanan Pengembangan Agen AI Khusus"},summary:{title:"Tren Pengembangan Agen",paragraphs:['Dari tahun 2025 hingga 2026, pengembangan Agen AI bergerak dari fase demonstrasi ke fase implementasi perusahaan berskala penuh. Konsep "Agentic AI" telah mengakar, dan sistem eksekusi bisnis otonom yang lebih dari sekadar chatbot telah mulai beroperasi di berbagai industri.','Agen Pengguna Komputer" yang secara langsung mengontrol browser dan desktop, seperti Operator dari OpenAI, Penggunaan Komputer dari Anthropic, dan Project Mariner dari Google, telah menjadi praktis. Model Context Protocol (MCP) adalah ekosistem yang sedang berkembang, memungkinkan integrasi plug-and-play dengan ribuan alat.',"Arsitektur multi-agen telah mencapai kematangan, dengan Agen khusus yang bekerja sama untuk melakukan tugas-tugas kompleks seperti manajemen proyek, dukungan pelanggan, dan analisis data. Standarisasi protokol A2A (Agen-ke-Agen) juga telah membuat kemajuan dalam kolaborasi Agen di antara vendor yang berbeda.",'Model tata kelola telah berevolusi dari "Human-in-the-Loop" menjadi "Human-on-the-Loop" untuk implementasi perusahaan, dengan mekanisme audit keputusan pasca-agen dan eskalasi otomatis berdasarkan tingkat risiko sebagai fitur standar, yang mempercepat adopsi di industri yang diatur seperti keuangan, perawatan kesehatan, dan manufaktur. Adopsi sistem ini semakin cepat di industri yang diatur seperti keuangan, medis, dan manufaktur.']},features:{title:"Desain dan Pengembangan",subtitle:"Desain & Pengembangan",items:[{title:"Desain agen berdasarkan kebutuhan bisnis",description:"Mengekstrak kasus penggunaan dari analisis aliran bisnis, menguraikan tugas, dan memperjelas tanggung jawab Agen. Kami menentukan apakah pemrosesan dapat diselesaikan oleh satu Agen atau memerlukan koordinasi multi-Agen, dan memilih pola inferensi yang optimal seperti ReAct, Plan-and-Execute, dan Refleksi."},{title:"Integrasi RAG / Alat / Alur Kerja",description:"Pipeline RAG yang sangat akurat yang menggabungkan Embedding Generation, Chunk Strategy, dan Hybrid Search, koneksi terstandardisasi ke API eksternal dan database dengan definisi Tool yang sesuai dengan MCP, dan orkestrasi alur kerja multi-langkah menggunakan LangGraph dan CrewAI. Mengatur alur kerja multi-langkah dengan LangGraph dan CrewAI."},{title:"Desain keamanan dan otorisasi",description:"Kontrol akses fungsi Agen oleh RBAC/ABAC, penanggulangan Injeksi yang Cepat, serta deteksi dan penyembunyian PII diimplementasikan. Log audit dari semua input dan output disimpan, dan operasi lingkungan yang sesuai dengan SOC2 dan ISO27001 didukung."},{title:"Implementasi termasuk operasi dan pemantauan",description:"Menerapkan visualisasi Trace dengan LangSmith, Langfuse, dll., dan pemantauan latensi, konsumsi token, dan tingkat kesalahan secara real-time. Membangun siklus peningkatan berkelanjutan termasuk peringatan deteksi anomali, infrastruktur pengujian A/B, dan Uji Regresi saat memperbarui model."}]},techStack:{title:"Tumpukan Teknologi",subtitle:"Platform & Teknologi",categories:{agentFramework:{title:"Kerangka Kerja Agen",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","OpenAI Agents SDK","MCP Antropik","Google ADK (Agent Development Kit)","Kernel Semantik","Platform Agen Kepemilikan"]},apiLayer:{title:"Lapisan API",items:["FastAPI / Litestar","gRPC / Hubungkan","Federasi GraphQL","Peristiwa yang Dikirim Server (SSE)","Soket Web / NATS","OAuth 2.1 / OIDC","Gerbang API (Kong / Utusan)","Pembatasan Laju Adaptif"]},vectorDb:{title:"Vektor DB / RAG",items:["Pinecone","Menenun","Qdrant","Milvus","ChromaDB","pgvector","FAISS","Turbopuffer"]}
243,infrastructure:{title:"Infrastruktur",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","Cluster GPU On-Premise","Cloud Pribadi","Tanpa Server (Lambda / Cloud Run)","OpenTelemetri / Langfuse","Terraform / Pulumi","ArgoCD / Fluks"]}},updateNote:{title:"Poin pembaruan utama untuk tahun 2026",description:"Dalam Agent Framework, SDK/protokol resmi dari vendor-vendor besar seperti OpenAI Agents SDK, Anthropic MCP, dan Google ADK mulai bermunculan; dalam API Layer, gRPC dan SSE telah menjadi standar untuk komunikasi Agen-ke-Agen, dan transisi ke OAuth 2.1 sedang berlangsung. Di Vector DB, Qdrant dan Turbopuffer mendapatkan perhatian untuk pencarian berkecepatan tinggi."}},cta:{title:"Hubungi Kami",description:`Kami dapat berkonsultasi dengan Anda mulai dari pengaturan persyaratan. 244Konfigurasi PoC dan LLM lokal juga dapat dipertimbangkan.`,primaryButton:"Hubungi Kami",secondaryButton:"Konsultasi Teknis"}},ux={title:"Pertanyaan yang Sering Diajukan",subtitle:"PERTANYAAN YANG SERING DIAJUKAN",items:[{question:"Dapatkah saya menggunakan manual dan FAQ yang sudah ada tanpa modifikasi?",answer:"Ya, Anda dapat menggunakannya; mendukung sebagian besar format, termasuk PDF, Word, Excel, HTML, dan file teks. Cukup unggah dokumen internal Anda yang sudah ada, dan AI akan mempelajari kontennya dan menggunakannya untuk menjawab pertanyaan Anda. Tidak diperlukan konversi format atau pemrosesan khusus."},{question:"Apakah aman digunakan dengan data yang mengandung informasi sensitif?",answer:"Ya, Anda bisa menggunakan layanan kami dengan aman. Di lokasi (server internal) atau di lingkungan cloud pribadi, data tidak pernah dikirimkan ke luar perusahaan. Kami dapat mengusulkan konfigurasi untuk memenuhi kebutuhan keamanan Anda."},{question:"Berapa lama waktu yang dibutuhkan untuk menerapkannya?",answer:"Bot FAQ standar dapat diimplementasikan hanya dalam waktu 2-4 minggu. Jika integrasi dengan sistem yang sudah ada atau kustomisasi tingkat lanjut diperlukan, kami memperkirakan 1-3 bulan. Kami juga dapat memulai dengan PoC (bukti konsep) skala kecil."},{question:"Apakah Anda menggunakan API eksternal seperti ChatGPT atau Claude?",answer:"Pilihan tersedia berdasarkan permintaan. Kami mendukung konfigurasi yang menggunakan API eksternal (OpenAI, Anthropic, Google, dll.) dan konfigurasi yang menggunakan LLM open source (Llama, Mistral, Qwen, dll.) yang berjalan sepenuhnya secara lokal. Kami dapat mengusulkan konfigurasi terbaik untuk kebutuhan biaya, keamanan, dan kinerja Anda."},{question:"Seberapa akuratkah respons AI?",answer:"Tergantung pada aplikasi dan kualitas data, sistem RAG yang dirancang dengan baik dapat memberikan jawaban yang akurat untuk pertanyaan-pertanyaan yang memiliki dokumen yang relevan dengan akurasi 90% atau lebih. Mekanisme untuk mengontrol halcination (pembuatan informasi yang salah) juga dibangun sebagai standar."},{question:"Apakah Anda mendukung bahasa selain bahasa Jepang?",answer:"Ya, dukungan multibahasa tersedia. Kami mendukung semua bahasa utama, termasuk bahasa Jepang, Inggris, Mandarin, dan Korea. Alih-alih memiliki model terpisah untuk setiap bahasa, satu sistem dapat menangani pertanyaan multibahasa."},{question:"Dapatkah Anda mengintegrasikan dengan sistem yang ada (CRM, alat bantu chatting, dll.)?",answer:"Ya, ini dapat diintegrasikan; mendukung integrasi API dengan alat bisnis utama seperti Salesforce, HubSpot, Slack, Microsoft Teams, dan LINE WORKS. Anda bisa menggunakan asisten AI tanpa mengubah alur kerja yang sudah ada."},{question:"Bagaimana struktur biaya Anda?",answer:"Tergantung pada ukuran dan persyaratan proyek. Meskipun biaya konstruksi awal dan biaya operasi bulanan umumnya digabungkan, kami juga menerima permintaan untuk pengembangan di tempat atau layanan konsultasi saja. Harap beri tahu kami kebutuhan Anda terlebih dahulu. Kami akan memberikan perkiraan kasar."}]},cx={title:"Paket Tarif",subtitle:"Paket Harga",description:"Paket yang fleksibel agar sesuai dengan ukuran bisnis Anda",plans:[{name:"starter",price:"29.800 yen",period:"Bulanan/pengguna",description:"Paket terbaik untuk tim kecil. Fungsi AI dasar dengan harga terjangkau.",features:["Hingga 100 panggilan per bulan","Transkripsi Dasar","Deteksi Kata Kunci","Dukungan Email","Penyimpanan data 7 hari"],cta:"Mulailah secara gratis",popular:!1},{name:"profesional",price:"Â¥79,800",period:"Bulanan/pengguna",description:"Ideal untuk tim yang sedang berkembang. Fitur analitik tingkat lanjut.",features:["Hingga 500 panggilan per bulan","Transkripsi AI presisi tinggi","Analisis Emosional","Hubungan CRM","Dukungan Prioritas","Penyimpanan data 30 hari","Laporan Khusus"],cta:"Uji coba gratis 14 hari",popular:!0},{name:"perusahaan",price:"Hubungi Kami",period:"adat",description:"Paket berfitur lengkap untuk organisasi besar",features:["Panggilan tak terbatas","Model AI Khusus","dukungan di tempat","Dukungan Khusus","Kolaborasi khusus","Jaminan SLA","Audit Keamanan","Penyimpanan data tanpa batas"],cta:"Konsultasikan dengan bagian Penjualan",popular:!1}],faq:{title:"Pertanyaan yang Sering Diajukan",items:[{question:"Apakah ada uji coba gratis?",answer:"Ya, uji coba gratis 14 hari tersedia untuk paket Profesional. Tidak diperlukan kartu kredit untuk memulai."},{question:"Dapatkah saya mengubah paket saya kapan saja?",answer:"Ya, Anda dapat meningkatkan atau menurunkan paket Anda kapan saja. Perubahan akan diterapkan mulai dari siklus penagihan berikutnya."},{question:"Apakah ada jangka waktu kontrak yang terikat?",answer:"Paket bulanan tidak memiliki batasan jangka waktu kontrak. Jika Anda memilih kontrak tahunan, Anda akan menerima diskon 20%."}]}},mx={hero:{badge:"Teknologi yang Didukung AI",title:"Transkripsi AI",description:"Model pembelajaran mesin yang canggih memberikan akurasi 99,5%. AI yang dilatih pada jutaan data interaksi pelanggan mengubah suara menjadi teks.",features:["Keakuratan 99,5","pemrosesan waktu nyata","Dukungan untuk lebih dari 40 bahasa"]},features:{title:"Fungsi Utama",subtitle:"Mesin transkripsi canggih yang melampaui pengenalan ucapan sederhana",items:[{title:"transkripsi waktu nyata",description:"Dapatkan transkrip waktu nyata selama percakapan. Dapatkan wawasan instan dan jangan pernah melewatkan kesempatan pelatihan waktu nyata."},{title:"dukungan multibahasa",description:"Mendukung lebih dari 40 bahasa dan mencakup tim global dengan deteksi bahasa otomatis."},{title:"pemahaman kontekstual",description:"Model AI yang dilatih dengan terminologi khusus industri secara akurat mengenali istilah teknis dan bisnis."},{title:"pemisahan speaker",description:"Secara otomatis mengidentifikasi dan memisahkan pembicara yang berbeda dalam percakapan dan memberikan atribut pembicara yang jelas."},{title:"leksikon khusus",description:"Mempelajari nama produk, nama layanan, dan istilah teknis perusahaan Anda yang unik akan memberikan akurasi yang lebih tinggi."},{title:"Jaminan Kualitas",description:"Pemeriksaan kualitas otomatis dan penilaian keandalan memastikan transkripsi dengan kualitas terbaik."}]},useCases:{title:"Adegan Penggunaan",subtitle:"Industri dan tim yang membutuhkan transkripsi panggilan yang akurat",items:[{title:"Tim Penjualan",description:"Merefleksikan panggilan penjualan dan mengidentifikasi pola keberhasilan. Tingkatkan efektivitas pembicaraan dan latih anggota tim dengan contoh-contoh spesifik."},{title:"Dukungan Pelanggan",description:"Mencatat masalah pelanggan secara akurat. Memelihara riwayat dukungan yang komprehensif untuk memastikan kualitas layanan yang konsisten."},{title:"kontrol kualitas",description:"Memantau kepatuhan dan memastikan kepatuhan naskah. Menyimpan catatan terperinci untuk audit dan pelatihan."}]},stats:{accuracy:{value:"99.5%",label:"akurasi transkripsi"},languages:{value:"40+",label:"Bahasa yang Didukung"},latency:{value:"<2 detik.",label:"penundaan pemrosesan"},availability:{value:"24/7",label:"pemrosesan berkelanjutan"}}},px={hero:{badge:"Deteksi Cerdas",title:"Pelacakan Kata Kunci",description:"Secara otomatis memantau penyebutan, bantahan, dan topik penting dari pesaing. Jangan pernah melewatkan sinyal penting dari percakapan pelanggan.",badges:["Pelacakan Kompetitif","Deteksi Re
244spons","Analisis Topik","kata kunci khusus"]},features:{title:"Melacak informasi penting",subtitle:"Deteksi otomatis dan analisis kata kunci dari semua percakapan",items:[{title:"Pemantauan Kompetitif",description:"Lacak sebutan kompetitor untuk memahami bagaimana prospek membandingkan solusi Anda dengan alternatif yang ada di pasar."},{title:"Deteksi Respons",description:"Secara otomatis mengidentifikasi keberatan dan kekhawatiran umum serta mengembangkan tanggapan dan pelatihan yang efektif."},{title:"kata kunci khusus",description:"Tentukan dan lacak kata kunci dan frasa khusus yang spesifik untuk bisnis, produk, atau industri Anda."},{title:"Analisis Tren",description:"Temukan tren yang muncul dari percakapan pelanggan dan sesuaikan strategi Anda berdasarkan sinyal pasar yang sebenarnya."},{title:"ekstraksi konteks",description:"Dapatkan konteks sebelum dan sesudah kata kunci, bukan hanya penyebutannya saja. Pahami tidak hanya apa yang dikatakan, tetapi juga mengapa dan bagaimana hal itu dikatakan."},{title:"Pencarian Cerdas",description:"Cari semua percakapan secara instan untuk menemukan dengan tepat di mana dan kapan topik tertentu dibahas."}]},applications:{title:"Adegan Penggunaan",items:{competitive:{title:"Kecerdasan Kompetitif",description:"Pemahaman mendalam tentang lanskap persaingan:",points:["Lacak pesaing Anda yang paling sering disebut","Memahami bagaimana calon pelanggan membandingkan fitur dan harga","Identifikasi keunggulan dan kelemahan kompetitif Anda","Menciptakan materi anti-persaingan yang efektif"]},objections:{title:"tanggapan terhadap sanggahan",description:"Ubah sanggahan menjadi peluang:",points:["Mengidentifikasi masalah pelanggan yang paling umum","Menganalisis tanggapan sanggahan dari para pemangku kepentingan","Playbook dengan respons yang telah terbukti.","Latih tim Anda dengan perputaran yang efektif"]},product:{title:"Wawasan Produk",description:"Mempromosikan pengembangan produk melalui umpan balik pelanggan:",points:["Mengidentifikasi fitur yang paling banyak diminta","Memahami tantangan terhadap fungsionalitas saat ini","Temukan kasus penggunaan yang tidak terduga","Memprioritaskan peta jalan berdasarkan kebutuhan pelanggan"]},compliance:{title:"Kepatuhan & Kualitas",description:"Memastikan kepatuhan terhadap peraturan dan kualitas:",points:["Memantau pengungkapan yang diperlukan dan bahasa hukum","Menandai percakapan yang mungkin melanggar kebijakan","Melacak kepatuhan skrip dan praktik terbaik","Membuat laporan kepatuhan untuk audit"]}}},advancedFeatures:{title:"Fitur Lanjutan",items:[{title:"pengambilan yang ambigu",description:"Secara otomatis mendeteksi variasi kata kunci, sinonim, dan istilah terkait tanpa konfigurasi manual."},{title:"analisis historis",description:"Menganalisis tren kata kunci dari waktu ke waktu untuk mengidentifikasi pola musiman dan topik yang muncul."},{title:"Peringatan waktu nyata",description:"Dapatkan notifikasi langsung ketika kata kunci penting disebutkan dalam percakapan langsung."}]}},gx={hero:{badges:["Perusahaan","LLM lokal","Pengoperasian server internal"],title:"Konstruksi LLM di Tempat (On-Premise)",description:"Mengoperasikan LLM di lingkungan Anda sendiri, menyimpan data di luar perusahaan"},mission:{title:"Gambaran Umum Layanan Konstruksi LLM di Lokasi",paragraphs:["Untuk perusahaan yang tidak dapat mengeluarkan data rahasia ke luar perusahaan, kami membangun lingkungan LLM yang dapat diselesaikan di server mereka sendiri atau di cloud pribadi. Solusi ini sangat ideal untuk organisasi yang membutuhkan manajemen informasi yang ketat, seperti lembaga keuangan, lembaga medis, lembaga pemerintah, dan lembaga penelitian, karena tidak menggunakan API publik dan semua pemrosesan diselesaikan di dalam infrastruktur yang dikelola pelanggan.","Kami menyediakan dukungan komprehensif mulai dari pemilihan model, konstruksi server, pengoptimalan mesin inferensi, dan pemantauan operasi, menggunakan model open-weight yang tersedia secara komersial seperti Llama 3.3, Qwen 2.5, Mistral, dan DeepSeek dengan mesin inferensi berkinerja tinggi seperti vLLM, Ollama, dan SGLang. Model-model ini dijalankan pada mesin inferensi berkinerja tinggi seperti vLLM, Ollama, dan SGLang untuk menyediakan lingkungan inferensi dengan latensi rendah dan throughput tinggi.","Kami mendukung berbagai macam kasus penggunaan seperti integrasi dengan sistem yang sudah ada, chatbot, RAG internal, ringkasan dokumen, dan pembuatan kode. Kami dapat mendesain untuk memenuhi kebutuhan perusahaan, termasuk spesialisasi bisnis melalui penyempurnaan model, pengoptimalan GPU NVIDIA / Apple Silicon, desain multi-penyewa, konstruksi gateway API, dan banyak lagi."]},summary:{title:"Tren LLM On-Premise",paragraphs:["Pada tahun 2025-2026, utilitas LLM lokal meningkat pesat. Kinerja model berbobot terbuka telah mengungguli model tertutup, dan jumlah model yang ditawarkan dengan lisensi y
244ang tersedia secara komersial telah secara signifikan menurunkan rintangan untuk operasi internal.","Model dengan parameter 8B hingga 70B telah mencapai tingkat praktis untuk banyak tugas bisnis, kuantisasi GGUF memungkinkan inferensi kecepatan tinggi bahkan pada GPU konsumen.","Untuk mesin inferensi, Continuous Batching dan PagedAttention dari vLLM secara dramatis meningkatkan hasil, dan RadixAttention dari SGLang mempercepat interaksi multi-belokan yang kompleks. Ollama telah menjadi standar de facto untuk lingkungan pengembangan lokal, dan llama.cpp adalah Apple Silicon yang dioptimalkan untuk inferensi cepat pada Mac seri M.","Dalam adopsi perusahaan, selain kedaulatan data dan kepatuhan, optimalisasi biaya jangka panjang (beralih dari penagihan API bayar sesuai penggunaan) semakin menjadi motivasi untuk adopsi. Konfigurasi hibrida (lokal untuk pemrosesan sensitif dan API cloud untuk pemrosesan tujuan umum) telah menjadi pilihan umum."],icons:[{label:`Pribadi 245Awan`},{label:`Data 246Kedaulatan`},{label:`Biaya 247Optimalisasi`},{label:`Perusahaan 248Keamanan`}]},features:{title:"Fitur desain dan pengembangan",subtitle:"Desain & Pengembangan",items:[{title:"Desain infrastruktur dan pengoptimalan GPU",description:"Rancang konfigurasi perangkat keras yang optimal untuk beban kerja dan anggaran Anda, termasuk NVIDIA A100/H100, RTX 4090/5090, dan Apple Silicon (M2 Ultra/M3 Max/M4 Max), dan ciptakan lingkungan inferensi yang memanfaatkan kinerja GPU sepenuhnya melalui pengoptimalan CUDA, MPS, dan Metal. Pengoptimalan CUDA, MPS, dan Metal untuk memaksimalkan performa GPU."},{title:"Pemilihan dan pengoptimalan model",description:"Pilih model optimal dari Llama, Qwen, Mistral, DeepSeek, dll. dengan mempertimbangkan karakteristik tugas, persyaratan bahasa, dan keterbatasan sumber daya. Kuantisasi (GGUF/AWQ/GPTQ), optimalisasi cache KV, dan penyetelan pemrosesan batch digunakan untuk mencapai akurasi dan keluaran."},{title:"Konstruksi mesin inferensi",description:"Pilih dan buat mesin inferensi seperti vLLM, SGLang, Ollama, TGI, dll. sesuai dengan aplikasi Anda, dan terapkan teknologi terbaru seperti Continuous Batching, Speculative Decoding, dan Prefix Caching untuk menyediakan API inferensi dengan latensi rendah dan throughput tinggi. Kami menyediakan API inferensi latensi rendah dan throughput tinggi."},{title:"Operasi, Pemantauan dan Keamanan",description:"Menerapkan pemantauan metrik inferensial dengan Prometheus/Grafana, kontrol akses dengan API gateway, log audit, penskalaan otomatis, dan pemulihan kegagalan. Membangun lingkungan operasi produksi yang memenuhi persyaratan keamanan perusahaan."}]},techStack:{title:"Tumpukan Teknologi: LLM di tempat",subtitle:"Platform & Teknologi",categories:{openWeightModels:{title:"Model Berat Terbuka",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Perintah R (Cohere)"]},japaneseModels:{title:"Model khusus Jepang",items:["ELYZA-jepang-Llama-2","Menelan 70B / 13B","Jepang-Llama-3","Qwen-2.5-Japanese","Karakuri-LM"]},inferenceEngine:{title:"Mesin Inferensi",items:["vLLM (Continuous Batching)","SGLang (RadixAttention)","Ollama (pengembangan lokal)","llama.cpp (Apple Silicon)","TGI (Wajah Memeluk)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (spesialisasi kuantisasi)"]},quantization:{title:"Kuantisasi",items:["GGUF (standar llama.cpp)","AWQ (presisi tinggi 4bit)","GPTQ (pengoptimalan GPU)","bit dan byte (8bit / 4bit)","EETQ (Kuantisasi Efisiensi Efisien)"]},hardware:{title:"Perangkat keras",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
248,infrastructure:{title:"Infrastruktur",items:["Docker / Kubernetes","Server NVIDIA Triton","Gerbang API (Kong / Utusan)","Prometheus / Grafana","Cloud Pribadi (VMware / OpenStack)","Dukungan Lingkungan yang Terhalang Udara"]}},updateNote:{title:"Poin pembaruan utama untuk tahun 2026",description:"Pada model bobot terbuka, Llama 3.3 mencapai performa tujuan umum kelas GPT-4 dan sangat meningkatkan performa bahasa Jepang; seri Qwen 2.5 memperluas pilihan dengan berbagai ukuran dan performa yang seimbang; DeepSeek V3/R1 menarik perhatian karena performa biaya inferensinya; serta mesin inferensi vLLM 2.0 Chunked Prefill dan SGLang's RadixAttention mempercepat dialog multi-belokan. Pada mesin inferensi, Chunked Prefill vLLM 2.0 dan RadixAttention SGLang mempercepat interaksi multi-belokan; optimalisasi Apple Silicon dari llama.cpp membuat inferensi model 70B menjadi praktis di M4 Max; dan teknologi Quantization menawarkan ketepatan 4-bit dan kinerja tinggi. Teknik kuantisasi mencapai presisi 4-bit dan kecepatan inferensi, dan GGUF menjadi format standar de facto."}},cta:{title:"Hubungi Kami",description:`Kami dapat berkonsultasi dengan Anda mulai dari pengaturan persyaratan. 249Konfigurasi PoC dan LLM lokal juga dapat dipertimbangkan.`,primaryButton:"Hubungi Kami",secondaryButton:"Konsultasi Teknis"}},hx={hero:{badges:["Perusahaan","RAG","pembuatan ekstensi pencarian"],title:"Pengembangan Vektor / RAG",description:"Membangun sistem RAG untuk menghubungkan pengetahuan internal dengan LLM"},mission:{title:"Ikhtisar Layanan Pengembangan Vektor / RAG",paragraphs:["Kami akan membangun sistem RAG (search extension generation) yang memungkinkan karyawan untuk mencari dan mengajukan pertanyaan dalam bahasa alami dengan menghubungkan aset pengetahuan yang terkumpul di perusahaan dengan LLM. Kami mengintegrasikan berbagai sumber data seperti manual, notulen, dokumen teknis, FAQ, riwayat Slack, Confluence, SharePoint, dan lain-lain untuk menciptakan lingkungan di mana pengetahuan organisasi dapat segera digunakan.","Kami memaksimalkan akurasi pencarian dan kualitas jawaban dengan menerapkan teknologi terbaru seperti Pencarian Hibrida (pencarian vektor + pencarian kata kunci), Pemeringkatan Ulang, pemotongan hierarki, penyaringan metadata, dan lain-lain, di samping pencarian dokumen sederhana. Kami dengan jelas menunjukkan sumber jawaban untuk menekan halcinasi dan memastikan keandalan.","Kami mendukung berbagai lingkungan termasuk AWS, GCP, Azure, dan on-premise, serta berintegrasi dengan infrastruktur autentikasi dan manajemen otoritas yang ada. Kami memberikan dukungan yang konsisten untuk menjaga kesegaran data (pembaruan diferensial dan pengindeksan ulang otomatis), menganalisis log penggunaan, dan terus meningkatkan akurasi."]},summary:{title:"Tren Teknologi RAG",paragraphs:['Antara tahun 2025 dan 2026, teknologi RAG akan memasuki fase "implementasi dasar hingga kualitas produksi". Selain pencarian vektor sederhana, Pencarian Hibrida, yang menggabungkan beberapa metode pencarian, Pemeringkatan Ulang, yang menyusun ulang hasil pencarian, dan Penguraian Kueri, yang menguraikan dan memproses pertanyaan yang rumit, telah menjadi konfigurasi standar.',"Strategi pemotongan juga telah berkembang, dengan pemotongan hirarkis yang mempertimbangkan struktur dokumen, pemotongan yang tumpang tindih, dan pemotongan multimodal yang memproses tabel dan gambar secara terpisah, yang semuanya berkontribusi pada peningkatan akurasi. Pengambilan Kontekstual (menambahkan informasi kontekstual ke dalam potongan-potongan) juga telah diakui secara luas sebagai sesuatu yang efektif.","Untuk pemilihan DB vektor, selain layanan terkelola seperti Pinecone, Weaviate, Qdrant, dan Milvus, PostgreSQL pgvector dan FAISS lokal menawarkan berbagai pilihan untuk memenuhi kebutuhan Anda. Model penyematan juga tersedia, termasuk text-Embedding-3-besar, Cohere Embed v3, dan model multibahasa.",'In enterprise deployments, authority management (ACL) linkage, PII masking, audit logs, and multi-tenant design are essential requirements, and there is a need to move from a "working PoC" to a "production-ready production system.'],icons:[{label:`Hibrida 250Pencarian`},{label:`Multi-modal 251RAG`},{label:`Agen 252RAG`},{label:`Perusahaan 253Keamanan`}]},features:{title:"Fitur desain dan pengembangan",subtitle:"Desain & Pengembangan",items:[{title:"Pengumpulan data dan pipeline prapemrose
253san",description:"Data extraction and cleansing from PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, etc. Multi-modal support including OCR, table structure analysis, and image caption generation. Maintain freshness with differential updates and scheduled execution."},{title:"Desain sistem pencarian presisi tinggi",description:"Construct high-precision search combining Vector Search + BM25 Hybrid Search, Reranking by Cohere Rerank / Cross-Encoder, and Query Expansion and Decomposition. Metadata filtering and permission-based access control are also implemented."},{title:"Response generation and quality control",description:"Improved answer quality with context optimization, Few-shot prompts, and Chain-of-Thought inference. Source clarification, confidence score display, and halcination detection are implemented to ensure reliability for business use."},{title:"Operation and improvement cycle",description:"We provide operational support including usage log analysis, search hit rate and response satisfaction monitoring, continuous improvement through feedback loops, A/B testing infrastructure, Embedding model updates, and chunking strategy reviews."}]},techStack:{title:"Technology stack: Vector / RAG",subtitle:"Platform & Technology",categories:{embeddingModels:{title:"Embedding Models",items:["OpenAI text-embedding-3-large","Cohere Embed v3","Voyage AI","Jina Embeddings v3","BGE-M3 (multilingual)","multilingual-e5-large","Japanese-specific models"]},vectorDatabases:{title:"Vector Databases",items:["Pinecone (Managed)","Weaviate (Hybrid Search)","Qdrant (high performance)","Milvus (large scale)","Chroma (lightweight)","PostgreSQL pgvector","FAISS (local)"]},chunking:{title:"Chunking & Processing",items:["hierarchical chunking","Semantic Chunking","Overlapping Chunks","Sentence Window","Contextual Retrieval","Table and chart processing","Multimodal support"]},search:{title:"Search & Retrieval",items:["Hybrid Search (Vector + BM25)","Cohere Rerank","Cross-Encoder Reranking","Query expansion and decomposition","HyDE (Hypothetical Document Generation)","Self-Query Retrieval","Multi-Query Retrieval"]}},updateNote:{title:"Poin-poin pembaruan utama untuk tahun 2026",description:"Dalam model Embedding, text-Embedding-3-large dan Cohere Embed v3 menjadi standar industri, dan kinerja bahasa Jepang meningkat secara signifikan; Contextual Retrieval terbukti efektif, dan menambahkan konteks ke chunk menjadi metode standar. Hybrid Search + Reranking menjadi konfigurasi wajib untuk pencarian, mengurangi jumlah konfigurasi pencarian vektor sederhana, dan Agentic RAG (agen secara dinamis memilih strategi pencarian) mulai diterapkan secara praktis. Dari sisi operasional, penekanan ditempatkan pada pembentukan siklus pengukuran dan perbaikan kualitas menggunakan kerangka kerja evaluasi RAG (RAGAS, LangSmith)."}},cta:{title:"Contact Us",description:`We can consult with you from the requirements arrangement.
254PoC and local LLM configurations can also be considered.`,primaryButton:"Contact Us",secondaryButton:"Technical Consultation"}},fx={hero:{badges:["Full Stack","Integrasi LLM","Desain API"],title:"Pengembangan Aplikasi Kecerdasan Buatan",description:"Desain dan bangun aplikasi praktis yang memanfaatkan LLM."},mission:{title:"Ringkasan Layanan Pengembangan Aplikasi Kecerdasan Buatan (AI)",paragraphs:["Kami menyediakan layanan desain dan pengembangan aplikasi kecerdasan buatan (AI) yang menciptakan nilai bisnis dengan menganalisis data yang diperoleh dari API eksternal menggunakan LLM, menghubungkan API dengan berbagai sumber data seperti CRM, ERP, SaaS, sensor IoT, dan media sosial, serta memasukkan data yang diperoleh ke dalam LLM secara real-time. Kami memfasilitasi analisis data canggih yang tidak dapat dicapai dengan alat BI konvensional, seperti pembangkitan laporan analitis menggunakan bahasa alami, deteksi anomali, prediksi tren, dan klasifikasi otomatis.","Tidak hanya integrasi API sederhana, tetapi juga integrasi sumber data yang beragam, pembersihan data, dan konversi ke format yang mudah diinterpretasikan oleh LLM melalui pemrosesan terstruktur. Prompt engineering memaksimalkan akurasi analisis dan menghasilkan output yang disesuaikan dengan kebutuhan bisnis. Kami mengembangkan aplikasi praktis yang menggabungkan data dan AI, seperti data penjualan untuk memprediksi negosiasi bisnis, log dukungan pelanggan untuk melakukan analisis VoC, dan data sensor untuk memberikan rekomendasi pemeliharaan peralatan.","Kami mendukung berbagai antarmuka, seperti aplikasi web, aplikasi seluler, integrasi Slack/Teams, dan pemrosesan batch berkala. Kami menyediakan dukungan yang konsisten mulai dari definisi persyaratan hingga desain API, implementasi integrasi LLM, dan operasi produksi."]},summary:{title:"Tren dalam Pengembangan Aplikasi Kecerdasan Buatan",paragraphs:["Dari tahun 2025 hingga 2026, pengembangan aplikasi kecerdasan buatan (AI) memasuki fase praktis berdasarkan integrasi API dan analisis model bahasa besar (LLM). Analisis data tidak terstruktur dan pembangkitan wawasan bahasa alami, yang sebelumnya tidak dapat ditangani oleh alat BI tradisional dan dashboard, mulai diintegrasikan ke dalam sistem perusahaan.","Yang patut diperhatikan adalah kematangan fungsi Output Terstruktur LLM, yang memungkinkan kontrol output yang sepenuhnya sesuai dengan JSON Schema, sehingga memungkinkan implementasi pipeline otomatis end-to-end. Dalam pipeline ini, data yang diperoleh melalui API dianalisis oleh LLM, dan hasilnya langsung diteruskan ke sistem berikutnya. Eksekusi multi-tahap dari Function Calling memungkinkan pengumpulan, integrasi, dan analisis data dari berbagai API ditangani dalam satu alur kerja.","Dalam infrastruktur pemrosesan data, Polars telah menjadi standar untuk pemrosesan berkecepatan tinggi, dan ketika digabungkan dengan pemrosesan streaming, hal ini memudahkan analisis real-time.","Dalam implementasi korporat, kebutuhan telah bergeser dari pengembangan PoC (Proof of Concept) satu kali menjadi desain yang skalabel untuk operasi produksi, yang memerlukan desain arsitektur komprehensif yang mencakup optimasi biaya, penanganan kesalahan, dan dukungan log audit."],icons:[{label:"Kecerdasan Buatan Agensi"},{label:"Protokol MCP"},{label:"Multi Agen"},{label:"Manusia dalam Lingkaran"}]},features:{title:"Fitur desain dan pengembangan",subtitle:"Desain & Pengembangan",items:[{title:"Integrasi API dan desain pengumpulan data",description:"Bangun infrastruktur pengumpulan data yang mendukung berbagai protokol seperti REST API, GraphQL, WebSocket, dan Webhook. Kami merancang alur pengumpulan data yang stabil dengan mengimplementasikan proses autentikasi (OAuth, API key, JWT), pembatasan laju, dan mekanisme retry. Kami juga mendukung integrasi data, penjadwalan, dan pengumpulan data secara selektif dari berbagai API."},{title:"Prasunting dan pengorganisasian data",description:"Mengonversi data mentah ke dalam format yang dapat dianalisis secara efisien oleh LLM, termasuk pemrosesan JSON, pembersihan data, normalisasi, dan penanganan nilai yang hilang, serta melakukan segmentasi dan ringkasan data secara o
254ptimal dengan mempertimbangkan batasan jendela konteks. Penugasan metadata memastikan jejak audit hasil analisis."},{title:"Analisis LLM dan desain prompt",description:"Maksimalkan akurasi analisis data dengan merancang templat prompt yang disesuaikan dengan kebutuhan bisnis Anda. Kami membangun pipeline analisis untuk klasifikasi, ringkasan, analisis sentimen, deteksi anomali, pembangkitan prediksi, dan sebagainya. Kami menggunakan Function Calling dan Structured Output untuk menghasilkan output dalam format yang dapat diintegrasikan dengan mudah ke sistem berikutnya."},{title:"Implementasi dan pengoperasian aplikasi",description:"Kami menyediakan hasil analisis melalui berbagai antarmuka, termasuk FastAPI, aplikasi web menggunakan Next.js, dll., bot Slack/Teams, dan eksekusi batch terjadwal. Dashboard, pemberitahuan peringatan, dan pembangkitan laporan otomatis diimplementasikan dan disediakan dalam bentuk yang dapat langsung digunakan oleh pengguna bisnis. Kami juga menyediakan pemantauan operasional, optimasi biaya, dan perbaikan berkelanjutan."}]},techStack:{title:"Tumpukan Teknologi: Pengembangan Aplikasi Kecerdasan Buatan",subtitle:"Platform & Teknologi",categories:{apiIntegration:{title:"Integrasi API",items:["REST / GraphQL / WebSocket","OAuth 2.1 / Kunci API / JWT","Webhook / Polling","Apache Airflow / Prefect","Seledri / Waktu","permintaan / HTTP/X / AIOHTTP","Pembatasan Kecepatan / Ulangi","Validasi Data (Pydantic)"]},dataProcessing:{title:"Pengolahan Data",items:["Panda / Beruang Kutub","Parser JSON / JSONL","Pipa Pembersihan Data","Apache Spark (Pemrosesan skala besar)","dbt (konversi data)","Harapan Besar","Danau Delta / Gunung Es","Streaming (Kafka / Flink)"]},llmCloud:{title:"LLM Berbasis Awan",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Gemini 2.0 / Gemini 2.5","Perintah R+ (Cohere)","Mistral Besar"]},llmLocal:{title:"LLM Lokasi",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Kuartal 2,5 / Kuartal 3","DeepSeek V3 / R1","Batu Permata 2 / Batu Permata 3","Phi-4","ELYZA / Swallow (spesialis dalam bahasa Jepang)","Perintah R (Cohere)"]},inference:{title:"Penarikan Kesimpulan / Kerangka Kerja",items:["Bahasa Visual dan Pemodelan Bahasa / Bahasa Ruang","Ollama / llama.cpp","LiteLLM Proxy","Function Calling","Output Terstruktur","Mesin Template Prompt","LangChain / LlamaIndex","Pipa Analisis Proprietary"]},application:{title:"Lapisan Aplikasi",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Tugas Terjadwal (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Cache / Antrian)","Docker / Kubernetes"]}},updateNote:{title:"Poin-poin pembaruan utama untuk tahun 2026",description:"Di area analisis LLM, fungsi Output Terstruktur GPT-4.1 dan Claude 4 telah matang untuk mengstandarkan kontrol output yang mematuhi JSON Schema secara ketat, dan eksekusi bertahap panggilan fungsi memungkinkan pengumpulan dan analisis data kompleks melintasi beberapa API dalam satu pipa. Eksekusi bertahap panggilan fungsi memungkinkan pengumpulan dan analisis data kompleks melintasi beberapa API dalam satu pipa. Dalam pemrosesan data, Polars telah menjadi alternatif yang mapan untuk Pandas dalam pemrosesan berkecepatan tinggi, dan bersama dengan pemrosesan streaming, memfasilitasi pembangunan infrastruktur analisis real-time. Di lapisan aplikasi, integrasi alat eksternal menggunakan MCP telah menjadi hal yang umum, mempercepat pengembangan aplikasi agen di mana LLMs memanggil API secara otonom untuk mengumpulkan dan menganalisis data."}},cta:{title:"Hubungi Kami",description:"Kami dapat berkonsultasi dengan Anda mulai dari tahap penetapan persyaratan. PoC dan konfigurasi LLM lokal juga dapat dipertimbangkan.",primaryButton:"Hubungi Kami",secondaryButton:"Konsultasi Teknis"}},kx={seo:_A,header:HA,hero:$A,mission:QA,businessServices:JA,features:ZA,businessProcess:XA,story:YA,contact:ex,footer:ax,cookiePolicy:nx,about:tx,portfolio:ix,common:sx,privacyPolicy:rx,termsOfService:ox,weatherMap:lx,agentDevelopment:dx,faq:ux,pricing:cx,aiTranscription:mx,keywordTracking:px,onPremiseLLM:gx,vectorRAG:hx,aiAppDevelopment:fx},bx={home:{title:"人工æºè½é©±å¨çè§£å³æ¹æ¡å¹³å° - telet.ai",description:"éè¿äººå·¥æºè½é©±å¨çéè¯åæï¼é©æ°æ¨ç客æ·å¯¹è¯ä½éªãè·å宿¶æ´å¯ãæ
绪åæå绩æè¿½è¸ªï¼å©åå¢éæåä¸ç»©ã"},about:{title:"ç»ç»ä¿¡æ¯ - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"éç§æ¿ç - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"æå¡æ¡æ¬¾ - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"Cookieæ¿ç - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"ä½åé - telet.ai",description:"æ¢ç´¢æä»¬ç人工æºè½è§£å³æ¹æ¡ç»åï¼è¿äºæ¹æ¡æ¨å¨æåæ¨çä¸å¡è¿è¥å客æ·ä½éªã"},agentDevelopment:{title:"ä¼ä¸äººå·¥æºè½ä»£ç设计ä¸å¼å - telet.ai",description:"设计并æå»ºç¬¦åç产级æ åç人工æºè½ä»£çï¼ä½¿å
¶å®ç¾å¥åæ¨ç工使µç¨ãå·¥å
·ååè§éæ±ã
254"},onPremiseLLM:{title:"æ¬å°é¨ç½²ç大åè¯è¨æ¨¡åè¿ç»´ - telet.ai",description:"卿¨çç¯å¢ä¸è¿è¡ç°ä»£å¤§åè¯è¨æ¨¡åï¼å®ç°å¼ºå¤§çæ°æ®æ§å¶ãå¯é¢æµçææ¬åä½å»¶è¿æ¨çã"},vectorRAG:{title:"ç¢éRAGä¸ç´¢å¼è®¾è®¡ - telet.ai",description:"设计é对æ¯ä¸ªå·¥ä½æµå®å¶çæ£ç´¢ç®¡éåç´¢å¼ï¼ä»¥æåçæ¡çåç¡®æ§ã"},aiAppDevelopment:{title:"人工æºè½åºç¨å¼å - telet.ai",description:"æå»ºç±å¤§åè¯è¨æ¨¡å驱å¨çå®ç¨åºç¨ç¨åºââ䏿¨çAPIãæ°æ®åä¸å¡æµç¨æ·±åº¦éæã"}},yx={brand:"telet.ai",nav:{services:"æå¡",portfolio:"æèµç»å",about:"ç»ç»ä¿¡æ¯",contact:"èç³»æ¹å¼"}},vx={brandName:"telet.ai",tagline:"å¤ç§äººå·¥æºè½éä¿¡",badge:"人工æºè½é©±å¨çå¼å«æºè½",title:{line1:"å°æ¹æ§åé²å¾¡æ§ã",line2:"å¨äºä¸æ©å±ã",line3:"ç±ä»£çèªå¨å®æã"},description:"SLM ä¸çè¾¹ç¼æ¨çå¯ç¡®ä¿æ°æ®ä¸»æï¼è LLM ä¸çäºéæå¯å°å¤çè½åæ©å±å°æ é大ï¼éç¨ Agentic AI æ¶æçé¢å
ä¼ä¸å·²åè§ææã"},Ax={badge:"æä»¬ç使å½",title:"让æ³å¦ç¡å£«æ´å®¹æè·å¾",paragraphs:['ä½ ä»¬ççè½èµ°è¿ä¹è¿åï¼"--è¿ç§æåæ£æ¯æä»¬çç®æ ã','å¤§è§æ¨¡è¯è¨å»ºæ¨¡ï¼LLMï¼çæ½å䏿¥ä¿±å¢ãç¶èï¼æä»¬å¸ææç ´ "ææ
å¿åå¤é¨åºç¨ç¨åºæ¥å£åéæºå¯æ°æ®"ã"é«çº§äººå·¥æºè½åºç¨åªéå大å
¬å¸ "å "宿½ææ¬ä¸å¼å¾ "çéç¢ã',"æä»¬æ
é¿å¨æ¨çç¯å¢ä¸å»ºç«æ¬å° LLMãé«åº¦ææç客æ·ä¿¡æ¯å¯ä»¥å®å
¨å°ä½¿ç¨ï¼èä¸ä¼æ´é²ç»å¤çãæä»¬å¯ä»¥æå¤§é度å°åæ¥äººå·¥æºè½çä¼å¿ï¼åæ¶ç¡®ä¿æ°æ®å®å
¨ã","å®å¯ä»¥å¤ç仿¥å¸¸æä»¶åå»ºåæ°æ®ç»ç»å°ä¸ä¸åæåå³çæ¯æçä¸åäºå¡ãæä»¬ä¸æçä»£çææ¯å¯æä¾ä¸ API 模åç¸å½çåç¡®æ§ã",'æ³å¾ç¡å£«ä¸è½å代人ã宿¯ä¸ç§å¼ºå¤§çå·¥å
·ï¼å¯ä»¥è®©äººä»¬åæ¥æ´å¤çåé åã夿ååä¸ä¸ç¥è¯ãæä»¬è®©ææ¯ä»ç¹æ®èµ°åæ®é--çæ£å®ç°äºææ¯ç "æ¶è´¹è
å"ã','è¯·éæ¶å¨è¯¢æä»¬ãæä»¬å°ä¸æ¨ä¸èµ·æ¾åº "æä»¬è½åä»ä¹ï¼'],animation:{label:"LLM",sublabel:"ææ¯"}},xx={title:"æå¡",subtitle:"å䏿å¡",services:[{title:"é¢åä¼ä¸ç人工æºè½ä»£ç设计ä¸å¼å",titleEn:"ä¼ä¸äººå·¥æºè½ä»£ç",description:"设计åå¼åé对ä¸å¡éæ±ãå
é¨è§ååæ°æ®èå´è¿è¡ä¼åç人工æºè½ä»£çãæ¯æä»å¤é¨ API ç±»åç LLM å°æ¬å° LLMã",badges:["个æ§å设计","ä¸ LLM å
¼å®¹","åä¸ä¸ä¸"],link:"详ç»ä¿¡æ¯ã"},{title:"æ¿è¯ºç LLM æå¡å¨",titleEn:"å
é¨ LLM æå¡å¨",description:"å¨å
¬å¸ä¸ç¨æå¡å¨å
è¿è¡ 7B è³ 120B è§æ¨¡ç LLMãæä¾å®å
¨çµæ´»ç LLM 使ç¨ç¯å¢ï¼é¿å
å¤é¨æ°æ®ä¼ è¾é£é©ã",badges:["æ¯æ 7B-120B","åå¸ç API KEY","å®å
¨è®¾è®¡"],link:"详ç»ä¿¡æ¯ã"},{title:"ç¢é RAG åç´¢å¼è®¾è®¡",titleEn:"ç¢é RAG æ¶æ",description:"æä¸å¡å
容ååæé»è¾å离åä¼å RAG æ°æ®ã设计索å¼ï¼å®ç°å¿«éåç¡®çæç´¢ã",badges:["ç´¢å¼å离","é«éæç´¢","å¤ç§è¯è¨æ¯æ"],link:"详ç»ä¿¡æ¯ã"},{title:"人工æºè½åºç¨å¼å",titleEn:"人工æºè½åºç¨å¼å",description:"å©ç¨ç°æçåºç¨ç¨åºæ¥å£åå¤é¨æ°æ®ï¼å¼å以 LLM åæåçæä¸ºæ ¸å¿çå®ç¨äººå·¥æºè½åºç¨ã",badges:["API 龿¥","æ³å¦ç¡å£«åæ","综å设计"],link:"详ç»ä¿¡æ¯ã"}]},Lx={title:"使ç¨äººå·¥æºè½ææ¯çæå°±é¡¹ç®",subtitle:"人工æºè½å¼åç»éªæ¶åå¤ä¸ªé¢åï¼å
æ¬å¤è¯è¨å©æã天æ°é¢æ¥ãæ¬å° LLM åå®å
¨çæ§ã",viewDetails:"æ¥ç详æ
âã",items:[{title:"人工æºè½å¤è¯ç§å©æ",description:"RAG + LLM çå¤è¯è¨è天婿ãç¨æ¥è¯ãè±è¯å䏿çå¤ç§è¯è¨é«åº¦åç¡®å°åå¤å¨è¯¢ã"},{title:"天æ°é¢æ¥ç³»ç»",description:"å¦ä¹ å¤©æ°æ°æ®å¹¶çæå
254®æ¶é¢æ¥ãéè¿ä½¿ç¨æ¶é´åºå模å¼è¯å«å RAG æç´¢è¿å»ç类似模å¼ï¼çæé«ç²¾åº¦é¢æ¥ã"},{title:"å
鍿å¡å¨ / On-Prem Local LLM",description:"æä»¬æä¾ä¸ºæ¨çä¸å¡è¿è¥é身å®å¶ç人工æºè½ï¼ä»¥å¼æ¾å¼ WebUI ä½ä¸ºéç¨å
¥å£ç¹ï¼ä½¿ç¨ Ollama/MLX å¿«éæ¨çééï¼å¹¶ä¸ºæ¯ä¸ª UID æä¾å®å
¨åç¦»çæ°æ®åï¼å¯å¨è´µå
¬å¸å
é¨éæ¶ä½¿ç¨ãå¨ RAG 䏿è·å
é¨ææ¡£ï¼å¹¶è¿è¡è±è¯åµå
¥åæ¥è¯èªå¨æ¥è¯¢ç¿»è¯ï¼åæ¶å®å
¨å°æ§è¡æ°é»æè¦ãææ¡£ç»ç»åæ¥å¸¸ä»»å¡çä¸å¡æè½ãæè½æ§è¡ç³»ç»ä½ä¸º OpenClaw 容å¨è¿è¡é离ï¼å¹¶åå°ä¸å± Cloudflare è¾¹ç¼åæ¬å° Nginx çä¿æ¤ãæä»¬ä¸ºæ¨¡åéæ©ãæè½è®¾è®¡åè¿è¡çç¥æä¾å
¨é¢æ¯æï¼å¹¶ä»¥é¨ç½²å½å¤©å³å¯ä½¿ç¨çå½¢å¼å¯å¨è´µå
¬å¸çä¸ç¨äººå·¥æºè½ã"},{title:"è¡æé
轨éå°è¾¾é¢æµ (AI)",description:"ä» NASA API è·åè¡ææ°æ®ï¼å¹¶å¨ LLM ä¸è§£é轨é计ç®ç»æãçææå
³åå°çªå£ãæéæ¶é´åçææççæ¥åã"},{title:"æ¿å°äº§æ°æ® AI åæ",description:"éè¿ç½ç»æå®æ¶éæ¿å°äº§ä¿¡æ¯ï¼å¹¶ä½¿ç¨ LLM + Python è¿è¡åæãèªå¨çæä»·æ ¼è¶å¿ãå¸åºé¢æµåæèµåæ¥ã"},{title:"人工æºè½ç®å½ï¼åæ±ç®å½ï¼",description:'ç¨ Python éç° "å½è¿åæ± "çé»è¾ï¼å¹¶ç¨ LLM è¿è¡è§£éãä»å¤©æå¦åºç¨ç¨åºæ¥å£è·ååæ åæ¶é´ï¼ä»¥ä¾¿å¯¹è¿å¿åå
¼å®¹æ§è¿è¡ä¸ªæ§åè¯ä¼°ã'},{title:"Google Workspace AI integration",description:"LLM ä¸ GmailãDriveãCalendar ççéæã人工æºè½è¾
å©çµåé®ä»¶æè¦ãæä»¶æç´¢åæ¥ç¨å®æã"},{title:"ä¸çæ°é»æ¥ãå¤è¯å",description:"宿¶æ¶éä¸çæ°é»ï¼ç± LLM è¿è¡å¤è¯è¨ç¿»è¯åæè¦ãåºäºä¸ä¸æçè§£çèªç¶ç¿»è¯åæè¦çæã"},{title:"å®å
¨æ¥å¿çæ§ AI 管çå¨",description:"宿¶çæ§å®å
¨æ¥å¿ï¼éè¿ LLM è¿è¡å¨èæ£æµååæï¼å¹¶éè¿ RAG ä¸è¿å»çæ»å»æ¨¡å¼è¿è¡æ¯å¯¹ï¼ç«å³ååºè¦æ¥ã"}]},Px={title:"å¦ä½å¼å±é¡¹ç®",headline:"ä½ éè¦çåªæ¯ä¸ä¸ªæ¿æ¯ã",paragraphs:['è½ç¶æä»¬ä½¿ç¨äººå·¥æºè½ç¿»è¯ï¼ä½éè¿å
åå©ç¨å¾åå
±äº«çç¬ç¹å·¥ä½æµç¨ï¼æä»¬å¯ä»¥å¤ç 14 ç§è¯è¨çåå¡è°å¤åå¼åãå³ä½¿æ¯å¤æçè§æ ¼ï¼ä¹å¯ä»¥éè¿å¾çæ ·æ¬è¿è¡æ ¸å¯¹ï¼ä»¥é¿å
æ²éä¸ç
ãå¯ä¸éè¦çæ¯ "æ¨æ³è¦åé ä»ä¹"ã',"项ç®å¼å§æ¶ï¼é¦å
è¦å¯¹ä¸å¡ç³è¯·è¿è¡å审ãå¨å¤§è´äºè§£å®¢æ·çæ¿æ¯å对é®é¢ç认è¯åï¼ç¾ç½²ä¿å¯åè®®ï¼NDAï¼ãå¨åé ä¸ä¸ªå¯ä»¥ç§å¯è®¨è®ºæºå¯ä¿¡æ¯çç¯å¢åï¼æä»¬ä¼è¿è¡è¯¦ç»ç访è°å¹¶ç¡®è®¤éæ±ãæ ¹æ®å
å®¹ï¼æä»¬ä¼åå¤ä¸ä»½ææ¡ï¼å¹¶éè¿æ ·æ¬å¾ç确认项ç®çæ¹åãå¨è¾¾æå
±è¯çåºç¡ä¸ï¼æä»¬å¶å®è§æ ¼å¹¶å¼å§å¼åã","æ¤æµç¨ä»
为ä¸è¬æ§ä»ç»ãæä»¬å°æ ¹æ®æ¨çæ
åµåæ¥ç¨è¡¨çµæ´»è°æ´ãæ 论æ¨èº«å¨ä½å¤ï¼å³ä½¿è¯è¨ä¸éï¼å¾åå人工æºè½é½å°ä¸ºæ¨çäº¤æµæä¾æ¯æãæ¨ä½ä¸å å
¥æä»¬ï¼è¿å
¥æ 人æ¶è¶³çåæ²¿å¸åºï¼è®© telet.ai æä¸ºæ¨çåä½ä¼ä¼´ï¼å°æ¨çæ³æ³åæç°å®ã"],cards:[{title:"å¬è¯ä¼/NDA",description:"éè¿çµåé®ä»¶è¿è¡åæ¥å¬è¯åï¼æä»¬ä¼ç¾ç½²ä¸ä»½ä¿å¯åè®®ãæ¨å¯ä»¥æ¾å¿å°åæä»¬æä¾è¯¦ç»ä¿¡æ¯ã"},{title:"è§åä¸ CA",description:"æä¾å»ºè®®åå¾çæ ·æ¬ãæ¯æ 14 ç§è¯è¨ï¼è®©æ¨æ è¯è¨éç¢å°å¼å±å·¥ä½ã"},{title:"åæ ·åå¯å¨",description:"æä»¬å°å¨è¾¾æä¸è´æè§åå¶å®è§æ ¼å¹¶å¼å±ä¸å¡ã"},{title:"å¼åãæµè¯åè¿è¡",description:"éè¿ææ·å¼åå¿«é宿½ã仿µè¯å°è¿è¡æ¯æï¼æä»¬å§ç»å¦ä¸å°æä¾æ¯æã"}]},wx={badge:"æ¡ä¾ç ç©¶",title:"人工æºè½ä»ç»æ
äº",items:[{title:"ä¸å¡æçåé使æ¬è§£å³æ¹æ¡",subtitle:"åå°æ¥å¸¸å·¥ä½éï¼åé ä¸ä¸ªå¯ä»¥ä¸æ³¨äºæ ¸å¿ä¸å¡çç¯å¢ã",description:'许å¤ä¸å°åä¼ä¸ï¼SMEsï¼é¢ä¸´å³å¨åç缺åæèå°é¾çé®é¢ãå³ä½¿éç¨äºæ°åå·¥ï¼å¹è®ææ¬ä¹å¾é«ï¼èä¸è¿åå¨çç¨çé®é¢ãæä»¬ç人工æºè½è§£å³æ¹æ¡å¯æ¯ææ¥å¸¸ä»»å¡ï¼å¦èªå¨åé¢ç®ç®¡çãæ°æ®å½å
¥åç»ç»ãå
鍿件æ£ç´¢ä»¥åèªå¨çææ¥ååæä»¶ã人工æºè½å©æå¯ä»¥å
¨å¹´ 365 å¤©ãæ¯å¤© 24 å°æ¶æ å·®éå°å¤çè¿å»éè¦èè´¹å¤§éæ¶é´çæ¥å¸¸ä»»å¡ãå¼å
¥äººå·¥æºè½çå
¬å¸é½å®ç°äºå·¥æ¶ç大å¹
缩åãä» "å¢å 人åèµæº "å° "ä¸äººå·¥æºè½åä½"ãæä»¬å°ç«å°½å
¨åæ¯æè´µå
¬å¸ç工使¹å¼æ¹é©ã'},{title:"å®¢æ·æ¯æèªå¨å",subtitle:"24 å°æ¶æå¡å¯æé«å®¢æ·æ»¡æåº¦å¹¶éä
254½å³å¨åææ¬ã",description:"人工æºè½è天æºå¨äººå¯å¯¹å¸¸è§é®é¢è¿è¡èªå¨åå¤ï¼å¯¹å¨è¯¢è¿è¡å级åå¤ååç±»ï¼å¹¶ä»¥å¤ç§è¯è¨è¿è¡å®æ¶åå¤ãå¤è¯è¨å®æ¶åå¤ã人工æä½åå¯ä»¥ä¸æ³¨äºå¤ææ¡ä¾ï¼æé«å®¢æ·æå¡è´¨éã使ç¨äººå·¥æºè½å®¢æ·æ¯æï¼è®©æ¨çæå¡è´¨éæ´ä¸ä¸å±æ¥¼ã"},{title:"ç¥è¯åæä»¶å©ç¨äººå·¥æºè½",subtitle:"以任ä½äººé½è½ç«å³å©ç¨ç形弿ä¾å
é¨ç¥è¯èµäº§",description:'æåå¨åªéï¼æäºä¿¡æ¯åªæåä»»ç¥é"--é个æ§åçç¥è¯é»ç¢äºå
¬å¸çåå±ãæä»¬ç RAGï¼æç´¢æ©å±çæï¼ææ¯è®©æ¨åªéç¨èªç¶è¯è¨æé®ï¼å°±è½ä»å
鍿åã常è§é®é¢åè¿å¾ææ¡£ä¸æ£ç´¢å°å¿
è¦ä¿¡æ¯ãå®å¯ä»¥ç®åæ°åå·¥çå¹è®ï¼å°èåå·¥çéæ§ç¥è¯æ°ååï¼å¹¶å®ç°è·¨é¨é¨çç¥è¯å
±äº«ãç°ææä»¶å¯ä»¥åå°ä¸å¨å°ä½¿ç¨ï¼å æ¤æ éåå»ºæ°æä»¶ã'},{title:"ç¨äºå»ç忤ççå¾ååæäººå·¥æºè½",subtitle:"人工æºè½æä¾ 24 å°æ¶å
¨å¤©åæ¯æ",description:"å¨å»ç忤çé¢åï¼éè¦ç¨æéç人åçæ¤å¤§éç
人åç¨æ·ãæä»¬çå¾å/è§é¢åæäººå·¥æºè½å¯ä»æå头å¾åä¸å®æ¶æ£æµå¼å¸¸æ
åµãå®è½éè¿æ£æµåç§èªå¨æ£æµä¼ æç
ï¼å¨ç
人è·åæå¾å¾æ¶ç«å³ååºè¦æ¥ï¼å¹¶éè¿åæé¢é¨è¡¨æ
æ£æµèº«ä½ç¶åµçååãéè¿åè½»å¤é´å·¡é»è´æ
ãå¿«éåºå¯¹ç´§æ¥æ
åµåèªå¨è®°å½ä»»å¡ï¼å·¥ä½äººåå¯ä»¥ä¸æ³¨äºä¸»è¦çæ¤çå·¥ä½ã为确ä¿éç§ï¼è¿å¯è¿è¡å
é¨å®è£
ã"}]},Sx={title:"èç³»æä»¬",description:"æä»¬å¯ä»¥ä»éæ±è§åé¶æ®µå°±å¼å§ä¸ºæ¨æä¾å¨è¯¢ï¼è¿å¯ä»¥èè PoC åæ¬å° LLM é
ç½®ã",openForm:"弿¾å¼è¡¨æ ¼",closeForm:"å
³éè¡¨æ ¼",form:{name:"æ¨çå§å",namePlaceholder:"å±±ç°å¤ªé",email:"çµåé®ä»¶å°å",emailPlaceholder:"[email protected]",subject:"è®®é¢",subjectPlaceholder:"å¨è¯¢ä¸»é¢",message:"çè¨",messagePlaceholder:"è¯·å¡«åæ¨ç询é®",required:"*",submit:"åé",submitting:"åé...",turnstileMessage:'æäº¤æ¶éè¦ "æä¸æ¯æºå¨äºº "ææã',turnstileError:"å è½½å®å
¨ææå¤±è´¥ãè¯·éæ°å è½½ã",errorRetry:"请éè¯ã"}},Ix={brand:"telet.ai",tagline:"å¤ç§äººå·¥æºè½éä¿¡",description:"å©ç¨äººå·¥æºè½ä»£çåæ°ä¸å¡ãä»å¯¹è¯ä¸åé ä»·å¼ã",sections:{product:{title:"产å",features:"ç¹ç¹",benefits:"导è¨",testimonials:"客æ·è¯ä»·"},services:{title:"æå¡",agentDev:"é¢åä¼ä¸ç人工æºè½ä»£ç设计ä¸å¼å",onPremise:"æ¿è¯ºç LLM æå¡å¨",vectorRag:"ç¢é RAG åç´¢å¼è®¾è®¡",aiApp:"人工æºè½åºç¨å¼å"},company:{title:"ç»ç»ä¿¡æ¯",about:"å
³äº telet.ai",profile:"代表ç®ä»",contact:"èç³»æä»¬"},process:{title:"æä»¬å¦ä½å¼å±ä¸å¡",hearing:"å¬è¯ä¼/NDA",planning:"è§åä¸ CA",sampling:"åæ ·åå¯å¨",development:"å¼åãæµè¯åè¿è¡"}},copyright:"© 2026 telet.aiãä¿çæææå©ã",legal:{privacy:"éç§æ¿ç",terms:"ä½¿ç¨æ¡æ¬¾",cookies:"Cookie æ¿ç"}},Mx={title:"Cookie æ¿ç",subtitle:"æ¬èä»ç»æ¬ç½ç«ä½¿ç¨ç cookie åå
¶ä»ææ¯ï¼Cloudflare / Google Analyticsï¼ã",lastUpdated:"æåæ´æ°æ¥æï¼2026 å¹´ 1 æ 22 æ¥",intro:'telet.aiï¼"æä»¬"ã"æä»¬ç"ã"æä»¬ç"ï¼ï¼"æä»¬"ï¼å¯è½ä½¿ç¨ cookie åç±»ä¼¼ææ¯æ¥æä¾åæ¹è¿æ¬ç½ç«ï¼å¹¶ç¡®ä¿å
¶å®å
¨æ§ãæä»¬ä¸ä¸ºå¹¿åç®ç设置èªå·±çç¹æ®è·è¸ª cookieï¼å°½ç®¡ Cloudflare å Google Analytics å¯è½ä¼æ ¹æ®åèªçæå¡è§è设置 cookie æç±»ä¼¼ææ¯ï¼ã',sections:{what:{title:"1. ä»ä¹æ¯ cookieï¼",description:"Cookie æ¯è®¿é®ç½ç«æ¶åå¨å¨æµè§å¨ä¸çå°ææ¬æä»¶ã"},howWeUse:{title:"æä»¬ä½¿ç¨ cookie ççç®ç",description:"æä»¬ä½¿ç¨ cookie ç主è¦ç¨äºä»¥ä¸ç®ç",items:["稳å®ç½ç«çæ¾ç¤ºåè¿è¡","æ£æµå鲿¢æªç»ææç访é®åæ¶ææµé","äºè§£ééç¶åµï¼å¸®å©æ¹è¿ç½ç«"]},googleAnalytics:{title:"3. è°·æåæç使ç¨",description:"æä»¬ä½¿ç¨ Google LLC æä¾ç Google Analytics 4 (GA4) è¿è¡è®¿é®åæã",items:["æ¶éçä¿¡æ¯å¯è½å
æ¬æµè§ç页é¢ãè±è´¹çæ¶é´ãæ¨èæ¥æºã设å¤åæµè§å¨ä¿¡æ¯çã","æä»¬ä¸ä¼å°å¯ç´æ¥è¯å«ä¸ªäººèº«ä»½çä¿¡æ¯ï¼å§å
254ãçµåé®ä»¶å°åçï¼ç¨äºåéç»è°·æåæã","è°·æå¯¹æ°æ®çå¤çåºéµå®è°·æçæ¡æ¬¾åæ¿ç"]},cloudflare:{title:"4. ä½¿ç¨ Cloudflare",description:"æä»¬ä½¿ç¨ Cloudflare, Inc.Cloudflare å¯è½ä¼åºäº DDoS ä¿æ¤å鲿¢åµå°¸çç®çè设置åå¼ç¨ cookies çã",items:["主è¦ç®çæ¯ä¸ºäºå®å
¨åä¼åéä¿¡ï¼è䏿¯ä¸ºäºå¹¿åææ¾è¿è¡è·è¸ª","Cloudflare å¯¹æ°æ®çå¤çå Cloudflare æ¡æ¬¾åæ¿çç约æ"]},noSpecialCookies:{title:"5. æä»¬èªå·±çç¹è²é¥¼å¹²",description:"æä»¬ä¸ä¼ä¸ºè¡ä¸ºå®å广åçç®ç设置èªå·±çç¹æ® CookieãCookie çç使ç¨ä¸»è¦éäºç½ç«è¿è¡ãå®å
¨å访é®åæçèå´ã"},choices:{title:"6. cookie 管çï¼éæ©éåºï¼",description:"妿ç¦ç¨ cookieï¼æäºåè½å¯è½æ æ³ä½¿ç¨ã",items:["å¯å¨æµè§å¨è®¾ç½®ä¸å 餿ç¦ç¨ Cookie","妿æ¨å¸æç¦ç¨ Google Analytics çæµéåè½ï¼è¯·ä½¿ç¨ Google æä¾çéåºæ¹æ³","ä½¿ç¨æµè§å¨çç§äººæ¨¡å¼çå¯ä»¥éå¶åå¨çä¿¡æ¯ã"]},changes:{title:"7. å¯¹æ¬æ¿ççä¿®æ¹",description:"æä»¬å¯è½ä¼æ ¹æ®æ³å¾æ³è§ç修订ææä½¿ç¨æå¡çåæ´ä¿®è®¢æ¬æ¿çã修订åçæ¿çå°å¨æ¬é¡µé¢åå¸åçæã"},contact:{title:"8. èç³»æä»¬",description:"妿æ¨å¯¹æ¬æ¿çæä»»ä½çé®ï¼è¯·éè¿ä»¥ä¸æ¹å¼èç³»æä»¬",company:"telet.ai",contactLink:"转å°å¨è¯¢è¡¨"}}},jx={hero:{title:"å
³äº telet.ai",subtitle:"ç»å¿ç人工æºè½å¼åæ¯æï¼åªæå°åç个æ§åå¢éæè½æä¾ã"},story:{title:"ç»ç»ä¿¡æ¯",content:"telet.aiå§äºä¸ä¸ªé®é¢ã为ä»ä¹è¿ä¹å¤å
¬å¸é½æ æ³å©ç¨å
¬å¸ä¸å
¶å®¢æ·ä¹é´æ æ°æ¬¡äºå¨ä¸è´å«çæ´å¯åï¼ä¸ºäºç´é¢è¿ä¸ªé®é¢ï¼æä»¬æç«äºä¸ä¸ªå¢éï¼ç±ä¸ä½æ¥æä
254ººå·¥æºè½ç ç©¶åä¼ä¸è½¯ä»¶å¼åç»éªç代表é¢å¯¼ãæä»¬ä¸æ¯ä¸å®¶å¤§åä¼ä¸ãå æ¤ï¼æä»¬è½å¤æ·±å
¥é¢å¯¹æ¨æé¢ä¸´çææï¼å¹¶åªæåºçæ£å¿
è¦çè§£å³æ¹æ¡ãæä»¬çä¼å¿å¨äºè½å¤è®¾è®¡åºæ´åæ¬å° LLM åäº LLM çæ··åæ¶æãæä»¬å¯ä»¥å¨ä¸ç¨äºç¯å¢ä¸ä¿æ¤è´µå
¬å¸çæææ°æ®ï¼åæ¶ä»¥å¯æ©å±çæ¹å¼æ§è¡é«çº§äººå·¥æºè½æ¨çãæä»¬ä¸ºå¼å人åæä¾ CLIï¼ä¸ºä¸çº¿åå·¥æä¾è天 UIï¼ä¸ºæ´ä¸ªä¼ä¸ç人工æºè½åºç¨å¥ å®åºç¡ãæä»¬ä¸æ³¨äºæä¸ºæä½³è§£å³æ¹æ¡ï¼è䏿¯æå
è¿çè§£å³æ¹æ¡ãæ ¹æ®é¢ç®æ¾å¼åè½ï¼åªå®¡æ¥ä¸ç§é
ç½®ï¼å°±è½å¨ææ¬ä¸äº§ç巨大差å¼ãæä»¬æ ¹æ®æ¨çéæ±æä¾æ¨æéçæå¡ãæä»¬ä¹æä»¥è½å¤æä¾å¨å°ç人工æºè½å¼åæ¯æï¼æ¯å 为æä»¬è§æ¨¡å°ã个æ§å强ãè§£å³äººåç缺é®é¢ï¼æ¯æè´µå
¬å¸åå±ãè¿å°±æ¯ telet.ai çæ¿è¯ºã"},representative:{title:"telet.ai labo 代表",name:"Keita Okuizumi",tagline:"åç天空ã大海å代ç --ä¸å¯»å¸¸çèä¸ç涯å¬çäºå¯¹äººå·¥æºè½å¼åççæ
",paragraphs:['ä½ä¸ºä¸ååç§äººé£è¡åï¼PPLï¼åè¹è¶æ§ç
§ææè
ï¼æå¤å¹´æ¥ä¸ç´å¨ç©ºä¸åæµ·ä¸ä¸å¤©æ°æäº¤éãå¨é©¾é©¶è±åèµæå®¤éï¼æè§å¯æ°å计çååï¼è§£è¯»çå线ï¼å¹¶å°å
¶ä¸é£åäºçç§»å¨è¿è¡æ¯è¾ãå¨è¿ç§åå¤çè¿ç¨ä¸å¹å
»èµ·æ¥ç "é
è¯»æ°æ®ã夿åè¡å¨ "çæè¯æ¯æä»å¤©çèµ·ç¹ã','æä» 57 å²å¼å§å¦ä¹ Python ç¼ç¨ãèµ·ååªæ¯åºäºå¥½å¥ï¼ä½ä¸å¼å§å代ç ï¼æå°±è¢«äººå·¥æºè½ä»£ççå¯è½æ§æ·±æ·±å¸å¼ãæäº²æå建äºåºç¨ç¨åºï¼è¿è¡å¹¶æ¹è¿å®ä»¬ãå¨è¿ä¸ªè¿ç¨ä¸ï¼ææè¯å°äºä¸äºä¸è¥¿ãå¨è¿å»ç项ç®ä¸ï¼ææ¯ä»¥éå·¥ç¨äººåç身份åä¸çï¼å¼å工使»æ¯ç±å
¶ä»äººå®æãç¶èï¼å½æå¼å§äº²èªç¼åä»£ç æ¶ï¼æå¼å§çå°äºé®é¢çæ¬è´¨ãè¿æ¯è¿éçç¶é¢ "æ "è¿ä¸ªè®¾è®¡æ æ³æ©å±"--æäºå·¥ç¨å¸çè§è§ï¼å®ç°ææ³è¦åçäºæ
çé度就大大å å¿«äºã',"éè¿å°å®å°ç»éªä¸æ°æ®ç§å¦ç¸ç»åæ¥å¼åæ°è±¡æå¡ï¼å»ºç«äººå·¥æºè½ä»£çæ¥æé«è¿è¡æçï¼ä»¥åå¼å±åç§å®éªé¡¹ç®ãéçæä¸æäº²æå·¥ä½ï¼æä¸ä»
ç¸ä¿¡è¿é¡¹ææ¯å¾æè¶£ï¼èä¸ç¸ä¿¡ä¸å®æäººéè¦è¿é¡¹ææ¯ã","æä»¬çç®æ 䏿¯è¿½éæå沿ãæä»¬æ£è§å®¢æ·çé®é¢åé¢ç®ï¼ä»¥åççææ¬æä¾çæ£å¿
è¦çæå¡ãæä»¬çç»ç»è§æ¨¡ä¸å¤§ï¼å æ¤è½å¤æ ¹æ®æ¯ä¸ªå®¢æ·çéæ±æä¾é身å®å¶çå¼åæ¯æãæä»¬å¸æå©ç¨è¿é¡¹ææ¯é ç¦ç¤¾ä¼--è¿å°±æ¯æä»¬æ¨åº telet.ai çåå ã"]},contact:{title:"å
³äºæä»¬",company:"telet.ai labo",ceo:"ä»£è¡¨ï¼ OKUIZUMI Keitaä»£è¡¨ï¼ OKUIZUMI Keita",button:"èç³»æä»¬"},studios:{tokyo:{title:"ä¸äº¬å·¥ä½å®¤",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tokyo 184-0014, Japan"}}},Cx={title:"æèµç»å",subtitle:"æ¥çæä»¬å©ç¨äººå·¥æºè½ææ¯çè®°å½",techStackLabel:"ææ¯å æ ",viewProject:"æ¥ç项ç®",privateProject:"ç§äººé¡¹ç®",visualizationLabel:"æ°æ®å¯è§å",cta:{title:"èç³»æä»¬",description:"å¦é讨论æ¨çé¡¹ç®æè¿è¡ææ¯å¨è¯¢ï¼è¯·éæ¶ä¸æä»¬èç³»ã",button:"èç³»æä»¬"},projects:{"traffic-route-ai":{title:"AI交éè·¯çº¿éæ©ç³»ç»",subtitle:"è¿æ¥é©¬æ¥è¥¿äºå
Œ
±äº¤éï¼è¾
å©è·¯çº¿éæ©",description:"æ ¹æ®åºåå°åç®çå°æç´¢å
¬äº¤ä¸éè·¯ç»å路线ï¼å¹¶æå°è¾¾æ¶é´ãè¡ç¨æ¶é¿åæ¢ä¹æ¬¡æ°æ¯è¾æ¹æ¡ãæ¯æä»
å
¬äº¤ãä»
éè·¯çéãéè¿è½¦ç«æç´¢åå¤è¯è¨çé¢ï¼å¸®å©ç¨æ·ä¸ºæ¥å¸¸åºè¡åæ
è¡éæ©åéç路线ã",techStack:["å
Œ
±äº¤é路线æç´¢","å
¬äº¤ä¸éè·¯æ´å","路线æ¯è¾","å¤è¯è¨çé¢"]},"multilingual-assistant":{title:"人工æºè½å¤è¯ç§å©æ",description:"é对å¤è¯è¨å¨è¯¢çæºè½è天婿ï¼å»ºç«äº 1,573 个ç¢éç´¢å¼ï¼å¹¶éè¿æ¡ä»¶åæ¯ãNG è¯è¿æ»¤åå
³é®è¯è§¦åå®ç°äºç²¾ç¡®ççæ¡æ§å¶ãéè¿è·¨è¯è¨è¯ä¹æç´¢ï¼ä»¥æ¥è¯ãè±è¯å䏿çå¤ç§è¯è¨çæä¸è´ä¸é«åº¦åç¡®çç¨æ·é®é¢çæ¡ã",techStack:["RAG","ç¢éæç´¢","å¤è¯è¨åµå
¥","LLM","æ¡ä»¶åæ¯é»è¾"]},"weather-forecast":{title:"å©ç¨å¤©æ° API è¿è¡äººå·¥æºè½å¤©æ°é¢æ¥",description:"å¼åäºä¸ä¸ªäººå·¥æºè½ç³»ç»ï¼è¯¥ç³»ç»å¯ä»è¿å»çå¤©æ°æ°æ®ä¸å¦ä¹ ï¼å¹¶å¯¹è¿æå¤©æ°æ
åµè¿è¡å®æ¶é¢æ¥ãLLM åæä» JMA APIãOpenWeatherMap çè·åçè¿å¾æ°æ®ï¼çææ¸©åº¦ãéæ°´æ¦çãé£éççæé¢æ¥ã该系ç»å°æ¶é´åºåæ°æ®ç模å¼è¯å«ä¸ RAG çè¿å»ç¸ä¼¼æ§æ¨¡å¼æç´¢ç¸ç»åï¼å®ç°äºä¸ä¼ ç»ç»è®¡æ¨¡åäºè¡¥çé«ç²¾åº¦é¢æ¥ã",techStack:["å¤©æ° API 龿¥","LLM","RAG","æ¶é´åºåæ°æ®åæ","宿¶å¤ç"]},"local-llm":{title:"å
鍿å¡å¨ / On-Prem Local LLM",description:"æä»¬æä¾ä¸ºæ¨çä¸å¡è¿è¥é身å®å¶ç人工æºè½ï¼ä»¥å¼æ¾å¼ WebUI ä½ä¸ºéç¨å
¥å£ç¹ï¼ä½¿ç¨ Ollama/MLX å¿«éæ¨çééï¼å¹¶ä¸ºæ¯ä¸ª UID æä¾å®å
¨åç¦»çæ°æ®åï¼å¯å¨è´µå
¬å¸å
é¨éæ¶ä½¿ç¨ãå¨ RAG 䏿è·å
é¨ææ¡£ï¼å¹¶è¿è¡è±è¯åµå
¥åæ¥è¯èªå¨æ¥è¯¢ç¿»è¯ï¼åæ¶å®å
¨å°æ§è¡æ°é»æè¦ãææ¡£ç»ç»åæ¥å¸¸ä»»å¡çä¸å¡æè½ãæè½æ§è¡ç³»ç»ä½ä¸º OpenClaw 容å¨è¿è¡é离ï¼å¹¶åå°ä¸å± Cloudflare è¾¹ç¼åæ¬å° Nginx çä¿æ¤ãæä»¬ä¸ºæ¨¡åéæ©ãæè½è®¾è®¡åè¿è¡çç¥æä¾å
¨é¢æ¯æï¼å¹¶ä»¥é¨ç½²å½å¤©å³å¯ä½¿ç¨çå½¢å¼å¯å¨è´µå
¬å¸çä¸ç¨äººå·¥æºè½ã",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"è¡æé
轨éå°è¾¾é¢æµ (AI)",description:"å¼åäºä¸ä¸ªç³»ç»ï¼éè¿ä»ç¾å½èªå¤©å±åºç¨ç¨åºæ¥å£è·åè¡æä½ç½®æ°æ®ã轨éè¦ç´ åéååæ°ï¼åæè¡æé
转移çæä½³åºåç¹ãä½¿ç¨ API å Python 计ç®èèéæ¼è½¬ç§»è½¨éåéåè¾
å©ç轨é计ç®ç»æï¼å¹¶æ¾ç¤ºåå°çªå£ãæéæ¶é´åçææçã该系ç»è¢«ç¨ä½æè²æºæåèªå¤©ç¸å
³å
¬å¸ç模æå·¥å
·ã*ç®åå·²å é¤äººå·¥æºè½åè½ï¼æ£å¨ä½¿ç¨ API å Python è¿è¡è®¡ç®ã",techStack:["NASA API (Horizons, SPICE)","轨éå¨åå¦è®¡ç®","Python","æ°æ®å¯è§å"]},"real-estate":{title:"æ¿å°äº§æ°æ® AI åæ",description:"å¼åäºä¸ä¸ªç³»ç»ï¼éè¿ç½ç»æå®æ¶éç¹å®å°åºçæ¿å°äº§ä¿¡æ¯ï¼å¹¶ä½¿ç¨ LLM å Python è¿è¡é«çº§æ°æ®åæãç³»ç»æåäºæ¿äº§ä»·æ ¼ãåªæ°åä»·ãæ¥¼é¾å车ç«è·ç¦»çåéï¼å¹¶èªå¨çæä»·æ ¼è¶å¿åæãå¸åºé¢æµåæèµåæ¥æ¨¡æã
254æ¤å¤ï¼è¿ä½¿ç¨ LLM ä»éç»æåçç©ä¸æè¿°ä¸æåç¹å¾ï¼ç»åå®éæ°æ®æä¾å
¨é¢çå¸åºåæã*ç°æä¾ç¬¬äºçï¼å®æ´çåç¬æä¾ï¼",techStack:["ç½ç»æå®ï¼ScrapyãPlaywrightï¼","Python","大çç«","æ³å¦ç¡å£«åæ","æ°æ®å¯è§å"]},"fortune-ai":{title:"åå¤§æ¯æ±äººå·¥æºè½è¯ä¼°ç³»ç»",subtitle:"ç¨ææ¯åç°ä¼ ç»æºæ
§",paragraphs:["Four Pillars of Divinationï¼åæ±å åï¼æ¯ä¸æ¹æ°åå¹´å 忝çç»æ¶ã该系ç»å®å
¨ä½¿ç¨ Python éç°äºä¼ ç»çå åé»è¾ï¼å¹¶ç»åä½¿ç¨ LLMï¼å¤§åè¯è¨æ¨¡åï¼è¿è¡è§£éåçæå»ºè®®ã人工æºè½å¿ å®åç°äºç®å½ä¸å®¶çè¯ä¼°è¿ç¨ã","è¾å
¥åºçæ¥æãæ¶é´åå°ç¹åï¼ç³»ç»ä¼ä»å¤©æ API 䏿£ç´¢å½æ¶çæ¥åºæ¥è½æ¶é´ååæ ä¿¡æ¯ãæ ¹æ®è¿äºæ°æ®ï¼ç³»ç»ä¼å确计ç®åºåäºçèãåç¥åäºè¡å¹³è¡¡ãåºäºåæ±å½çå åç§å¦çé»è¾è¢«ç¼å
¥ Python ç´¢å¼ï¼å¹¶ä¸ç»è®¡æ°æ®å RAGï¼æ£ç´¢å¢å¼ºçæï¼ä¿¡æ¯ç¸ç»åï¼ä»¥æé«å½å¼åæçåç¡®æ§ã","LLM ä¼ç¨èªç¶è¯è¨éä¿ææå°è§£é计ç®åºççæ´»æ¹å¼æ°æ®ãçæä¸ªæ§åçè¯ä¼°ç»æï¼å
æ¬æ¨çè¿å¿æµåã人é
å
³ç³»çå
¼å®¹æ§ä»¥åé忍çèä¸ãæ¨å¯ä»¥è·å¾ä¸å¨è¯¢ä¸ä¸ç®å½å¸ä¸æ ·æ·±å
¥ççæ¡ã","ç®åæç¬¬äºä¸ªçæ¬ãæ¨å¯ä»¥è¯ç¨åºæ¬çå½çåæåè¿å¿åæã宿´çå
æ¬æ´è¯¦ç»çåæå夿¹é¢ç建议ï¼å¯åç¬è´ä¹°ã"],techStack:["Python","天æ APIï¼æ¥åºæ¥è½ãæ¶åºæ°æ®åºï¼","åå¤§æ¯æ±é»è¾","LLM","åæ åæ¶é´è®¡ç®"]},"google-workspace":{title:"Google Workspace AI integration",description:"å¼åäºä¸ä¸ªå°è°·æå·¥ä½ç©ºé´ï¼GmailãDriveãCalendarãDocsãSheetï¼ä¸ LLM ç¸ç»åçç³»ç»ï¼ç¨äºè¯»åãç¼è¾åèªå¨å¤çä¸å¡æ°æ®ã人工æºè½å¯åå©å®ææ¥å¸¸ä»»å¡ï¼å¦æ±æ»çµåé®ä»¶å
容ãçæèªå¨åå¤è稿ãæç´¢ååæ Drive æä»¶ã仿¥å䏿忥ç¨å®æå¹¶æåºè°æ´å»ºè®®ãæ¤å¤ï¼è¿å¯éè¿å¸¦ OAuth 身份éªè¯çå®å
¨ API è¿æ¥å符å MCP æ åçå·¥å
·è®¾è®¡ï¼ä»ä»£çä¸å®ç°å·¥ä½åºæä½ã第äºçç°å·²æ¨åºï¼å®æ´çå°å¦è¡æä¾ï¼ã",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"ä¸çæ°é»æ¥ãå¤è¯å",description:"å¼åä¸ä¸ªç³»ç»ï¼ä»ä¸çåå°çæ°é»æ¥æºå®æ¶æ¶éæç« ï¼å¹¶ä½¿ç¨ LLM è¿è¡å¤è¯è¨ç¿»è¯ãæè¦ååç±»ãå°è±æãä¸æãæ³æãé¿æä¼¯æåå
¶ä»è¯è¨çåå§æç« ç¿»è¯ææ¥æï¼å¹¶æä¸»é¢è¿è¡æ´çã髿çå½é
æ°é»çæµä¸æ¯éè¿ç®åçæºå¨ç¿»è¯å®ç°çï¼èæ¯éè¿ä½¿ç¨ LLM è¿è¡ä¸ä¸æçè§£çèªç¶ç¿»è¯åæåæç« è¦ç¹çæè¦çæå®ç°çã*ç°æä¾ç¬¬äºçï¼å®æ´çåç¬æä¾ï¼ã",techStack:["æ°é»åºç¨ç¨åºæ¥å£","RSS æ¶è","æ³å¦ç¡å£«ç¿»è¯åæè¦","å¤è¯è¨å¤ç","èªå¨åç±»","è®¡åæ¹å¤ç"]},"security-monitoring":{title:"å®å
¨æ¥å¿çæ§ AI 管çå¨",description:"å©ç¨ LLM å¼åäºä¸ä¸ªå®æ¶çæ§ä¼ä¸å®å
¨æ¥å¿åé«çº§å¨èæ£æµä¸åæç³»ç»ãéè¿ Python æ¨¡åæ¶éååæé²ç«å¢ãIDS/IPSã身份éªè¯æ¥å¿ååºç¨ç¨åºæ¥å¿çåç§æ¥å¿æºï¼å¹¶ä¸ RAG ä¸ç§¯ç´¯çè¿å¾æ»å»æ¨¡å¼ãæ¼æ´ä¿¡æ¯åäºä»¶æ¡ä¾è¿è¡æ¯è¾ã彿£æµå°å¼å¸¸æ¨¡å¼æ¶ï¼LLM ä¼ç¨èªç¶è¯è¨è§£éå¨è级å«ãå½±åèå´å建议çåºå¯¹æªæ½ï¼å¹¶ç«å³åè´è´£äººååºè¦æ¥ã妿å䏿¨¡å¼å次åºç°ï¼åä¼èªå¨ååºé«ä¼å
çº§è¦æ¥ï¼ä»¥å å¿«äºä»¶ååºé度ã",techStack:["Python çæ§æ¨¡å","æ¥å¿æ¶éï¼FluentdãLogstashï¼","RAG","å¨èæ¨¡å¼æ°æ®åº","æ³å¦ç¡å£«åæ","è¦æ¥éç¥ï¼SlackãPagerDutyï¼"]}}},Dx={learnMore:"æ´å¤ä¿¡æ¯",getStarted:"å¼å§...",contactUs:"èç³»æä»¬",backToHome:"è¿åé¦é¡µ"},zx={title:"éç§æ¿ç",subtitle:"éç§æ¿ç",lastUpdated:"æåæ´æ°æ¥æï¼2026 å¹´ 1 æ 23 æ¥",intro:'telet.aiï¼ä»¥ä¸ç®ç§° "æ¬æå¡"ï¼å°ä¿æ¤æ¨ç个人信æ¯è§ä¸ºä¸é¡¹éè¦è´£ä»»ï¼å¹¶å¶å®äºä»¥ä¸éç§æ¿çã',sections:{collection:{title:"1. è¦æ¶éçä¿¡æ¯",description:"彿¨ä¸æä»¬èç³»æä½¿ç¨æ¬æå¡æ¶ï¼æ¬æå¡å¯è½ä¼æ¶é以ä¸ä¿¡æ¯ã",items:["çµåé®ä»¶å°å","æ¨çå§åï¼å¯éï¼","å¨è¯¢è¯¦æ
","æ¨èªæ¿æä¾çå
¶ä»ä¿¡æ¯"]},purpose:{title:"2. 使ç¨ä¿¡æ¯çç®ç",description:"ææ¶éç个人信æ¯ä»
ç¨äºä»¥ä¸ç®ç",items:["åçåçå¤è¯¢é®","èç³»æ¹å¼åæå¡ä¿¡æ¯","项ç®è¿å±æéçæ²é","为æ¹è¿æå¡èè¿è¡çåæï¼éç¨ä¸è¯å«ä¸ªäººèº«ä»½çæ ¼å¼ï¼"]},thirdParty:{title:"3. åç¬¬ä¸æ¹æä¾",description:"é¤ä»¥ä¸æ
åµå¤ï¼æ¬æå¡ä¸ä¼å°æ¨çä¸ªäººä¿¡æ¯æä¾ç»ç¬¬ä¸æ¹",items:["妿客æ·åæ","æ ¹æ®æ³å¾æ³è§è¦æ±å
¬å¼æ¶","ä¸ºä¿æ¤æäººççå½ãèº«ä½æè´¢äº§èæå¿
è¦æ¶"]},security:{title:"4. ä¿¡æ¯ç®¡ç",description:"æ¬æå¡å°å¦¥åç®¡çæ¶éç个人信æ¯ï¼å¹¶éååççå®å
¨æªæ½ï¼é²æ¢æªç»ææç访é®ãä¸¢å¤±ãæ³æ¼å篡æ¹ã"},email:{title:"5. çµåé®ä»¶çå¤ç",description:"æ¬æå¡å°æ ¹æ®ä»¥ä¸æ¿çå¤ççµåé®ä»¶ã",items:["æä»¬ä»
å°æ¨ççµåé®ä»¶å
容ç¨äºå夿¨ç询é®åæä¾æä»¬çæå¡ã","æä»¬ä¸ä¼åä»»ä½ç¬¬ä¸æ¹åºå®ãåºç§æå
±äº«æ¨ççµåé®ä»¶å°å","æä»¬å¯è½ä¼åæ¨åéæå
³æä»¬æå¡çä¿¡æ¯çµåé®ä»¶ãå¦ææ¨æ³åæ¶è®¢é
ï¼è¯·ä½¿ç¨çµåé®ä»¶ä¸çåæ¶è®¢é
龿¥ï¼æä½¿ç¨ä¸é¢çè系信æ¯ä¸æä»¬èç³»ã","çµåé®ä»¶éä¿¡éç¨ SSL/TLS å å¯ï¼ä»¥ç¡®ä¿éä¿¡å®å
¨","æä»¬ä¼å¨é彿¶é´å
å®å
¨å 餿¨ççµåé®ä»¶ã"]}
254,cookies:{title:"6. cookie ç使ç¨",description:"æ¨å¯ä»¥å¨æµè§å¨è®¾ç½®ä¸ç¦ç¨ Cookieã"},external:{title:"7. 使ç¨å¤é¨æå¡",description:"æ¬æå¡å¯è½ä½¿ç¨ä»¥ä¸å¤é¨æå¡ãæå
³å项æå¡çéç§æ¿çï¼è¯·åé
ç¸åºé¾æ¥ã",items:["Google Analytics (access analysis)","ä¸å¡è¿è¥æéçå
¶ä»äºæå¡"]},changes:{title:"8. éç§æ¿ççåæ´",description:"æ¬æ¿ç坿 ¹æ®æ³å¾æ³è§ç修订ææå¡å
容çåæ´è¿è¡ä¿®è®¢ï¼æä¸å¦è¡éç¥ã修订åçæ¿çå°å¨æ¬é¡µé¢åå¸åçæã"},contact:{title:"9. èç³»æä»¬",description:"妿æ¨å¯¹æ¬æ¿çæä»»ä½çé®ï¼è¯·éè¿ä»¥ä¸æ¹å¼èç³»æä»¬",company:"telet.ai",contactLink:"转å°å¨è¯¢è¡¨"}}},Tx={title:"ä½¿ç¨æ¡æ¬¾",subtitle:"è¿äºæ¯ä½¿ç¨æ¬ç½ç«ä»¥åå telet.ai é¢çº¦å¨è¯¢ãæ¥è¯¢åç´¢åä¿¡æ¯çæ¡æ¬¾åæ¡ä»¶ã",lastUpdated:"æåæ´æ°æ¥æï¼2026 å¹´ 1 æ 22 æ¥",intro:'æ¬ä½¿ç¨æ¡æ¬¾ï¼ä»¥ä¸ç®ç§° "æ¡æ¬¾"ï¼ æ¬ä½¿ç¨æ¡æ¬¾ï¼ä»¥ä¸ç®ç§° "æ¡æ¬¾"ï¼éç¨äºç± telet.aiï¼ä»¥ä¸ç®ç§° "æä»¬"ã"æä»¬ç "æ "æä»¬ç"ï¼è¿è¥çç½ç«ã(以ä¸ç®ç§° "æä»¬"ã"æä»¬ç "æ "æä»¬ç"ï¼è¿è¥çç½ç«ã(æ¬ç½ç«ç± telet.aiï¼ä»¥ä¸ç®ç§° "æä»¬"ï¼è¿è¥ãï¼æ¬ç½ç«ä¸»è¦ä½ä¸ºå¨è¯¢é¢çº¦ãæ¥è¯¢åæä»¶è¯·æ±çç»é页é¢ï¼ä¸æä¾è´¦æ·å建æä»è´¹ç»ç®åè½ã',sections:{scope:{title:"1. éç¨èå´",description:'æ¬æ¡æ¬¾åæ¡ä»¶éç¨äºæ¬ç½ç«çææè®¿é®è
åç¨æ·ï¼ä»¥ä¸ç®ç§° "ç¨æ·"ï¼ãä½¿ç¨æ¡æ¬¾éç¨äºæ¬ç½ç«çææè®¿é®è
åç¨æ·ï¼ä»¥ä¸ç®ç§° "ç¨æ·"ï¼ã妿æä»¬ä¸ç¨æ·ä¹é´ç¾è®¢äºåç¬çä¿å¯åè®®ãå¤å
åè®®ã个人ååçï¼åæ¤ç±»æä»¶ä¼å
äºæ¬æ¡æ¬¾åæ¡ä»¶ã'},prohibited:{title:"2. è¿ç¦ç©å",description:"å¨ä½¿ç¨æ¬ç½ç«æ¶ï¼ç¨æ·ä¸å¾æä»¥ä¸è¡ä¸º",items:["è¿åæ³å¾æ³è§æå
¬åºè¯ä¿çè¡ä¸º","ä»»ä½ä¾µç¯æä»¬æä»»ä½ç¬¬ä¸æ¹ç¥è¯äº§æãéç§æå
¶ä»æå©æå©ççè¡ä¸º","éè¿æªç»ææç访é®ãè¿åº¦è´è½½ãç ´åçæ¹å¼å¹²æ°æ¬ç½ç«æç¸å
³ç³»ç»è¿è¡çè¡ä¸ºã","卿¥è¯¢è¡¨æ ¼çä¸æäº¤èåä¿¡æ¯æåå
ç¬¬ä¸æ¹ã","æªç»æä»¬äºå
许å¯ï¼è¿è¡å®æ¦ï¼éåå·¥ç¨æè¿åº¦èªå¨è®¿é®"]},disclaimer:{title:"3. å
责声æ",description:'æä»¬ä»¥ "ç°ç¶ "å "å¯ç¨ "为åºç¡æä¾æ¬ç½ç«ã卿³å¾å
许çæå¤§èå´å
ï¼æä»¬å¯¹æ¬ç½ç«ä¸ä½ä»»ä½ä¿è¯ã',items:["æ¬ç½ç«ä¿¡æ¯å¦ææ´æ¹æå é¤ï¼æä¸å¦è¡éç¥ã","æä»¬ä¸ä¿è¯æ¬ç½ç«ä¿¡æ¯çåç¡®æ§ã宿´æ§æéç¨äºç¹å®ç¨éã","对äºå æ¨ä½¿ç¨æ¬ç½ç«æä¾èµæ¬ç½ç«æå«ä¿¡æ¯èé æçä»»ä½æå¤±ï¼æä»¬æ¦ä¸è´è´£ã","对å¨è¯¢åæ¥è¯¢ççå¤ä»
ä¾åèï¼ä¸æææ³å¾ãç¨å¡ãå»çæå
¶ä»ä¸ä¸å»ºè®®ã"]},ip:{title:"4. ç¥è¯äº§æ",description:"æ¬ç½ç«ä¸çææ¬ãå¾åã设计ãåæ ãå¾½æ ççæææå©åå±äºæä»¬æåæ³æå©äººãæªç»æå©äººè®¸å¯ï¼ä¸å¾ä½¿ç¨ã"},links:{title:"5. å¤é¨ç½ç«é¾æ¥",description:"æ¬ç½ç«å¯è½å
å«ç¬¬ä¸æ¹ç½ç«ç龿¥ãæä»¬ä¸å¯¹é¾æ¥ç½ç«çå
容æè¿è¡è´è´£ã"},changes:{title:"6. æ¬æ¡æ¬¾åæ¡ä»¶çä¿®æ¹",description:"æä»¬ä¿çå¨å¿
è¦æ¶éæ¶æ´æ¹è¿äºæ¡æ¬¾åæ¡ä»¶çæå©ã修订åçä½¿ç¨æ¡æ¬¾å°å¨ç½ç«ä¸å
¬å¸åçæã"},governingLaw:{title:"7. åæ®æ³åç®¡è¾æ",description:"æ¬æ¡æ¬¾åæ¥æ¬æ³å¾ç®¡è¾å¹¶ä¾å
¶è§£éãå æ¬ç½ç«å¼èµ·æä¸æ¬ç½ç«æå
³çä»»ä½äºè®®ï¼ä»¥ä¸äº¬å°æ¹æ³é¢ä¸ºç¬¬ä¸å®¡ä¸å±ç®¡è¾æ³é¢ã"},contact:{title:"8. èç³»æä»¬",description:"妿æ¨å¯¹è¿äºæ¡æ¬¾åæ¡ä»¶æä»»ä½çé®ï¼è¯·èç³»",company:"telet.ai",contactLink:"转å°å¨è¯¢è¡¨"}}},Ex={title:"常è§å¨è®®",subtitle:"人工æºè½é¢æµ",description1:"åå½å®æ¶æä¾å¤©æ°ä¿¡æ¯ãæ¨çå½å®¶æ¾ç¤ºå¨å°å¾ä¸å¤®ãæ¨å¤©ç天æ°åä»å¤©ç天æ°é½æ¯å®é
è®°å½ââé£äºé¨äºåºè¯¥å¨é£ä¸ªæ¥æåæ¶é´åºç°å¨æ¨ç天空ä¸ã",description2:"ä¸è¿ï¼è¿ä¸ªå¨ç»è¿è½æ¼ç¤ºæªæ¥ç天æ°ååã",description3:"ç¢éè¿å¾æ°æ®å¹¶é«éæç´¢æ¨¡å¼ãå¤©æ°æ¨¡å¼ä¹å¯ä»¥ä»å¨å´ç¯å¢ä¸é¢æµåºæ¥ãåæ ·ï¼éè¿è®¡ç®ç¯å¢ä¸çè¦ç´ (i)åè¿å»ä¸ç»©ä¸çé«çº§ç»è®¡å¼ï¼å¹¶è®©äººå·¥æºè½è¿è¡åæï¼ä¹å¯ä»¥é¢æµæ¶æãç产åé宿
åµã",refresh:"å·æ°",loading:"æ£å¨å 载天æ°å¾..."},Rx={hero:{badges:["ä¼ä¸","æ¬å°æ³å¾ç¡å£«","æµ·å
³ä»£ç"],title:"é¢åä¼ä¸ç人工æºè½ä»£ç设计ä¸å¼å",description:"æ ¹æ®ä¸å¡éæ±è®¾è®¡åæå»ºä¸ç¨ç人工æºè½ä»£ç"},mission:{title:"å®å¶äººå·¥æºè½ä»£çå¼åæå¡",description:"ä»è®¾è®¡å°å®æ½åè¿è¡ï¼æä»¬å§ç»åæå¼åå®å¶ç人工æºè½ä»£çï¼ä»¥è§£å³è´µå
¬å¸ç¬ç¹çä¸å¡é®é¢ãæä»¬çæ¶æè®¾è®¡å¼ºè°ä¸ç°æå
³é®ä»»å¡ç³»ç»å SaaS ç¯å¢çå
¼å®¹æ§ï¼å®ç°ä¸ APIãæ°æ®åºåå
é¨å·¥å
·ç顺å©éæãæä»¬çå·¥ç¨å¸çæ LangChainãAutoGenãCrewAI åå
¶ä»ä¸»è¦æ¡æ¶ï¼å¹¶ä¼æ ¹æ®è´µå
¬å¸çææ¯æ åè¿è¥ç»ææåºæä½³è§£å³æ¹æ¡ãæä»¬ä¸ä»
å¼å䏿¬¡æ§è天æºå¨äººï¼è¿æå»ºå¤ä»£çç³»ç»ï¼è®©å¤ä¸ªä»£çç¸ä
254ºå使§è¡ä»»å¡ï¼å¹¶æå»ºä¸å¤é¨å·¥å
·ååå·¥ä½ç代ç工使µãæä»¬æ¯æéè¿é¿æå使大å人工æºè½ä»£ç带æ¥çåä¸ä»·å¼ï¼å
æ¬å®æ½åçæç»æ¹è¿ãæ¨¡åæ´æ°åè¿è¥çæ§ç³»ç»çç»´æ¤ã",imageAlt:"å®å¶äººå·¥æºè½ä»£çå¼åæå¡"},summary:{title:"代çåå±è¶å¿",paragraphs:['ä» 2025 å¹´å° 2026 å¹´ï¼AI Agent çå屿£ä»ç¤ºèé¶æ®µè¿å
¥ä¼ä¸å
¨é¢å®æ½é¶æ®µãAgentic AI "çæ¦å¿µå·²ç»æ·±å
¥äººå¿ï¼è¶
è¶å纯è天æºå¨äººçèªä¸»ä¸å¡æ§è¡ç³»ç»å·²å¼å§å¨åè¡åä¸è¿è¡ã','ç´æ¥æ§å¶æµè§å¨åæ¡é¢ç "è®¡ç®æºä½¿ç¨ä»£ç"ï¼å¦ OpenAI ç OperatorãAnthropic ç Computer Use åè°·æç Project Marinerï¼å·²æä¸ºç°å®ã模åä¸ä¸æåè®®ï¼MCPï¼æ¯ä¸ä¸ªè¬ååå±ççæç³»ç»ï¼å¯å®ç°ä¸æ°åç§å·¥å
·ç峿å³ç¨éæã',"å¤ä»£çæ¶æå·²è¶äºæçï¼ä¸é¨ç代çå
±åæ§è¡å¤æçä»»å¡ï¼å¦é¡¹ç®ç®¡çãå®¢æ·æ¯æåæ°æ®åæãA2Aï¼Agent-to-Agentï¼åè®®æ ååä¹ä¸ºä¸åä¾åºåä¹é´ç代çåä½å¸¦æ¥äºè¿å±ã",'å¨ä¼ä¸å®æ½æ¹é¢ï¼æ²»ç模å¼å·²ä» "人å¨ç¯ä¸ "åå±å° "人å¨ç¯ä¸"ï¼å¹¶å°ä»£çå³çå审计æºå¶ååºäºé£é©ç级çèªå¨å级ä½ä¸ºæ ååè½ï¼å éäºéèãå»çåå¶é çåç管è¡ä¸å¯¹è¯¥ç³»ç»çéç¨ã该系ç»å¨éèãå»çåå¶é ä¸çåç管è¡ä¸çåºç¨æ£å¨å éã']},features:{title:"设计ä¸å¼å",subtitle:"设计ä¸å¼å",items:[{title:"æ ¹æ®ä¸å¡éæ±è¿è¡ä»£ç设计",description:"ä»ä¸å¡æµç¨åæä¸æåç¨ä¾ï¼å解任å¡å¹¶æç¡®ä»£çèè´£ãæä»¬ç¡®å®å¤çè¿ç¨æ¯å¯ä»¥ç±å个代ç宿ï¼è¿æ¯éè¦å¤ä»£çåè°ï¼å¹¶éæ©æä½³æ¨ç模å¼ï¼å¦ ReActãPlan-and-Execute å Reflexionã"},{title:"RAG / å·¥å
· / 工使µç¨éæ",description:"ç»ååµå
¥çæãåçç¥åæ··åæç´¢çé«ç²¾åº¦ RAG 管éï¼éè¿ MCP å
¼å®¹å·¥å
·å®ä¹ä¸å¤é¨ API åæ°æ®åºçæ ååè¿æ¥ï¼ä»¥åä½¿ç¨ LangGraph å CrewAI åè°å¤æ¥éª¤å·¥ä½æµãä½¿ç¨ LangGraph å CrewAI åè°å¤æ¥éª¤å·¥ä½æµã"},{title:"å®å
¨åææè®¾è®¡",description:"éè¿ RBAC/ABACãPrompt Injection é²èæªæ½ä»¥å PII æ£æµåå±è½ï¼å¯¹ä»£çåè½å®æ½è®¿é®æ§å¶ãä¿çææè¾å
¥åè¾åºç审计æ¥å¿ï¼å¹¶æ¯æç¬¦å SOC2 å ISO27001 æ åçç¯å¢æä½ã"},{title:"宿½å
æ¬è¿è¡åçæµ",description:"å©ç¨ LangSmithãLangfuse çå®ç°è·è¸ªå¯è§åï¼å¹¶å®æ¶çæ§å»¶è¿ãä»¤çæ¶èåé误çãå»ºç«æç»æ¹è¿å¨æï¼å
æ¬å¼å¸¸æ£æµè¦æ¥ãA/B æµè¯åºç¡è®¾æ½ä»¥åæ´æ°æ¨¡åæ¶çå彿µè¯ã"}]},techStack:{title:"ææ¯å æ ",subtitle:"å¹³å°ä¸ææ¯",categories:{agentFramework:{title:"ä»£çæ¡æ¶",items:["èªå¨çæ 0.4 / AG2","CrewAI","LangGraph","OpenAI 代ç SDK","äººç±»å¦ MCP","Google ADK (Agent Development Kit)","è¯ä¹å
æ ¸","䏿代çå¹³å°"]},apiLayer:{title:"åºç¨ç¨åºæ¥å£å±",items:["FastAPI / Litestar","gRPC / è¿æ¥","GraphQL èç","æå¡å¨åéäºä»¶ï¼SSEï¼","WebSocket / NATS","OAuth 2.1 / OIDC","åºç¨ç¨åºæ¥å£ç½å
³ï¼éå/ç¹ä½¿ï¼","èªéåºéçéå¶"]},vectorDb:{title:"ç¢é DB / RAG",items:["æ¾æ","Weaviate","Qdrant","ç±³å°æ²æ¯","ChromaDB","pgvector","FAISS","æ¶¡è½®å¢åå¨"]}
254,infrastructure:{title:"åºç¡è®¾æ½",items:["Kubernetesï¼EKS / GKE / AKSï¼","Docker / Podman","å é¨ GPU é群","ç§æäº","æ æå¡å¨ï¼Lambda/äºè¿è¡ï¼","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"2026 å¹´çä¸»è¦æ´æ°ç¹",description:"å¨ä»£çæ¡æ¶æ¹é¢ï¼OpenAI Agents SDKãAnthropic MCP å Google ADK ç主è¦ä¾åºåç宿¹ SDK/åè®®æ£å¨å´èµ·ï¼å¨ API 屿¹é¢ï¼gRPC å SSE å·²æä¸ºä»£ç对代çéä¿¡çæ åï¼å OAuth 2.1 çè¿æ¸¡æ£å¨è¿è¡ä¸ãå¨ç¢éæ°æ®åºæ¹é¢ï¼Qdrant å Turbopuffer å å ¶é«éæç´¢èå¤åå ³æ³¨ã"}},cta:{title:"èç³»æä»¬",description:`æä»¬å¯ä»¥ä»éæ±å®æå¼å§ä¸æ¨ååã 255ä¹å¯ä»¥èè PoC åæ¬å° LLM é ç½®ã`,primaryButton:"èç³»æä»¬",secondaryButton:"ææ¯å¨è¯¢"}},Nx={title:"常è§é®é¢",subtitle:"常è§é®é¢",items:[{question:"æå¯ä»¥ä½¿ç¨ç°æçæåå常è§é®é¢è§£çèæ éä¿®æ¹åï¼",answer:"æ¯çï¼æ¨å¯ä»¥ä½¿ç¨å®ï¼å®æ¯æå¤§å¤æ°æ ¼å¼ï¼å æ¬ PDFãWordãExcelãHTML åææ¬æä»¶ãåªéä¸ä¼ æ¨ç°æçå é¨ææ¡£ï¼äººå·¥æºè½å°±ä¼å¦ä¹ å ¶ä¸çå å®¹å¹¶ç¨æ¥åçæ¨çé®é¢ãæ éè¿è¡æ ¼å¼è½¬æ¢æç¹æ®å¤çã"},{question:"使ç¨å 嫿æä¿¡æ¯çæ°æ®æ¯å¦å®å ¨ï¼",answer:"æ¯çï¼æ¨å¯ä»¥å®å ¨å°ä½¿ç¨æä»¬çæå¡ãæ 论æ¯å¨å é¨ï¼å 鍿å¡å¨ï¼è¿æ¯å¨ç§æäºç¯å¢ä¸ï¼æ°æ®é½ä¸ä¼ä¼ è¾å°å ¬å¸å¤é¨ãæä»¬å¯ä»¥æ ¹æ®æ¨çå®å ¨è¦æ±æåºé 置建议ã"},{question:"宿½éè¦å¤é¿æ¶é´ï¼",answer:"ä¸ä¸ªæ åç常è§é®é¢æºå¨äººæå¿«å¯å¨ 2-4 å¨å 宿ã妿éè¦ä¸ç°æç³»ç»éææè¿è¡é«çº§å®å¶ï¼æä»¬é¢è®¡éè¦ 1-3 个æãæä»¬è¿å¯ä»¥ä»å°è§æ¨¡ç PoCï¼æ¦å¿µéªè¯ï¼å¼å§ã"},{question:"æ¨æ¯å¦ä½¿ç¨ ChatGPT æ Claude çå¤é¨ APIï¼",answer:"坿 ¹æ®è¦æ±è¿è¡éæ©ãæä»¬æ¢æ¯æä½¿ç¨å¤é¨ APIï¼OpenAIãAnthropicãGoogle çï¼çé ç½®ï¼ä¹æ¯æä½¿ç¨å®å ¨æ¬å°è¿è¡ç弿º LLMï¼LlamaãMistralãQwen çï¼çé ç½®ãæä»¬å¯ä»¥æ ¹æ®æ¨çææ¬ãå®å ¨æ§åæ§è½è¦æ±æåºæä½³é ç½®ã"},{question:"人工æºè½çååºæå¤åç¡®ï¼",answer:"æ ¹æ®ä¸åçåºç¨åæ°æ®è´¨éï¼è®¾è®¡åçç RAG ç³»ç»å¯ä»¥å¯¹åå¨ç¸å ³æä»¶çé®é¢è¿ååç¡®ççæ¡ï¼åç¡®çå¯è¾¾ 90% ææ´é«ãæ¤å¤ï¼ç³»ç»è¿å ç½®äºæ åçé²éæºå¶ï¼çæé误信æ¯ï¼ã"},{question:"ä½ ä»¬æ¯ææ¥è¯ä»¥å¤çè¯è¨åï¼",answer:"æ¯çï¼æä»¬æä¾å¤è¯è¨æ¯æãæä»¬æ¯æææä¸»è¦è¯è¨ï¼å æ¬æ¥è¯ãè±è¯ã䏿åé©è¯ãä¸ä¸ªç³»ç»å³å¯å¤çå¤è¯è¨æ¥è¯¢ï¼èæ é为æ¯ç§è¯è¨åå«å»ºç«æ¨¡åã"},{question:"è½å¦ä¸ç°æç³»ç»ï¼å®¢æ·å ³ç³»ç®¡çç³»ç»ãèå¤©å·¥å ·çï¼éæï¼",answer:"æ¯çï¼å®å¯ä»¥éæï¼å®æ¯æä¸ SalesforceãHubSpotãSlackãMicrosoft Teams å LINE WORKS ç主è¦ä¸å¡å·¥å ·è¿è¡ API éæãæ¨å¯ä»¥å¨ä¸æ¹åç°æå·¥ä½æµç¨çæ åµä¸éæäººå·¥æºè½å©æã"},{question:"ä½ ä»¬çæ¶è´¹ç»ææ¯ææ ·çï¼",answer:"è¿åå³äºé¡¹ç®çè§æ¨¡åè¦æ±ãä¸è¬æ¥è¯´ï¼åå§å»ºè®¾è´¹åæ¯æè¿è¥è´¹æ¯åå¨ä¸èµ·çï¼ä½æä»¬ä¹æ¥ååªæä¾ç°åºå¼åæå¨è¯¢æå¡çè¦æ±ã请å åè¯æä»¬æ¨çè¦æ±ãæä»¬å°ä¸ºæ¨æä¾ä¸ä¸ªç²ç¥çä¼°ç®ã"}]},Gx={title:"è´¹ç计å",subtitle:"å®ä»·è®¡å",description:"éåä¼ä¸è§æ¨¡ççµæ´»è®¡å",plans:[{name:"å¯å¨å¨",price:"29 800 æ¥å ",period:"æ¯æ/ç¨æ·",description:"å°åå¢éçæä½³æ¹æ¡ãåºæ¬ç人工æºè½åè½ï¼ä»·æ ¼åçã",features:["æ¯ææå¤ 100 次éè¯","åºæ¬è½¬å½","å ³é®è¯æ£æµ","çµåé®ä»¶æ¯æ","7 å¤©æ°æ®ä¿ç"],cta:"å è´¹å¼å§",popular:!1},{name:"ä¸ä¸",price:"Â¥79,800",period:"æ¯æ/ç¨æ·",description:"æé¿åå¢éççæ³éæ©ãå è¿çåæåè½ã",features:["æ¯ææå¤ 500 次éè¯","é«ç²¾åº¦äººå·¥æºè½è½¬å½","æ æåæ","客æ·å ³ç³»ç®¡çè¿æ¥","ä¼å æ¯æ","30 å¤©æ°æ®ä¿ç","èªå®ä¹æ¥å"],cta:"14 天å è´¹è¯ç¨",popular:!0},{name:"ä¼ä¸",price:"èç³»æä»¬",period:"é£ä¿",description:"é¢åå¤§åæºæçå ¨åè½è®¡å",features:["æ ééè¯","ä¸ç¨äººå·¥æºè½æ¨¡å","ç°åºæ¯æ","ä¸ç¨æ¯æ","å®å¶åä½","æå¡æ°´å¹³åè®®ä¿è¯","å®å ¨å®¡è®¡","æ éæ°æ®ä¿ç"],cta:"å¨è¯¢éå®äººå",popular:!1}],faq:{title:"常è§é®é¢",items:[{question:"æå è´¹è¯ç¨åï¼",answer:"æ¯çï¼ä¸ä¸è®¡åæä¾ 14 天å è´¹è¯ç¨ãå¼å§ä½¿ç¨æ éä¿¡ç¨å¡ã"},{question:"æå¯ä»¥éæ¶æ´æ¹è®¡ååï¼",answer:"æ¯çï¼æ¨å¯ä»¥éæ¶å级æé级æ¨ç计åãæ´æ¹å°ä»ä¸ä¸ä¸ªè´¦å卿å¼å§çæã"},{question:"æååæ¡æ¬¾çº¦æåï¼",answer:"æç§è®¡å没æååæééå¶ã妿æ¨éæ©å¹´åº¦ååï¼å°äº«å 20% çææ£ã"}]}},Ox={hero:{badge:"人工æºè½ææ¯",title:"人工æºè½è½¬å½",description:"å è¿çæºå¨å¦ä¹ 模åå¯æä¾ 99.5% çåç¡®çãç»è¿æ°ç¾ä¸å®¢æ·äºå¨æ°æ®è®ç»ç人工æºè½å¯å°è¯é³è½¬æ¢ä¸ºææ¬ã",features:["99.5% çåç¡®ç","宿¶å¤ç","æ¯æ 40 å¤ç§è¯è¨"]},features:{title:"主è¦åè½",subtitle:"å è¿ç转å½å¼æï¼è¶ è¶äºç®åçè¯é³è¯å«åè½",items:[{title:"宿¶è½¬å½",description:"å¨å¯¹è¯è¿ç¨ä¸è·å宿¶è®°å½ãè·å¾å³æ¶æ´å¯åï¼ä¸éè¿ä»»ä½ä¸ä¸ªå®æ¶è¾ 导æºä¼ã"},{title:"å¤ç§è¯è¨æ¯æ",description:"æ¯æ 40 å¤ç§è¯è¨ï¼éè¿èªå¨è¯è¨æ£æµè¦çå ¨çå¢éã"},{title:"è¯å¢çè§£",description:"æ ¹æ®ç¹å®è¡ä¸æ¯è¯è®ç»ç人工æºè½æ¨¡åå¯åç¡®è¯å«ææ¯åå䏿¯è¯ã"},{title:"æ¬å£°å¨å离",description:"èªå¨è¯å«ååºå对è¯ä¸çä¸å说è¯è ï¼å¹¶åé æç¡®ç说è¯è 屿§ã"},{title:"èªå®ä¹è¯å ¸",description:"å¦ä¹ è´µå ¬å¸ç¬ç¹ç产ååç§°ãæå¡åç§°åä¸ä¸æ¯è¯ï¼å¯æé«åç¡®æ§ã"},{title:"è´¨éä¿è¯",description:"èªå¨è´¨éæ£æ¥åå¯é æ§è¯åå¯ç¡®ä¿æé«è´¨éç转å½ã"}]},useCases:{title:"使ç¨åºæ¯",subtitle:"éè¦åç¡®çµè¯è½¬å½çè¡ä¸åå¢é",items:[{title:"éå®å¢é",de
255scription:"åæéå®æè®¿ï¼æ¾åºæå模å¼ãæé«è°è¯æçï¼ä»¥å
·ä½å®ä¾æå¯¼å¢éæåã"},{title:"å®¢æ·æ¯æ",description:"å确记å½å®¢æ·é®é¢ãç»´æ¤å
¨é¢çæ¯æåå²è®°å½ï¼ç¡®ä¿å§ç»å¦ä¸çæå¡è´¨éã"},{title:"è´¨éæ§å¶",description:"çæ§åè§æ
åµï¼ç¡®ä¿éµå®èæ¬ã为审计åå¹è®ä¿å详ç»è®°å½ã"}]},stats:{accuracy:{value:"99.5%",label:"èªååç¡®æ§"},languages:{value:"40+",label:"æ¯æçè¯è¨"},latency:{value:"<2 ç§ã",label:"å 工延è¿"},availability:{value:"24/7",label:"è¿ç»å å·¥"}}},Bx={hero:{badge:"æºè½æ£æµ",title:"å
³é®è¯è·è¸ª",description:"èªå¨çæ§ç«äºå¯¹æçæåãå驳åéè¦è¯é¢ãä¸éè¿å®¢æ·å¯¹è¯ä¸çéè¦ä¿¡å·ã",badges:["ç«äºè¿½è¸ª","ååºæ£æµ","主é¢åæ","èªå®ä¹å
³é®å"]},features:{title:"è·è¸ªå
³é®ä¿¡æ¯",subtitle:"èªå¨æ£æµååæææå¯¹è¯ä¸çå
³é®è¯",items:[{title:"ç«äºçæµ",description:"è·è¸ªç«äºå¯¹æçæåæ
åµï¼äºè§£æ½å¨å®¢æ·å¦ä½å°æ¨çè§£å³æ¹æ¡ä¸å¸åºä¸çæ¿ä»£æ¹æ¡è¿è¡æ¯è¾ã"},{title:"ååºæ£æµ",description:"èªå¨è¯å«å¸¸è§çå对æè§å顾èï¼å¹¶å¶å®ææçåºå¯¹æªæ½åå¹è®ã"},{title:"èªå®ä¹å
³é®å",description:"é对æ¨çä¸å¡ã产åæè¡ä¸ï¼å®ä¹å¹¶è·è¸ªèªå®ä¹å
³é®ååçè¯ã"},{title:"è¶å¿åæ",description:"ä»å®¢æ·å¯¹è¯ä¸åç°æ°è¶å¿ï¼å¹¶æ ¹æ®å®é
å¸åºä¿¡å·è°æ´æç¥ã"},{title:"è¯å¢æå",description:"äºè§£å
³é®è¯ååçè¯å¢ï¼èä¸ä»
ä»
æ¯æåå
³é®è¯ãä¸ä»
è¦äºè§£è¯´äºä»ä¹ï¼è¿è¦äºè§£è¯´çåå åæ¹å¼ã"},{title:"æºè½æç´¢",description:"峿¶æç´¢ææå¯¹è¯ï¼åç¡®æ¥æ¾è®¨è®ºç¹å®ä¸»é¢çæ¶é´åå°ç¹ã"}]},applications:{title:"使ç¨åºæ¯",items:{competitive:{title:"ç«äºæ
æ¥",description:"æ·±å
¥äºè§£ç«äºæ ¼å±ï¼",points:["è·è¸ªæå¸¸æåçç«äºå¯¹æ","äºè§£æ½å¨å®¢æ·å¦ä½æ¯è¾åè½åä»·æ ¼","ç¡®å®ç«äºä¼å¿åå£å¿","å¶ä½ææçåç«äºææ"]},objections:{title:"ç辩",description:"åå驳为æºéï¼",points:["ç¡®å®å®¢æ·æå
³å¿çé®é¢","åæä¸ç»©æä½³è
çå驳ååº","ååºçµæç游ææåã","éè¿ææçå¨è½¬å¹è®æ¨çå¢é"]},product:{title:"äº§åæ´å¯",description:"éè¿å®¢æ·åé¦ä¿è¿äº§åå¼åï¼",points:["ç¡®å®æéè¦çåè½","äºè§£å½ååè½é¢ä¸´çææ","åç°ææ³ä¸å°çç¨ä¾","æ ¹æ®å®¢æ·éæ±ç¡®å®è·¯çº¿å¾çä¼å
次åº"]},compliance:{title:"åè§ä¸è´¨é",description:"ç¡®ä¿åè§åè´¨éï¼",points:["çæµè§å®çæ«é²å
容忳å¾ç¨è¯","æ è®°å¯è½è¿åæ¿çç对è¯","è·è¸ªèæ¬åè§æ§åæä½³å®è·µ","为审计çæåè§æ¥å"]}}},advancedFeatures:{title:"é«çº§åè½",items:[{title:"æ¨¡ç³æ£ç´¢",description:"èªå¨æ£æµå
³é®è¯åä½ãåä¹è¯åç¸å
³æ¯è¯ï¼æ éæå¨é
ç½®ã"},{title:"åå²åæ",description:"åæå
³é®è¯çé¿æè¶å¿ï¼ä»¥ç¡®å®å£èæ§æ¨¡å¼åæ°åºç°ç主é¢ã"},{title:"宿¶è¦æ¥",description:"å¨å®æ¶å¯¹è¯ä¸æå°éè¦å
³é®è¯æ¶ï¼ç«å³æ¥æ¶éç¥ã"}]}},Kx={hero:{badges:["ä¼ä¸","æ¬å°æ³å¾ç¡å£«","å
鍿å¡å¨è¿è¡"],title:"ç°åºå»ºé LLM",description:"å¨èªå·±çç¯å¢ä¸è¿è¡ LLMï¼å°æ°æ®ä¿åå¨å
¬å¸å¤é¨"},mission:{title:"é¢ç½®å¼ LLM 建设æå¡æ¦è¿°",paragraphs:["对äºä¸è½åå¤å叿ºå¯æ°æ®çå
¬å¸ï¼æä»¬æå»ºäºä¸ä¸ª LLM ç¯å¢ï¼å¯å¨å
¶èªææå¡å¨æç§æäºä¸å®æãè¿ç§è§£å³æ¹æ¡é常éåéèæºæãå»çæºæãæ¿åºæºæåç ç©¶æºæçéè¦ä¸¥æ ¼ä¿¡æ¯ç®¡ççç»ç»ï¼å 为å®ä¸ä½¿ç¨ä»»ä½å
Œ
± APIï¼ææå¤çé½å¨å®¢æ·ç®¡ççåºç¡è®¾æ½å
宿ã","æä»¬ä½¿ç¨ Llama 3.3ãQwen 2.5ãMistral å DeepSeek çåç¨å¼æ¾é鿍¡å以å vLLMãOllama å SGLang ç髿§è½æ¨çå¼æï¼æä¾ä»æ¨¡åéæ©ãæå¡å¨æå»ºãæ¨ç弿ä¼åå°è¿è¡çæ§çå
¨é¢æ¯æãè¿äºæ¨¡åå¨ vLLMãOllama å SGLang ç髿§è½æ¨ç弿ä¸è¿è¡ï¼ä»¥æä¾ä½å»¶è¿ãé«ååéçæ¨çç¯å¢ã","æä»¬æ¯æä¸ç°æç³»ç»éæãè天æºå¨äººãå
é¨ RAGãææ¡£æ±æ»å代ç çæçå
255¤ç§ç¨ä¾ãæä»¬å¯ä»¥æ ¹æ®ä¼ä¸è¦æ±è¿è¡è®¾è®¡ï¼å æ¬éè¿æ¨¡åå¾®è°å®ç°ä¸å¡ä¸ä¸åãè±ä¼è¾¾â¢ï¼NVIDIA®ï¼GPU/è¹æç¡ ä¼åãå¤ç§æ·è®¾è®¡ãAPI ç½å ³æå»ºçã"]},summary:{title:"é¢ç½®å¼æ³å¾ç¡å£«è¶å¿",paragraphs:["2025-2026 å¹´ï¼å é¨ LLM çå®ç¨æ§è¿ éæé«ã弿¾å¼å ææ¨¡åçæ§è½å·²è¶ è¿å°é弿¨¡åï¼èæä¾åä¸è®¸å¯çæ¨¡åæ°éä¹å¤§å¤§éä½äºå 鍿ä½ç鍿§ã","8B è³ 70B åæ°çæ¨¡åå·²ç»è¾¾å°äºè®¸å¤åä¸ä»»å¡çå®ç¨æ°´å¹³ï¼å³ä½¿å¨æ¶è´¹çº§ GPU ä¸ï¼GGUF éåä¹è½å®ç°é«éæ¨çã","卿¨ç弿æ¹é¢ï¼vLLM ç Continuous Batching å PagedAttention å¤§å¹ æé«äºååéï¼è SGLang ç RadixAttention åå å¿«äºå¤æçå¤è½®äº¤äºãOllama å·²æä¸ºæ¬å°å¼åç¯å¢çäºå®æ åï¼llama.cpp ç»è¿ Apple Silicon ä¼åï¼å¯å¨ M ç³»å Mac ä¸å¿«éæ¨çã","å¨ä¼ä¸åºç¨ä¸ï¼é¤äºæ°æ®ä¸»æååè§æ§å¤ï¼é¿æææ¬ä¼åï¼ä¸åéç¨æéä»è´¹ç API 计费æ¹å¼ï¼ä¹æ¥çæä¸ºä¼ä¸éç¨äºææ¯çå¨åãæ··åé ç½®ï¼æ¬å°ç¨äºææå¤çï¼äº API ç¨äºéç¨å¤çï¼å·²æä¸ºä¸ç§å¸¸è§çéæ©ã"],icons:[{label:`ç§æäº 256äº`},{label:`æ°æ® 257主æ`},{label:`ææ¬ 258ä¼å`},{label:`ä¼ä¸ 259ä¼ä¸`}]},features:{title:"设计åå¼ååè½",subtitle:"设计ä¸å¼å",items:[{title:"åºç¡è®¾æ½è®¾è®¡å GPU ä¼å",description:"为æ¨çå·¥ä½è´è½½åé¢ç®è®¾è®¡æä½³ç¡¬ä»¶é ç½®ï¼å æ¬è±ä¼è¾¾â¢ï¼NVIDIA®ï¼A100/H100ãRTX 4090/5090 å Apple Siliconï¼M2 Ultra/M3 Max/M4 Maxï¼ï¼å¹¶éè¿ CUDAãMPS å Metal ä¼åå建ä¸ä¸ªè½å åå©ç¨ GPU æ§è½çæ¨çç¯å¢ãCUDAãMPS å Metal ä¼å坿大é度å°åæ¥ GPU æ§è½ã"},{title:"模åéæ©åä¼å",description:"æ ¹æ®ä»»å¡ç¹ç¹ãè¯è¨è¦æ±åèµæºéå¶ï¼ä» LlamaãQwenãMistralãDeepSeek çæ¨¡åä¸éæ©æä½³æ¨¡åã使ç¨éåï¼GGUF/AWQ/GPTQï¼ãKV ç¼åä¼ååæ¹å¤çè°æ´æ¥å®ç°åç¡®æ§åååéã"},{title:"æå»ºæ¨ç弿",description:"æ ¹æ®æ¨çåºç¨éæ©åæå»º vLLMãSGLangãOllamaãTGI çæ¨ç弿ï¼å¹¶åºç¨è¿ç»æ¹å¤çã累积解ç ååç¼ç¼åçææ°ææ¯ï¼ä»¥æä¾ä½å»¶è¿åé«ååéçæ¨ç APIãæä»¬æä¾ä½å»¶è¿ãé«ååéçæ¨ç APIã"},{title:"è¿è¡ãçæ§åå®å ¨",description:"å©ç¨ Prometheus/Grafana 宿½æ¨æææ çæ§ãå©ç¨ API ç½å ³å®æ½è®¿é®æ§å¶ã审计æ¥å¿ãèªå¨æ©å±åæ 鿢å¤ãæå»ºç¬¦åä¼ä¸å®å ¨è¦æ±çç产è¿è¡ç¯å¢ã"}]},techStack:{title:"ææ¯å æ ï¼å é¨é¨ç½² LLM",subtitle:"å¹³å°ä¸ææ¯",categories:{openWeightModels:{title:"弿¾å¼é鿍¡å",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","æ°ç 2 27B / 9B","ä¸-4","æä»¤ R (Cohere)"]},japaneseModels:{title:"æ¥æ¬ä¸ç¨æ¨¡å¼",items:["ELYZA-Japanese-Llama-2","çå 70B / 13B","æ¥æ¬åå-3","Qwen-2.5-Japanese","塿åºé-LM"]},inferenceEngine:{title:"æ¨ç弿",items:["vLLM ï¼è¿ç»é æï¼","SGLang (RadixAttention)","奥æé©¬ï¼å°æ¹åå±ï¼","llama.cpp (Apple Silicon)","TGIï¼æ¥æ±è¸ï¼","TensorRT-LLMï¼è±ä¼è¾¾ï¼","ExLlamaV2ï¼éåä¸ä¸åï¼"]},quantization:{title:"éå",items:["GGUFï¼llama.cpp æ åï¼","AWQï¼é«ç²¾åº¦ 4 ä½ï¼","GPTQï¼GPU ä¼åï¼","æ¯ç¹ååèï¼8 ä½/4 ä½ï¼","EETQï¼é«æéåï¼"]},hardware:{title:"硬件",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","è¹æç¡ M2 Ultra","è¹æç¡ M3/M4 Max","AMD MI300X"]}
259,infrastructure:{title:"åºç¡è®¾æ½",items:["Docker / Kubernetes","è±ä¼è¾¾â¢ Triton æå¡å¨","åºç¨ç¨åºæ¥å£ç½å ³ï¼éå/ç¹ä½¿ï¼","æ®ç½ç±³ä¿®æ¯/Grafana","ç§æäºï¼VMware/OpenStackï¼","æ°éç¯å¢æ¯æ"]}},updateNote:{title:"2026 å¹´çä¸»è¦æ´æ°ç¹",description:"å¨å¼æ¾é鿍¡åæ¹é¢ï¼Llama 3.3 å®ç°äº GPT-4 级éç¨æ§è½ï¼å¤§å¤§æé«äºæ¥è¯æ§è½ï¼Qwen 2.5 ç³»å以å¤ç§å°ºå¯¸ååè¡¡çæ§è½æ©å¤§äºéæ©èå´ï¼DeepSeek V3/R1 çæ¨çææ¬æ§è½å¤åå ³æ³¨ï¼vLLM 2.0 Chunked Prefill å SGLang's RadixAttention æ¨ç弿å å¿«äºå¤è½®å¯¹è¯çé度ã卿¨ç弿ä¸ï¼vLLM 2.0 ç Chunked Prefill å SGLang ç RadixAttention å å¿«äºå¤è½®äºå¨ï¼Apple Silicon 对 llama.cpp çä¼å使 70B æ¨¡åæ¨çå¨ M4 Max ä¸åå¾å®ç¨ï¼éåææ¯æä¾äº 4 ä½ç²¾åº¦å髿§è½ãéåææ¯å®ç°äº 4 ä½ç²¾åº¦åæ¨çé度ï¼GGUF æä¸ºäºå®ä¸çæ åæ ¼å¼ã"}},cta:{title:"èç³»æä»¬",description:`æä»¬å¯ä»¥ä»éæ±å®æå¼å§ä¸æ¨ååã 260ä¹å¯ä»¥èè PoC åæ¬å° LLM é ç½®ã`,primaryButton:"èç³»æä»¬",secondaryButton:"ææ¯å¨è¯¢"}},Vx={hero:{badges:["ä¼ä¸","RAG","æç´¢æ©å±çæ"],title:"åé/RAG å¼å",description:"å»ºç« RAG ç³»ç»ï¼å°å é¨ç¥è¯ä¸ LLM è系起æ¥"},mission:{title:"Vector / RAG å¼åæå¡æ¦è¿°",paragraphs:["æä»¬å°å»ºç«ä¸ä¸ª RAGï¼æç´¢æ©å±çæï¼ç³»ç»ï¼éè¿å°å ¬å¸ç§¯ç´¯çç¥è¯èµäº§ä¸ LLM ç¸é¾æ¥ï¼è®©åå·¥è½å¤ç¨èªç¶è¯è¨è¿è¡æç´¢åæé®ãæä»¬æ´åäºåç§æ°æ®æºï¼å¦æåãä¼è®®è®°å½ãææ¯ææ¡£ã常è§é®é¢ãSlack åå²è®°å½ãConfluenceãSharePoint çï¼ä»¥å建ä¸ä¸ªå¯ç«å³å©ç¨ç»ç»ç¥è¯çç¯å¢ã","é¤äºç®åçææ¡£æç´¢å¤ï¼æä»¬è¿éç¨äºæ··åæç´¢ï¼ç¢éæç´¢+å ³é®è¯æç´¢ï¼ãéæåºãåå±ååãå æ°æ®è¿æ»¤çææ°ææ¯ï¼ä»èæå¤§éåº¦å°æé«äºæç´¢ç²¾åº¦åçå¤è´¨éãæä»¬ä¼æç¡®æåºçæ¡çæ¥æºï¼ä»¥æ¶é¤æ··æ·å¹¶ç¡®ä¿å¯é æ§ã","æä»¬æ¯æåç§ç¯å¢ï¼å æ¬ AWSãGCPãAzure åå é¨é¨ç½²ï¼å¹¶ä¸ç°æç身份éªè¯åºç¡è®¾æ½åæé管çéæãæä»¬ä¸ºä¿ææ°æ®æ°é²åº¦ï¼å·®å¼æ´æ°åèªå¨éæ°ç´¢å¼ï¼ãåæä½¿ç¨æ¥å¿åæç»æé«åç¡®æ§æä¾ä¸è´çæ¯æã"]},summary:{title:"RAG ææ¯è¶å¿",paragraphs:['2025 å¹´è³ 2026 å¹´ï¼RAG ææ¯å°è¿å ¥ "ä»åºæ¬å®æ½å°ç产质é "é¶æ®µãé¤ç®åçç¢éæç´¢å¤ï¼ç»åå¤ç§æç´¢æ¹æ³çæ··åæç´¢ã对æç´¢ç»æéæ°æåºçéæ°æåºä»¥å坹夿é®é¢è¿è¡åè§£åå¤ççæ¥è¯¢å解已æä¸ºæ åé ç½®ã',"ååçç¥ä¹å¨ä¸æåå±ï¼èèå°ææ¡£ç»æçåå±ååãéå åå以ååå«å¤çè¡¨æ ¼åæ°åç夿¨¡å¼åå齿å©äºæé«åç¡®æ§ãä¸ä¸ææ£ç´¢ï¼å°ä¸ä¸æä¿¡æ¯æ·»å å°ååä¸ï¼çæææ§ä¹å¾å°äºå¹¿æ³è®¤å¯ã","对äºç¢éæ°æ®åºçéæ©ï¼é¤äº PineconeãWeaviateãQdrant å Milvus çæç®¡æå¡å¤ï¼PostgreSQL pgvector åæ¬å° FAISS 乿ä¾äºå¤ç§éæ©ï¼ä»¥æ»¡è¶³æ¨çè¦æ±ãæ¤å¤ï¼è¿æä¾åµå ¥æ¨¡åï¼å æ¬ææ¬-åµå ¥-3-大åãCohere Embed v3 åå¤è¯è¨æ¨¡åã",'å¨ä¼ä¸é¨ç½²ä¸ï¼æé管ç (ACL) 龿¥ãPII å±è½ã审计æ¥å¿åå¤ç¨æ·è®¾è®¡æ¯åºæ¬è¦æ±ï¼èä¸éè¦ä» "å·¥ä½ PoC "转å为 "å¯æå ¥ç产çç产系ç»"ã'],icons:[{label:`æ··åå¨å 261æç´¢`},{label:`å¤ç§æ¨¡å¼ 262RAG`},{label:`代ç 263RAG`},{label:`ä¼ä¸ 264ä¼ä¸`}]},features:{title:"设计åå¼ååè½",subtitle:"设计ä¸å¼å",items:[{title:"æ°æ®æ¶éåé¢å¤ç管é",description:"ä» PDFãWordãExcelãHTMLãMarkdownãSlackãConfluenceãSharePoint çæä»¶ä¸æå忏 çæ°æ®ãæ¯æå¤ç§æ¨¡å¼ï¼å æ¬ OCRãè¡¨æ ¼ç»æåæåå¾åæ é¢çæãéè¿å·®åæ´æ°åè®¡åæ§è¡ä¿ææ°é²åº¦ã"},{title:"é«ç²¾åº¦æç´¢ç³»ç»è®¾è®¡",description:"ç»åç¢éæç´¢ + BM25 æ··åæç´¢ãéè¿ Cohere Rerank / Cross-Encoder è¿è¡éæä»¥åæ¥è¯¢æ©å±ååè§£ï¼æå»ºé«ç²¾åº¦æç´¢ãæ¤å¤ï¼è¿å®ç°äºå æ°æ®è¿æ»¤ååºäºæéçè®¿é®æ§å¶ã"},{title:"ååºçæåè´¨éæ§å¶",description:"éè¿ä¸ä¸æä¼åãFew-shot æç¤ºåæç»´é¾æ¨çæé«äºçæ¡è´¨éãæ¤å¤ï¼è¿éç¨äºæ¥æºè¯´æãç½®ä¿¡åº¦åæ°æ¾ç¤ºåæè½®æ£æµåè½ï¼ä»¥ç¡®ä¿ä¸å¡ä½¿ç¨çå¯é æ§ã"},{title:"è¿è¡åæ¹è¿å¨æ",description:"æä»¬æä¾çè¿è¥æ¯æå æ¬ä½¿ç¨æ¥å¿åæãæç´¢å½ä¸çåååºæ»¡æåº¦çæ§ãéè¿åé¦åè·¯æç
264»æ¹è¿ãA/B æµè¯åºç¡è®¾æ½ãåµå ¥æ¨¡åæ´æ°åååçç¥å®¡æ¥ã"}]},techStack:{title:"ææ¯å æ ï¼Vector / RAG",subtitle:"å¹³å°ä¸ææ¯",categories:{embeddingModels:{title:"åµå ¥æ¨¡å",items:["OpenAI ææ¬åµå ¥-3-大å·","Cohere Embed v3","èªç¨äººå·¥æºè½","Jina åµå ¥ v3","BGE-M3ï¼å¤è¯ç§ï¼","å¤è¯ç§-E5-大","æ¥æ¬ä¸ç¨æºå"]},vectorDatabases:{title:"ç¢éæ°æ®åº",items:["æ¾æï¼æç®¡ï¼","Weaviateï¼æ··åæç´¢ï¼","Qdrantï¼é«æ§è½ï¼","ç±³å°æ²æ¯ï¼å¤§åï¼","è²åº¦ï¼è½»é级ï¼","PostgreSQL pgvector","FAISSï¼å½å°ï¼"]},chunking:{title:"åååå¤ç",items:["åå±åå","è¯ä¹åå","éå å","å¥åçªå£","ä¸ä¸ææ£ç´¢","è¡¨æ ¼åå¾è¡¨å¤ç","夿¨¡å¼æ¯æ"]},search:{title:"æç´¢ä¸æ£ç´¢",items:["æ··åæç´¢ï¼ç¢é + BM25ï¼","Cohere Rerank","交åç¼ç å¨éæ°æå","æ¥è¯¢æ©å±ååè§£","HyDEï¼åè®¾ææ¡£çæï¼","èªæ¥è¯¢æ£ç´¢","夿¥è¯¢æ£ç´¢"]}},updateNote:{title:"2026 å¹´çä¸»è¦æ´æ°ç¹",description:"å¨åµå ¥æ¨¡åä¸ï¼text-Embedding-3-large å Cohere Embed v3 æä¸ºä¼ä¸æ åï¼æ¥è¯æ§è½æ¾èæé«ï¼ä¸ä¸ææ£ç´¢è¢«è¯ææ¯ææçï¼ä¸ºåæ·»å ä¸ä¸ææä¸ºæ åæ¹æ³ãæ··åæç´¢ + éæå·²æä¸ºæç´¢çå¿ å¤é ç½®ï¼åå°äºå纯ç¢éæç´¢é ç½®çæ°éï¼Agentic RAGï¼ä»£ç卿鿩æç´¢çç¥ï¼æ£å¨æå ¥å®é 使ç¨ã卿使¹é¢ï¼éç¹æ¯å©ç¨ RAG è¯ä¼°æ¡æ¶ï¼RAGASãLangSmithï¼å»ºç«è´¨éæµéåæ¹è¿å¨æã"}},cta:{title:"èç³»æä»¬",description:`æä»¬å¯ä»¥ä»éæ±å®æå¼å§ä¸æ¨ååã 265ä¹å¯ä»¥èè PoC åæ¬å° LLM é ç½®ã`,primaryButton:"èç³»æä»¬",secondaryButton:"ææ¯å¨è¯¢"}},Fx={hero:{badges:["å ¨æ ","LLM æ´å","åºç¨ç¨åºæ¥å£è®¾è®¡"],title:"人工æºè½åºç¨å¼å",description:"设计åæå»ºå©ç¨ LLM çå®ç¨åºç¨ç¨åº"},mission:{title:"人工æºè½åºç¨ç¨åºå¼åæå¡æ¦è¿°",paragraphs:["æä»¬éè¿ LLM åæä»å¤é¨ API è·åçæ°æ®ï¼å° API ä¸ CRMãERPãSaaSãIoT ä¼ æå¨å社交åªä½çåç§æ°æ®æºè¿æ¥èµ·æ¥ï¼å¹¶å°è·åçæ°æ®å®æ¶è¾å ¥ LLMï¼ä»èæä¾å¯åé ä¸å¡ä»·å¼ç人工æºè½åºç¨ç¨åºç设计åå¼åãæä»¬å®ç°äºä¼ ç»å䏿ºè½å·¥å ·æ æ³å®ç°çé«çº§æ°æ®åæï¼ä¾å¦ä½¿ç¨èªç¶è¯è¨çæåææ¥åãå¼å¸¸æ£æµãè¶å¿é¢æµåèªå¨åç±»ã","ä¸ä» ä» æ¯ç®åçåºç¨ç¨åºæ¥å£éæï¼è¿å æ¬å¤ä¸ªæ°æ®æºçéæãæ°æ®æ¸ çï¼ä»¥åéè¿ç»æåå¤ç转æ¢ä¸ºä¾¿äº LLM è§£éçæ ¼å¼ãåæ¶çå·¥ç¨è®¾è®¡å¯æå¤§éåº¦å°æé«åæçåç¡®æ§ï¼å¹¶æ ¹æ®ä¸å¡éæ±çæä¸é¨çè¾åºãæä»¬å»ºç«äºæ°æ®ä¸äººå·¥æºè½ç¸ç»åçå®é åºç¨ï¼ä¾å¦é¢æµä¸å¡è°å¤çé宿°æ®ãæ§è¡ VoC åæçå®¢æ·æ¯ææ¥å¿ï¼ä»¥åæä¾è®¾å¤ç»´æ¤å»ºè®®çä¼ æå¨æ°æ®ã","æä»¬æ¯æåç§æ¥å£ï¼å¦ç½ç»åºç¨ç¨åºãç§»å¨åºç¨ç¨åºãSlack/Teams éæå宿æ¹éå¤çãä»éæ±å®ä¹å°åºç¨ç¨åºæ¥å£è®¾è®¡ãLLM éæå®æ½ä»¥åç产è¿è¥ï¼æä»¬é½è½æä¾å§ç»å¦ä¸çæ¯æã"]},summary:{title:"人工æºè½åºç¨å¼åçè¶å¿",paragraphs:['ä» 2025 å¹´å° 2026 å¹´ï¼äººå·¥æºè½åºç¨å¼åæ£å¨è¿å ¥åºäº "API éæ x LLM åæ "çå®ç¨é¶æ®µãä¼ ç»å䏿ºè½å·¥å ·åä»ªè¡¨çæ æ³å¤ççéç»æåæ°æ®åæåèªç¶è¯è¨æ´å¯åçæå¼å§è¢«çº³å ¥ä¼ä¸ç³»ç»ã',"ç¹å«å¼å¾ä¸æçæ¯ï¼LLM çç»æåè¾åºåè½æ¥è¶æçï¼å¯å®ç°ä¸¥æ ¼ç JSON 模å¼å ¼å®¹è¾åºæ§å¶ï¼ä»è使端å°ç«¯èªå¨å管éæä¸ºç°å®ï¼éè¿ API è·åçæ°æ®å¯ç± LLM è¿è¡åæï¼å¹¶å°ç»æç´æ¥è¾å ¥åç»ç³»ç»ãåè½è°ç¨çå¤é¶æ®µæ§è¡å¯å¨ä¸ä¸ªå·¥ä½æµä¸å¤çå¤ä¸ª API çæ°æ®æ¶éãéæååæã","卿°æ®å¤çåºç¡è®¾æ½ä¸ï¼Polars å·²æä¸ºé«éå¤ççæ åï¼å®ä¸æµå¼å¤çç¸ç»åï¼ä¸ºå®æ¶åææä¾äºä¾¿å©ã","å¨ä¼ä¸å®æ½è¿ç¨ä¸ï¼éæ±å·²ä»ä¸æ¬¡æ§ PoC å¼å转å为ç产è¿è¥ç坿©å±è®¾è®¡ï¼è¿å°±è¦æ±è¿è¡å ¨é¢çæ¶æè®¾è®¡ï¼å æ¬ææ¬ä¼åãé误å¤çå审计æ¥å¿æ¯æã"],icons:[{label:`代ç 266人工æºè½`},{label:`MCP 267åè®®`},{label:`å¤åè½ 268代ç`},{label:`人类 269-ç¯`}]},features:{title:"设计åå¼ååè½",subtitle:"设计ä¸å¼å",items:[{title:"åºç¨ç¨åºæ¥å£éæåæ°æ®æ¶é设计",description:"æå»ºæ¯æ REST APIãGraphQLãWebSocket å Webhook çåç§åè®®çæ°æ®æ¶éåºç¡è®¾æ½ã
269æä»¬éè¿å®æ½èº«ä»½éªè¯æµç¨ï¼OAuthãAPI keyãJWTï¼ãéçéå¶åéè¯æºå¶æ¥è®¾è®¡ç¨³å®çæ°æ®éé管éãæä»¬è¿æ¯ææ°æ®éæãè°åº¦åæ¥èªå¤ä¸ª API çå·®åééã"},{title:"æ°æ®é¢å¤çåç»æå",description:"å°åå§æ°æ®è½¬æ¢ä¸ºå¯ç± LLM ææåæçæ ¼å¼ï¼å æ¬ JSON è§£æãæ°æ®æ¸ çãè§èåå缺失å¼å¤çï¼å¹¶å¨èèä¸ä¸æçªå£éå¶çæ åµä¸æ§è¡æä½³æ°æ®åå²åæ±æ»ãå æ°æ®åé å¯ç¡®ä¿åæç»æçå¯è¿½æº¯æ§ã"},{title:"LLM åæåæç¤ºè®¾è®¡",description:"éè¿è®¾è®¡ç¬¦åæ¨ä¸å¡è¦æ±çæç¤ºæ¨¡æ¿ï¼æå¤§éåº¦å°æé«æ°æ®åæçåç¡®æ§ãæä»¬ä¸ºåç±»ãæ±æ»ãæ æåæãå¼å¸¸æ£æµã颿µçæç建ç«åæç®¡éãæä»¬å©ç¨å½æ°è°ç¨åç»æåè¾åºï¼ä»¥å¯è½»æ¾ä¸åç»ç³»ç»éæçæ ¼å¼çæè¾åºã"},{title:"åºç¨ç¨åºç宿½åè¿è¡",description:"æä»¬éè¿åç§æ¥å£æä¾åæç»æï¼å æ¬ FastAPIãä½¿ç¨ Next.js çç½ç»åºç¨ç¨åºçãSlack/Teams Bot åè®¡åæ¹éæ§è¡ã仪表æ¿ãéç¥æéåèªå¨æ¥åçæå以ä¸å¡ç¨æ·å¯ç«å³ä½¿ç¨çå½¢å¼å®æ½å交ä»ãæä»¬è¿æä¾è¿è¥çæ§ãææ¬ä¼ååæç»æ¹è¿æå¡ã"}]},techStack:{title:"ææ¯æ ï¼äººå·¥æºè½åºç¨å¼å",subtitle:"å¹³å°ä¸ææ¯",categories:{apiIntegration:{title:"åºç¨ç¨åºæ¥å£éæ",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","ç½ç»é©å/轮询","é¿å¸å¥æ°æµ/å®ç¾","è¹è / æ¶é´","è¯·æ± / httpx / aiohttp","éçéå¶/éè¯","æ°æ®éªè¯ï¼Pydanticï¼"]},dataProcessing:{title:"æ°æ®å¤ç",items:["çç«/åæç","JSON / JSONL è§£æå¨","æ°æ®æ¸ ç管é","Apache Sparkï¼å¤§è§æ¨¡å¤çï¼","DBTï¼æ°æ®è½¬æ¢ï¼","è¿å¤§åç¨","ä¸è§æ´²æ¹/å°å±±","æµï¼Kafka / Flinkï¼"]},llmCloud:{title:"äºè®¡ç®æ³å¾ç¡å£«",items:["OpenAI GPT-4o / GPT-4.1","å å³å¾· 3.5 / å å³å¾· 4","åå座 2.0 / åå座 2.5","æä»¤ R+ï¼èåï¼","Mistral Large"]},llmLocal:{title:"æ¬å°æ³å¾ç¡å£«",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","æ°ç 2 / æ°ç 3","ä¸-4","ELYZA / çåï¼æ¥è¯ä¸ä¸ï¼","æä»¤ R (Cohere)"]},inference:{title:"æ¨è®º/æ¡æ¶",items:["vLLM / SGLang","Ollama / llama.cpp","LiteLLM 代ç","åè½è°ç¨","ç»æåè¾åº","æç¤ºæ¨¡æ¿å¼æ","LangChain / LlamaIndex","䏿åæç®¡é"]},application:{title:"åºç¨å±",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","é¢å®ä½ä¸ï¼Cron / äºè°åº¦ç¨åºï¼","PostgreSQL / MongoDB","Redisï¼ç¼å/éåï¼","Docker / Kubernetes"]}},updateNote:{title:"2026 å¹´çä¸»è¦æ´æ°ç¹",description:"å¨ LLM åæé¢åï¼GPT-4.1 å Claude 4 çç»æåè¾åºï¼Structured Outputï¼åè½å·²ç»æçï¼å®ç°äºä¸¥æ ¼ç JSON Schema å ¼å®¹åè¾åºæ§å¶æ ååï¼å¤é¶æ®µæ§è¡åè½è°ç¨ï¼Function Callingï¼å¯å¨å个管éä¸è·¨å¤ä¸ª API è¿è¡å¤æçæ°æ®æ¶éååæãåè½è°ç¨çå¤çº§æ§è¡å¯å¨å个管éä¸è·¨å¤ä¸ª API è¿è¡å¤æçæ°æ®æ¶éååæã卿°æ®å¤çæ¹é¢ï¼Polars å·²æä¸º Pandas å¨é«éå¤çæ¹é¢çæçæ¿ä»£åï¼ä¸æµå¼å¤çç¸ç»åï¼å¯ä¿è¿å®æ¶åæåºç¡æ¶æçæå»ºãå¨åºç¨å±ï¼ä½¿ç¨ MCP è¿è¡å¤é¨å·¥å ·éæå·²æä¸ºæ®éç°è±¡ï¼è¿å éäºä»£çåºç¨çå¼åï¼å¨ä»£çåºç¨ä¸ï¼LLM å¯èªä¸»è°ç¨ API æ¥è·åååææ°æ®ã"}},cta:{title:"èç³»æä»¬",description:`æä»¬å¯ä»¥ä»éæ±å®æå¼å§ä¸æ¨ååã 270ä¹å¯ä»¥èè PoC åæ¬å° LLM é ç½®ã`,primaryButton:"èç³»æä»¬",secondaryButton:"ææ¯å¨è¯¢"}},Wx={seo:bx,header:yx,hero:vx,mission:Ax,businessServices:xx,features:Lx,businessProcess:Px,story:wx,contact:Sx,footer:Ix,cookiePolicy:Mx,about:jx,portfolio:Cx,common:Dx,privacyPolicy:zx,termsOfService:Tx,weatherMap:Ex,agentDevelopment:Rx,faq:Nx,pricing:Gx,aiTranscription:Ox,keywordTracking:Bx,onPremiseLLM:Kx,vectorRAG:Vx,aiAppDevelopment:Fx},qx={home:{title:"ì¸ê³µì§ë¥ ê¸°ë° ì루ì íë«í¼ - telet.ai",description:"AI ê¸°ë° íµí ë¶ìì¼ë¡ ê³ ê° ëí ë°©ìì íì íì¸ì. ì¤ìê° ì¸ì¬ì´í¸, ê°ì ë¶ì, ì±ê³¼ ì¶ì ì íµí´ í ì±ê³¼ë¥¼ í¥ììí¤ì¸ì."},about:{title:"ì¡°ì§ ì ë³´ - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"ê°ì¸ì ë³´ ì²ë¦¬ë°©ì¹¨ - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"ì´ì© ì½ê´ - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"ì¿ í¤ ì ì± - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"í¬í¸í´ë¦¬ì¤ - telet.ai",description:"ë¹ì¦ëì¤ ì´ìê³¼ ê³ ê° ê²½íì í¥ììí¤ê¸° ìí´ ì¤ê³ë telet.aiì AI ì루ì í¬í¸í´ë¦¬ì¤ë¥¼ ì´í´ë³´ì¸ì."},agentDevelopment:{title:"기ì ì© AI ìì´ì í¸ ì¤ê³ ë° ê°ë° - telet.ai",description:"ìí¬íë¡ì°, ë
270구 ë° ê·ì ì¤ì ì구 ì¬íì ë§ì¶¤íë ìì° ë±ê¸ AI ìì´ì í¸ë¥¼ ì¤ê³íê³ êµ¬ì¶íììì¤."},onPremiseLLM:{title:"ì¨íë ë¯¸ì¤ ëê·ëª¨ ì¸ì´ ëª¨ë¸ ì´ì - telet.ai",description:"ê°ë ¥í ë°ì´í° ì ì´, ì측 ê°ë¥í ë¹ì©, ì ì§ì° ì¶ë¡ ì ìí´ íëì ì¸ ëê·ëª¨ ì¸ì´ 모ë¸(LLM)ì ìì²´ íê²½ ë´ìì ì´ìíì¸ì."},vectorRAG:{title:"ë²¡í° RAG ë° ì¸ë±ì¤ ì¤ê³ - telet.ai",description:"ê° ìí¬íë¡ì°ì ë§ì¶¤íë ê²ì íì´íë¼ì¸ê³¼ ì¸ë±ì¤ë¥¼ ì¤ê³íì¬ ê·¼ê±° ê¸°ë° ëµë³ì íì§ì í¥ììíµëë¤."},aiAppDevelopment:{title:"ì¸ê³µì§ë¥ ì í리ì¼ì´ì
ê°ë° - telet.ai",description:"LLM 기ë°ì ì¤ì©ì ì¸ ì í리ì¼ì´ì
ì 구ì¶íì¸ìâAPI, ë°ì´í° ë° ë¹ì¦ëì¤ ìí¬íë¡ì íµí©ë©ëë¤."}},Ux={brand:"telet.ai",nav:{services:"ìë¹ì¤",portfolio:"í¬í¸í´ë¦¬ì¤",about:"ì¡°ì§ ì ë³´",contact:"ì°ë½ì²"}},_x={brandName:"telet.ai",tagline:"ë©í° AI 커뮤ëì¼ì´ì
",badge:"AI ê¸°ë° íµí ì¸í
리ì ì¤",title:{line1:"ë¡ì»¬ ë° ë°©ì´,",line2:"í´ë¼ì°ëìì íì¥íì¸ì,",line3:"ìì´ì í¸ì ìí´ ìëíë©ëë¤."},description:"SLMì ì£ì§ ì¶ë¡ ì ë°ì´í° 주ê¶ì ë³´ì¥íê³ , LLMì í´ë¼ì°ë íµí©ì ì²ë¦¬ ë¥ë ¥ì 무íëë¡ íì¥íë©°, ìì´ì í± AI ìí¤í
ì²ì ì±íì ì ëì ì¸ ê¸°ì
ìì ì±ê³¼ë¥¼ ë³´ì´ê¸° ììíìµëë¤."},Hx={badge:"ì°ë¦¬ì ì¬ëª
",title:"LLMì ì ê·¼ì± í¥ì",paragraphs:['ì ë§ ì´ë ê²ê¹ì§ í ì ììê¹ì?" --ì´ë¬í ëë¼ìì´ ë°ë¡ ì°ë¦¬ê° 목íë¡ íë ê²ì
ëë¤.',"ëê·ëª¨ ì¸ì´ 모ë¸ë§(LLM)ì ì ì¬ë ¥ì ë ë¡ íì¥ëê³ ììµëë¤. íì§ë§ 'ê¸°ë° ë°ì´í°ë¥¼ ì¸ë¶ APIë¡ ì ì¡íë ê²ì´ ê±±ì ëë¤', 'ê³ ê¸ AI ì í리ì¼ì´ì
ì ë기ì
ë§ ì¬ì©í ì ìë¤', '구í ë¹ì©ì´ ë§ë§ì¹ ìë¤' ë±ì ì¥ë²½ì íë¬¼ê³ ì í©ëë¤.","ì í¬ë ê³ ê°ì íê²½ ë´ìì ìì±ëë ë¡ì»¬ LLM 구ì¶ì ì 문ì¼ë¡ í©ëë¤. ë§¤ì° ë¯¼ê°í ê³ ê° ì 보를 ì¸ë¶ì ë
¸ì¶ìí¤ì§ ìê³ ìì íê² íì©í ì ììµëë¤. ë°ì´í° ë³´ìì ë³´ì¥íë©´ì AIì ì´ì ì ê·¹ëíí ì ììµëë¤.","ì¼ìì ì¸ ë¬¸ì
270 ìì±ê³¼ ë°ì´í° ì 리ë¶í° ì 문 ë¶ì ë° ìì¬ ê²°ì ì§ìê¹ì§ 모ë ìì
ì ì²ë¦¬í©ëë¤. telet.aiì ë
ìì ì¸ ìì´ì í¸ ê¸°ì ì API 모ë¸ì íì íë ì íë를 ì ê³µí©ëë¤.","LLMì ì¬ëì ëì²´íì§ ììµëë¤. ì¬ëë¤ì´ ë ë§ì ì°½ìë ¥, íë¨ë ¥, ì 문ì±ì ë°íí ì ìê² í´ì£¼ë ê°ë ¥í ë구ì
ëë¤. ì°ë¦¬ë 기ì ì í¹ë³í ê²ìì ì¼ìì ì¸ ê²ì¼ë¡, ì¦ ê¸°ì ì ì§ì í 'ìë¹ìí'를 ì¤íí©ëë¤.",'ë¶ë´ ìì´ ìë´í´ 주ì¸ì. ê³ ê°ê³¼ í¨ê» "무ìì í ì ììê¹ì?"를 찾기 ìí´ í¨ê» ë
¸ë ¥íê² ìµëë¤.'],animation:{label:"LLM",sublabel:"기ì "}},$x={title:"ìë¹ì¤",subtitle:"ë¹ì¦ëì¤ ìë¹ì¤",services:[{title:"기ì
ì© AI ìì´ì í¸ ì¤ê³ ë° ê°ë°",titleEn:"ìí°íë¼ì´ì¦ AI ìì´ì í¸",description:"ë¹ì¦ëì¤ ì구 ì¬í, ë´ë¶ ê·ì¹ ë° ë°ì´í° ë²ìì ìµì íë AI ìì´ì í¸ë¥¼ ì¤ê³ ë° ê°ë°íì¸ì. ì¸ë¶ API ì í LLMë¶í° ë¡ì»¬ LLMê¹ì§ ì§ìí©ëë¤.",badges:["ê°ë³ ëìì¸","LLM í¸í","ë¹ì¦ëì¤ ì 문í"],link:"ì¸ë¶ ì ë³´."},{title:"ì¨-íë¡ë¯¸ì¤ LLM ìë²",titleEn:"ì¨íë ë¯¸ì¤ LLM ìë²",description:"íì¬ ì ì© ìë² ë´ìì 7B~120B ê·ëª¨ì LLMì ì¤íí©ëë¤. ì¸ë¶ ë°ì´í° ì ì¡ì ìíì í¼íë©´ì ìì íê³ ì ì°í LLM ì¬ì© íê²½ì ì ê³µí©ëë¤.",badges:["7B-120B ì§ì","API í¤ ë°ê¸","ìì ì¤ê³"],link:"ì¸ë¶ ì ë³´."},{title:"ë²¡í° RAG ë° ì¸ë±ì¤ ëìì¸",titleEn:"ë²¡í° RAG ìí¤í
ì²",description:"ë¹ì¦ëì¤ ì½í
ì¸ ì ë¶ì ë¡ì§ì ë°ë¼ RAG ë°ì´í°ë¥¼ ë¶ë¦¬íê³ ìµì ííì¸ì. ë¹ ë¥´ê³ ì íí ê²ìì ìí ìì¸ ì¤ê³.",badges:["ì¸ë±ì¤ ë¶ë¦¬","ê³ ì ê²ì","ë¤êµì´ ì§ì"],link:"ì¸ë¶ ì ë³´."},{title:"AI ì í리ì¼ì´ì
ê°ë°",titleEn:"AI ì í리ì¼ì´ì
ê°ë°",description:"기존 APIì ì¸ë¶ ë°ì´í°ë¥¼ íì©íì¬ LLMì ìí ë¶ì ë° ìì±ì íµì¬ì¼ë¡ íë ì¤ì©ì ì¸ AI ì í리ì¼ì´ì
ì ê°ë°íì¸ì.",badges:["API ì°ë","LLM ë¶ì","íµí© ëìì¸"],link:"ì¸ë¶ ì ë³´."}]},Qx={title:"AI 기ì ì íì©í ì
ì íë¡ì í¸",subtitle:"ë¤êµì´ ë¹ì, ì¼ê¸° ìë³´, ë¡ì»¬ LLM, ë³´ì 모ëí°ë§ ë± ë¤ìí ë¶ì¼ì AI ê°ë° ê²½íì´ ììµëë¤.",viewDetails:"ì¸ë¶ ì ë³´ 보기 â.",items:[{title:"AI ë¤êµì´ ì´ìì¤í´í¸",description:"RAG + LLMì ë¤êµì´ ì±í
ëì°ë¯¸. ì¼ë³¸ì´, ìì´, ì¤êµì´ ë± ë¤êµì´ 문ìì ëí´ ë§¤ì° ì ííê² ëµë³í©ëë¤."},{title:"ì¼ê¸° ìë³´ ìì¤í
",description:"ë ì¨ ë°ì´í°ë¥¼ íìµíì¬ ì¤ìê° ì보를 ìì±í©ëë¤. ìê³ì´ í¨í´ ì¸ìê³¼ RAG를 ì¬ì©íì¬ ê³¼ê±°ì ì ì¬í í¨í´ì ê²ìí¨ì¼ë¡ì¨ ë§¤ì° ì íí ì측ì ìì±í©ëë¤."},{title:"ì¬ë´ ìë² / On-Prem Local LLM",description:"ê°ë°©í WebUI를 ê³µíµ ì§ì
ì ì¼ë¡ ì¼ì íì¬ ë´ìì ë°ë¡ ì¬ì©í ì ìë ë¹ì¦ëì¤ ì´ì ë§ì¶¤í AI를 ì ê³µíë©°, Ollama/MLX를 íµí ë¹ ë¥¸ ì¶ë¡ ë ì¸, ê° UIDì ëí´ ìì í ë¶ë¦¬ë ë°ì´í° ëë©ì¸ì ì ê³µí©ëë¤. ì¬ë´ 문ìë ìì´ ìë² ë©ê³¼ ì¼ë³¸ì´ 쿼리 ìë ë²ì 기ë¥ì ê°ì¶ RAGë¡ ìº¡ì²ëë©°, ë´ì¤ ìì½, 문ì ì 리, ì¼ì ì
무ì ê°ì ë¹ì¦ëì¤ ì¤í¬ì´ ìì íê² ëëí ì¤íë©ëë¤. ì¤í¬ ì¤í ìì¤í
ì OpenClaw 컨í
ì´ëë¡ ê²©ë¦¬ëì´ ìì¼ë©° Cloudflare ìì§ ë° ë¡ì»¬ Nginxì 3ê³ì¸µì¼ë¡ ë³´í¸ë©ëë¤. ëª¨ë¸ ì í, ì¤í¬ ì¤ê³, ì´ì ì ì±
ë±ì ì¢
í©ì ì¼ë¡ ì§ìíë©°, ë°°í¬í ë ë¶í° ë°ë¡ ì¬ì©í ì ìë ííë¡ ê·ì¬ì ì ì© AI를 ê°ëí©ëë¤."},{title:"íì± ê° ê¶¤ë ëì°© ì측(AI)",description:"NASA APIìì íì± ë°ì´í°ë¥¼ ê°ì ¸ì LLMìì 궤ë ê³ì°ì í´ìí©ëë¤. ë°ì¬ 기ê°, ìì ìê°, ì°ë£ í¨ì¨ì±ì ëí ë³´ê³ ì를 ìì±í©ëë¤."},{title:"ë¶ëì° ë°ì´í° AI ë¶ì",description:"ì¹ ì¤í¬ëíì¼ë¡ ë¶ëì° ì 보를 ìì§íê³ LLM + Pythonì¼ë¡ ë¶ìíì¸ì. ê°ê²© ëí¥, ìì¥ ì측, í¬ì ììµë¥ ì ìëì¼ë¡ ìì±í©ëë¤."},{title:"ì´ì¸ AI(ë¤ ê°ì ê¸°ë¥ ì´ì¸)",description:"ë¤ ê°ì§ ì´ëª
ì ê¸°ë¥ ë¡ì§ì Pythonì¼ë¡ ì¬ííê³ LLMì¼ë¡ í´ìí©ëë¤. ì²ë¬¸í APIìì ì¢íì ìê°ì íëíì¬ ì´ì¸ì ê¶í©ì ëí ê°ì¸íë íê°ë¥¼ ë°ìµëë¤."}
270,{title:"Google Workspace AI integration",description:"Gmail, ëë¼ì´ë¸, ìºë¦°ë ë±ê³¼ì LLM íµí© AIê° ì´ë©ì¼ ìì½, íì¼ ê²ì, ì¼ì ê´ë¦¬ë¥¼ ì§ìí©ëë¤."},{title:"ì¸ê³ ë´ì¤ ë¤êµì´í",description:"LLMì´ ì¬ë¬ ì¸ì´ë¡ ë²ì ë° ìì½í ì¸ê³ ë´ì¤ë¥¼ ì¤ìê°ì¼ë¡ ìì§í©ëë¤. 문맥 ì´í´ë¥¼ 기ë°ì¼ë¡ í ìì°ì¤ë¬ì´ ë²ì ë° ìì½ ìì±."},{title:"ë³´ì ë¡ê·¸ 모ëí°ë§ AI ê´ë¦¬ì",description:"ë³´ì ë¡ê·¸ì ì¤ìê° ëª¨ëí°ë§, LLMì íµí ìí íì§ ë° ë¶ì, RAG를 íµí 과거 공격 í¨í´ê³¼ì 매ì¹ì¼ë¡ ì¦ê°ì ì¸ ì림ì ì ê³µí©ëë¤."}]},Jx={title:"íë¡ì í¸ ì§í ë°©ë²",headline:"ë¹ì ë§ ìì¼ë©´ ë©ëë¤.",paragraphs:["ì¸ì´ì ì°¨ì´ê° ë¹ì¦ëì¤ì 걸림ëì´ ëë ìëë ì§ë¬ì¼ë©°, AI ë²ìì ì¬ì©íì§ë§ ì´ë¯¸ì§ ê³µì 를 ìµëí íì©íë ê³ ì í ìí¬íë¡ì°ë¥¼ íµí´ 14ê° ì¸ì´ë¡ ë¹ì¦ëì¤ íìê³¼ ê°ë°ì ì²ë¦¬í ì ììµëë¤. ë³µì¡í ì¬ìë ìí ì´ë¯¸ì§ë¡ íì¸íì¬ ì¤í´ì ìì§ê° ìëë¡ í ì ììµëë¤. ì¤ìí ê²ì '무ìì ë§ë¤ê³ ì¶ìê°'ë¿ì
ëë¤.","íë¡ì í¸ë ì¬ì
ì ì²ììì ì´ê¸° ì²ë¬¸íë¡ ììë©ëë¤. í´ë¼ì´ì¸í¸ì ë¹ì ê³¼ 문ì ì ëí ì ë°ì ì¸ ì¸ìì ê³µì í í NDA(기ë°ì ì§ê³ì½)를 ì²´ê²°í©ëë¤. ê¸°ë° ì 보를 ìì¬íê³ ë
¼ìí ì ìë íê²½ì ì¡°ì±í í ì¸ë¶ ì¸í°ë·°ë¥¼ ì§ííê³ ì구ì¬íì íì¸í©ëë¤. ê·¸ ë´ì©ì ë°íì¼ë¡ ì ìì를 ìì±íê³ ìí ì´ë¯¸ì§ë¥¼ íì©í´ íë¡ì í¸ì ë°©í¥ì íì¸í©ëë¤. ì´í´ê° ìë£ëë©´ ì¬ìì를 ìì±íê³ ê°ë°ì ììí©ëë¤.","ì´ íë¦ì ì¼ë°ì ì¸ ìê°ì¼ ë¿ì
ëë¤. ê³ ê°ì ìí©ê³¼ ì¼ì ì ë°ë¼ ì ì°íê² ì¡°ì í ì ììµëë¤. ì ì¸ê³ ì´ëììë , ê°ì ì¸ì´ë¥¼ ì¬ì©íì§ ìëë¼ë ì´ë¯¸ì§ì AIê° ì»¤ë®¤ëì¼ì´ì
ì ì§ìí©ëë¤. ìì§ ì무ë ì§ì¶íì§ ìì íë¡ í°ì´ ìì¥ì í¨ê» ì§ì¶í´ ë³´ìì§ ìê² ìµëê¹? telet.aiê° ì¬ë¬ë¶ì ìì´ëì´ë¥¼ 구체íí ì ìë íí¸ëê° ëì´ ëë¦¬ê² ìµëë¤."],cards:[{title:"ì²ë¬¸í / NDA",description:"ì´ë©ì¼ì íµí 1ì°¨ ì¬ë¦¬ í ê¸°ë° ì ì§ ëììì ìëª
í©ëë¤. ìì¬íê³ ì¸ë¶ ì 보를 ì ê³µí ì ììµëë¤."},{title:"기í ë° CA",description:"ì ììì ìí ì´ë¯¸ì§ê° ì ê³µë©ëë¤. 14ê° ì¸ì´ê° ì§ìëë¯ë¡ ì¸ì´ ì¥ë²½ ìì´ ì§íí ì ììµëë¤."},{title:"ìíë§ ë° ìì",description:"í©ìì ë°ë¼ ì¬ìì ì¤ë¹íê³ ì¬ì
ì ììí©ëë¤."},{title:"ê°ë°, í
ì¤í¸ ë° ì´ì",description:"ì ìì¼ ê°ë°ì íµí ì ìí 구í. í
ì¤í¸ë¶í° ì´ì ì§ìê¹ì§ ì¼ê´ë ì§ìì ì ê³µí©ëë¤."}]},Zx={badge:"ì¬ë¡ ì°êµ¬",title:"AI ìê° ì¤í 리",items:[{title:"ë¹ì¦ëì¤ í¨ì¨ì± ë° ë¹ì© ì ê° ì루ì
",subtitle:"ì¼ìì ì¸ ì
무ëì ì¤ì´ê³ íµì¬ ë¹ì¦ëì¤ì ì§ì¤í ì ìë íê²½ì ì¡°ì±íì¸ì.",description:"ë§ì ì¤ì기ì
(ì¤ì기ì
)ì´ ì¸ë ¥ ë¶ì¡±ê³¼ ì±ì©ì ì´ë ¤ìì ê²ªê³ ììµëë¤. ì ê· ì¸ë ¥ì ì±ì©íëë¼ë êµì¡ ë¹ì©ì´ ë§ì´ ë¤ê³ ì§ì ì ì§ì¨ìë 문ì ê° ììµëë¤. AI ì루ì
ì ìì° ê´ë¦¬ ìëí, ë°ì´í° ì
ë ¥ ë° ì 리, ë´ë¶ 문ì ê²ì, ë³´ê³ ì ë° ë¬¸ì ìë ìì± ë± ì¼ìì ì¸ ì
무를 ì§ìí©ëë¤. ë§ì ìê°ì´ ììëë ì¼ìì ì¸ ì
무를 AI ë¹ìê° 24ìê° 365ì¼ ì¤ë¥ ìì´ ì²ë¦¬í©ëë¤. AI를 ëì
í 기ì
ë¤ì ì
무 ìê°ì í¬ê² ë¨ì¶íìµëë¤. 'ì¸ë ¥ ì¶©ì'ìì 'AIìì íì
'ê¹ì§. ê·ì¬ì ì¼íë ë°©ì ê°íì ìí´ ìµì ì ë¤í´ ì§ìíê² ìµëë¤."},{title:"ê³ ê° ì§ì ìëí",subtitle:"24ìê° ìë¹ì¤ë¥¼ íµí´ ê³ ê° ë§ì¡±ë를 ëì´ê³ ì¸ê±´ë¹ë¥¼ ì ê°í ì ììµëë¤.",description:"AI ì±ë´ì ì주 묻ë ì§ë¬¸ì ëí ìë ìëµ, 문ìì ëí 기본 ìëµ ë° ë¶ë¥, ë¤êµì´ ì¤ìê° ìëµ ê¸°ë¥ì ì ê³µí©ëë¤. ë¤êµì´ ì¤ìê° ìëµ. ì¸ê° ìë´ìì ë³µì¡í ì¬ë¡ì ì§ì¤íì¬ ê³ ê° ìë¹ì¤ íì§ì í¥ììí¬ ì ììµëë¤. AI ê³ ê° ì§ìì¼ë¡ ìë¹ì¤ íì§ì í ë¨ê³ ë ëì´ì¸ì."}
270,{title:"ì§ì ë° ë¬¸ì íì© AI",subtitle:"ë구ë ì¦ì íì©í ì ìë ííì ë´ë¶ ì§ì ìì°",description:'ê·¸ 매ë´ì¼ì ì´ë ìì£ ?" "ì ììë§ ìê³ ìë ì ë³´ê° ìì´ì" - ë¹ê°ì¸íë ì§ìì 기ì
ì ì±ì¥ì ì í´í©ëë¤. ì í¬ì RAG(ê²ì íì¥ ìì±) 기ì ì ì¬ì©íë©´ ìì°ì´ë¡ ì§ë¬¸íë ê²ë§ì¼ë¡ ì¬ë´ 매ë´ì¼, FAQ, 과거 문ììì íìí ì 보를 ê²ìí ì ììµëë¤. ì ì
ì¬ìì êµì¡ì ê°ìííê³ , ë² í
ëì ì묵ì ì§ìì ëì§í¸ííë©°, ë¶ì ê° ì§ì ê³µì 를 ê°ë¥íê² í©ëë¤. 기존 문ì를 ê·¸ëë¡ ì¬ì©í ì ìì¼ë¯ë¡ ìë¡ì´ 문ì를 ë§ë¤ íìê° ììµëë¤.'},{title:"ìë£ ë° ê°í¸ë¥¼ ìí ì´ë¯¸ì§ ë¶ì AI",subtitle:"주ì ê¹ì ë, AIì 24ìê° ì§ì",description:"ìë£ ë° ìì ë¶ì¼ììë íì ë ì¸ë ¥ì¼ë¡ ë§ì ìì íìì ì¬ì©ì를 ê°ìí´ì¼ í©ëë¤. ìëì ì´ë¯¸ì§/ìì ë¶ì AIë ì¹´ë©ë¼ ìììì ì¤ìê°ì¼ë¡ ì´ì ì§í를 ê°ì§í©ëë¤. ë°ì´ì ê°ì§í´ ê°ì¼ë³ì ìëì¼ë¡ ê°ì§íê³ , íìê° ì°ë¬ì§ê±°ë ë°°ííë©´ ì¦ì ìë ¤ì£¼ë©°, íì ì ë¶ìí´ ëª¸ ìí ë³í를 ê°ì§í©ëë¤. ì¼ê° ìì°°ì ë¶ë´ì ì¤ì´ê³ ìê¸ ìí©ì ì ìíê² ëìíë©° ê¸°ë¡ ìì
ì ìëíí¨ì¼ë¡ì¨ ì§ìì 본ì°ì ì§ë£ ì
무ì ì§ì¤í ì ììµëë¤. ê°ì¸ì ë³´ ë³´í¸ë¥¼ ìí´ ì¨íë ë¯¸ì¤ ì¤ì¹ë ê°ë¥í©ëë¤."}]},Xx={title:"문ìí기",description:"ì구ì¬í ê³í ë¨ê³ë¶í° ê³ ê°ê³¼ ìë´í ì ìì¼ë©°, PoC ë° ë¡ì»¬ LLM 구ì±ë ê³ ë ¤í ì ììµëë¤.",openForm:"ìì ì´ê¸°",closeForm:"ìì ë«ê¸°",form:{name:"ì¬ì©ì ì´ë¦",namePlaceholder:"ì¼ë§ë¤ íë¡",email:"ì´ë©ì¼ 주ì",emailPlaceholder:"[email protected]",subject:"subject",subjectPlaceholder:"문ì ì 목",message:"ë©ìì§",messagePlaceholder:"문ì ì¬íì ì
ë ¥í´ ì£¼ì¸ì.",required:"*",submit:"ë³´ë´ê¸°",submitting:"ë³´ë´ê¸°...",turnstileMessage:'ì ì¶íë ¤ë©´ "ëë ë¡ë´ì´ ìëëë¤" ì¸ì¦ì´ íìí©ëë¤.',turnstileError:"ë³´ì ì¸ì¦ì ë¡ëíì§ ëª»íìµëë¤. ë¤ì ë¡ëíì¸ì.",errorRetry:"ë¤ì ìëí´ ì£¼ì¸ì."}},Yx={brand:"telet.ai",tagline:"ë©í° AI 커뮤ëì¼ì´ì
",description:"AI ìì´ì í¸ë¡ ë¹ì¦ëì¤ë¥¼ íì íì¸ì. ëíìì ê°ì¹ë¥¼ ì°½ì¶íì¸ì.",sections:{product:{title:"ì í",features:"기ë¥",benefits:"ìê°",testimonials:"ê³ ê° í기"},services:{title:"ìë¹ì¤",agentDev:"기ì
ì© AI ìì´ì í¸ ì¤ê³ ë° ê°ë°",onPremise:"ì¨-íë¡ë¯¸ì¤ LLM ìë²",vectorRag:"ë²¡í° RAG ë° ì¸ë±ì¤ ëìì¸",aiApp:"AI ì í리ì¼ì´ì
ê°ë°"},company:{title:"ì¡°ì§ ì ë³´",about:"telet.ai ìê°",profile:"ëí íë¡í",contact:"문ìí기"},process:{title:"ë¹ì¦ëì¤ ì´ì ë°©ì",hearing:"ì²ë¬¸í / NDA",planning:"기í ë° CA",sampling:"ìíë§ ë° ìì",development:"ê°ë°, í
ì¤í¸ ë° ì´ì"}},copyright:"© 2026 telet.ai. 모ë ê¶ë¦¬ ë³´ì .",legal:{privacy:"ê°ì¸ì ë³´ ë³´í¸ì ì±
",terms:"ì´ì© ì½ê´",cookies:"ì¿ í¤ ì ì±
"}},eL={title:"ì¿ í¤ ì ì±
",subtitle:"ì´ ì¹ì
ììë ì´ ì¬ì´í¸ìì ì¬ì©ëë ì¿ í¤ ë° ê¸°í 기ì (Cloudflare/Google ì ë리í±ì¤)ì ëí´ ì¤ëª
í©ëë¤.",lastUpdated:"ë§ì§ë§ ì
ë°ì´í¸: 2026ë
1ì 22ì¼",intro:"telet.aië 본 ì¬ì´í¸ë¥¼ ì ê³µ ë° ê°ì íê³ ë³´ìì ë³´ì¥í기 ìí´ ì¿ í¤ ë° ì ì¬í 기ì ì ì¬ì©í ì ììµëë¤. telet.aië ê´ê³ 목ì ì¼ë¡ ìì²´ì ì¸ í¹ì ì¶ì ì¿ í¤ë¥¼ ì¤ì íì§ ììµëë¤(ë¨, Cloudflare ë° Google Analyticsë ê° ìë¹ì¤ ì¬ìì ë°ë¼ ì¿ í¤ ëë ì ì¬í 기ì ì ì¤ì í ì ìì).",sections:{what:{title:"1. ì¿ í¤ë 무ìì¸ê°ì?",description:"ì¿ í¤ë ì¹ì¬ì´í¸ 방문 ì ë¸ë¼ì°ì ì ì ì¥ëë ìì í
ì¤í¸ íì¼ì
ëë¤."},howWeUse:{title:"telet.aiì ì¿ í¤ ì¬ì© 목ì ë±",description:"telet.aië ì£¼ë¡ ë¤ìê³¼ ê°ì 목ì ì¼ë¡ ì¿ í¤ ë±ì ì¬ì©í ì ììµëë¤.",items:["ì¬ì´í¸ì íì ë° ì´ìì ìì íí기 ìí´","ë¬´ë¨ ì¡ì¸ì¤ ë° ì
ì± í¸ëí½ì íì§íê³ ë°©ì§í©ëë¤.","ì¡ì¸ì¤ ìí를 íì
íê³ ì¬ì´í¸ ê°ì ì ëìì 주기 ìí 목ì "]}
270,googleAnalytics:{title:"3. Google ì ë리í±ì¤ ì¬ì©",description:"telet.aië Google LLCìì ì ê³µíë Google ì ë리í±ì¤ 4(GA4)를 ì¬ì©íì¬ ì¡ì¸ì¤ ë¶ìì ìíí©ëë¤.",items:["ìì§ë ì ë³´ìë ì¡°íí íì´ì§, ìì ìê°, ì¶ì² ìì¤, 기기 ë° ë¸ë¼ì°ì ì ë³´ ë±ì´ í¬í¨ë ì ììµëë¤.","telet.aië ì§ì ì ì¼ë¡ ê°ì¸ì ìë³í ì ìë ì ë³´(ì´ë¦, ì´ë©ì¼ 주ì ë±)를 Google ì ë리í±ì¤ì ì ì¡í 목ì ì¼ë¡ ì¬ì©íì§ ììµëë¤.","Googleì ë°ì´í° ì²ë¦¬ìë Googleì ì½ê´ ë° ì ì±
ì´ ì ì©ë©ëë¤."]},cloudflare:{title:"4. Cloudflare ì¬ì©",description:"telet.aië 본 ì¬ì´í¸ì ì ì¡ ë° ë³´ì ì¡°ì¹ë¥¼ ìí´ Cloudflare, Inc.ì ìë¹ì¤ë¥¼ ì¬ì©í©ëë¤. Cloudflareë DDoS ë³´í¸ ë° ë´ ë°©ì§ ë±ì 목ì ì¼ë¡ ì¿ í¤ ë±ì ì¤ì íê³ ì°¸ì¡°í ì ììµëë¤.",items:["주ì 목ì ì ë³´ì ë° ì»¤ë®¤ëì¼ì´ì
ìµì íì´ë©°, ê´ê³ ê²ì¬ë¥¼ ìí ì¶ì ì 목ì ì¼ë¡ íì§ ììµëë¤.","Cloudflareì ë°ì´í° ì²ë¦¬ìë Cloudflareì ì½ê´ ë° ì ì±
ì´ ì ì©ë©ëë¤."]},noSpecialCookies:{title:"5. telet.aiê° ì¤ì íë í¹ë³í ì¿ í¤",description:"telet.aië íë íê²í
ê´ê³ ë±ì 목ì ì¼ë¡ ìì²´ì ì¸ í¹ì ì¿ í¤ë¥¼ ì¤ì íì§ ììµëë¤. ì¿ í¤ ë±ì ì¬ì©ì ì£¼ë¡ ì¬ì´í¸ ì´ì, ë³´ì ë° ì ì ë¶ìì ë²ìë¡ ì íë©ëë¤."},choices:{title:"6. ì¿ í¤ ê´ë¦¬(ìµí¸ìì)",description:"ì¿ í¤ë¥¼ ë¹íì±ííë©´ ì¼ë¶ 기ë¥ì ì¬ì©íì§ ëª»í ì ììµëë¤.",items:["ì¿ í¤ë ë¸ë¼ì°ì ì¤ì ìì ìì íê±°ë ë¹íì±íí ì ììµëë¤.","Google ì ë리í±ì¤ 측ì ì ì¬ì©íì§ ìì¼ë ¤ë©´ Googleìì ì ê³µíë ìµí¸ìì ë°©ë²ì ì¬ì©íì¸ì.","ë¸ë¼ì°ì ì ë¹ê³µê° 모ë ë±ì ì¬ì©íë©´ ì ì¥ëë ì ë³´ê° ì íë ì ììµëë¤."]},changes:{title:"7. 본 ì ì±
ì ë³ê²½",description:"telet.aië ë²ë¥ ë° ê·ì ì ê°ì ëë ì´ì© ìë¹ì¤ì ë³ê²½ì ë°ë¼ 본 ì ì±
ì ê°ì í ì ììµëë¤. ê°ì ë ì ì±
ì ì´ íì´ì§ì ê²ìë¨ê³¼ ëìì í¨ë ¥ì´ ë°ìí©ëë¤."},contact:{title:"8. 문ìí기",description:"ì´ ì ì±
ê³¼ ê´ë ¨íì¬ ê¶ê¸í ì ì´ ìì¼ë©´ ë¤ì ì°ë½ì²ë¡ 문ìíì기 ë°ëëë¤.",company:"telet.ai",contactLink:"문ì ììì¼ë¡ ì´ë"}}},aL={hero:{title:"telet.ai ìê°",subtitle:"ìê·ëª¨ì ê°ì¸íë íë§ì´ ì ê³µí ì ìë ì¸ì¬í AI ê°ë° ì§ì."},story:{title:"ì¡°ì§ ì ë³´",content:"telet.aië ì§ë¬¸ìì ììëììµëë¤. ì ê·¸ë ê² ë§ì 기ì
ì´ ê¸°ì
ê³¼ ê³ ê° ê°ì 무ìí ìí¸ìì©ìì ì»ì ì ìë ì¸ì¬ì´í¸ë¥¼ íì©íì§ ëª»íë 걸ê¹ì? ì´ ë¬¸ì 를 ì ë©´ì¼ë¡ í´ê²°í기 ìí´ AI ì°êµ¬ ë° ìí°íë¼ì´ì¦ ìíí¸ì¨ì´ ê°ë° ê²½ë ¥ì´ ìë ëíê° ì´ëë íì´ ì¤ë¦½ëììµëë¤. ì í¬ë í° ì¡°ì§ì´ ìëëë¤. ê·¸ë 기 ë문ì ê³ ê°ì ê³¼ì 를 ì¬ë ìê² íì
íê³ ê¼ íìí ì루ì
ë§ì ì ìí ì ììµëë¤. ì í¬ì ê°ì ì ë¡ì»¬ LLMê³¼ í´ë¼ì°ë LLMì íµí©íë íì´ë¸ë¦¬ë ìí¤í
ì²ë¥¼ ì¤ê³íë ë¥ë ¥ì
ëë¤. ì ì© í´ë¼ì°ë íê²½ìì ê·ì¬ì 민ê°í ë°ì´í°ë¥¼ ë³´í¸íë ëìì íì¥ ê°ë¥í ë°©ìì¼ë¡ ê³ ê¸ AI ì¶ë¡ ì ìíí ì ììµëë¤. ê°ë°ì를 ìí CLIì ì¼ì ì§ìì ìí ì±í
UI를 ì ê³µíì¬ ì¡°ì§ ì ì²´ìì AI를 ì¬ì©í ì ìë 기ë°ì ì¡°ì±í©ëë¤. ëí ê°ì¥ ì§ë³´ë ì루ì
ì´ ìë ìµì ì ì루ì
ì´ ëë ë° ì¤ì ì ë¡ëë¤. ìì°ì ë°ë¼ 기ë¥ì ë²ë¦¬ê³ íëì 구ì±ë§ ê²í í´ë ë¹ì©ì í° ì°¨ì´ë¥¼ ë§ë¤ ì ììµëë¤. íìí 기ë¥ì íìí ë§í¼ë§ ì ê³µí©ëë¤. ì¸ì¬í AI ê°ë° ì§ìì ìê·ëª¨ ê°ì¸ 기ì
ì´ê¸° ë문ì ê°ë¥í©ëë¤. ì¸ë ¥ ë¶ì¡± 문ì 를 í´ê²°íê³ ê·ì¬ì ì±ì¥ì ì§ìí©ëë¤. ì´ê²ì´ í
ë í¸ë·ìì´ìì´ì ì½ìì
ëë¤."},representative:{title:"telet.ai labo ëí",name:"ì¼ì´í ì¤ì¿ ì´ì¦ë¯¸",tagline:"íëë¡, ë°ë¤ë¡, ì½ëë¡ - ë¨ë¤ë¥¸ ê²½ë ¥ìì ë¹ë¡¯ë AI ê°ë°ì ëí ì´ì ",paragraphs:["ì ì§ ê°ì¸ ì¡°ì¢
ì¬(PPL)ì´ì ì ë° ë©´í ìì§ìì¸ ì ë ìë
ëì íëê³¼ ë°ë¤ìì ë ì¨ë¥¼ ë¤ë¤ììµëë¤. ì¡°ì¢
ìê³¼ ì¡°íì¤ìì 기ìê³ì ë³í를 ê´ì°°íê³ , ë±ìì ì í´ë
íê³ , ë°ëê³¼ 구ë¦ì ìì§ìê³¼ ë¹êµíìµëë¤. ì´ë° ë°ë³µì ì¸ ê³¼ì ì íµí´ í¤ì´ 'ë°ì´í°ë¥¼ ì½ê³ íë¨íê³ íëíë ê°ê°'ì´ ì§ê¸ì ì 를 ìê² í ì¶ë°ì ì
ëë¤.",'ì ë 57ì¸ì íì´ì¬ íë¡ê·¸ëë°ì ë°°ì°ê¸° ììíìµëë¤. ë¨ìí í¸ê¸°ì¬ì´ ìëë ¥ì´ìì§ë§ ì½ë를 ìì±í기 ììíìë§ì AI ìì´ì í¸ì ê°ë¥ì±ì 매ë£ëììµëë¤. ì ìì¼ë¡ ì§ì ì í리ì¼ì´ì
ì ë§ë¤ê³ ì¤ííê³ ê°ì í´ ëê°ìµëë¤. ê·¸ ê³¼ì ìì 깨ë¬ì ê²ì´ ìììµëë¤. 과거 íë¡ì í¸ìì ì ë ë¹ìì§ëì´ë¡ì ì°¸ì¬íê³ , ê°ë°ì íì ë¤ë¥¸ ì¬ëì´ íìµëë¤. íì§ë§ ì ê° ì§ì ì½ë를 ìì±í기 ììíì 문ì ì 본ì§ì´ ë³´ì´ê¸° ììíìµëë¤. "ì¬ê¸°ê° ë³ëª© ì§ì ì´ë¤", "ì´ ëìì¸ì íì¥í ì ìë¤" ë± ìì§ëì´ì ê´ì ì ê°ì§ê² ëë©´ì ì ê° ìíë ê²ì ì¤ííë ìëê° ìì²ëê² ë¹¨ë¼ì¡ìµëë¤.',"íì¥ ê²½íê³¼ ë°ì´í° ê³¼íì ê²°í©í 기ì ìë¹ì¤ ê°ë°, ì´ì í¨ì¨ì ëì´ê¸° ìí ì¸ê³µì§ë¥ ìì´ì í¸ êµ¬ì¶, ë¤ìí ì¤í íë¡ì í¸. ì§ì ìì¼ë¡ ë¶ëªíë©´ì ì´ ê¸°ì ì´ ì¬ë¯¸ìì ë¿ë§ ìëë¼ ê¼ íìí ì¬ëì´ ìì ê±°ë¼ë íì ì´ ë¤ììµëë¤.","ì°ë¦¬ì 목íë ìµì²¨ë¨ì ì«ë ê²ì´ ìëëë¤. ê³ ê°ì 문ì ì ìì°ì ì§ìíê³ ê¼ íìí ê²ë§ í©ë¦¬ì ì¸ ë¹ì©ì¼ë¡ ì ê³µí©ëë¤. ì í¬ë ëê·ëª¨ ì¡°ì§ì´ ìë기 ë문ì ê°ë³ ê³ ê°ì ì구ì ë§ë ê°ë° ì§ìì ì ê³µí ì ììµëë¤. ì´ë¬í 기ì ì ì¬íì ì´ìµì ìí´ ì¬ì©íê³ ì íë ê²ì´ ë°ë¡ í
ë í¸ë·ìì´ìì´ë¥¼ ì¶ìí ì´ì ì
ëë¤."]},contact:{title:"ì¡°ì§ ì ë³´",company:"telet.ai labo",ceo:"ëí ì¤ì¿ ì´ì¦ë¯¸ ì¼ì´í",button:"문ìí기"},studios:{tokyo:{title:"ëì¿ ì¤íëì¤",address:"184-0014 ëì¿ë ì½ê°ë¤ì´ì ëì¿ ì´ë¯¸ëë¯¸ì´ 3-3-21 무ì¬ìì½ê°ë¤ì´ #301 í¼ì¤í¸ íì¤ ìì´ ë¬´ì¬ìì½ê°ë¤ì´, 184-0014, ì¼ë³¸"}}},nL={title:"í¬í¸í´ë¦¬ì¤",subtitle:"AI 기ì íì© ì¤ì 보기",techStackLabel:"기ì ì¤í",viewProject:"íë¡ì í¸ ë³´ê¸°",privateProject:"ê°ì¸ íë¡ì í¸",visualizationLabel:"ë°ì´í° ìê°í",cta:{title:"문ìí기",description:"íë¡ì í¸ì ëí´ ë
¼ìíê±°ë 기ì ì ì¸ ë¬¸ì ì¬íì´ ìì¼ë©´ ì¸ì ë ì§ ë¬¸ìí´ ì£¼ì¸ì.",button:"문ìí기"},projects:{"traffic-route-ai":{title:"AI êµíµ ê²½ë¡ ì í ìì¤í
",subtitle:"ë§ë ì´ìì ëì¤êµíµ ê²½ë¡ ì í ì§ì",de
270scription:"ì¶ë°ì§ì 목ì ì§ë¥¼ 기ì¤ì¼ë¡ ë²ì¤ì ì² ë를 ì¡°í©í ê²½ë¡ë¥¼ ê²ìíê³ ëì°© ìê°, ìì ìê°, íì¹ íìë¡ í보를 ë¹êµíë ìì¤í
ì
ëë¤. ë²ì¤ ì ì©Â·ì² ë ì ì© íí°, ì£¼ë³ ìê³¼ ì ë¥ì¥ ê²ì, ë¤êµì´ íë©´ì ì ê³µíì¬ ì¼ì ì´ëê³¼ ì¬íì ë§ë ê²½ë¡ ì íì ëìµëë¤.",techStack:["ëì¤êµíµ ê²½ë¡ ê²ì","ë²ì¤Â·ì² ë ì°ê³","ê²½ë¡ ë¹êµ","ë¤êµì´ UI"]},"multilingual-assistant":{title:"AI ë¤êµì´ ì´ìì¤í´í¸",description:"ë¤êµì´ 문ì를 ìí ì§ë¥í ì±í
ëì°ë¯¸ë¡ 1,573ê°ì ë²¡í° ì¸ë±ì¤ë¥¼ 구ì¶íê³ ì¡°ê±´ë¶ ë¶ê¸°, NG ë¨ì´ íí°ë§, í¤ìë í¸ë¦¬ê±°ë§ì íµí´ ì ë°í ëµë³ ì ì´ë¥¼ 구íí©ëë¤. ì¸ì´ ê° ìë§¨í± ê²ìì íµí´ ì¼ë³¸ì´, ìì´, ì¤êµì´ ë± ì¬ë¬ ì¸ì´ë¡ ë ì¬ì©ì ì§ë¬¸ì ëí´ ì¼ê´ëê³ ì íí ëµë³ì ìì±í©ëë¤.",techStack:["RAG","ë²¡í° ê²ì","ë¤êµì´ ìë² ë©","LLM","ì¡°ê±´ë¶ ë¶ê¸° ë
¼ë¦¬"]},"weather-forecast":{title:"ë ì¨ API를 ì¬ì©í AI ì¼ê¸° ìë³´",description:"과거 기ì ë°ì´í°ë¥¼ íìµíì¬ ìµê·¼ 기ì ìí©ì ì¤ìê°ì¼ë¡ ì측íë ì¸ê³µì§ë¥ ìì¤í
ì ê°ë°íìµëë¤. LLMì 기ìì² API, ì¤íì¨ëë§µ ë±ìì ì»ì 과거 ë°ì´í°ë¥¼ ë¶ìíì¬ ê¸°ì¨, ê°ì íë¥ , íì ë±ì ëí ë¨ê¸° ì보를 ìì±í©ëë¤. ìê³ì´ ë°ì´í°ì í¨í´ ì¸ìê³¼ RAGì 과거 ì ì¬ì
270± í¨í´ ê²ìì ê²°í©íì¬ ê¸°ì¡´ íµê³ 모ë¸ì ë³´ìíë ëì ì íëì ì측ì ë¬ì±í©ëë¤.",techStack:["ë ì¨ API ì°ë","LLM","RAG","ìê³ì´ ë°ì´í° ë¶ì","ì¤ìê° ì²ë¦¬"]},"local-llm":{title:"ì¬ë´ ìë² / On-Prem Local LLM",description:"ê°ë°©í WebUI를 ê³µíµ ì§ì
ì ì¼ë¡ ì¼ì íì¬ ë´ìì ë°ë¡ ì¬ì©í ì ìë ë¹ì¦ëì¤ ì´ì ë§ì¶¤í AI를 ì ê³µíë©°, Ollama/MLX를 íµí ë¹ ë¥¸ ì¶ë¡ ë ì¸, ê° UIDì ëí´ ìì í ë¶ë¦¬ë ë°ì´í° ëë©ì¸ì ì ê³µí©ëë¤. ì¬ë´ 문ìë ìì´ ìë² ë©ê³¼ ì¼ë³¸ì´ 쿼리 ìë ë²ì 기ë¥ì ê°ì¶ RAGë¡ ìº¡ì²ëë©°, ë´ì¤ ìì½, 문ì ì 리, ì¼ì ì
무ì ê°ì ë¹ì¦ëì¤ ì¤í¬ì´ ìì íê² ëëí ì¤íë©ëë¤. ì¤í¬ ì¤í ìì¤í
ì OpenClaw 컨í
ì´ëë¡ ê²©ë¦¬ëì´ ìì¼ë©° Cloudflare ìì§ ë° ë¡ì»¬ Nginxì 3ê³ì¸µì¼ë¡ ë³´í¸ë©ëë¤. ëª¨ë¸ ì í, ì¤í¬ ì¤ê³, ì´ì ì ì±
ë±ì ì¢
í©ì ì¼ë¡ ì§ìíë©°, ë°°í¬í ë ë¶í° ë°ë¡ ì¬ì©í ì ìë ííë¡ ê·ì¬ì ì ì© AI를 ê°ëí©ëë¤.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"íì± ê° ê¶¤ë ëì°© ì측(AI)",description:"NASA APIìì íì± ìì¹ ë°ì´í°, 궤ë ìì, ì¤ë ¥ íë¼ë¯¸í°ë¥¼ ì»ì´ íì± ê° ì´ëì ìí ìµì ì ì¶ë° ì§ì ì ë¶ìíë ìì¤í
ì ê°ë°íìµëë¤. APIì Pythonì ì¬ì©íì¬ í¸ë§ ì´ë 궤ë ë° ì¤ë ¥ 보조를 ê³ ë ¤í 궤ë ê³ì°ì ìííê³ ë°ì¬ 기ê°, ìì ìê°, ì°ë£ í¨ì¨ì íìí©ëë¤. êµì¡ ê¸°ê´ ë° ì°ì£¼ ê´ë ¨ 기ì
ì ì뮬ë ì´ì
í´ë¡ íì©ëê³ ììµëë¤. *AI 기ë¥ì íì¬ ì ê±°ëìì¼ë©°, APIì Pythonì¼ë¡ ê³ì°ì´ ì§í ì¤ì
ëë¤.",techStack:["NASA API (Horizons, SPICE)","궤ë ìí ê³ì°","Python","ë°ì´í° ìê°í"]},"real-estate":{title:"ë¶ëì° ë°ì´í° AI ë¶ì",description:"ì¹ ì¤í¬ëíì íµí´ í¹ì ì§ìì ë¶ëì° ì 보를 ìì§íê³ LLMê³¼ Pythonì íì©í´ ê³ ê¸ ë°ì´í° ë¶ìì ìííë ìì¤í
ì ê°ë°íìµëë¤. ë¶ëì° ê°ê²©, íë¹ ë¨ê°, 건물 ì°ì, ìì¸ê¶ 거리 ë±ì ë³ì를 ì¶ì¶íì¬ ê°ê²© ì¶ì´ ë¶ì, ìì¥ ì측, í¬ì ììµë¥ ì뮬ë ì´ì
ì ìëì¼ë¡ ìì±í©ëë¤. ëí, ë¹ì ííë ë¶ëì° ì¤ëª
ìì LLMì ì´ì©í´ í¹ì§ì ì¶ì¶íì¬ ì ëì ë°ì´í°ì ê²°í©í ì¢
í©ì ì¸ ìì¥ ë¶ìì ì ê³µí©ëë¤. *íì¬ ë ë²ì§¸ ë²ì ì¼ë¡ ì ê³µ(ì ì ë²ì ì ë³ë ì ê³µ)",techStack:["ì¹ ì¤í¬ëí(ì¤í¬ë©, íë ì´ë¼ì´í°)","Python","íë¤","LLM ë¶ì","ë°ì´í° ìê°í"]},"fortune-ai":{title:"ë¤ ê°ì ê¸°ë¥ AI ê°ì ìì¤í
",subtitle:"기ì ë¡ ì íµì ì§í를 ì¬íí©ëë¤.",paragraphs:["ì ì ì ë¤ ê¸°ë¥ì ìì² ë
ì ê±¸ì¹ ëì ì ì ì ì ì ì
ëë¤. ì´ ìì¤í
ì ì íµì ì¸ ì ì ë¡ì§ì íì´ì¬ì¼ë¡ ìë²½íê² ì¬ííê³ LLM(ëê·ëª¨ ì¸ì´ 모ë¸)ì ì¬ì©í í´ì ë° ì¡°ì¸ ìì±ì ê²°í©íìµëë¤. AIë ì 문 ì ìì´ê° ìííë ê°ì ê³¼ì ì ì¶©ì¤í ì¬íí©ëë¤.","ë ì§, ìê°, ìë
ìì¼ì ì
ë ¥íë©´ ìì¤í
ì ì²ë¬¸í APIìì í´ë¹ ìê°ì ì¼ì¶ ë° ì¼ëª° ìê°ê³¼ ì¢í ì 보를 ê²ìí©ëë¤. ì´ë¬í ë°ì´í°ë¥¼ 기ë°ì¼ë¡ í©ë, ìì´ì§ì , ì¤íì ê· íì ì ííê² ê³ì°í©ëë¤. ì¬ì£¼ëª
리íì 기ë°í ë¡ì§ì Pythonì¼ë¡ ìì¸íëê³ íµê³ ë°ì´í° ë° RAG(ê²ì ì¦ê° ìì±) ì ë³´ì ê²°í©ëì´ ì¬ì£¼ëª
리 ë¶ìì ì íë를 ëì
ëë¤.","ê³ì°ë ë¼ì´íì¤íì¼ ë°ì´í°ë LLMì´ ìì°ì´ë¡ ì기 ì½ê² ì¤ëª
í´ì¤ëë¤. ì´ì íë¦, ëì¸ê´ê³ì ê¶í©, 본ì¸ìê² ì í©í ì§ì
ë± ê°ì¸ë³ ë§ì¶¤ íê° ê²°ê³¼ê° ìì±ë©ëë¤. ì 문 ì ì ê°ìê² ìë´í ê²ê³¼ ê°ì ê¹ì´ ìë ëµë³ì ì»ì ì ììµëë¤.","íì¬ ë ë²ì§¸ ë²ì ì¼ë¡ ì ê³µëê³ ììµëë¤. 기본 ì¬ì£¼ ë¶ìê³¼ ì´ì¸ ë¶ìì ì²´íí´ ë³¼ ì ììµëë¤. ë ìì¸í ë¶ìê³¼ ë¤ê°ì ì¸ ì¡°ì¸ì´ í¬í¨ë ì ì ë²ì ì ë³ëë¡ êµ¬ë§¤í ì ììµëë¤."],techStack:["Python","ì²ë¬¸í API(ì¼ì¶-ì¼ëª°, ìê°ëDB)","ë¤ ê°ì§ ê¸°ë¥ ë
¼ë¦¬","LLM","ì¢í ë° ìê° ê³ì°"]}
270,"google-workspace":{title:"Google Workspace AI integration",description:"ë¹ì¦ëì¤ ë°ì´í°ë¥¼ ì½ê³ , í¸ì§íê³ , ìëì¼ë¡ ì²ë¦¬í기 ìí´ Google Workspace(Gmail, ëë¼ì´ë¸, ìºë¦°ë, 문ì, ì¤íë ëìí¸)ì LLMì ì°ê²°íë ìì¤í
ì ê°ë°íìµëë¤. ì´ë©ì¼ ì½í
ì¸ ìì½, ìë íì ì ìí ì´ì ìì±, ëë¼ì´ë¸ íì¼ ê²ì ë° ë¶ì, ìºë¦°ëìì ì¼ì ì¶ì¶ ë° ì¡°ì ì ìê³¼ ê°ì ì¼ìì ì¸ ìì
ì AIê° ì§ìí©ëë¤. ìì´ì í¸ì ìí¬ì¤íì´ì¤ ìì
ì OAuth ì¸ì¦ì íµí ë³´ì API ì°ê²°ê³¼ MCP í¸í ë구 ì¤ê³ë¥¼ íµí´ ì¤íë©ëë¤. íì¬ ë ë²ì§¸ ë²ì ì ì¬ì©í ì ììµëë¤(ì ì ë²ì ì ë³ë ì ê³µ ìì ).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"ì¸ê³ ë´ì¤ ë¤êµì´í",description:"ì ì¸ê³ ë´ì¤ ìì¤ìì ì¤ìê°ì¼ë¡ 기ì¬ë¥¼ ìì§íê³ LLMì ì¬ì©íì¬ ë¤êµì´ ë²ì, ìì½, ë¶ë¥ë¥¼ ìííë ìì¤í
ê°ë°. ìì´, ì¤êµì´, íëì¤ì´, ìëì´ ë±ì ì문ì ì¼ë³¸ì´ë¡ ë²ìíê³ ì£¼ì ë³ë¡ ì 리í©ëë¤. ë¨ì ê¸°ê³ ë²ìì´ ìë 문맥 ì´í´ì 기ë°í ìì°ì¤ë¬ì´ ë²ìê³¼ LLMì íì©í ë²ì, 기ì¬ì ìì ì ì¶ì¶í ìì½ ìì±ì¼ë¡ í¨ì¨ì ì¸ êµì ë´ì¤ 모ëí°ë§ì´ ê°ë¥í©ëë¤. *íì¬ ì¸ì»¨ë ë²ì ì¼ë¡ ì ê³µ ì¤ì
ëë¤(ì ì ë²ì ì ë³ë ì ê³µ).",techStack:["ë´ì¤ API","RSS 컬ë ì
","LLM ë²ì ë° ìì½","ë¤êµì´ ì²ë¦¬","ìë ë¶ë¥","ìì½ë ì¼ê´ ì²ë¦¬"]},"security-monitoring":{title:"ë³´ì ë¡ê·¸ 모ëí°ë§ AI ê´ë¦¬ì",description:"LLMì íì©í 기ì
ë³´ì ë¡ê·¸ ì¤ìê° ëª¨ëí°ë§ ë° ì§ë¥í ìí íì§-ë¶ì ìì¤í
ì ê°ë°íìµëë¤. ë°©íë²½, IDS/IPS, ì¸ì¦ ë¡ê·¸, ì í리ì¼ì´ì
ë¡ê·¸ ë± ë¤ìí ë¡ê·¸ ìì¤ë¥¼ íì´ì¬ 모ëë¡ ìì§ ë° ë¶ìíê³ , RAGì ì¶ì ë 과거 공격 í¨í´, ì·¨ì½ì ì ë³´, ì¬ê³ ì¬ë¡ì ë¹êµí©ëë¤. ì´ì í¨í´ì´ íì§ëë©´ LLMì ìí ìì¤, ìí¥ ë²ì, ê¶ì¥ ëì ë°©ìì ìì°ì´ë¡ ì¤ëª
í´ì£¼ê³ ë´ë¹ììê² ì¦ì ìë ¤ì¤ëë¤. ëì¼í í¨í´ì´ ë°ë³µëë©´ ìëì¼ë¡ ì°ì ììê° ëì 경보를 ë°ë ¹íì¬ ì¬ê³ ëì ìë를 ëì
ëë¤.",techStack:["Python 모ëí°ë§ 모ë","ë¡ê·¸ ìì§(Fluentd, Logstash)","RAG","ìí í¨í´ DB","LLM ë¶ì","ì림 ì림(ì¬ë, íì´ì ëí°)"]}}},tL={learnMore:"ìì¸í 보기",getStarted:"ìì ...",contactUs:"문ìí기",backToHome:"íì¼ë¡ ëìê°ê¸°"},iL={title:"ê°ì¸ì ë³´ ë³´í¸ì ì±
",subtitle:"ê°ì¸ì ë³´ ë³´í¸ì ì±
",lastUpdated:"ë§ì§ë§ ì
ë°ì´í¸: 2026ë
1ì 23ì¼",intro:'telet.ai("ìë¹ì¤")ë ê·íì ê°ì¸ì ë³´ ë³´í¸ë¥¼ ì¤ìí ì±
ìì¼ë¡ ìê°íë©° ë¤ìê³¼ ê°ì ê°ì¸ì ë³´ ë³´í¸ì ì±
ì ì립íê³ ììµëë¤.',sections:{collection:{title:"1. ìì§í ì ë³´",description:"telet.aië ê·íê° telet.aiì ì°ë½íê±°ë ìë¹ì¤ë¥¼ ì´ì©í ë ë¤ì ì 보를 ìì§í ì ììµëë¤.",items:["ì´ë©ì¼ 주ì","ì¬ì©ì ì´ë¦(ì í ì¬í)","문ì ì¸ë¶ ì ë³´","ê·íê° ìë°ì ì¼ë¡ ì ê³µí 기í ì ë³´"]},purpose:{title:"2. ì ë³´ ì´ì© 목ì ",description:"ìì§ë ê°ì¸ì ë³´ë ë¤ì 목ì ì¼ë¡ë§ ì¬ì©ë©ëë¤.",items:["문ìì ëí ëµë³ ë° ìëµ","ì°ë½ì² ë° ìë¹ì¤ ê´ë ¨ ì ë³´","íë¡ì í¸ ì§íì íìí 커뮤ëì¼ì´ì
","ìë¹ì¤ ê°ì ì ìí ë¶ì(ê°ì¸ì ìë³í ì ìë íì)"]},thirdParty:{title:"3. ì 3ìì ëí ì ê³µ",description:"본 ìë¹ì¤ë ë¤ìì ê²½ì°ë¥¼ ì ì¸íê³ ê·íì ê°ì¸ì 보를 ì 3ììê² ì ê³µíì§ ììµëë¤.",items:["ê³ ê°ì´ ëìíë ê²½ì°","ë²ë ¹ì 근거í ê³µê° ìì²ì´ ìë ê²½ì°","ì¬ëì ìëª
, ì ì²´ ëë ì¬ì°ì ë³´í¸ë¥¼ ìí´ íìí ê²½ì°"]},security:{title:"4. ì ë³´ ê´ë¦¬",description:"ìë¹ì¤ë ìì§í ê°ì¸ì 보를 ì ì íê² ê´ë¦¬íê³ ë¬´ë¨ ì ê·¼, ë¶ì¤, ì ì¶, ë³ì¡° ë±ì ë°©ì§í기 ìí´ í©ë¦¬ì ì¸ ë³´ì ì¡°ì¹ë¥¼ ì·¨í©ëë¤."},email:{title:"5. ì´ë©ì¼ ì²ë¦¬",description:"ìë¹ì¤ë ë¤ì ì ì±
ì ë°ë¼ ì´ë©ì¼ì ì²ë¦¬í©ëë¤.",items:["telet.aië ê·íì ì´ë©ì¼ ë´ì©ì ê·íì 문ìì ìëµíê³ ìë¹ì¤ë¥¼ ì ê³µí기 ìí 목ì ì¼ë¡ë§ ì¬ì©í©ëë¤.","telet.aië ê·íì ì´ë©ì¼ 주ì를 ì 3ììê² í매, ëì¬ ëë ê³µì íì§ ììµëë¤.","telet.aië íìëìê² telet.ai ìë¹ì¤ì ëí ì ë³´ ì´ë©ì¼ì ë³´ë¼ ì ììµëë¤. ìì ì ê±°ë¶íë ¤ë©´ ì´ë©ì¼ì ìì ê±°ë¶ ë§í¬ë¥¼ ì´ì©íê±°ë ìë ì°ë½ì² ì ë³´ë¡ ë¬¸ìíì기 ë°ëëë¤.","ìì í íµì ì ë³´ì¥í기 ìí´ ì´ë©ì¼ íµì ì SSL/TLS ìí¸í를 ì¬ì©í©ëë¤.","telet.aië ê·íì ì´ë©ì¼ì ì ì í ê¸°ê° ëì ë³´ê´í í ìì íê² ìì í©ëë¤."]},cookies:{title:"6. ì¿ í¤ ì¬ì©",description:"ì¿ í¤ë ë¸ë¼ì°ì ì
270¤ì ìì ë¹íì±íí ì ììµëë¤."},external:{title:"7. ì¸ë¶ ìë¹ì¤ ì¬ì©",description:"본 ìë¹ì¤ë ë¤ìê³¼ ê°ì ì¸ë¶ ìë¹ì¤ë¥¼ ì´ì©í ì ììµëë¤. ê° ìë¹ì¤ì ê°ì¸ì ë³´ ì²ë¦¬ë°©ì¹¨ì í´ë¹ ë§í¬ë¥¼ 참조íì¸ì.",items:["Google Analytics (access analysis)","ë¹ì¦ëì¤ ì´ìì íìí 기í í´ë¼ì°ë ìë¹ì¤"]},changes:{title:"8. ê°ì¸ì ë³´ ë³´í¸ì ì±
ë³ê²½",description:"본 ì ì±
ì ë²ë ¹ì ê°ì ëë ìë¹ì¤ ë´ì©ì ë³ê²½ì ë°ë¼ ì¬ì ê³ ì§ ìì´ ê°ì ë ì ììµëë¤. ê°ì ë ì ì±
ì 본 íì´ì§ì ê²ìë¨ê³¼ ëìì í¨ë ¥ì´ ë°ìí©ëë¤."},contact:{title:"9. 문ìí기",description:"ì´ ì ì±
ê³¼ ê´ë ¨íì¬ ê¶ê¸í ì ì´ ìì¼ë©´ ë¤ì ì°ë½ì²ë¡ 문ìíì기 ë°ëëë¤.",company:"telet.ai",contactLink:"문ì ììì¼ë¡ ì´ë"}}},sL={title:"ì´ì© ì½ê´",subtitle:"본 ì´ì© ì½ê´ì 본 ì¬ì´í¸ ì´ì© ë° ìë´ ìì½, 문ì, telet.ai ì ë³´ ìì²ì ëí ì´ì© ì½ê´ì
ëë¤.",lastUpdated:"ë§ì§ë§ ì
ë°ì´í¸: 2026ë
1ì 22ì¼",intro:'본 ì´ì© ì½ê´(ì´í "ì½ê´")ì telet.aiê° ì´ìíë ì¹ì¬ì´í¸(ì´í "ì¬ì´í¸")ì ì ì©ë©ëë¤. ì¬ì´í¸ë ì£¼ë¡ ìë´ ìì½, 문ì ë° ë¬¸ì ìì²ì ìí ëë© íì´ì§ë¡ ì ê³µëë©°, ì¬ì´í¸ìì ê³ì ìì± ëë ì ë£ ê²°ì 기ë¥ì ì ê³µíì§ ììµëë¤.',sections:{scope:{title:"1. ì ì© ë²ì",description:'본 ì´ì©ì½ê´ì ì¬ì´í¸ì 모ë 방문ì ë° ì¬ì©ì(ì´í "ì¬ì©ì")ìê² ì ì©ë©ëë¤. telet.aiì ì¬ì©ì ê°ì ë³ëì NDA, ìììì± ê³ì½, ê°ë³ ê³ì½ ë±ì´ ì²´ê²°ë ê²½ì° í´ë¹ 문ìê° ë³¸ ì½ê´ë³´ë¤ ì°ì íì¬ ì ì©ë©ëë¤.'},prohibited:{title:"2. ê¸ì§ í목",description:"ì´ì©ìë ì¬ì´í¸ë¥¼ ì´ì©í¨ì ìì´ ë¤ì ê° í¸ì í´ë¹íë íì를 í´ìë ì ë©ëë¤.",items:["ë²ë ¹ ëë 공공ì§ì ë° ë¯¸íììì ìë°ëë íì","telet.ai ëë ì 3ìì ì§ì ì¬ì°ê¶, ê°ì¸ì ë³´ ëë 기í ê¶ë¦¬ë ì´ìµì 침í´íë íì","ë¬´ë¨ ì ì, ê³¼ëí ë¶í, ë°©í´ íì ë±ì íµí´ 본 ì¬ì´í¸ ëë ê´ë ¨ ìì¤í
ì ì´ìì ë°©í´íë íì.","문ì ìì ë±ì íì ì 보를 ì ì¶íê±°ë ì 3ì를 ì¬ì¹íë íì.","telet.aiì ì¬ì íê° ìì´ ì¤í¬ëí, 리ë²ì¤ ìì§ëì´ë§ ëë ê³¼ëí ìë ì¡ì¸ì¤ ìí"]},disclaimer:{title:"3. ë©´ì±
ì¡°í",description:'telet.aië 본 ì¬ì´í¸ë¥¼ "ìë ê·¸ëë¡" ë° "ì¬ì© ê°ë¥í ëë¡" ì ê³µí©ëë¤. ë²ì´ íì©íë ìµë íë ë´ìì telet.aië 본 ì¬ì´í¸ì ê´ë ¨ë 모ë ë³´ì¦ì ë¶ì¸í©ëë¤.',items:["ì´ ì¬ì´í¸ì ì ë³´ë ì¬ì íµì§ ìì´ ë³ê²½ëê±°ë ìì ë ì ììµëë¤.","telet.aië ì´ ì¬ì´í¸ì ìë ì ë³´ì ì íì±, ìì ì± ëë í¹ì 목ì ì ëí ì í©ì±ì ë³´ì¥íì§ ììµëë¤.","telet.aië ê·íê° ì´ ì¬ì´í¸ë¥¼ ì¬ì©íê±°ë ì¬ê¸°ì í¬í¨ë ì ë³´ì ìì¡´í¨ì¼ë¡ì¨ ë°ìíë ì´ë í ìí´ì ëí´ìë ì±
ìì ì§ì§ ììµëë¤.","ìë´ ë° ë¬¸ìì ëí ëµë³ì ì¼ë°ì ì¸ ì ë³´ ì ê³µë§ì 목ì ì¼ë¡ íë©° ë²ë¥ , ì¸ë¬´, ìë£ ëë 기í ì 문ì ì¸ ì¡°ì¸ì´ ë ì ììµëë¤."]},ip:{title:"4. ì§ì ì¬ì°ê¶",description:"ì´ ì¬ì´í¸ì í
ì¤í¸, ì´ë¯¸ì§, ëìì¸, ìí, ë¡ê³ ë±ì ëí 모ë ê¶ë¦¬ë telet.ai ëë ì ë¹í ê¶ë¦¬ ë³´ì ììê² ììµëë¤. ê¶ë¦¬ìì íê° ìì´ ì´ë¥¼ ì¬ì©í ì ììµëë¤."},links:{title:"5. ì¸ë¶ ì¬ì´í¸ ë§í¬",description:"ì´ ì¹ì¬ì´í¸ìë íì¬ ì¹ì¬ì´í¸ë¡ ì°ê²°ëë ë§í¬ê° í¬í¨ëì´ ìì ì ììµëë¤. telet.aië ë§í¬ë ì¬ì´í¸ì ì½í
ì¸ ë ì´ìì ëí´ ì±
ìì ì§ì§ ììµëë¤."},changes:{title:"6. 본 ì´ì©ì½ê´ì ë³ê²½",description:"telet.aië íìì ë°ë¼ ììë¡ ë³¸ ì´ì©ì½ê´ì ë³ê²½í ì ìë ê¶ë¦¬ë¥¼ ë³´ì í©ëë¤. ê°ì ë ì´ì©ì½ê´ì ì¬ì´í¸ì ê²ìë¨ê³¼ ëìì í¨ë ¥ì´ ë°ìí©ëë¤."},governingLaw:{title:"7. ì¤ê±°ë² ë° ê´í ê¶",description:"본 ì´ì©ì½ê´ì ì¼ë³¸ë²ì ì¤ê±°ë²ì¼ë¡ í©ëë¤. 본 ì¬ì´í¸ì ê´ë ¨íì¬ ë¶ìì´ ë°ìíë ê²½ì° ëì¿ì§ë°©ë²ìì ì 1ì¬ ì ìì í©ìê´í ë²ìì¼ë¡ í©ëë¤."},contact:{title:"8. 문ìí기",description:"본 ì´ì©ì½ê´ê³¼ ê´ë ¨íì¬ ê¶ê¸í ì ì´ ìë ê²½ì° ë¤ì ì°ë½ì²ë¡ 문ìíì기 ë°ëëë¤.",company:"telet.ai",contactLink:"문ì ììì¼ë¡ ì´ë"}}}
270,rL={title:"ê·ì¹ì ì¸ ëì",subtitle:"AIê° ì측íë",description1:"기ì ì ë³´ë ê° êµê°ìì ì¤ìê°ì¼ë¡ ì ê³µë©ëë¤. ì§ë ì¤ìì ê·íì êµê°ê° íìë©ëë¤. ì´ì ë ì¨ì ì¤ë ë ì¨ë ì¤ì 기ë¡ì
ëë¤ - ê·¸ ë¹êµ¬ë¦ì ê·¸ ë ì§ì ìê°ì ë¹ì ì íëì ììì ê²ì
ëë¤.",description2:"íì§ë§ ì´ ì ëë©ì´ì
ì 미ëì ë ì¨ ìì§ìë ì ëë©ì´ì
ì¼ë¡ ííí©ëë¤.",description3:"과거ì ë°ì´í°ë¥¼ 벡í°ííì¬ ë¹ ë¥¸ ìëë¡ í¨í´ì ê²ìí©ëë¤. ì£¼ë³ íê²½ì¼ë¡ë¶í° ë ì¨ í¨í´ë ì측í ì ììµëë¤. ë§ì°¬ê°ì§ë¡ íê²½ì ìì(i)ì 과거 ì¤ì ì ê³ ê¸ íµê³ ê°ì ê³ì°íê³ AIê° ì´ë¥¼ ë¶ìíëë¡ íì¬ ìíë, ìì°ë, 매ì¶ì ì측í ì ììµëë¤.",refresh:"ìë¡ ê³ ì¹¨(ì: ë©ëª¨ë¦¬)",loading:"ë ì¨ ì§ë ë¡ë ì¤..."},oL={hero:{badges:["ìí°íë¼ì´ì¦","ë¡ì»¬ LLM","ì¬ì©ì ì§ì ìì´ì í¸"],title:"기ì
ì© AI ìì´ì í¸ ì¤ê³ ë° ê°ë°",description:"ë¹ì¦ëì¤ ì구 ì¬íì ë§ë ì ì© AI ìì´ì í¸ ì¤ê³ ë° êµ¬ì¶"},mission:{title:"ë§ì¶¤í AI ìì´ì í¸ ê°ë° ìë¹ì¤",description:"ì¤ê³ë¶í° 구í, ì´ìê¹ì§ ê·ì¬ì ê³ ì í ë¹ì¦ëì¤ ë¬¸ì 를 í´ê²°íë ë§ì¶¤í AI ìì´ì í¸ë¥¼ ì§ìì ì¼ë¡ ê°ë°í©ëë¤. 기존 미ì
í¬ë¦¬í°ì»¬ ìì¤í
ë° SaaS í경과ì í¸íì±ì ê°ì¡°í ìí¤í
ì² ì¤ê³ë¡ API, ë°ì´í°ë² ì´ì¤, ë´ë¶ ë구ìì ìíí íµí©ì´ ê°ë¥í©ëë¤. telet.aiì ìì§ëì´ë¤ì LangChain, AutoGen, CrewAI ë° ê¸°í 주ì íë ììí¬ì ìµìíë©°, ê·ì¬ì 기ì ì¤íê³¼ ì´ì 구조ì ê°ì¥ ì í©í ì루ì
ì ì ìí ê²ì
ëë¤. ì¼íì± ì±ë´ ê°ë°ë¿ë§ ìëë¼ ì¬ë¬ ìì´ì í¸ê° ìë¡ íë ¥íì¬ ìì
ì ìííë ë©í° ìì´ì í¸ ìì¤í
ê³¼ ì¸ë¶ ë구ì ì°ëëë ìì´ì í¸ ìí¬íë¡ì°ë 구ì¶í©ëë¤. êµ¬ì¶ í ì§ìì ì¸ ê°ì , ëª¨ë¸ ì
ë°ì´í¸, ì´ì 모ëí°ë§ ìì¤í
ì ì§ë³´ì ë± ì¥ê¸°ì ì¸ íí¸ëìì íµí´ AI ìì´ì í¸ê° ì ê³µíë ë¹ì¦ëì¤ ê°ì¹ë¥¼ ê·¹ëíí ì ìëë¡ ì§ìí©ëë¤.",imageAlt:"ë§ì¶¤í AI ìì´ì í¸ ê°ë° ìë¹ì¤"},summary:{title:"ìì´ì í¸ ê°ë° ëí¥",paragraphs:["2025ë
ë¶í° 2026ë
ê¹ì§ ì¸ê³µì§ë¥ ìì´ì í¸ ê°ë°ì ì¤ì¦ ë¨ê³ìì 본격ì ì¸ ê¸°ì
ëì
ë¨ê³ë¡ ëì´ê°ê³ ììµëë¤. 'ìì´ì í¸ AI'ë¼ë ê°ë
ì´ ì리를 ì¡ì¼ë©´ì ë¨ìí ì±ë´ì ëì´ì ìì¨ì ì¸ ì
무 ìí ìì¤í
ì´ ë¤ìí ì°ì
ìì ì´ìë기 ììíìµëë¤.","ë¸ë¼ì°ì ì ë°ì¤í¬í±ì ì§ì ì ì´íë 'ì»´í¨í° ì¬ì© ìì´ì í¸'ë OpenAIì Operator, Anthropicì Computer Use, Googleì Project Marinerì ê°ì´ ì¤ì©íëê³ ììµëë¤. ëª¨ë¸ ì»¨í
ì¤í¸ íë¡í ì½(MCP)ì ê¸ì±ì¥íë ìì½ìì¤í
ì¼ë¡, ìì² ê°ì ë구ì íë¬ê·¸ ì¤ íë ì´ ë°©ìì¼ë¡ íµí©í ì ììµëë¤.","íë¡ì í¸ ê´ë¦¬, ê³ ê° ì§ì, ë°ì´í° ë¶ìê³¼ ê°ì ë³µì¡í ìì
ì ìíí기 ìí´ ì 문 ìì´ì í¸ê° í¨ê» ìì
íë ë©í° ìì´ì í¸ ìí¤í
ì²ê° ì±ì기ì ì´ë¥´ë ìµëë¤. A2A(ìì´ì í¸ ê°) íë¡í ì½ íì¤íë¡ ì¸í´ ì¬ë¬ ê³µê¸ì
ì²´ ê°ì ìì´ì í¸ íì
ë ì§ì ì ì´ë£¨ììµëë¤.","ê±°ë²ëì¤ ëª¨ë¸ì 'í´ë¨¼ ì¸ ë 루í'ìì 기ì
구íì ìí 'í´ë¨¼ ì¨ ë 루í'ë¡ ì§ííì¼ë©°, ìì´ì í¸ ì¬í ê²°ì ê°ì¬ ë©ì»¤ëì¦ê³¼ ìí ìì¤ì ë°ë¥¸ ìë ìì¤ì»¬ë ì´ì
ì íì¤ ê¸°ë¥ì¼ë¡ ì±ííì¬ ê¸ìµ, ìë£, ì ì¡° ë± ê·ì ì°ì
ìì ì±íì´ ê°ìíëê³ ììµëë¤. ê¸ìµ, ìë£, ì ì¡° ë± ê·ì ëì ì°ì
ìì ì´ ìì¤í
ì ëì
ì´ ê°ìíëê³ ììµëë¤."]},features:{title:"ëìì¸ ë° ê°ë°",subtitle:"ëìì¸ ë° ê°ë°",items:[{title:"ë¹ì¦ëì¤ ì구 ì¬íì ë°ë¥¸ ìì´ì í¸ ì¤ê³",description:"ë¹ì¦ëì¤ íë¦ ë¶ììì ì¬ì© ì¬ë¡ë¥¼ ì¶ì¶íê³ , ì
무를 ì¸ë¶ííì¬ ìì´ì í¸ì ì±
ìì ëª
íí í©ëë¤. ë¨ì¼ ìì´ì í¸ë¡ ì²ë¦¬ë¥¼ ìë£í ì ìëì§ ìëë©´ ì¬ë¬ ìì´ì í¸ì ì¡°ì ì´ íìíì§ íë¨íê³ ReAct, Plan-and-Execute, Reflexionê³¼ ê°ì ìµì ì ì¶ë¡ í¨í´ì ì íí©ëë¤."},{title:"RAG/ë구/ìí¬íë¡ íµí©",description:"ìë² ë© ìì±, ì²í¬ ì ëµ, íì´ë¸ë¦¬ë ê²ìì ê²°í©í ë§¤ì° ì íí RAG íì´íë¼ì¸, MCP í¸í ë구 ì ìë¡ ì¸ë¶ API ë° ë°ì´í°ë² ì´ì¤ì ëí íì¤íë ì°ê²°, LangGraphì CrewAI를 ì¬ì©í ë¤ë¨ê³ ìí¬íë¡ì° ì¤ì¼ì¤í¸ë ì´ì
ì ì ê³µí©ëë¤. LangGraphì CrewAIë¡ ë¤ë¨ê³ ìí¬íë¡ë¥¼ ì¤ì¼ì¤í¸ë ì´ì
íì¸ì."},{title:"ë³´ì ë° ê¶í ë¶ì¬ ì¤ê³",description:"ìì´ì í¸ ê¸°ë¥ì ëí ì ê·¼ ì ì´ë RBAC/ABAC, í롬íí¸ ì¸ì ì
ëì, PII íì§ ë° ë§ì¤í¹ì íµí´ 구íë©ëë¤. 모ë ì
ì¶ë ¥ì ëí ê°ì¬ ë¡ê·¸ê° ë³´ê´ëë©° SOC2 ë° ISO27001ì ì¤ìíë íê²½ ì´ìì ì§ìí©ëë¤."},{title:"ì´ì ë° ëª¨ëí°ë§ì í¬í¨í 구í",description:"LangSmith, Langfuse ë±ì¼ë¡ ì¶ì ìê°í를 구ííê³ ì§ì° ìê°, í í° ìë¹ë, ì¤ë¥ì¨ì ì¤ìê°ì¼ë¡ 모ëí°ë§íì¸ì. ì´ì ì§í íì§ ì림, A/B í
ì¤í¸ ì¸íë¼, ëª¨ë¸ ì
ë°ì´í¸ ì íê· í
ì¤í¸ ë± ì§ìì ì¸ ê°ì 주기를 구ì¶íì¸ì."}]},techStack:{title:"기ì ì¤í",subtitle:"íë«í¼ ë° ê¸°ì ",categories:{agentFramework:{title:"ìì´ì í¸ íë ììí¬",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","OpenAI ìì´ì í¸ SDK","ì¸ì¡° MCP","Google ADK (Agent Development Kit)","ìë§¨í± ì»¤ë","ë
ì ìì´ì í¸ íë«í¼"]},apiLayer:{title:"API ë ì´ì´",items:["FastAPI / ë¼ì´í¸ì¤í","gRP
270C / ì°ê²°","GraphQL ì°í©","ìë² ì ì¡ ì´ë²¤í¸(SSE)","ì¹ìì¼ / NATS","OAuth 2.1 / OIDC","API ê²ì´í¸ì¨ì´(콩/ìë³´ì´)","ì ìí ìë ì í"]},vectorDb:{title:"ë²¡í° DB/RAG",items:["ìë°©ì¸","Weaviate","Qdrant","Milvus","í¬ë¡ë§DB","pgvector","FAISS","í°ë³´í¼í¼"]},infrastructure:{title:"ì¸íë¼",items:["ì¿ ë²ë¤í°ì¤(EKS/GKE/AKS)","ë커/í맨","ì¨íë ë¯¸ì¤ GPU í´ë¬ì¤í°","íë¼ì´ë¹ í´ë¼ì°ë","ìë²ë¦¬ì¤(ëë¤/í´ë¼ì°ë ì¤í)","ì¤íí ë ë©í¸ë¦¬ / ëí¨ì¦","í ë¼í¼ / í루미","ArgoCD / íëì¤"]}},updateNote:{title:"2026ë 주ì ì ë°ì´í¸ ì¬í",description:"ìì´ì í¸ íë ììí¬ììë OpenAI ìì´ì í¸ SDK, Anthropic MCP, Google ADK ë± ì£¼ì 벤ëì ê³µì SDK/íë¡í ì½ì´ ë±ì¥íê³ ìì¼ë©°, API ë ì´ì´ììë gRPCì SSEê° ìì´ì í¸ ê° íµì ì íì¤ì¼ë¡ ì리 ì¡ìê³ OAuth 2.1ë¡ì ì íì´ ì§í ì¤ì ëë¤. Vector DBììë ê³ ì ê²ìì ìí Qdrantì Turbopufferê° ì£¼ëª©ë°ê³ ììµëë¤."}},cta:{title:"문ìí기",description:`ì구 ì¬í ì¤ë¹ë¶í° ìë´í´ ë립ëë¤. 271PoC ë° ë¡ì»¬ LLM 구ì±ë ê³ ë ¤í ì ììµëë¤.`,primaryButton:"문ìí기",secondaryButton:"기ì ìë´"}},lL={title:"ì주 묻ë ì§ë¬¸",subtitle:"ì주 묻ë ì§ë¬¸",items:[{question:"기존 매ë´ì¼ê³¼ FAQ를 ìì íì§ ìê³ ê·¸ëë¡ ì¬ì©í ì ìëì?",answer:"ì, ì¬ì©í ì ìì¼ë©° PDF, Word, Excel, HTML, í ì¤í¸ íì¼ ë± ëë¶ë¶ì íìì ì§ìí©ëë¤. 기존 ë´ë¶ 문ì를 ê·¸ëë¡ ì ë¡ëíê¸°ë§ íë©´ AIê° ë´ì©ì íìµíì¬ ì§ë¬¸ì ëµë³íë ë° ì¬ì©í©ëë¤. íì ë³íì´ë í¹ë³í ì²ë¦¬ê° íìíì§ ììµëë¤."},{question:"민ê°í ì ë³´ê° í¬í¨ë ë°ì´í°ì í¨ê» ì¬ì©í´ë ìì íê°ì?",answer:"ì, ìì íê² ìë¹ì¤ë¥¼ ì´ì©í ì ììµëë¤. ì¨íë 미ì¤(ì¬ë´ ìë²) ëë íë¼ì´ë¹ í´ë¼ì°ë íê²½ììë ë°ì´í°ê° íì¬ ì¸ë¶ë¡ ì ì¡ëì§ ììµëë¤. ë³´ì ì구 ì¬íì 충족íë 구ì±ì ì ìí ì ììµëë¤."},{question:"구ííë ë° ìê°ì´ ì¼ë§ë 걸리ëì?",answer:"íì¤ FAQ ë´ì 2~4주 ì ëë©´ 구íí ì ììµëë¤. 기존 ìì¤í ê³¼ì íµí© ëë ê³ ê¸ ì¬ì©ì ì§ì ì´ íìí ê²½ì° 1~3ê°ìì´ ììë ê²ì¼ë¡ ììë©ëë¤. ìê·ëª¨ PoC(ê°ë ì¦ëª )ë¡ ììí ìë ììµëë¤."},{question:"ChatGPT ëë Claudeì ê°ì ì¸ë¶ API를 ì¬ì©íëì?",answer:"ìì² ì ì íì´ ê°ë¥í©ëë¤. ì¸ë¶ API(OpenAI, Anthropic, Google ë±)를 ì¬ì©íë 구ì±ê³¼ ìì í ë¡ì»¬ìì ì¤íëë ì¤í ìì¤ LLM(Llama, Mistral, Qwen ë±)ì ì¬ì©íë 구ì±ì 모ë ì§ìí©ëë¤. ë¹ì©, ë³´ì ë° ì±ë¥ ì구 ì¬íì ê°ì¥ ì í©í 구ì±ì ì ìí´ ë립ëë¤."},{question:"AIì ìëµì ì¼ë§ë ì ííëì?",answer:"ì í리ì¼ì´ì ê³¼ ë°ì´í° íì§ì ë°ë¼ ì ì íê² ì¤ê³ë RAG ìì¤í ì ê´ë ¨ 문ìê° ì¡´ì¬íë ì§ë¬¸ì ëí´ 90% ì´ìì ì íëë¡ ì íí ëµë³ì ë°íí ì ììµëë¤. í ìë¤ì´ì (ì못ë ì ë³´ ìì±)ì ì ì´íë ë©ì»¤ëì¦ë 기본ì¼ë¡ ë´ì¥ëì´ ììµëë¤."},{question:"ì¼ë³¸ì´ ì´ì¸ì ì¸ì´ë¥¼ ì§ìíëì?",answer:"ì, ë¤êµì´ ì§ìì´ ê°ë¥í©ëë¤. ì¼ë³¸ì´, ìì´, ì¤êµì´, íêµì´ë¥¼ í¬í¨í 모ë 주ì ì¸ì´ë¥¼ ì§ìí©ëë¤. ê° ì¸ì´ë³ë¡ ë³ëì 모ë¸ì ë³´ì íë ëì ë¨ì¼ ìì¤í ì¼ë¡ ë¤êµì´ 쿼리를 ì²ë¦¬í ì ììµëë¤."},{question:"기존 ìì¤í (CRM, ì±í ë구 ë±)ê³¼ íµí©í ì ìëì?",answer:"ì, íµí©ì´ ê°ë¥í©ëë¤. Salesforce, HubSpot, Slack, Microsoft Teams, LINE WORKSì ê°ì 주ì ë¹ì¦ëì¤ ë구ìì API íµí©ì ì§ìí©ëë¤. 기존 ìí¬íë¡ì°ë¥¼ ë³ê²½íì§ ìê³ ë AI ì´ìì¤í´í¸ë¥¼ íµí©í ì ììµëë¤."},{question:"ììë£ êµ¬ì¡°ë ì´ë»ê² ëëì?",answer:"íë¡ì í¸ì ê·ëª¨ì ì구ì¬íì ë°ë¼ ë¤ë¦ ëë¤. ì¼ë°ì ì¼ë¡ ì´ê¸° êµ¬ì¶ ë¹ì©ê³¼ ì ì´ì ë¹ì©ì´ ê²°í©ëì´ ìì§ë§, ì¤í ê°ë° ëë 컨ì¤í
271
ìë¹ì¤ë§ ìì²í ìë ììµëë¤. 먼ì ì구 ì¬íì ìë ¤ì£¼ì¸ì. ëëµì ì¸ ê²¬ì ì ì ê³µí´ ëë¦¬ê² ìµëë¤."}]},dL={title:"ìê¸ì ",subtitle:"ìê¸ì ",description:"ë¹ì¦ëì¤ ê·ëª¨ì ë§ë ì ì°í ìê¸ì ",plans:[{name:"ì¤íí°",price:"29,800ì",period:"ìë³/ì¬ì©ì",description:"ìê·ëª¨ íì ìí ìµê³ ì ìê¸ì ì
ëë¤. í©ë¦¬ì ì¸ ê°ê²©ì 기본 AI 기ë¥.",features:["ì ìµë 100í íµí","기본 ì ì¬","í¤ìë ê°ì§","ì´ë©ì¼ ì§ì","7ì¼ ë°ì´í° ë³´ì¡´"],cta:"무ë£ë¡ ììí기",popular:!1},{name:"ì 문ê°",price:"Â¥79,800",period:"ìë³/ì¬ì©ì",description:"ì±ì¥íë íì ì´ìì ì
ëë¤. ê³ ê¸ ë¶ì 기ë¥.",features:["ì ìµë 500í íµí","ê³ ì ë° AI ì ì¬","ê°ì ë¶ì","CRM ì°ë","ì°ì ì§ì","30ì¼ ë°ì´í° ë³´ì¡´","ì¬ì©ì ì§ì ë³´ê³ ì"],cta:"14ì¼ ë¬´ë£ ì²´íí",popular:!0},{name:"ìí°íë¼ì´ì¦",price:"문ìí기",period:"custom",description:"ëê·ëª¨ ì¡°ì§ì ìí 모ë 기ë¥ì ê°ì¶ ìê¸ì ",features:["무ì í íµí","ì ì© AI 모ë¸","ì¨íë ë¯¸ì¤ ì§ì","ì ë´ ì§ì","ë§ì¶¤í íì
","SLA ë³´ì¦","ë³´ì ê°ì¬","무ì í ë°ì´í° ë³´ì¡´"],cta:"ìì
íì 문ì",popular:!1}],faq:{title:"ì주 묻ë ì§ë¬¸",items:[{question:"ë¬´ë£ íê°íì´ ìëì?",answer:"ì, íë¡íì
ë ìê¸ì ììë 14ì¼ ë¬´ë£ ì²´íì ì´ì©í ì ììµëë¤. ììíë ë° ì ì© ì¹´ëê° íìíì§ ììµëë¤."},{question:"ì¸ì ë ì§ ìê¸ì 를 ë³ê²½í ì ìëì?",answer:"ì, ì¸ì ë ì§ ìê¸ì 를 ì
ê·¸ë ì´ëíê±°ë ë¤ì´ê·¸ë ì´ëí ì ììµëë¤. ë³ê²½ ì¬íì ë¤ì ì²êµ¬ 주기ë¶í° ì ì©ë©ëë¤."},{question:"ê³ì½ 기ê°ì ì íì´ ìëì?",answer:"ìê° ìê¸ì ìë ê³ì½ ê¸°ê° ì íì´ ììµëë¤. ì°ê° ì½ì ì ì ííë©´ 20% í ì¸ì ë°ì ì ììµëë¤."}]}},uL={hero:{badge:"AI ê¸°ë° ê¸°ì ",title:"AI í¸ëì¤í¬ë¦½ì
",description:"ê³ ê¸ ë¨¸ì ë¬ë 모ë¸ì 99.5%ì ì íë를 ì ê³µí©ëë¤. ìë°±ë§ ê±´ì ê³ ê° ìí¸ìì© ë°ì´í°ë¡ íìµë AIê° ìì±ì í
ì¤í¸ë¡ ë³íí©ëë¤.",features:["99.5% ì íë","ì¤ìê° ì²ë¦¬","40ê° ì´ìì ì¸ì´ ì§ì"]},features:{title:"주ì 기ë¥",subtitle:"ë¨ìí ìì± ì¸ìì ë°ì´ëë ê³ ê¸ ì ì¬ ìì§",items:[{title:"ì¤ìê° í¸ëì¤í¬ë¦½ì
",description:"ëí ì¤ ì¤ìê° í¸ëì¤í¬ë¦½í¸ë¥¼ ë°ìë³´ì¸ì. ì¦ê°ì ì¸ ì¸ì¬ì´í¸ë¥¼ ì»ê³ ì¤ìê° ì½ì¹ 기í를 ëì¹ì§ ë§ì¸ì."},{title:"ë¤êµì´ ì§ì",description:"40ê° ì´ìì ì¸ì´ë¥¼ ì§ìíë©° ìë ì¸ì´ ê°ì§ 기ë¥ì¼ë¡ ê¸ë¡ë² íì ì§ìí©ëë¤."},{title:"문맥 ì´í´",description:"ì°ì
ë³ ì©ì´ë¥¼ íìµí AI 모ë¸ì 기ì ë° ë¹ì¦ëì¤ ì©ì´ë¥¼ ì ííê² ì¸ìí©ëë¤."},{title:"ì¤í¼ì»¤ ë¶ë¦¬",description:"ëíìì ìë¡ ë¤ë¥¸ íì를 ìëì¼ë¡ ìë³ ë° êµ¬ë¶íê³ ëª
íí íì ìì±ì í ë¹í©ëë¤."},{title:"ì¬ì©ì ì§ì ì´íì§",description:"ê·ì¬ì ê³ ì í ì í ì´ë¦, ìë¹ì¤ ì´ë¦, 기ì ì©ì´ë¥¼ íìµíë©´ ì íëê° í¨ì¬ ë ëìì§ëë¤."},{title:"íì§ ë³´ì¦",description:"ìë íì§ ê²ì¬ ë° ì 뢰ë ì ì 매기기를 íµí´ ìµê³ íì§ì í¸ëì¤í¬ë¦½ì
ì ë³´ì¥í©ëë¤."}]},useCases:{title:"ì¬ì© ì¥ë©´",subtitle:"ì íí íµí ë
¹ì·¨ê° íìí ì°ì
ë° í",items:[{title:"ìì
í",description:"ìì
íµí를 ëëìë³´ê³ ì±ê³µ í¨í´ì íì
íì¸ì. 구체ì ì¸ ì¬ë¡ë¥¼ íµí´ íµí í¨ê³¼ë¥¼ ê°ì íê³ íìë¤ì ì½ì¹íì¸ì."},{title:"ê³ ê° ì§ì",description:"ê³ ê° ë¬¸ì 를 ì ííê² ê¸°ë¡íì¸ì. ì¼ê´ë ìë¹ì¤ íì§ì ë³´ì¥í기 ìí´ í¬ê´ì ì¸ ì§ì ì´ë ¥ì ì ì§í©ëë¤."},{title:"íì§ ê´ë¦¬",description:"ê·ì ì¤ì를 모ëí°ë§íê³ ì¤í¬ë¦½í¸ ì¤ì를 ë³´ì¥í©ëë¤. ê°ì¬ ë° êµì¡ì ëí ìì¸í 기ë¡ì ì ì§íì¸ì."}]},stats:{accuracy:{value:"99.5%",label:"ì ì¬ ì íë"},languages:{value:"40+",label:"ì§ì ì¸ì´"}
271,latency:{value:"<2ì´",label:"ì²ë¦¬ ì§ì°"},availability:{value:"24/7",label:"ì°ì ì²ë¦¬"}}},cL={hero:{badge:"ì¤ë§í¸ ê°ì§",title:"í¤ìë ì¶ì ",description:"ê²½ìì¬ ì¸ê¸, ë°ë° ë° ì¤ìí 주ì 를 ìëì¼ë¡ 모ëí°ë§íì¸ì. ê³ ê° ëíìì ì¤ìí ì í¸ë¥¼ ëì¹ì§ ë§ì¸ì.",badges:["ê²½ìì¬ ì¶ì ","ìëµ íì§","주ì ë¶ì","ë§ì¶¤ í¤ìë"]},features:{title:"ì¤ìí ì ë³´ ì¶ì ",subtitle:"모ë ëíìì í¤ìë ìë ê°ì§ ë° ë¶ì",items:[{title:"ê²½ìì¬ ëª¨ëí°ë§",description:"ê²½ìì¬ ì¸ê¸ì ì¶ì íì¬ ì ì¬ ê³ ê°ì´ ê·ì¬ì ì루ì
ì ìì¥ì ëìê³¼ ì´ë»ê² ë¹êµíëì§ íì
íì¸ì."},{title:"ìëµ íì§",description:"ì¼ë°ì ì¸ ì´ì ì 기 ë° ì°ë ¤ ì¬íì ìëì¼ë¡ íì
íê³ í¨ê³¼ì ì¸ ëì ë° êµì¡ì ê°ë°íì¸ì."},{title:"ë§ì¶¤ í¤ìë",description:"ë¹ì¦ëì¤, ì í ëë ì
ì¢
ì ë§ë ë§ì¶¤ í¤ìëì 문구를 ì ìíê³ ì¶ì íì¸ì."},{title:"í¸ë ë ë¶ì",description:"ê³ ê°ê³¼ì ëíìì ìë¡ì´ í¸ë ë를 ë°ê²¬íê³ ì¤ì ìì¥ ì í¸ì ë°ë¼ ì ëµì ì¡°ì íì¸ì."},{title:"컨í
ì¤í¸ ì¶ì¶",description:"í¤ìëì ëí ì¸ê¸ë¿ë§ ìëë¼ í¤ìë ì íì ë§¥ë½ì íì
íì¸ì. ë¬´ì¨ ë§ì íëì§ë¿ë§ ìëë¼ ì, ì´ë»ê² íëì§ë íì
í ì ììµëë¤."},{title:"ì¤ë§í¸ ê²ì",description:"모ë ëí를 ì¦ì ê²ìíì¬ í¹ì 주ì ê° ì¸ì ì´ëì ë
¼ìëìëì§ ì íí ì°¾ì ì ììµëë¤."}]},applications:{title:"ì¬ì© ì¥ë©´",items:{competitive:{title:"ê²½ì ì¸í
리ì ì¤",description:"ê²½ì íê²½ì ëí ê¹ì ì´í´:",points:["ê°ì¥ ì주 ì¸ê¸ëë ê²½ìì¬ ì¶ì ","ì ì¬ ê³ ê°ì´ 기ë¥ê³¼ ê°ê²©ì ë¹êµíë ë°©ì ì´í´í기","ê²½ì ì°ìì ì½ì íì
","í¨ê³¼ì ì¸ ê²½ìì¬ ë°©ì§ ìë£ ë§ë¤ê¸°"]},objections:{title:"ë°ë°ì ëí ìëµ",description:"ë°ë°ì 기íë¡ ì ííì¸ì:",points:["ê°ì¥ ì¼ë°ì ì¸ ê³ ê° ë¬¸ì íì
","ìì ì±ê³¼ìì ë°ë° ëµë³ ë¶ìí기","ë°ìì´ ì
ì¦ë íë ì´ë¶.","í¨ê³¼ì ì¸ ì
무 ì²ë¦¬ë¡ íì êµì¡"]},product:{title:"ì í ì¸ì¬ì´í¸",description:"ê³ ê° í¼ëë°±ì íµí´ ì í ê°ë°ì ì´ì§í©ëë¤:",points:["ê°ì¥ ë§ì´ ìì²ë ê¸°ë¥ íì
","íì¬ ê¸°ë¥ì ëí 문ì ì ì´í´","ììì¹ ëª»í ì¬ì© ì¬ë¡ ë°ê²¬","ê³ ê° ì구 ì¬íì ë°ë¼ ë¡ëë§µ ì°ì ìì ì§ì "]},compliance:{title:"ê·ì ì¤ì ë° íì§",description:"ê·ì ì¤ì ë° íì§ì ë³´ì¥í©ëë¤:",points:["íì ê³µê° ì¬í ë° ë²ì ì¸ì´ 모ëí°ë§","ì ì±
ì ìë°í ì ìë ëíì íë그를 ì§ì íì¸ì.","ì¤í¬ë¦½í¸ ê·ì ì¤ì ë° ëª¨ë² ì¬ë¡ ì¶ì ","ê°ì¬ë¥¼ ìí ê·ì ì¤ì ë³´ê³ ì ìì±"]}}},advancedFeatures:{title:"ê³ ê¸ ê¸°ë¥",items:[{title:"모í¸í ê²ì",description:"ìë ì¤ì ìì´ í¤ìë ë³í, ëìì´ ë° ê´ë ¨ ì©ì´ë¥¼ ìëì¼ë¡ ê°ì§í©ëë¤."},{title:"ê¸°ë¡ ë¶ì",description:"ìê° ê²½ê³¼ì ë°ë¥¸ í¤ìë í¸ë ë를 ë¶ìíì¬ ê³ì ë³ í¨í´ê³¼ ìë¡ì´ 주ì 를 íì
íì¸ì."},{title:"ì¤ìê° ì림",description:"ì¤ìê° ëíìì ì¤ìí í¤ìëê° ì¸ê¸ëë©´ ì¦ì ì림ì ë°ìµëë¤."}]}},mL={hero:{badges:["ìí°íë¼ì´ì¦","ë¡ì»¬ LLM","ì¬ë´ ìë² ì´ì"],title:"ì¨íë ë¯¸ì¤ LLM 구ì¶",description:"íì¬ ì¸ë¶ì ë°ì´í°ë¥¼ ë³´ê´íë©´ì ìì²´ íê²½ìì LLMì ì´ìíì¸ì."},mission:{title:"ì¨íë ë¯¸ì¤ LLM êµ¬ì¶ ìë¹ì¤ ê°ì",paragraphs:["ê¸°ë° ë°ì´í°ë¥¼ ì¸ë¶ë¡ ì ì¶í ì ìë 기ì
ì ê²½ì°, ìì²´ ìë² ëë íë¼ì´ë¹ í´ë¼ì°ëìì ìë£í ì ìë LLM íê²½ì 구ì¶í©ëë¤. ì´ ì루ì
ì í¼ë¸ë¦ API를 ì¬ì©íì§ ìê³ ê³ ê°ì´ ê´ë¦¬íë ì¸íë¼ ë´ìì 모ë ì²ë¦¬ê° ìë£ëë¯ë¡ ê¸ìµê¸°ê´, ìë£ê¸°ê´, ì ë¶ê¸°ê´, ì°êµ¬ê¸°ê´ ë± ì격í ì ë³´ ê´ë¦¬ê° íìí ì¡°ì§ì ì´ìì ì
ëë¤.","ëª¨ë¸ ì íë¶í° ìë² êµ¬ì¶, ì¶ë¡ ìì§ ìµì í, ì´ì 모ëí°ë§ê¹ì§ í¬ê´ì ì¼ë¡ ì§ìíë©°, ìì© ì¤í ì¨ì´í¸ 모ë¸ì¸ Llama 3.3, Qwen 2.5, Mistral, DeepSeekì ê³ ì±ë¥ ì¶ë¡ ìì§ì¸ vLLM, Ollama, SGLangì ì¬ì©í©ëë¤. ì´ë¬í 모ë¸ì vLLM, Ollama, SGLangê³¼ ê°ì ê³ ì±ë¥ ì¶ë¡ ìì§ìì ì¤íëì´ ì§ì° ìê°ì´ ì§§ê³ ì²ë¦¬ëì´ ë§ì ì¶ë¡ íê²½ì ì ê³µí©ëë¤.","기존 ìì¤í
ê³¼ì íµí©, ì±ë´, ë´ë¶ RAG, 문ì ìì½, ì½ë ìì± ë± ë¤ìí ì¬ì© ì¬ë¡ë¥¼ ì§ìí©ëë¤. ëª¨ë¸ ë¯¸ì¸ ì¡°ì ì íµí ë¹ì¦ëì¤ ì 문í, NVIDIA GPU/ì í ì¤ë¦¬ì½ ìµì í, ë©í° í
ëí¸ ì¤ê³, API ê²ì´í¸ì¨ì´ êµ¬ì¶ ë± ê¸°ì
ì ì구 ì¬íì 충족íëë¡ ì¤ê³í ì ììµëë¤."]},summary:{title:"ì¨íë ë¯¸ì¤ LLM í¸ë ë",paragraphs:["2025~2026ë
ì¨íë ë¯¸ì¤ LLMì í¨ì©ì±ì ë¹ ë¥´ê² ê°ì ëê³ ììµëë¤. ê°ë°©í ê°ì¤ì¹ 모ë¸ì ì±ë¥ì´ íìí 모ë¸ì ì±ë¥ì ë°ë¼ì¡ìì¼ë©°, ìì© ë¼ì´ì ì¤ì í¨ê» ì ê³µëë 모ë¸ì ìê° ëì´ëë©´ì ì¬ë´ ì´ìì ì¥ë²½ì´ í¬ê² ë®ìì¡ìµëë¤.","8ìµ~70ìµ ê°ì íë¼ë¯¸í°ë¥¼ ê°ì§ 모ë¸ì ë§ì ë¹ì¦ëì¤ ìì
ìì ì¤ì©ì ì¸ ìì¤ì ëë¬íì¼ë©°, GGUF ììí를 íµí´ ì¼ë° ìë¹ìì© GPUììë ê³ ì ì¶ë¡ ì´ ê°ë¥í©ëë¤.","ì¶ë¡ ìì§ì ê²½ì°, vLLMì ì°ì ë°°ì¹ ë° PagedAttentionì ì²ë¦¬ëì í기ì ì¼ë¡ ì¦ê°ìí¤ê³ , SGLangì RadixAttentionì ë³µì¡í ë©í°í´ ìí¸ìì©ì ê°ìíí©ëë¤. Ollamaë ë¡ì»¬ ê°ë° íê²½ì ì¬ì¤ì íì¤ì¼ë¡ ì리 ì¡ìì¼ë©°, llama.cppë M ìë¦¬ì¦ Macìì ë¹ ë¥¸ ì¶ë¡ ì ìµì íë Apple Siliconì
ëë¤.","기ì
ììë ë°ì´í° ì£¼ê¶ ë° ê·ì ì¤ì ì¸ìë ì¥ê¸°ì ì¸ ë¹ì© ìµì í(ì¢
ëì API ê³¼ê¸ìì ë²ì´ë기)ê° ì ì ë ëì
271 ì ëê¸°ê° ëê³ ììµëë¤. íì´ë¸ë¦¬ë 구ì±(민ê°í ì²ë¦¬ë¥¼ ìí ë¡ì»¬ ë° ë²ì© ì²ë¦¬ë¥¼ ìí í´ë¼ì°ë API)ì´ ì¼ë°ì ì¸ ìµì ì´ ëììµëë¤."],icons:[{label:`ë¹ê³µê° 272í´ë¼ì°ë`},{label:`ë°ì´í° 273주ê¶`},{label:`ë¹ì© 274ìµì í`},{label:`ìí°íë¼ì´ì¦ 275ë³´ì`}]},features:{title:"ëìì¸ ë° ê°ë° 기ë¥",subtitle:"ëìì¸ ë° ê°ë°",items:[{title:"ì¸íë¼ ì¤ê³ ë° GPU ìµì í",description:"NVIDIA A100/H100, RTX 4090/5090, Apple Silicon(M2 Ultra/M3 Max/M4 Max) ë± ìí¬ë¡ëì ìì°ì ë§ë ìµì ì íëì¨ì´ 구ì±ì ì¤ê³íê³ CUDA, MPS, Metal ìµì í를 íµí´ GPU ì±ë¥ì ìµëí íì©íë ì¶ë¡ íê²½ì ì¡°ì±íì¸ì. CUDA, MPS, Metal ìµì í를 íµí´ GPU ì±ë¥ì ê·¹ëíí©ëë¤."},{title:"ëª¨ë¸ ì í ë° ìµì í",description:"ìì í¹ì±, ì¸ì´ ì구 ì¬í, 리ìì¤ ì ì½ ë±ì ê³ ë ¤íì¬ Llama, Qwen, Mistral, DeepSeek ë±ìì ìµì ì 모ë¸ì ì íí©ëë¤. ì íëì ì²ë¦¬ëì 모ë ë¬ì±í기 ìí´ ì ëí(GGUF/AWQ/GPTQ), KV ìºì ìµì í, ë°°ì¹ ì²ë¦¬ íëì´ ì¬ì©ë©ëë¤."},{title:"ì¶ë¡ ìì§ êµ¬ì±",description:"ì í리ì¼ì´ì ì ë°ë¼ vLLM, SGLang, Ollama, TGI ë±ì ì¶ë¡ ìì§ì ì íí´ êµ¬ì¶íê³ , ì°ì ë°°ì¹, ì¶ì¸¡ ëì½ë©, ì ëì¬ ìºì± ë±ì ìµì 기ì ì ì ì©í´ ì§ì° ìê°ì´ ì§§ê³ ì²ë¦¬ëì´ ëì ì¶ë¡ API를 ì ê³µí©ëë¤. ì§ì° ìê°ì´ ì§§ê³ ì²ë¦¬ëì´ ëì ì¶ë¡ API를 ì ê³µí©ëë¤."},{title:"ì´ì, 모ëí°ë§ ë° ë³´ì",description:"Prometheus/Grafanaë¡ ì¶ë¡ ë©í¸ë¦ 모ëí°ë§, API ê²ì´í¸ì¨ì´ë¡ ì¡ì¸ì¤ ì ì´, ê°ì¬ ë¡ê·¸, ìë íì¥ ë° ì¥ì 복구를 구ííì¸ì. ìí°íë¼ì´ì¦ ë³´ì ì구 ì¬íì 충족íë íë¡ëì ì´ì íê²½ì 구ì¶íì¸ì."}]},techStack:{title:"기ì ì¤í: ì¨íë ë¯¸ì¤ LLM",subtitle:"íë«í¼ ë° ê¸°ì ",categories:{openWeightModels:{title:"ì¤í ì¨ì´í¸ 모ë¸",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3/R1","Gemma 2 27B / 9B","Phi-4","ëª ë ¹ R(ì½íì´)"]},japaneseModels:{title:"ì¼ë³¸ì´ ì ì© ëª¨ë¸",items:["ELYZA-ì¼ë³¸ì´-ë¼ë§-2","Swallow 70B / 13B","ì¼ë³¸ì´-ë¼ë§-3","Qwen-2.5-Japanese","ì¹´ë¼ì¿ 리-LM"]},inferenceEngine:{title:"ì¶ë¡ ìì§",items:["vLLM(ì°ì ë°°ì¹)","SGLang (RadixAttention)","ì¬ë¼ë§(ì§ì ê°ë°)","llama.cpp (Apple Silicon)","TGI(íê¹ íì´ì¤)","TensorRT-LLM(NVIDIA)","ExLlamaV2(ììí ì 문í)"]},quantization:{title:"ì ëí",items:["GGUF(llama.cpp íì¤)","AWQ(ê³ ì ë° 4ë¹í¸)","GPTQ(GPU ìµì í)","ë¹í¸ìëë°ì´í¸(8ë¹í¸/4ë¹í¸)","EETQ(í¨ì¨ì í¨ì¨ì± ì ëí)"]},hardware:{title:"íëì¨ì´",items:["ìë¹ëì H100/A100","ìë¹ëì L40S/A10G","RTX 4090 / 5090","Apple ì¤ë¦¬ì½ M2 ì¸í¸ë¼","Apple ì¤ë¦¬ì½ M3/M4 Max","AMD MI300X"]}
275,infrastructure:{title:"ì¸íë¼",items:["ë커/ì¿ ë²ë¤í°ì¤","NVIDIA Triton ìë²","API ê²ì´í¸ì¨ì´(콩/ìë³´ì´)","íë¡ë©í ì°ì¤ / ê·¸ë¼íë","íë¼ì´ë¹ í´ë¼ì°ë(VMware/ì¤íì¤í)","ìì´ ê° íê²½ ì§ì"]}},updateNote:{title:"2026ë 주ì ì ë°ì´í¸ ì¬í",description:"ê°ë°©í 모ë¸ìì Llama 3.3ì GPT-4ê¸ ë²ì© ì±ë¥ì ë¬ì±íê³ ì¼ë³¸ì´ ì±ë¥ì í¬ê² í¥ììì¼°ì¼ë©°, Qwen 2.5 ì리ì¦ë ë¤ìí í¬ê¸°ì ê· í ì¡í ì±ë¥ì¼ë¡ ì íì íì ëíê³ , DeepSeek V3/R1ì ì¶ë¡ ë¹ì© ì±ë¥ì¼ë¡ 주목ì ë°ê³ ìì¼ë©°, vLLM 2.0 Chunked Prefillê³¼ SGLangì RadixAttention ì¶ë¡ ìì§ì ë©í° í´ ëí ìë를 ëì ëë¤. ì¶ë¡ ìì§ìì vLLM 2.0ì ì²í¬ë í리íê³¼ SGLangì RadixAttentionì ë©í°í´ ìí¸ìì© ìë를 ëì´ê³ , llama.cppì Apple Silicon ìµì íë M4 Maxìì 70B ëª¨ë¸ ì¶ë¡ ì ì¤ì©ì ì¼ë¡ 구ííë©°, ììí 기ì ì 4ë¹í¸ ì ë°ëì ê³ ì±ë¥ì ì ê³µí©ëë¤. ììí 기ì ì 4ë¹í¸ ì ë°ëì ì¶ë¡ ìë를 모ë ë¬ì±íì¼ë©°, GGUFë ì¬ì¤ì íì¤ í¬ë§·ì´ ëììµëë¤."}},cta:{title:"문ìí기",description:`ì구 ì¬í ì¤ë¹ë¶í° ìë´í´ ë립ëë¤. 276PoC ë° ë¡ì»¬ LLM 구ì±ë ê³ ë ¤í ì ììµëë¤.`,primaryButton:"문ìí기",secondaryButton:"기ì ìë´"}},pL={hero:{badges:["ìí°íë¼ì´ì¦","RAG","ê²ì íì¥ì ìì±"],title:"벡í°/RAG ê°ë°",description:"ë´ë¶ ì§ìì LLMê³¼ ì°ê²°í기 ìí RAG ìì¤í 구ì¶"},mission:{title:"벡í°/RAG ê°ë° ìë¹ì¤ ê°ì",paragraphs:["ì¬ë´ì ì¶ì ë ì§ì ìì°ì LLMê³¼ ì°ê³íì¬ ì§ìë¤ì´ ìì°ì´ë¡ ê²ìíê³ ì§ë¬¸í ì ìë RAG(ê²ì íì¥ ìì±) ìì¤í ì 구ì¶í©ëë¤. 매ë´ì¼, íìë¡, 기ì 문ì, FAQ, ì¬ë íì¤í 리, 컨í루ì¸ì¤, ìì´í¬ì¸í¸ ë± ë¤ìí ë°ì´í° ìì¤ë¥¼ íµí©íì¬ ì¡°ì§ì ì§ìì ì¦ì íì©í ì ìë íê²½ì ì¡°ì±í©ëë¤.","ë¨ì 문ì ê²ì ì¸ìë íì´ë¸ë¦¬ë ê²ì(ë²¡í° ê²ì+í¤ìë ê²ì), 리ëí¹, ê³ì¸µì ì²í¹, ë©íë°ì´í° íí°ë§ ë± ìµì 기ì ì ì ì©í´ ê²ì ì íëì ìëµ íì§ì ê·¹ëíí©ëë¤. ëµë³ì ì¶ì²ë¥¼ ëª íí íìíì¬ ì곡ì ìµì íê³ ì 뢰ì±ì íë³´í©ëë¤.","AWS, GCP, Azure, ì¨íë ë¯¸ì¤ ë± ë¤ìí íê²½ì ì§ìíë©° 기존 ì¸ì¦ ì¸íë¼ ë° ê¶í ê´ë¦¬ì íµí©ë©ëë¤. ë°ì´í° ìµì ì± ì ì§(ì°¨ë± ì ë°ì´í¸ ë° ìë ì¬ì¸ë±ì±), ì¬ì© ë¡ê·¸ ë¶ì, ì§ìì ì¸ ì íë í¥ìì ìí ì¼ê´ë ì§ìì ì ê³µí©ëë¤."]},summary:{title:"RAG 기ì ëí¥",paragraphs:["2025ë ìì 2026ë ì¬ì´ì RAG 기ì ì '기본 구íìì ìì° íì§ë¡' ë¨ê³ë¡ ì´ëíê³ ììµëë¤. ë¨ìí ë²¡í° ê²ì ì¸ìë ì¬ë¬ ê²ì ë°©ë²ì ê²°í©í íì´ë¸ë¦¬ë ê²ì, ê²ì ê²°ê³¼ì ìì를 ì¬ì¡°ì íë 리ëí¹, ë³µì¡í ì§ë¬¸ì ë¶í´íì¬ ì²ë¦¬íë 쿼리 ë¶í´ê° íì¤ êµ¬ì±ì¼ë¡ ì리 ì¡ììµëë¤.","문ì 구조를 ê³ ë ¤í ê³ì¸µì ì²í¹, ì¤ë³µ ì²í¹, íì 그림ì ë°ë¡ ì²ë¦¬íë ë©í°ëª¨ë¬ ì²í¹ ë± ì²í¹ ì ëµë ì§ííì¬ ì íë í¥ìì 기ì¬íê³ ììµëë¤. 문맥 ê²ì(ì²í¬ì 문맥 ì 보를 ì¶ê°íë 기ë¥)ë í¨ê³¼ì ì¸ ê²ì¼ë¡ ë리 ì¸ì ë°ê³ ììµëë¤.","ë²¡í° DB ì íì ê²½ì°, Pinecone, Weaviate, Qdrant, Milvusì ê°ì ê´ë¦¬í ìë¹ì¤ ì¸ìë PostgreSQL pgvector ë° ë¡ì»¬ FAISSê° ê³ ê°ì ì구 ì¬íì 충족í ì ìë ë¤ìí ìµì ì ì ê³µí©ëë¤. í ì¤í¸ ìë² ë©-3-large, Cohere Embed v3 ë° ë¤êµì´ 모ë¸ì í¬í¨í ìë² ë© ëª¨ë¸ë ì¬ì©í ì ììµëë¤.","ìí°íë¼ì´ì¦ ë°°í¬ììë ê¶í ê´ë¦¬(ACL) ì°ë, PII ë§ì¤í¹, ê°ì¬ ë¡ê·¸, ë©í°í ëí¸ ì¤ê³ê° íì ìê±´ì´ë©°, 'ìë ì¤ì¸ PoC'ìì 'íë¡ëì ì¤ë¹ë íë¡ëì ìì¤í 'ì¼ë¡ ì íí´ì¼ í íìê° ììµëë¤."],icons:[{label:`íì´ë¸ë¦¬ë 277ê²ì`},{label:`ë©í° ëª¨ë¬ 278RAG`},{label:`ìì´ì í¸ 279RAG`},{label:`ìí°íë¼ì´ì¦ 280ë³´ì`}]}
280,features:{title:"ëìì¸ ë° ê°ë° 기ë¥",subtitle:"ëìì¸ ë° ê°ë°",items:[{title:"ë°ì´í° ìì§ ë° ì ì²ë¦¬ íì´íë¼ì¸",description:"PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint ë±ìì ë°ì´í° ì¶ì¶ ë° ì 리. OCR, í 구조 ë¶ì, ì´ë¯¸ì§ 캡ì ìì±ì í¬í¨í ë©í°ëª¨ë¬ ì§ì. ì°¨ë± ì ë°ì´í¸ ë° ìì½ ì¤íì¼ë¡ ìµì ì±ì ì ì§íì¸ì."},{title:"ê³ ì ë° ê²ì ìì¤í ì¤ê³",description:"ë²¡í° ê²ì + BM25 íì´ë¸ë¦¬ë ê²ì, ì½íì´ ë¦¬ëí¬/í¬ë¡ì¤ ì¸ì½ë를 íµí 리ëí¬, 쿼리 íì¥ ë° ë¶í´ë¥¼ ê²°í©í ê³ ì ë° ê²ìì 구ì¶í©ëë¤. ë©íë°ì´í° íí°ë§ê³¼ ê¶í ê¸°ë° ì¡ì¸ì¤ ì ì´ë 구íë©ëë¤."},{title:"ìëµ ìì± ë° íì§ ê´ë¦¬",description:"문맥 ìµì í, ë¨ëµí í롬íí¸, ì°ì ì¶ë¡ ì¼ë¡ ëµë³ íì§ì´ í¥ìëììµëë¤. ì¶ì² ì¤ëª , ì 뢰ë ì ì íì, ë°ê°ê¸° ê°ì§ 기ë¥ì´ 구íëì´ ì 무ì©ì¼ë¡ ì 뢰ì±ì ë³´ì¥í©ëë¤."},{title:"ì´ì ë° ê°ì 주기",description:"ì¬ì© ë¡ê·¸ ë¶ì, ê²ì ì ì¤ë¥ ë° ìëµ ë§ì¡±ë 모ëí°ë§, í¼ëë°± 루í를 íµí ì§ìì ì¸ ê°ì , A/B í ì¤í¸ ì¸íë¼, ìë² ë© ëª¨ë¸ ì ë°ì´í¸, ì²í¹ ì ëµ ê²í ë±ì ì´ì ì§ìì ì ê³µí©ëë¤."}]},techStack:{title:"기ì ì¤í: 벡í°/RAG",subtitle:"íë«í¼ ë° ê¸°ì ",categories:{embeddingModels:{title:"ëª¨ë¸ ìë² ë©",items:["OpenAI í ì¤í¸ ìë² ë©-3-large","Cohere Embed v3","Voyage AI","ì§ë ìë² ë© v3","BGE-M3(ë¤êµì´)","ë¤êµì´-E5-ëí","ì¼ë³¸ì´ ì ì© ëª¨ë¸"]},vectorDatabases:{title:"ë²¡í° ë°ì´í°ë² ì´ì¤",items:["ìë°©ì¸(ê´ë¦¬í)","Weaviate(íì´ë¸ë¦¬ë ê²ì)","Qdrant(ê³ ì±ë¥)","ë°ë²ì¤(ëê·ëª¨)","í¬ë¡ë§(ê²½ë)","PostgreSQL pgvector","FAISS(íì§)"]},chunking:{title:"ì²í¬ ë° ì²ë¦¬",items:["ê³ì¸µì ì²í¹","ìë§¨í± ì²í¹","ê²¹ì¹ë ì²í¬","ë¬¸ì¥ ì°½","문맥 ê²ì","í ë° ì°¨í¸ ì²ë¦¬","ë©í°ëª¨ë¬ ì§ì"]},search:{title:"ê²ì ë° ê²ì",items:["íì´ë¸ë¦¬ë ê²ì(ë²¡í° + BM25)","ì½íì´ ë¦¬ëí¬","í¬ë¡ì¤ ì¸ì½ë 리ëí¬","쿼리 íì¥ ë° ë¶í´","HyDE(ê°ì 문ì ìì±)","ìì²´ 쿼리 ê²ì","ë¤ì¤ 쿼리 ê²ì"]}},updateNote:{title:"2026ë 주ì ì ë°ì´í¸ ì¬í",description:"ìë² ë© ëª¨ë¸ììë í ì¤í¸ ìë² ë©-3-largeì Cohere Embed v3ê° ê¸°ì íì¤ì´ ëì´ ì¼ë³¸ì´ ì±ë¥ì´ í¬ê² í¥ìëìê³ , 문맥 ê²ìì´ í¨ê³¼ê° ì ì¦ëì´ ì²í¬ì 문맥ì ì¶ê°íë ê²ì´ íì¤ ë°©ìì´ ëììµëë¤. íì´ë¸ë¦¬ë ê²ì + ì¬ëí¬ê° ê²ìì íì 구ì±ì´ ëì´ ë¨ì ë²¡í° ê²ìë§ êµ¬ì±íë ê²½ì°ê° ì¤ì´ë¤ìê³ , ìì´ì í¸ RAG(ìì´ì í¸ê° ëì ì¼ë¡ ê²ì ì ëµì ì ííë ë°©ì)ê° ì¤ì©íëê³ ììµëë¤. ì´ì 측면ììë RAG íê° íë ììí¬(RAGAS, LangSmith)를 ì¬ì©íì¬ íì§ ì¸¡ì ë° ê°ì 주기를 í립íë ë° ì¤ì ì ëê³ ììµëë¤."}},cta:{title:"문ìí기",description:`ì구 ì¬í ì¤ë¹ë¶í° ìë´í´ ë립ëë¤. 281PoC ë° ë¡ì»¬ LLM 구ì±ë ê³ ë ¤í ì ììµëë¤.`,primaryButton:"문ìí기",secondaryButton:"기ì ìë´"}},gL={hero:{badges:["ì ì²´ ì¤í","LLM íµí©","API ëìì¸"],title:"AI ì í리ì¼ì´ì ê°ë°",description:"LLMì íì©íë ì¤ì©ì ì¸ ì í리ì¼ì´ì ì¤ê³ ë° êµ¬ì¶"},mission:{title:"AI ì í리ì¼ì´ì ê°ë° ìë¹ì¤ ê°ì",paragraphs:["ì¸ë¶ APIë¡ë¶í° íëí ë°ì´í°ë¥¼ LLMì¼ë¡ ë¶ìíê³ , CRM, ERP, SaaS, IoT ì¼ì, ìì 미ëì´ ë± ë¤ìí ë°ì´í° ìì¤ì API를 ì°ëíë©°, íëí ë°ì´í°ë¥¼ ì¤ìê°ì¼ë¡ LLMì ê³µê¸íì¬ ë¹ì¦ëì¤ ê°ì¹ë¥¼ ì°½ì¶íë AI ì í리ì¼ì´ì ì ì¤ê³ ë° ê°ë°ì ì ê³µí©ëë¤. ìì°ì´ë¥¼ íì©í ë¶ì ë³´ê³ ì ìì±, ì´ì ì§í íì§, í¸ë ë ì측, ìë ë¶ë¥ ë± ê¸°ì¡´ BI ë구ë¡ë ë¶ê°ë¥í ê³ ê¸ ë°ì´í° ë¶ìì´ ê°ë¥í©ëë¤.","ë¨ìí API íµí©ë¿ë§ ìëë¼ ì¬ë¬ ë°ì´í° ìì¤ì íµí©, ë°ì´í° ì ì , 구조íë ì²ë¦¬ë¥¼ íµí´ LLMì´ í´ìí기 ì¬ì´ íìì¼ë¡ì ë³íë ê°ë¥í©ëë¤. ì ìí ìì§ëì´ë§ì íµí´ ë¶ìì ì íì±ì ê·¹ëííê³ ë¹ì¦ëì¤ ì구ì¬íì í¹íë 결과물ì ìì±í©ëë¤. ë¹ì¦ëì¤ íì ì측ì ìí ìì ë°ì´í°, VoC ë¶ìì ìí ê³ ê° ì§ì ë¡ê·¸, ì¥ë¹ ì ì§ë³´ì ê¶ì¥ ì¬íì ì ê³µí기 ìí ì¼ì ë°ì´í° ë± ë°ì´í°ì AI를 ê²°í©í ì¤ì©ì ì¸ ì í리ì¼ì´ì ì 구ì¶í©ëë¤.","ì¹ ì í리ì¼ì´ì , 모ë°ì¼ ì í리ì¼ì´ì , Slack/Teams ì°ë, 주기ì ë°°ì¹ ì²ë¦¬ ë± ë¤ìí ì¸í°íì´ì¤ë¥¼ ì§ìí©ëë¤. ì구ì¬í ì ìë¶í° API ì¤ê³, LLM íµí© 구í, íë¡ëì ì´ìê¹ì§ ì¼ê´ë ì§ìì ì ê³µí©ëë¤."]},summary:{title:"AI ì í리ì¼ì´ì ê°ë° ëí¥",paragraphs:["2025ë ë¶í° 2026ë ê¹ì§ 'API íµí© x LLM ë¶ì'ì 기ë°ì¼ë¡ í AI ì í리ì¼ì´ì ê°ë°ì´ ì¤ì©í ë¨ê³ì ì ì´ë¤ê³ ììµëë¤. 기존ì BI ë구ì ëìë³´ëë¡ë ì²ë¦¬í ì ììë ë¹ì í ë°ì´í° ë¶ìê³¼ ìì°ì´ ì¸ì¬ì´í¸ ìì±ì´ ìí°íë¼ì´ì¦ ìì¤í ì íµí©ë기 ììí©ëë¤.","í¹í 주목í ë§í ì ì ì격í JSON ì¤í¤ë§ë¥¼ ì¤ìíë ì¶ë ¥ ì ì´ë¥¼ ê°ë¥íê² íë LLMì 구조íë ì¶ë ¥ 기ë¥ì ì±ìì¼ë¡, API를 íµí´ ìì§í ë°ì´í°ë¥¼ LLMìì ë¶ìíê³ ê·¸ 결과를 íì ìì¤í ì ì§ì ê³µê¸íë ìëí¬ìë ìëí íì´íë¼ì¸ì ì¤íí ì ìê² ëìë¤ë ê²ì ëë¤. í¨ì í¸ì¶ì ë¤ë¨ê³ ì¤íì íµí´ ì¬ë¬ APIì ê±¸ì¹ ë°ì´í° ìì§, íµí© ë° ë¶ìì ë¨ì¼ ìí¬íë¡ì°ìì ì²ë¦¬í ì ììµëë¤.","ë°ì´í° ì²ë¦¬ ì¸íë¼ìì Polarsë ê³ ì ì²ë¦¬ì íì¤ì¼ë¡ ë¶ìíì¼ë©°, ì¤í¸ë¦¬ë° ì²ë¦¬ì ê²°í©íì¬ ì¤ìê° ë¶ìì ì©ì´íê² í©ëë¤.","기ì 구íì ê²½ì°, ì¼íì± PoC ê°ë°ìì íë¡ëì ì´ìì ìí íì¥ ê°ë¥í ì¤ê³ë¡ ìêµ¬ê° ë°ëë©´ì ë¹ì© ìµì í, ì¤ë¥ ì²ë¦¬ ë° ê°ì¬ ë¡ê·¸ ì§ìì í¬í¨íë í¬ê´ì ì¸ ìí¤í ì² ì¤ê³ê° íìí´ì¡ìµëë¤."],icons:[{label:`ìì´ì í¸ 282AI`},{label:`MCP 283íë¡í ì½`},{label:`ë©í° 284ìì´ì í¸`},{label:`í´ë¨¼ì¨ 285-ë-루í`}]}
285,features:{title:"ëìì¸ ë° ê°ë° 기ë¥",subtitle:"ëìì¸ ë° ê°ë°",items:[{title:"API íµí© ë° ë°ì´í° ìì§ ì¤ê³",description:"REST API, GraphQL, ì¹ìì¼, ì¹í ë± ë¤ìí íë¡í ì½ì ì§ìíë ë°ì´í° ìì§ ì¸íë¼ë¥¼ 구ì¶í©ëë¤. ì¸ì¦ íë¡ì¸ì¤(OAuth, API í¤, JWT), ìë ì í, ì¬ìë ë©ì»¤ëì¦ì 구ííì¬ ìì ì ì¸ ë°ì´í° ìì§ íì´íë¼ì¸ì ì¤ê³í©ëë¤. ëí ì¬ë¬ APIë¡ë¶í°ì ë°ì´í° íµí©, ì¤ì¼ì¤ë§ ë° ì°¨ë± ìì§ì ì§ìí©ëë¤."},{title:"ë°ì´í° ì ì²ë¦¬ ë° êµ¬ì¡°í",description:"JSON íì±, ë°ì´í° ì ì , ì ê·í, ê²°ì¸¡ì¹ ì²ë¦¬ ë± ìì ë°ì´í°ë¥¼ LLMì´ í¨ì¨ì ì¼ë¡ ë¶ìí ì ìë í¬ë§·ì¼ë¡ ë³ííê³ ì»¨í ì¤í¸ ìëì° ì íì ê³ ë ¤íì¬ ìµì ì ë°ì´í° ë¶í ë° ìì½ ìì ì ìíí©ëë¤. ë©íë°ì´í° í ë¹ì íµí´ ë¶ì ê²°ê³¼ì ì¶ì ì±ì ë³´ì¥í©ëë¤."},{title:"LLM ë¶ì ë° ì ìí ì¤ê³",description:"ë¹ì¦ëì¤ ì구ì¬íì ë§ë ì ìí í í릿ì ì¤ê³íì¬ ë°ì´í° ë¶ìì ì íì±ì ê·¹ëííì¸ì. ë¶ë¥, ìì½, ê°ì± ë¶ì, ì´ì ì§í ê°ì§, ì측 ìì± ë±ì ìí ë¶ì íì´íë¼ì¸ì 구ì¶í©ëë¤. í¨ì í¸ì¶ ë° êµ¬ì¡°íë ì¶ë ¥ì íì©íì¬ íì ìì¤í ê³¼ ì½ê² íµí©í ì ìë íìì¼ë¡ ì¶ë ¥ì ìì±í©ëë¤."},{title:"ì í리ì¼ì´ì 구í ë° ì´ì",description:"ë¶ì ê²°ê³¼ë FastAPI, Next.js ë±ì ì´ì©í ì¹ ì í리ì¼ì´ì , Slack/Teams Bot, ìì½ë ì¼ê´ ì¤í ë± ë¤ìí ì¸í°íì´ì¤ë¥¼ íµí´ ì ê³µí©ëë¤. ëìë³´ë, ì림 ì림, ìë ë³´ê³ ì ìì± ë± íì ì¬ì©ìê° ì¦ì íì©í ì ìë ííë¡ êµ¬íëì´ ì ë¬ë©ëë¤. ëí ì´ì 모ëí°ë§, ë¹ì© ìµì í, ì§ìì ì¸ ê°ì ë ì ê³µí©ëë¤."}]},techStack:{title:"기ì ì¤í: AI ì í리ì¼ì´ì ê°ë°",subtitle:"íë«í¼ ë° ê¸°ì ",categories:{apiIntegration:{title:"API íµí©",items:["REST/ê·¸ëíQL/ì¹ìì¼","OAuth 2.1 / API key / JWT","ì¹í / í¬í","ìíì¹ ìì´íë¡ì° / í","ì ë¬ë¦¬ / í í¬ë´","ìì² / httpx / aiohttp","ìë ì í / ì¬ìë","ë°ì´í° ì í¨ì± ê²ì¬(Pydantic)"]},dataProcessing:{title:"ë°ì´í° ì²ë¦¬",items:["íë¤ / í´ë¼","JSON / JSONL íì","ë°ì´í° í´ë ì§ íì´íë¼ì¸","Apache Spark(ëê·ëª¨ ì²ë¦¬)","DBT(ë°ì´í° ë³í)","í° ê¸°ë","ë¸í í¸ì / ë¹ì°","ì¤í¸ë¦¬ë°(ì¹´íì¹´/íë§í¬)"]},llmCloud:{title:"í´ë¼ì°ë LLM",items:["OpenAI GPT-4o / GPT-4.1","í´ë¡ë 3.5 / í´ë¡ë 4","ìë¥ì´ì리 2.0 / ìë¥ì´ì리 2.5","ëª ë ¹ R+(ì½íì´)","Mistral Large"]},llmLocal:{title:"ë¡ì»¬ LLM",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3/R1","ì ¬ë§ 2 / ì ¬ë§ 3","Phi-4","ì리ì/ì¤ìë¡ì°(ì¼ë³¸ì´ ì 문)","ëª ë ¹ R(ì½íì´)"]},inference:{title:"ì¶ë¡ / íë ììí¬",items:["vLLM/SGLang","ì¬ë¼ë§ / llama.cpp","LiteLLM íë¡ì","í¨ì í¸ì¶","구조íë ì¶ë ¥","í롬íí¸ í í릿 ìì§","LangChain / LlamaIndex","ë ì ë¶ì íì´íë¼ì¸"]},application:{title:"ì í리ì¼ì´ì ê³ì¸µ",items:["FastAPI / ë¼ì´í¸ì¤í","Next.js / React","Slack SDK / Teams SDK","ì¤í¸ë¦¼ë¼ì´í¸ / ê·¸ë¼ëì¤","ìì½ë ìì (í¬ë¡ /í´ë¼ì°ë ì¤ì¼ì¤ë¬)","PostgreSQL / ëª½ê³ DB","Redis(ìºì/í)","ë커/ì¿ ë²ë¤í°ì¤"]}},updateNote:{title:"2026ë 주ì ì ë°ì´í¸ ì¬í",description:"LLM ë¶ì ììììë GPT-4.1ê³¼ Claude 4ì 구조íë ì¶ë ¥ 기ë¥ì´ ë°ì íì¬ ì격í JSON ì¤í¤ë§ ì¤ì ì¶ë ¥ ì ì´ë¥¼ íì¤ííì¼ë©°, í¨ì í¸ì¶ì ë¤ë¨ê³ ì¤íì íµí´ ë¨ì¼ íì´íë¼ì¸ìì ì¬ë¬ APIì ê±¸ì³ ë³µì¡í ë°ì´í° ìì§ ë° ë¶ìì´ ê°ë¥í´ì¡ìµëë¤. í¨ì í¸ì¶ì ë¤ë¨ê³ë¡ ì¤ííë©´ ë¨ì¼ íì´íë¼ì¸ìì ì¬ë¬ APIì ê±¸ì³ ë³µì¡í ë°ì´í°ë¥¼ ìì§íê³ ë¶ìí ì ììµëë¤. ë°ì´í° ì²ë¦¬ìì Polarsë ê³ ì ì²ë¦¬ë¥¼ ìí íë¤ì ëìì¼ë¡ ì리 ì¡ìì¼ë©°, ì¤í¸ë¦¬ë° ì²ë¦¬ì ê²°í©íì¬ ì¤ìê° ë¶ì ì¸íë¼ë¥¼ 구ì¶í ì ìê² í´ì¤ëë¤. ì í리ì¼ì´ì ê³ì¸µììë MCP를 ì¬ì©í ì¸ë¶ ë구 íµí©ì´ ì¼ë°íëì´ LLMì´ ìì¨ì ì¼ë¡ API를 í¸ì¶íì¬ ë°ì´í°ë¥¼ ìì§íê³ ë¶ìíë ìì´ì í¸ ì í리ì¼ì´ì ì ê°ë°ì´ ê°ìíëê³ ììµëë¤."}},cta:{title:"문ìí기",description:`ì구 ì¬í ì¤ë¹ë¶í° ìë´í´ ë립ëë¤. 286PoC ë° ë¡ì»¬ LLM 구ì±ë ê³ ë ¤í ì ììµëë¤.`,primaryButton:"문ìí기",secondaryButton:"기ì ìë´"}},hL={seo:qx,header:Ux,hero:_x,mission:Hx,businessServices:$x,features:Qx,businessProcess:Jx,story:Zx,contact:Xx,footer:Yx,cookiePolicy:eL,about:aL,portfolio:nL,common:tL,privacyPolicy:iL,termsOfService:sL,weatherMap:rL,agentDevelopment:oL,faq:lL,pricing:dL,aiTranscription:uL,keywordTracking:cL,onPremiseLLM:mL,vectorRAG:pL,aiAppDevelopment:gL},fL={home:{title:"Plataforma de soluciones basadas en inteligencia artificial - telet.ai",description:"Transforme sus conversaciones con los clientes gracias al análisis de llamadas basado en inteligencia artificial. Obtenga información en tiempo real, análisis de opiniones y seguimiento del rendimiento para mejorar los resultados de su equipo."},about:{title:"Información de la organización - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"PolÃtica de privacidad - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"Condiciones del servicio - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"PolÃtica de cookies - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"Cartera - telet.ai",description:"Explore nuestra cartera de soluciones de IA diseñadas para mejorar sus operaciones comerciales y la experiencia de sus clientes."},agentDevelopment:{title:"Diseño y desarrollo de agentes de IA para empresas - telet.ai",description:"Diseñe y cree agentes de IA de nivel industrial adaptados a sus flujos de trabajo, herramientas y necesidades de cumplimiento normativo."},onPremiseLLM:{title:"Operaciones LLM en las instalaciones - telet.ai",description:"Utilice modelos de lenguaje grandes (LLM) modernos en su entorno para obtener un control sólido de los datos, costes predecibles y una inferencia de baja latencia."},vectorRAG:{title:"Diseño vectorial RAG e Ãndice - telet.ai",description:"Diseñe canales de recuperación e Ãndices adaptados a cada flujo de trabajo para mejorar las respuestas fundamentadas."},aiAppDevelopment:{title:"Desarrollo de aplicaciones de IA - telet.ai",description:"Cree aplicaciones prácticas impulsadas por LLM, integradas con sus API, datos y flujos de trabajo empresariales."}},kL={brand:"telet.ai",nav:{services:"Servicios",portfolio:"Cartera",about:"Información de la organización",contact:"Póngase en contacto con"}},bL={brandName:"telet.ai",tagline:"Multi AI-comunicaciones",badge:"Inteligencia de llamadas basada en IA",title:{line1:"Local y defensivo,",line2:"Ampliar en la nube,",line3:"Automatizado por agente."},description:"La inferencia en los bordes en SLM garantiza la soberanÃa de los datos, y la integración en la nube en LLM escala la potencia de procesamiento hasta el infinito; la adopción de la arquitectura Agentic AI está empezando a dar resultados en las principales empresas."},yL={badge:"Nuestra misión",title:"Hacer más accesible el LLM",paragraphs:['¿De verdad se puede llegar tan lejos?". --Esa sorpresa es lo que pretendemos.','El potencial del modelado lingüÃstico a gran escala (LLM) se amplÃa dÃa a dÃa. Sin embargo, queremos derribar barreras como "Me preocupa enviar datos confidenciales a API externas", "Las aplicaciones avanzadas de IA son solo para grandes empresas" y "El coste de implementación no merece la pena".',"Estamos especializados en la creación de LLM locales que se completan dentro de su entorno. La información altamente sensible de los clientes se puede utilizar de forma segura sin exponerla al mundo exterior. Podemos maximizar los beneficios de la IA al tiempo que garantizamos la seguridad de los datos.","Se encarga de todo, desde la creación rutinaria de documentos y la organización de datos hasta el análisis especializado y el apoyo a la toma de decisiones. Nuestra tecnologÃa patentada de agentes proporciona una precisión comparable a la de los modelos API.",'El LLM no sustituye a las personas. Es una poderosa herramienta que permite a las personas ejercer más creatividad, juicio y experiencia. Llevamos la tecnologÃa de lo especial a lo común: una auténtica "consumerización" de la tecnologÃa.','No dude en consultarnos. Trabajaremos con usted para averiguar "qué podemos hacer" junto con usted.'],animation:{label:"LLM",sublabel:"TecnologÃa"}},vL={title:"Servicios",subtitle:"Servicios a empresas",services:[{title:"Diseño y desarrollo de agentes de IA para empresas",titleEn:"Agente de IA empresarial",description:"Diseñar y desarrollar agentes de IA optimizados para los requisitos empresariales, las normas internas y el alcance de los datos. Soporte desde LLM externos de tipo API hasta LLM locales.",badges:["Diseño individual","Compatible con LLM","especialización empresarial"],link:"Detalles."},{title:"servidor LLM on-premise",titleEn:"Servidor LLM local",description:"Ejecuta LLM a escala de 7B a 120B dentro del servidor dedicado de la empresa. Proporciona un entorno de uso de LLM seguro y flexible, evitando el riesgo de transmisión externa de datos.",badges:["Compatible con 7B-120B","Clave API emitida","Diseño de seguridad"],link:"Detalles."},{title:"Vector RAG y diseño de Ãndices",titleEn:"Vector RAG Arquitectura",description:"Separe y optimice los datos RAG por contenido empresarial y lógica de análisis. Diseño de Ãndices para búsquedas rápidas y precisas.",badges:["Ãndice Separación","Búsqueda de alta velocidad","soporte multilingüe"],link:"Detalles."},{title:"Desarrollo de aplicaciones de IA",titleEn:"Desarrollo de aplicaciones de IA",description:"Desarrollar aplicaciones prácticas de IA con análisis y generación por LLM en su núcleo, utilizando APIs existentes y datos externos.",badges:["Enlace API","Análisis
286LLM","Diseño integrado"],link:"Detalles."}]},AL={title:"Proyectos de éxito con tecnologÃa de IA",subtitle:"Experiencia en el desarrollo de IA en una amplia gama de campos, como asistentes multilingües, predicción meteorológica, LLM local y vigilancia de la seguridad.",viewDetails:"Ver detalles â.",items:[{title:"Asistente multilingüe AI",description:"Asistente de chat multilingüe de RAG + LLM. Respuestas muy precisas a consultas en varios idiomas, incluidos japonés, inglés y chino."},{title:"Sistema de previsión meteorológica",description:"Aprende datos meteorológicos y genera previsiones en tiempo real. Se generan previsiones de gran precisión utilizando el reconocimiento de patrones de series temporales y la GAR para buscar patrones similares en el pasado."},{title:"Servidor interno / On-Prem Local LLM",description:"Proporcionamos IA adaptada a sus operaciones empresariales, lista para usar en su empresa, con Open WebUI como punto de entrada común, vÃas de inferencia rápidas con Ollama/MLX y dominios de datos completamente separados para cada UID. Los documentos internos se capturan en un RAG con incrustación en inglés y traducción automática de consultas al japonés, y las habilidades empresariales como el resumen de noticias, la organización de documentos y las tareas rutinarias se ejecutan de forma segura codo con codo. El sistema de ejecución de habilidades está aislado como un contenedor OpenClaw y protegido por tres capas de Cloudflare edge y Nginx local. Proporcionamos asistencia completa para la selección de modelos, el diseño de habilidades y las polÃticas operativas, y ponemos en marcha la IA dedicada de su empresa de forma que pueda utilizarse desde el mismo dÃa de su despliegue."},{title:"Predicción de llegada a órbita interplanetaria (AI)",description:"Obtiene datos planetarios de la API de la NASA e interpreta los cálculos de órbita en LLM. Genera informes sobre la ventana de lanzamiento, el tiempo necesario y la eficiencia del combustible."},{title:"Análisis AI de datos inmobiliarios",description:"Recopile información inmobiliaria mediante web scraping y analÃcela con LLM + Python. Generación automática de tendencias de precios, previsiones de mercado y retorno de la inversión."},{title:"Adivinación AI (adivinación de los cuatro pilares)",description:"Reproducir la lógica de los Cuatro Pilares del Destino en Python e interpretarla con LLM. Adquiere las coordenadas y la hora de la API de AstronomÃa para una valoración personalizada de la fortuna y la compatibilidad."},{title:"Google Workspace AI integration",description:"Integración de LLM con Gmail, Drive, Calendar, etc. La IA ayuda con el resumen de correos electrónicos, la búsqueda de archivos y la programación."},{title:"Multilingüismo en World NEWS",description:"Recopilación en tiempo real de noticias mundiales, traducidas y resumidas en varios idiomas por LLM. Traducción natural y generación de resúmenes basada en la comprensión contextual."},{title:"Supervisión de registros de seguridad AI Manager",description:"Supervisión en tiempo real de los registros de seguridad, detección y análisis de amenazas mediante LLM, y alertas inmediatas por comparación con patrones de ataques anteriores mediante RAG."}]},xL={title:"Cómo proceder con el proyecto",headline:"Todo lo que necesitas es una visión.",paragraphs:['Atrás quedaron los dÃas en que las diferencias lingüÃsticas eran una barrera para los negocios y, aunque utilizamos la traducción automática, podemos gestionar negociaciones y desarrollos comerciales en 14 idiomas gracias a nuestro exclusivo flujo de trabajo que aprovecha al máximo el uso compartido de imágenes. Incluso las especificaciones complejas pueden comprobarse con imágenes de muestra para evitar errores de comunicación. Lo único que importa es "lo que usted quiere crear".',"El proyecto comienza con una audiencia inicial en la aplicación empresarial. Tras una puesta en común general de la visión del cliente y su percepción de los problemas, se firma un acuerdo de confidencialidad. Tras crear un entorno en el que la información confidencial pueda discutirse de forma confidencial, realizamos entrevistas detalladas y confirmamos los requisitos. Basándonos en el contenido, preparamos una propuesta y confirmamos la dirección del proyecto utilizando imágenes de muestra. Una vez establecido el acuerdo, preparamos las especificaciones y comenzamos el desarrollo.","Este flujo es sólo una introducción general. Nos adaptaremos con flexibilidad a su situación y horario. Esté donde esté en el mund
286o, aunque no hablen el mismo idioma, las imágenes y la IA apoyarán su comunicación. ¿Por qué no se une a nosotros para entrar en el mercado fronterizo en el que nadie ha entrado todavÃa? Deje que telet.ai sea su socio para dar forma a sus ideas."],cards:[{title:"Audiencia / NDA",description:"Tras la audiencia inicial por correo electrónico, se firma un acuerdo de confidencialidad. Puede facilitarnos detalles con toda tranquilidad."},{title:"Planificación y AC",description:"Se proporcionan propuestas e imágenes de muestra. Se admiten 14 idiomas, por lo que puede proceder sin barreras lingüÃsticas."},{title:"Muestreo e inicio",description:"Prepararemos las especificaciones e iniciaremos el negocio previo acuerdo."},{title:"Desarrollo, pruebas y funcionamiento",description:"Rápida implantación mediante un desarrollo ágil. Proporcionamos apoyo constante desde las pruebas hasta el soporte operativo."}]},LL={badge:"Casos prácticos",title:"Historia de la introducción de la IA",items:[{title:"Soluciones de eficiencia empresarial y reducción de costes",subtitle:"Reduzca la carga de trabajo diaria y cree un entorno en el que pueda centrarse en su actividad principal.",description:'Muchas pequeñas y medianas empresas (PYME) se enfrentan a la escasez de mano de obra y a dificultades de contratación. Incluso cuando se contrata nuevo personal, los costes de formación son elevados y hay problemas con las tasas de retención. Nuestra solución de IA ayuda en tareas cotidianas como la automatización de la gestión presupuestaria, la introducción y organización de datos, la recuperación de documentos internos y la generación automática de informes y documentos. Los asistentes de IA se encargan de tareas rutinarias que antes ocupaban mucho tiempo, 24 horas al dÃa, 365 dÃas al año, sin errores. Las empresas que han introducido la IA han conseguido reducciones significativas de las horas de trabajo. De "aumentar los recursos humanos" a "colaborar con la IA". Haremos todo lo posible para apoyar la reforma del estilo de trabajo de su empresa.'},{title:"Automatización del servicio de atención al cliente",subtitle:"El servicio 24 horas mejora la satisfacción del cliente y reduce los costes de mano de obra.",description:"Los chatbots de IA proporcionan respuestas automatizadas a las preguntas más frecuentes, respuesta primaria y clasificación de consultas, y respuesta en tiempo real en varios idiomas. Respuesta en tiempo real en varios idiomas. Los operadores humanos pueden centrarse en casos complejos y mejorar la calidad del servicio al cliente. Lleve la calidad de su servicio al siguiente nivel con la asistencia al cliente con IA."},{title:"Conocimiento y utilización de documentos AI",subtitle:"Activos de conocimiento internos en una forma que pueda ser utilizada inmediatamente por cualquiera",description:'¿Dónde está ese manual?". Hay información que sólo conoce el predecesor": el conocimiento impersonalizado dificulta el crecimiento de una empresa. Nuestra tecnologÃa RAG (search extension generation) permite recuperar la información necesaria de manuales internos, preguntas frecuentes y documentos anteriores con sólo hacer preguntas en lenguaje natural. Agiliza la formación de nuevos empleados, digitaliza el conocimiento tácito de los veteranos y permite compartir conocimientos entre departamentos. Los documentos existentes pueden utilizarse tal cual, por lo que no es necesario crear documentos nuevos.'},{title:"IA de análisis de imágenes para cuidados médicos y de enfermerÃa",subtitle:"Ojos vigilantes, asistencia las 24 horas gracias a la IA",description:"En el ámbito de la atención médica y de enfermerÃa, es necesario vigilar a un gran número de pacientes y usuarios con un personal limitado. Nuestra IA de análisis de imágenes/vÃdeos detecta anomalÃas en tiempo real a partir de las imágenes de las cámaras. Detecta automáticamente enfermedades infecciosas mediante la detección de fiebre, alerta inmediatamente si un paciente se cae o deambula, y detecta cambios en el estado fÃsico mediante el análisis de las expresiones faciales. Al reducir la carga de las patrullas nocturnas, responder rápidamente a las emergencias y automatizar las tareas de grabación, el personal puede centrarse en sus tareas asistenciales principales. También está disponible la instalación in situ para garantizar la privacidad."}]},PL={title:"Contacte con nosotros",description:"Podemos consultar con usted desde la fase de planificación de requisitos, y también podemos considerar configuraciones PoC y LLM locales.",openForm:"Formulario abierto",closeForm:"Cerrar el formulario",form:{name:"Su nombre",namePlaceholder:"Taro Yamada",email:"Dirección de correo electrónico",emailPlaceholder:"[email protected]",subject:"tema",subjectPlaceholder:"Objeto de su consulta",message:"Mensaje",messagePlaceholder:"Rellene su solicitud",required:"*",submit:"Enviar",submitting:"Env
286iando...",turnstileMessage:'La autorización "No soy un robot" es necesaria para el envÃo.',turnstileError:"No se ha podido cargar la autorización de seguridad. Por favor, vuelva a cargar.",errorRetry:"Por favor, inténtelo de nuevo."}},wL={brand:"telet.ai",tagline:"Multi AI-comunicaciones",description:"Innove su negocio con agentes de IA. Cree valor a partir del diálogo.",sections:{product:{title:"Producto",features:"CaracterÃstica",benefits:"introducción",testimonials:"Testimonios de clientes"},services:{title:"Servicio",agentDev:"Diseño y desarrollo de agentes de IA para empresas",onPremise:"servidor LLM on-premise",vectorRag:"Vector RAG y diseño de Ãndices",aiApp:"Desarrollo de aplicaciones de IA"},company:{title:"Información de la organización",about:"Acerca de telet.ai",profile:"Perfil del representante",contact:"Contacte con nosotros"},process:{title:"Cómo trabajamos",hearing:"Audiencia / NDA",planning:"Planificación y AC",sampling:"Muestreo e inicio",development:"Desarrollo, pruebas y funcionamiento"}},copyright:"2026 telet.ai. Todos los derechos reservados.",legal:{privacy:"PolÃtica de privacidad",terms:"Condiciones de uso",cookies:"PolÃtica de cookies"}},SL={title:"PolÃtica de cookies",subtitle:"Esta sección describe las cookies y otras tecnologÃas (Cloudflare / Google Analytics) utilizadas en este sitio.",lastUpdated:"Ãltima actualización: 22 de enero de 2026",intro:'telet.ai ("nosotros", "nos", "nuestro") ("Nosotros") puede utilizar cookies y tecnologÃas similares para proporcionar y mejorar este Sitio y para garantizar su seguridad. No establecemos nuestras propias cookies de seguimiento especiales con fines publicitarios (aunque Cloudflare y Google Analytics pueden establecer cookies o tecnologÃas similares de acuerdo con las especificaciones de sus respectivos servicios).',sections:{what:{title:"1. ¿qué es una galleta?",description:"Las cookies son pequeños archivos de texto que se almacenan en su navegador cuando visita un sitio web."},howWeUse:{title:"Finalidad de nuestro uso de cookies, etc.",description:"Podemos utilizar cookies, etc. principalmente para los siguientes fines",items:["Para estabilizar la visualización y el funcionamiento del sitio","Detectar e impedir el acceso no autorizado y el tráfico malicioso","Para conocer el estado de los accesos y ayudar a mejorar el sitio"]},googleAnalytics:{title:"3. uso de Google Analytics",description:"Utilizamos Google Analytics 4 (GA4) proporcionado por Google LLC para el análisis de acceso.",items:["La información recopilada puede incluir páginas vistas, tiempo empleado, fuente de referencia, información sobre el dispositivo y el navegador, etc.","No utilizamos directamente información de identificación personal (nombre, dirección de correo electrónico, etc.) para enviarla a Google Analytics.","El tratamiento de los datos por parte de Google está sujeto a las condiciones y polÃticas de Google."]},cloudflare:{title:"4. uso de Cloudflare",description:"Utilizamos los servicios de Cloudflare, Inc. para la entrega y las medidas de seguridad de este Sitio. Cloudflare puede establecer y hacer referencia a cookies, etc. para fines como la protección DDoS y la prevención de bots.",items:["El propósito principal es la seguridad y la optimización de la comunicación, y no está destinado a ser rastreado para la entrega de anuncios","El tratamiento de datos por parte de Cloudflare está sujeto a los términos y polÃticas de Cloudflare"]},noSpecialCookies:{title:"5. nuestras galletas especiales",description:"No instalamos nuestras propias cookies especiales con fines de publicidad orientada al comportamiento, etc. El uso de cookies, etc. se limita principalmente al ámbito del funcionamiento del sitio, la seguridad y el análisis de acceso."},choices:{title:"6. gestión de cookies (opt-out)",description:"Si se desactivan las cookies, es posible que algunas funciones no estén disponibles.",items:["Las cookies pueden eliminarse o desactivarse en la configuración del navegador","Si desea inhabilitar la medición por parte de Google Analytics, utilice el método de inhabilitación proporcionado por Google.","El uso del modo privado de un navegador, etc., puede limitar la información almacenada."]},changes:{title:"7. cambios en esta polÃtica",description:"Podemos revisar esta polÃtica en respuesta a modificaciones legislativas y reglamentarias o a cambios en los servicios utilizados. La polÃtica revisada entrará en vigor cuando se publique en esta página."},contact:{title:"8. contacto",description:"Si tiene alguna pregunta sobre esta polÃtica, póngase en contacto con nosotros en",company:"telet.ai",contactLink:"Ir al formulario de consulta"}}},IL={hero:{title:"Acerca de telet.ai",subtitle:"Un cuidadoso apoyo al desarrollo de la IA que sólo puede proporcionar un equipo pequeño y personalizado."},story:{title:"Quiénes somos",content:"telet.ai comenzó con una pregunta. ¿Por qué hay tantas empresas que no aprovechan las innumerables interacciones entre ellas y sus clientes? El equipo, dirigido por un representante con experiencia en investigación de IA y desarrollo de softw
286are empresarial, se creó para abordar esta cuestión de frente. No somos una gran organización. Por eso somos capaces de afrontar sus retos en profundidad y proponer sólo las soluciones realmente necesarias. Nuestro punto fuerte es nuestra capacidad para diseñar arquitecturas hÃbridas que integran LLM local y LLM en la nube. Podemos proteger los datos confidenciales de su empresa en un entorno dedicado en la nube mientras realizamos inferencia avanzada de IA de forma escalable. Proporcionamos una CLI para desarrolladores y una interfaz de usuario de chat para el personal de primera lÃnea, creando una base para el uso de la IA en toda su organización. Y nos centramos en ser la solución óptima en lugar de ser la más avanzada. Descartar funciones en función del presupuesto y revisar una sola configuración puede suponer una gran diferencia en el coste. Le entregamos lo que necesita, en la cantidad que necesita. Nuestro atento apoyo al desarrollo de IA sólo es posible porque somos pequeños y personales. Solucionar la escasez de personal y apoyar el crecimiento de su empresa. Esa es la promesa de telet.ai."},representative:{title:"Representante de telet.ai labo",name:"Keita Okuizumi",tagline:"Al cielo, al mar y al código: una pasión por el desarrollo de la inteligencia artificial nacida de una carrera inusual",paragraphs:['Como antiguo piloto privado (PPL) y titular de una licencia de barco, me he ocupado de la meteorologÃa tanto en el aire como en el mar durante muchos años. En la cabina y en el puente de mando, observaba los cambios en el barómetro, descifraba las lÃneas de presión isobáricas y las comparaba con el movimiento del viento y las nubes. El sentido de "leer datos, juzgar y actuar" que desarrollé a través de este proceso repetitivo es el punto de partida para mà hoy en dÃa.','Empecé a aprender a programar en Python a los 57 años. El impulso fue simple curiosidad, pero en cuanto empecé a escribir código me fascinaron las posibilidades de los agentes de IA. Creé aplicaciones con mis propias manos, las ejecuté y las mejoré. En el proceso, me di cuenta de algo. En proyectos anteriores, yo participaba como no ingeniero, y el desarrollo siempre lo hacÃa otra persona. Sin embargo, una vez que empecé a escribir el código yo mismo, empecé a ver la esencia del problema. Aquà está el cuello de botella" o "Este diseño no se puede ampliar": al tener el punto de vista de un ingeniero, la velocidad de realización de lo que quiero hacer ha aumentado drásticamente.',"Desarrollar servicios meteorológicos combinando la experiencia sobre el terreno con la ciencia de datos, construir agentes de IA para mejorar la eficiencia operativa y diversos proyectos experimentales. A medida que seguÃa trabajando con mis manos, me convencà no solo de que la tecnologÃa era interesante, sino también de que tenÃa que haber gente que necesitara esto.","Nuestro objetivo no es perseguir la vanguardia. Nos enfrentamos a los problemas del cliente y a su presupuesto, y ofrecemos sólo lo que es realmente necesario a un coste razonable. No somos una gran organización, por lo que podemos ofrecer un apoyo al desarrollo adaptado a las necesidades de cada cliente. Queremos utilizar esta tecnologÃa en beneficio de la sociedad: por eso lanzamos telet.ai."]},contact:{title:"Información de la organización",company:"telet.ai labo",ceo:"Representante: OKUIZUMI Keita",button:"Contacte con nosotros"},studios:{tokyo:{title:"Estudio de Tokio",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tokio 184-0014, Japón"}}},ML={title:"Cartera",subtitle:"Vea nuestro historial de utilización de la tecnologÃa de IA",techStackLabel:"Pilas tecnológicas",viewProject:"Ver proyecto",privateProject:"Proyectos privados",visualizationLabel:"visualización de datos",cta:{title:"Contacte con nosotros",description:"No dude en ponerse en contacto con nosotros para hablar de su proyecto o para consultas técnicas.",button:"Póngase en contacto con nosotros"},projects:{"traffic-route-ai":{title:"Sistema de Selección de Rutas de Transporte con IA",subtitle:"Planificación de rutas de transporte público en Malasia",description:"Sistema que busca conexiones de autobús y tren entre un origen y un destino y compara las opciones por hora de llegada, duración y transbordos. Los filtros de solo autobús o tren, la búsqueda de estaciones y paradas cercanas y una interfaz multilingüe facilitan la elección de rutas para desplazamientos diarios y viajes.",techStack:["Rutas de Transporte Público","Integración de Autobús y Tren","Comparación de Rutas","Interfaz Multilingüe"]},"multilingual-assistant":{title:"Asistente multilingüe AI",description:"Asistente de chat inteligente para consultas en varios idiomas, que construye 1.573 Ãndices vectoriales e implementa un control preciso de las respuestas mediante bifurcación condicional, filtrado de palabras NG y activación de palabras clave. Se generan respuestas coherentes y muy precisas a las preguntas de los usuarios en varios idiomas, c
286omo japonés, inglés y chino, gracias a la búsqueda semántica multilingüe.",techStack:["RAG","Búsqueda vectorial","Incrustación multilingüe","LLM","lógica de bifurcación condicional"]},"weather-forecast":{title:"Predicción meteorológica inteligente con la API meteorológica",description:"Desarrollado un sistema de IA que aprende de datos meteorológicos pasados y hace previsiones en tiempo real de las condiciones meteorológicas recientes. LLM analiza datos pasados obtenidos de JMA API, OpenWeatherMap, etc., y genera previsiones a corto plazo de temperatura, probabilidad de precipitaciones, velocidad del viento, etc. Combinando el reconocimiento de patrones de datos de series temporales con la búsqueda de patrones de similitud en el pasado mediante RAG, el sistema logra previsiones de gran precisión que complementan los modelos estadÃsticos convencionales.",techStack:["Enlace API meteorológica","LLM","RAG","Análisis de datos de series temporales","procesamiento en tiempo real"]},"local-llm":{title:"Servidor interno / On-Prem Local LLM",description:"Proporcionamos IA adaptada a sus operaciones empresariales, lista para usar en su empresa, con Open WebUI como punto de entrada común, vÃas de inferencia rápidas con Ollama/MLX y dominios de datos completamente separados para cada UID. Los documentos internos se capturan en un RAG con incrustación en inglés y traducción automática de consultas al japonés, y las habilidades empresariales como el resumen de noticias, la organización de documentos y las tareas rutinarias se ejecutan de forma segura codo con codo. El sistema de ejecución de habilidades está aislado como un contenedor OpenClaw y protegido por tres capas de Cloudflare edge y Nginx local. Proporcionamos asistencia completa para la selección de modelos, el diseño de habilidades y las polÃticas operativas, y ponemos en marcha la IA dedicada de su empresa de forma que pueda utilizarse desde el mismo dÃa de su despliegue.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"Predicción de llegada a órbita interplanetaria (AI)",description:"Desarrollado un sistema para analizar los puntos de partida óptimos para la transferencia interplanetaria mediante la obtención de datos de posición planetaria, elementos orbitales y parámetros de gravedad de la API de la NASA. Realiza cálculos orbitales considerando la órbita de transferencia de Hohmann y la asistencia gravitatoria mediante API y Python, y muestra la ventana de lanzamiento, el tiempo necesario y la eficiencia del combustible. El sistema se utiliza como herramienta de simulación para instituciones educativas y empresas relacionadas con el espacio. *La función AI está actualmente eliminada, el cálculo está en curso con API y Python.",techStack:["NASA API (Horizons, SPICE)","Cálculo de la dinámica orbital","Python","visualización de datos"]},"real-estate":{title:"Análisis AI de datos inmobiliarios",description:"Desarrollo de un sistema que recopila información inmobiliaria de una región especÃfica mediante web scraping y realiza análisis avanzados de datos utilizando LLM y Python. Se extraen variables como el precio de la propiedad, el precio unitario tsubo, la antigüedad del edificio y la distancia a la estación, y se generan automáticamente análisis de tendencias de precios, previsiones de mercado y simulaciones de rentabilidad de la inversión. También se han extraÃdo caracterÃsticas de descripciones no estructuradas de propiedades utilizando LLM para proporcionar un análisis exhaustivo del mercado combinado con datos cuantitativos. *Oferta ahora disponible como segunda versión (la versión COMPLETA se proporciona por separado)",techStack:["Web scraping (Scrapy, Playwright)","Python","Pandas","Análisis LLM","visualización de datos"]},"fortune-ai":{title:"Sistema de evaluación de la IA basado en cuatro pilares",subtitle:"Reproducir la sabidurÃa tradicional con tecnologÃa.",paragraphs:["Four Pillars of Divination es la culminación de miles de años de adivinación oriental. Este sistema reproduce Ãntegramente en Python su lógica de adivinación tradicional, combinada con la interpretación y generación de consejos mediante LLM (Large Language Models). La IA reproduce fielmente el proceso de valoración realizado por un adivino experto.","Tras introducir la fecha, la hora y el lugar de nacimiento, el sistema recupera de la API de AstronomÃa las horas de salida y puesta del sol y la información de las coordenadas en ese momento. A partir de estos datos, el sistema calcula con precisión el signo del zodiaco, los diez dioses y el equilibrio de los cinco elementos. La lógica basada en la ciencia adivinatoria de los Cuatro Pilares del Destino se indexa en Python y se combina con datos estadÃsticos e información RAG (Retrieval Augmentation Generation) para mejorar la precisión del análisis de la fórmula de la vida.","Los datos calculados sobre el estilo de vida son explicados en lenguaje natural por LLM de forma fácil de entender. Se generan resultados de valoración personalizados, incluyendo el flujo de la fortuna, la compatibilidad de las relaciones interpersonales y la ocupación adecuada para usted. Puedes obtener respuestas con la misma profundidad que si hubieras consultado a un adivino profesional.","Actualmente está disponible como segunda versión. Puede probar el análisis kumishiki básico y el análisis de la fortuna. La versión completa, que incluye análisis más detallados y consejos multifacéticos, está disponible por separado."],techStack:["Python","API de astronomÃa (amanecer-atardecer, TimeZoneDB)","Lógica de los cuatro pilares","LLM","Cálculo de coordenadas y hora"]}
286,"google-workspace":{title:"Google Workspace AI integration",description:"Desarrollo de un sistema que vincula Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) con LLM para leer, editar y procesar automáticamente datos empresariales. La IA ayuda con tareas diarias como resumir el contenido de los correos electrónicos, generar borradores para respuestas automáticas, buscar y analizar archivos de Drive, extraer horarios de Calendar y proponer ajustes. El funcionamiento del espacio de trabajo desde el Agente también se realiza a través de una conexión API segura con autenticación OAuth y un diseño de herramientas compatible con MCP. La segunda versión ya está disponible (la versión FULL se proporcionará por separado).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"Multilingüismo en World NEWS",description:"Desarrollo de un sistema que recopila artÃculos en tiempo real de fuentes de noticias de todo el mundo y realiza su traducción multilingüe, resumen y categorización mediante LLM. Traduce al japonés artÃculos originales en inglés, chino, francés, árabe y otros idiomas y los organiza por temas. El seguimiento eficaz de las noticias internacionales no se consigue con una simple traducción automática, sino con una traducción natural basada en la comprensión contextual mediante LLM y la generación de resúmenes que extraen los puntos principales del artÃculo. *Oferta ahora disponible como segunda versión (la versión COMPLETA se proporciona por separado).",techStack:["Noticias API","Colección RSS","LLM Traducción y resumen","tratamiento multilingüe","Auto-categorización","tratamiento programado por lotes"]},"security-monitoring":{title:"Supervisión de registros de seguridad AI Manager",description:"Desarrollo de un sistema de supervisión en tiempo real de los registros de seguridad de la empresa y de detección y análisis avanzados de amenazas mediante LLM. Un módulo Python recopila y analiza varias fuentes de registros, como cortafuegos, IDS/IPS, registros de autenticación y registros de aplicaciones, y las compara con patrones de ataques anteriores, información sobre vulnerabilidades y casos de incidentes acumulados en RAG. Cuando se detecta un patrón anormal, LLM explica el nivel de amenaza, el alcance del impacto y la respuesta recomendada en lenguaje natural, y alerta inmediatamente al responsable. Si se repite el mismo patrón, se emite automáticamente una alerta de alta prioridad para acelerar la respuesta al incidente.",techStack:["Módulo de supervisión de Python","Recopilación de registros (Fluentd, Logstash)","RAG","Base de datos de patrones de amenazas","Análisis LLM","Notificaciones de alerta (Slack, PagerDuty)"]}}},jL={learnMore:"Seguir leyendo",getStarted:"empezar a ...",contactUs:"Contacte con nosotros",backToHome:"Volver a la página de inicio"},CL={title:"PolÃtica de privacidad",subtitle:"PolÃtica de privacidad",lastUpdated:"Ãltima actualización: 23 de enero de 2026",intro:'telet.ai (el "Servicio") considera que la protección de su información personal es una responsabilidad importante y ha establecido la siguiente polÃtica de privacidad.',sections:{collection:{title:"1. información que debe recogerse",description:"El Servicio puede recopilar la siguiente información cuando usted se pone en contacto con nosotros o utiliza el Servicio.",items:["Dirección de correo electrónico","Su nombre (opcional)","Detalles de la consulta","Otros datos facilitados voluntariamente por usted"]},purpose:{title:"2. finalidad del uso de la información",description:"La información personal recopilada sólo se utilizará para los siguientes fines",items:["Contestar y responder a las consultas","Contacto e información sobre nuestros servicios","Comunicación necesaria para el avance del proyecto","Análisis para la mejora del servicio (en un formato que no identifique a las personas)"]},thirdParty:{title:"3. suministro a terceros",description:"El Servicio no facilitará sus datos personales a terceros salvo en los siguientes casos",items:["Si el cliente da su consentimiento","Cuando exista una solicitud de divulgación basada en leyes y reglamentos","Cuando sea necesario para la protección de la vida, el cuerpo o los bienes de una persona"]},security:{title:"4. gestión de la información",description:"El Servicio gestionará adecuadamente la información personal recopilada y adoptará medidas de seguridad razonables para evitar el acceso no autorizado, la pérdida, la filtración y la falsificación."},email:{title:"5. gestión del correo electrónico",description:"El Servicio tratará los correos electrónicos de acuerdo con la siguiente polÃtica.",items:["Utilizaremos el contenido de su correo electrónico únicamente para responder a su consulta y prestarle nuestros servicios.","No venderemos, alquilaremos ni compartiremos su dirección de correo electrónico con terceros.","Es posible que le enviemos correos electrónicos informativos sobre nuestros servicios. Si desea darse de baja, utilice el enlace para darse de baja que aparece en el correo electrónico o póngase en contacto con nosotros a través de la información de contacto que figura a continuación.","El cifrado SSL/TLS se utiliza en las comunicaciones por correo electrónico para garantizar la seguridad de las comunicaciones.","Eliminaremos de forma segura su correo electrónico después de almacenarlo durante un periodo de tiempo adecuado."]},cookies:{title:"6. uso de cookies",description:"Las cookies pueden desactivarse en la configuración de su navegador."},external:{title:"7. utilización de servicios externos",description:"Este servicio puede utilizar los siguientes servicios externos. Consulte los enlaces correspondientes para conocer la polÃtica de privacidad de cada servicio.",items:["Google Analytics (access analysis)","Otros servicios en la nube necesarios para las operaciones empresariales"]},changes:{title:"8. cambios en la polÃtica de privacidad",description:"Esta polÃtica está sujeta a revisión sin previo aviso de acuerdo con las modificaciones de las leyes y reglamentos o los cambios en el contenido del servicio. La polÃtica revisada entrará en vigor cuando se publique en esta página."},contact:{title:"9. contacto",description:"Si tiene alguna pregunta sobre esta polÃtica, póngase en contacto con nosotros en",company:"telet.ai",contactLink:"Ir al formulario de consulta"}}},DL={title:"Condiciones de uso",subtitle:"Estas son las condiciones de uso de este sitio web y para reservar una consulta, realizar consultas y solicitar información a telet.ai.",lastUpdated:"Ãltima actualización: 22 de enero de 2026",intro:'Estas Condiciones de uso (en lo sucesivo, las "Condiciones") Estas Condiciones de uso (en lo sucesivo, las "Condiciones") se aplican al sitio web operado por telet.ai (en lo sucesivo, "nosotros", "nos", "nuestro" o "nuestra"). (en lo sucesivo, "nosotros", "nos" o "nuestro"). (en lo sucesivo, el "Sitio") operado por telet.ai (en lo sucesivo, el "Nosotros"). El Sitio se ofrece principalmente como página de aterrizaje para citas de consulta, consultas y solicitudes de documentos, y no prevé la creación de cuentas ni funciones de facturación de pago en el Sitio.',sections:{scope:{title:"1. ámbito de aplicación",description:'Las presentes Condiciones Generales se aplican a todos los visitantes y usuarios del Sitio Web (en adelante, los "Usuarios"). Las Condiciones de Uso se aplicarán a todos los visitantes y usuarios del Sitio Web (en adelante, los "Usuarios"). En caso de que se celebre un acuerdo de confidencialidad, un acuerdo de subcontratación, un contrato individual, etc. por separado entre nosotros y un Usuario, dicho documento prevalecerá sobre las Condiciones.'},prohibited:{title:"2. artÃculos prohibidos",description:"Al utilizar el Sitio, los Usuarios no realizarán ninguno de los siguientes actos",items:["Actos que violen las leyes y reglamentos o el orden y la moral públicos","Cualquier acto que infrinja nuestros derechos de propiedad intelectual, privacidad u otros derechos o intereses, o los de terceros.","Actos que interfieran en el funcionamiento de este sitio o sistemas relacionados mediante acceso no autorizado, carga excesiva, sabotaje, etc.","Presentar información falsa o suplantar la identidad de un tercero en formularios de consulta, etc.","Scraping, ingenierÃa inversa o acceso automatizado excesivo sin nuestro permiso previo."]},disclaimer:{title:"3. descargo de responsabilidad",description:'proporcionamos este sitio "tal cual" y "según disponibilidad". En la máxima medida permitida por la ley, renunciamos a todas las garantÃas con respecto a este sitio.',items:["La información de este sitio está sujeta a cambios o supresiones sin previo aviso.","No garantizamos la exactitud, integridad o idoneidad para un fin determinado de la información contenida en este sitio.","No seremos responsables de ningún daño resultante del uso de este sitio o de la confianza depositada en la información contenida en él.","Las respuestas a las consultas y preguntas son sólo para información general y no constituyen asesoramiento jurÃdico, fiscal, médico o profesional de otro tipo."]},ip:{title:"4. derechos de propiedad intelectual",description:"Todos los derechos sobre los textos, imágenes, diseños, marcas, logotipos, etc. de este sitio nos pertenecen a nosotros o a los legÃtimos titulares de los derechos. No puede utilizarlos sin el permiso de los titulares de los derechos."},links:{title:"5. enlaces a sitios externos",description:"Este sitio web puede contener enlaces a sitios web de terceros. No somos responsables del contenido ni del funcionamiento de los sitios enlazados."},changes:{title:"6. modificación de las presentes condiciones generales",description:"Nos reservamos el derecho a modificar las presentes Condiciones Generales de vez en cuando según sea necesario. Las Condiciones de Uso modificadas entrarán en vigor cuando se publiquen en el Sitio."},governingLaw:{title:"7. ley aplicable y jurisdicción",description:"Las presentes Condiciones Generales se regirán e interpretarán de conformidad con las leyes de Japón. En caso de cualquier disputa relacionada con este Sitio, el Tribunal de Distrito de Tokio tendrá jurisdicción exclusiva como tribunal de primera instancia."},contact:{title:"8. contacto",description:"Si tiene alguna pregunta sobre estas condiciones, póngase en contacto con",company:"telet.ai",contactLink:"Ir al formulario de consulta"}}},zL={title:"moción ordinaria",subtitle:"La IA predice la",description1:"La información meteorológica es proporcionada en tiempo real por cada paÃs. Su paÃs se muestra en el centro del mapa. El clima de ayer y el de hoy son registros reales: las nubes de lluvia deberÃan haber estado en su cielo en esa fecha y hora.",description2:"Sin embargo, esta animación también anima los futuros movimientos del tiempo.",description3:"
286Vectoriza datos pasados y busca patrones a gran velocidad. También se pueden predecir patrones meteorológicos a partir del entorno. Del mismo modo, es posible predecir la cosecha, la producción y las ventas calculando elementos (i) del entorno y valores estadÃsticos avanzados a partir del rendimiento pasado y haciendo que la IA los analice.",refresh:"refrescar (por ejemplo, la memoria)",loading:"Cargando mapa del tiempo..."},TL={hero:{badges:["Empresa","LLM local","Agente de aduanas"],title:"Diseño y desarrollo de agentes de IA para empresas",description:"Diseño y creación de agentes de IA especÃficos adaptados a las necesidades de la empresa"},mission:{title:"Servicios de desarrollo de agentes de IA personalizados",description:"Desarrollamos de forma coherente agentes de IA personalizados que abordan los problemas empresariales exclusivos de su empresa, desde el diseño hasta la implementación y el funcionamiento. Nuestro diseño arquitectónico hace hincapié en la compatibilidad con los sistemas de misión crÃtica
286y los entornos SaaS existentes, lo que permite una integración fluida con API, bases de datos y herramientas internas. Nuestros ingenieros están familiarizados con LangChain, AutoGen, CrewAI y otros marcos importantes, Nuestros ingenieros están familiarizados con LangChain, AutoGen, CrewAI y otros marcos importantes, y propondrán la mejor solución para la pila tecnológica y la estructura operativa de su empresa. No sólo desarrollamos chatbots puntuales, sino que también construimos sistemas multiagente en los que varios Agentes cooperan entre sà para realizar tareas, y Flujos de Trabajo Agenticos que funcionan en conjunción con herramientas externas. Apoyamos la maximización del valor empresarial aportado por los Agentes de IA a través de una asociación a largo plazo que incluye la mejora continua tras la implementación, el seguimiento de las actualizaciones del modelo y el mantenimiento de los sistemas de supervisión operativa.",imageAlt:"Servicios de desarrollo de agentes de IA personalizados"},summary:{title:"Tendencias en el desarrollo de agentes",paragraphs:['De 2025 a 202
2866, el desarrollo de agentes de IA está pasando de la fase de demostración a la de implantación corporativa a gran escala. El concepto de "IA agenética" ha arraigado, y los sistemas autónomos de ejecución empresarial que van más allá de meros chatbots han empezado a funcionar en diversos sectores.','Los "agentes usuarios de ordenadores" que controlan directamente navegadores y escritorios, como Operator de OpenAI, Computer Use de Anthropic y Project Mariner de Google, se han convertido en algo práctico. El Model Context Protocol (MCP) es un ecosistema en expansión que permite la integración plug-and-play con miles de herramientas.',"Las arquitecturas multiagente han alcanzado la madurez, con Agentes especializados que trabajan juntos para realizar tareas complejas como gestión de proyectos, atención al cliente y análisis de datos. La estandarización del protocolo A2A (agente a agente) también ha hecho avanzar la colaboración entre agentes de distintos proveedores.",'El modelo de gobernanza ha evolucionado de "Human-in-the-Loop" a "Human-on-the-Loop" para implantaciones corporativas, con un mecanismo de auditorÃa posterior a la decisión del agente y escalado automático basado en el nivel de riesgo como caracterÃsticas estándar, lo que acelera la adopción en industrias reguladas como la financiera, la médica y la manufacturera. La adopción de este sistema se está acelerando en sectores regulados como el financiero, el médico y el manufacturero.']},features:{title:"Diseño y desarrollo",subtitle:"Diseño y desarrollo",items:[{title:"Diseño de agentes basado en los requisitos de la empresa",description:"Extraemos casos de uso del análisis del flujo de negocio, descomponemos tareas y aclaramos las responsabilidades de los Agentes. Determinamos si el procesamiento puede ser completado por un único Agente o requiere la coordinación de varios Agentes, y seleccionamos los patrones de inferencia óptimos, como ReAct, Plan-and-Execute y Reflexion."},{title:"Integración de GAR / herramientas / flujos de trabajo",description:"Canalizaciones RAG de gran precisión que combinan la generación de incrustaciones, la estrategia de trozos y la búsqueda hÃbrida, la conexión estandarizada a API y bases de datos externas con definiciones de herramientas compatibles con MCP y la orquestación de flujos de trabajo de varios pasos mediante LangGraph y CrewAI. Orqueste flujos de trabajo de varios pasos con LangGraph y CrewAI."},{title:"Diseño de seguridad y autorización",description:"Se implementa el control de acceso a las funciones del Agente mediante RBAC/ABAC, contramedidas de Inyección de Peticiones y detección y enmascaramiento de PII. Se conservan registros de auditorÃa de todas las entradas y salidas, y se admite el funcionamiento en entornos conformes con SOC2 e ISO27001."},{title:"Ejecución, incluidos el funcionamiento y la supervisión",description:"Implementar la visualización de trazas con LangSmith, Langfuse, etc., y la supervisión en tiempo real de la latencia, el consumo de tokens y la tasa de errores. Construir un ciclo de mejora continua que incluya alertas de detección de anomalÃas, infraestructura de pruebas A/B y pruebas de regresión al actualizar los modelos."}]},techStack:{title:"Pilas tecnológicas",subtitle:"Plataforma y tecnologÃa",categories:{agentFramework:{title:"Marco de agentes",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","SDK de agentes de OpenAI","MCP antrópico","Google ADK (Agent Development Kit)","Núcleo semántico","Plataforma de agentes propia"]},apiLayer:{title:"Capa API",items:["FastAPI / Litestar","gRPC / Conectar","Federación GraphQL","Eventos enviados por el servidor (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","Pasarela API (Kong / Envoy)","Limitación de velocidad adaptativa"]},vectorDb:{title:"Vector DB / RAG",items:["Piña","Weaviate","Qdrant","Milvus","ChromaDB","pgvector","FAISS","Turbopuffer"]}
286,infrastructure:{title:"Infraestructura",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","Clúster de GPU local","Nube privada","Sin servidor (Lambda / Cloud Run)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"Principales puntos de actualización para 2026",description:"En Agent Framework, están surgiendo SDK/protocolos oficiales de los principales proveedores, como OpenAI Agents SDK, Anthropic MCP y Google ADK; en API Layer, gRPC y SSE se han convertido en el estándar para la comunicación agente-agente, y la transición a OAuth 2.1 está en marcha. En Vector DB, Qdrant y Turbopuffer están llamando la atención por su búsqueda de alta velocidad."}},cta:{title:"Contacte con nosotros",description:`Podemos consultarle desde la disposición de los requisitos. 287También se pueden considerar configuraciones PoC y LLM locales.`,primaryButton:"Contacte con nosotros",secondaryButton:"Consulta técnica"}},EL={title:"Preguntas frecuentes",subtitle:"PREGUNTAS FRECUENTES",items:[{question:"¿Puedo utilizar mis manuales y FAQ actuales sin modificarlos?",answer:"SÃ, puedes utilizarlo; es compatible con la mayorÃa de formatos, incluidos PDF, Word, Excel, HTML y archivos de texto. Sólo tiene que cargar sus documentos internos tal cual, y AI aprenderá el contenido y lo utilizará para responder a sus preguntas. No es necesaria ninguna conversión de formato ni ningún tratamiento especial."},{question:"¿Es seguro utilizarlo con datos que contengan información sensible?",answer:"SÃ, puede utilizar nuestro servicio de forma segura. En las instalaciones (servidores internos) o en un entorno de nube privada, los datos nunca se transmiten fuera de la empresa. Podemos proponerle configuraciones que respondan a sus necesidades de seguridad."},{question:"¿Cuánto tarda en aplicarse?",answer:"Un bot de FAQ estándar puede implementarse en tan sólo 2-4 semanas. Si se requiere la integración con sistemas existentes o una personalización avanzada, estimamos 1-3 meses. También podemos empezar con una PoC (prueba de concepto) a pequeña escala."},{question:"¿Utiliza API externas como ChatGPT o Claude?",answer:"La elección está disponible bajo petición. Admitimos tanto configuraciones que utilizan API externas (OpenAI, Anthropic, Google, etc.) como configuraciones que utilizan LLM de código abierto (Llama, Mistral, Qwen, etc.) que se ejecutan de forma completamente local. Podemos proponerle la mejor configuración para sus requisitos de coste, seguridad y rendimiento."},{question:"¿Hasta qué punto es precisa la respuesta de la IA?",answer:"Dependiendo de la aplicación y de la calidad de los datos, un sistema GAR correctamente diseñado puede devolver respuestas precisas a preguntas para las que existen documentos relevantes con una precisión del 90% o superior. También se incorporan de serie mecanismos para controlar la halcinación (generación de información errónea)."},{question:"¿Admite otros idiomas además del japonés?",answer:"SÃ, ofrecemos asistencia multilingüe. Admitimos los principales idiomas, como japonés, inglés, chino y coreano. En lugar de tener modelos distintos para cada idioma, un único sistema puede gestionar consultas multilingües."},{question:"¿Puede integrarse con los sistemas existentes (CRM, herramientas de chat, etc.)?",answer:"SÃ, se puede integrar; admite la integración de API con las principales herramientas empresariales, como Salesforce, HubSpot, Slack, Microsoft Teams y LINE WORKS. Puedes incorporar un asistente de IA sin cambiar tu flujo de trabajo actual."},{question:"¿Cuál es su estructura de tarifas?",answer:"Depende del tamaño y los requisitos del proyecto. Aunque las tarifas de construcción inicial y explotación mensual suelen ser combinadas, también aceptamos solicitudes de desarrollo puntual o servicios de consultorÃa únicamente. Por favor, comunÃquenos primero sus necesidades. Le facilitaremos un presupuesto aproximado."}]},RL={title:"Planes de tarifas",subtitle:"Planes de precios",description:"Planes flexibles que se adaptan al tamaño de su empresa",plans:[{name:"arranque",price:"29.800 yenes",period:"Mensual/usuario",description:"El mejor plan para equipos pequeños. Funciones básicas de IA a un precio asequible.",features:["Hasta 100 llamadas al mes","Transcripción básica","Detección de palabras clave","Asistencia por correo electrónico","7 dÃas de conservación de datos"],cta:"Empiece gratis",popular:!1},{name:"profesional",price:"Â¥79,800",period:"Mensual/usuario",description:"Ideal para equipos en crecimiento. Funciones analÃticas avanzadas.",features:["Hasta 500 llamadas al mes","Transcripción AI de alta precisión","Análisis emocional","Enlace CRM","Asistencia prioritaria","30 dÃas de retención de datos","Informes personalizados"],cta:"14 dÃas de prueba gratuita",popular:!0},{name:"empresa",price:"Contacte con nosotros",period:"personalizado",description:"Planes completos para grandes organizaciones",features:["Llamadas ilimitadas","Modelo de IA dedicado","asistencia in situ","Asistencia dedicada","Colaboración personalizada","GarantÃa de SLA","AuditorÃas de seguridad","Conservación ilimitada de datos"],cta:"Consultar con Ventas",popular:!1}],faq:{title:"Preguntas frecuentes",items:[{question:"¿Hay una prueba gratuita?",answer:"SÃ, hay disponible una prueba gratuita de 14 dÃas para los planes Profesionales. No se necesita tarjeta de crédito para empezar."},{question:"¿Puedo cambiar de plan en cualquier momento?",answer:"SÃ, puede cambiar de plan en cualquier momento. Los cambios se aplicarán a partir del siguiente ciclo de facturación."},{question:"¿Hay algún plazo contractual vinculado?",answer:"Los planes mensuales no tienen restricciones de duración de contrato. Si eliges un contrato anual, recibirás un 20% de descuento."}]}},NL={hero:{badge:"TecnologÃa basada en IA",title:"Transcripción AI",description:"Los modelos avanzados de aprendizaje automático proporcionan una precisión del 99,5%. La IA entrenada en millones de datos de interacción con clientes convierte la voz en texto.",features:["99,5% de precisión","procesamiento en tiempo real","Compatibilidad con más de 40 idiomas"]},features:{title:"Funciones principales",subtitle:"Motor de transcripción avanzado que va más allá del simple reconocimiento de voz",items:[{title:"transcripción en tiempo real",description:"Obtenga transcripciones en tiempo real durante las conversaciones. Obtenga una visión instantánea y no pierda nunca una oportunidad de coaching en tiempo real."},{title:"soporte multilingüe",description:"Admite más de 40 idiomas y cubre equipos globales con detección automática de idiomas."},{title:"comprensión contextual",description:"Los modelos de IA entrenados en terminologÃa especÃfica del sector reconocen con precisión términos técnicos y empresariales."},{title:"separación de altavoces",description:"Identifica y separa automáticamente a los distintos interlocutores de una conversación y les asigna atributos claros."},{title:"léxico personalizado",description:"Aprender los nombres de productos, servicios y términos técnicos exclusivos de su empresa proporciona una precisión aún mayor."}
287,{title:"GarantÃa de calidad",description:"Los controles de calidad automáticos y la puntuación de fiabilidad garantizan la máxima calidad de transcripción."}]},useCases:{title:"Escenas de uso",subtitle:"Sectores y equipos que requieren una transcripción precisa de las llamadas",items:[{title:"Equipo de ventas",description:"Reflexionar sobre las llamadas de ventas e identificar patrones de éxito. Mejorar la eficacia de las conversaciones y preparar a los miembros del equipo con ejemplos concretos."},{title:"Atención al cliente",description:"Registrar con precisión los problemas de los clientes. Mantener un historial de asistencia completo para garantizar una calidad de servicio constante."},{title:"control de calidad",description:"Supervisar el cumplimiento y garantizar la observancia de los guiones. Mantener registros detallados para auditorÃas y formación."}]},stats:{accuracy:{value:"99.5%",label:"precisión de la transcripción"},languages:{value:"40+",label:"Idiomas admitidos"},latency:{value:"<2 seg.",label:"retraso en el procesamiento"},availability:{value:"24/7",label:"procesamiento continuo"}}},GL={hero:{badge:"Detección inteligente",title:"Seguimiento de palabras clave",description:"Supervise automáticamente las menciones de la competencia, las refutaciones y los temas importantes. No pierda nunca señales importantes de las conversaciones con los clientes.",badges:["
287Seguimiento de la competencia","Detección de respuestas","Análisis de temas","palabra clave personalizada"]},features:{title:"Seguimiento de la información crÃtica",subtitle:"Detección y análisis automáticos de palabras clave de todas las conversaciones",items:[{title:"Vigilancia de la competencia",description:"Siga las menciones de la competencia para saber cómo comparan los clientes potenciales su solución con las alternativas del mercado."},{title:"Detección de respuestas",description:"Identifique automáticamente las objeciones y preocupaciones más comunes y desarrolle respuestas y formación eficaces."},{title:"palabra clave personalizada",description:"Defina y rastree palabras clave y frases personalizadas especÃficas de su empresa, producto o sector."},{title:"Análisis de tendencias",description:"Descubra las tendencias emergentes a partir de las conversaciones con los clientes y adapte su estrategia en función de las señales reales del mercado."},{title:"extracción de contexto",description:"Obtenga el contexto antes y después de la palabra clave, no sólo su mención. Entender no solo lo que se dijo, sino por qué y cómo se dijo."},{title:"Búsqueda inteligente",description:"Busca instantáneamente en todas las conversaciones para encontrar exactamente dónde y cuándo se habló de un tema concreto."}]},applications:{title:"Escenas de uso",items:{competitive:{title:"Inteligencia competitiva",description:"Profundo conocimiento del panorama competitivo:",points:["Siga a sus competidores más mencionados","Entender cómo comparan los clientes potenciales las caracterÃsticas y los precios","Identifique sus ventajas y debilidades competitivas","Creación de material anticompetitivo eficaz"]},objections:{title:"respuesta a una refutación",description:"Convierta una refutación en una oportunidad:",points:["Identificar las preocupaciones más comunes de los clientes","Analizar las respuestas de refutación de los mejores","Libro de jugadas con respuesta probada.","Forme a su equipo con turnos eficaces"]},product:{title:"Información sobre el producto",description:"Promover el desarrollo de productos a través de las opiniones de los clientes:",points:["Identificar las funciones más solicitadas","Comprender los retos de la funcionalidad actual","Descubra casos de uso inesperados","Priorizar la hoja de ruta en función de las necesidades de los clientes"]},compliance:{title:"Cumplimiento y calidad",description:"Garantizar el cumplimiento de la normativa y la calidad:",points:["Supervisar las divulgaciones obligatorias y el lenguaje jurÃdico","Marcar las conversaciones que puedan infringir la polÃtica","Seguimiento del cumplimiento de los guiones y de las mejores prácticas","Generar informes de cumplimiento para auditorÃa"]}}},advancedFeatures:{title:"Funciones avanzadas",items:[{title:"recuperación ambigua",description:"Detecta automáticamente variaciones de palabras clave, sinónimos y términos relacionados sin necesidad de configuración manual."},{title:"análisis histórico",description:"Analice las tendencias de las palabras clave a lo largo del tiempo para identificar patrones estacionales y temas emergentes."},{title:"Alertas en tiempo real",description:"Reciba notificaciones inmediatas cuando se mencionen palabras clave importantes en conversaciones en directo."}]}},OL={hero:{badges:["Empresa","LLM local","Funcionamiento interno del servidor"],title:"Construcción LLM in situ",description:"Opere LLM en su propio entorno, manteniendo los datos fuera de la empresa"},mission:{title:"Visión general del servicio de construcción LLM in situ",paragraphs:["Para las empresas que no pueden divulgar datos confidenciales fuera de la empresa, construimos un entorno LLM que puede completarse en sus propios servidores o en una nube privada. Esta solución es ideal para organizaciones que requieren una gestión estricta de la información, como instituciones financieras, instituciones médicas, agencias gubernamentales e institutos de investigación, porque no utiliza ninguna API pública y todo el procesamiento se completa dentro de la infraestructura gestionada por el cliente.","Proporcionamos un apoyo integral desde la selección del modelo, la construcción del servidor, la o
287ptimización del motor de inferencia y la supervisión del funcionamiento, utilizando modelos de peso abierto disponibles en el mercado como Llama 3.3, Qwen 2.5, Mistral y DeepSeek con motores de inferencia de alto rendimiento como vLLM, Ollama y SGLang. Estos modelos se ejecutan en motores de inferencia de alto rendimiento como vLLM, Ollama y SGLang para proporcionar un entorno de inferencia de baja latencia y alto rendimiento.","Damos soporte a una amplia gama de casos de uso, como la integración con sistemas existentes, chatbots, RAG internos, resumen de documentos y generación de código. Podemos diseñar para satisfacer los requisitos de la empresa, incluida la especialización empresarial mediante el ajuste fino del modelo, la optimización de la GPU NVIDIA / Apple Silicon, el diseño multiinquilino, la construcción de pasarelas API y mucho más."]},summary:{title:"Tendencias en LLM in situ",paragraphs:["En 2025-2026, la utilidad de los LLM in situ está mejorando rápidamente. El rendimiento de los modelos ponderados abiertos ha flanqueado al de los modelos cerrados, y el número de modelos ofrecidos con licencias disponibles comercialmente ha reducido significativamente el obstáculo para las operaciones internas.","Los modelos con parámetros de 8B a 70B han alcanzado un nivel práctico para muchas tareas empresariales, la cuantización GGUF permite una inferencia de alta velocidad incluso en GPU de consumo.","Para los motores de inferencia, Continuous Batching y PagedAttention de vLLM aumentan drásticamente el rendimiento, y RadixAttention de SGLang acelera las complejas interacciones multivuelta. Ollama se ha convert
287ido en el estándar de facto para los entornos de desarrollo locales, y llama.cpp está optimizado con Apple Silicon para una inferencia rápida en los Mac de la serie M.","En la adopción por parte de las empresas, además de la soberanÃa de los datos y el cumplimiento de la normativa, la optimización de los costes a largo plazo (alejándose de la facturación de API de pago por uso) se está convirtiendo cada vez más en una motivación para la adopción. Las configuraciones hÃbridas (local para procesamiento sensible y API en la nube para procesamiento de propósito general) se han convertido en una opción común."],icons:[{label:`Privado 288Nube`},{label:`Datos 289SoberanÃa`},{label:`Coste 290Optimización`},{label:`Empresa 291Seguridad`}]},features:{title:"CaracterÃsticas de diseño y desarrollo",subtitle:"Diseño y desarrollo",items:[{title:"Diseño de infraestructuras y optimización de GPU",description:"Diseñe la configuración de hardware óptima para su carga de trabajo y presupuesto, incluidos NVIDIA A100/H100, RTX 4090/5090 y Apple Silicon (M2 Ultra/M3 Max/M4 Max), y cree un entorno de inferencia que aproveche al máximo el rendimiento de la GPU mediante la optimización CUDA, MPS y Metal. Optimización CUDA, MPS y Metal para maximizar el rendimiento de la GPU."},{title:"Selección y optimización de modelos",description:"Selecciona el modelo óptimo entre Llama, Qwen, Mistral, DeepSeek, etc. teniendo en cuenta las caracterÃsticas de la tarea, los requisitos de lenguaje y las limitaciones de recursos. La cuantificación (GGUF/AWQ/GPTQ), la optimización de la caché KV y el ajuste del procesamiento por lotes se utilizan para lograr precisión y rendimiento."},{title:"Construcción del motor de inferencia",description:"Seleccione y construya motores de inferencia como vLLM, SGLang, Ollama, TGI, etc. según su aplicación, y aplique las últimas tecnologÃas como Continuous Batching, Speculative Decoding y Prefix Caching para proporcionar API de inferencia de baja latencia y alto rendimiento. Proporcionamos API de inferencia de baja latencia y alto rendimiento."},{title:"Funcionamiento, supervisión y seguridad",description:"Implemente la supervisión de métricas inferenciales con Prometheus/Grafana, el control de acceso con la pasarela API, los registros de auditorÃa, el escalado automático y la recuperación ante fallos. Cree un entorno de operaciones de producción que cumpla los requisitos de seguridad de la empresa."}]},techStack:{title:"Pila tecnológica: LLM local",subtitle:"Plataforma y tecnologÃa",categories:{openWeightModels:{title:"Modelos de peso abierto",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Mando R (Cohere)"]},japaneseModels:{title:"Modelo especÃfico japonés",items:["ELYZA-japonés-Llama-2","Golondrina 70B / 13B","Llama japonesa-3","Qwen-2.5-Japanese","Karakuri-LM"]},inferenceEngine:{title:"Motor de inferencia",items:["vLLM (dosificación continua)","SGLang (RadixAttention)","Ollama (desarrollo local)","llama.cpp (Apple Silicon)","TGI (Cara de abrazo)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (especialización en cuantificación)"]},quantization:{title:"Cuantización",items:["GGUF (llama.cpp estándar)","AWQ (alta precisión de 4 bits)","GPTQ (optimización de GPU)","bitsybytes(8bit/4bit)","EETQ (Cuantización de Eficiencia Eficaz)"]},hardware:{title:"Hardware",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
291,infrastructure:{title:"Infraestructura",items:["Docker / Kubernetes","Servidor NVIDIA Triton","Pasarela API (Kong / Envoy)","Prometheus / Grafana","Nube privada (VMware / OpenStack)","Soporte ambiental con cámara de aire"]}},updateNote:{title:"Principales puntos de actualización para 2026",description:"En los modelos de peso abierto, Llama 3.3 alcanza un rendimiento de propósito general de clase GPT-4 y mejora notablemente el rendimiento en japonés; la serie Qwen 2.5 amplÃa la oferta con una variedad de tamaños y un rendimiento bien equilibrado; DeepSeek V3/R1 llama la atención por su rendimiento en costes de inferencia; y los motores de inferencia vLLM 2.0 Chunked Prefill y SGLang's RadixAttention aceleran el diálogo multivuelta. En el motor de inferencia, Chunked Prefill de vLLM 2.0 y RadixAttention de SGLang aceleran las interacciones multivuelta; la optimización de Apple Silicon de llama.cpp hace que la inferencia de modelos 70B sea práctica en M4 Max; y la tecnologÃa Quantization ofrece precisión de 4 bits y alto rendimiento. Las técnicas de cuantificación consiguieron tanto precisión de 4 bits como velocidad de inferencia, y GGUF se convirtió en el formato estándar de facto."}},cta:{title:"Contacte con nosotros",description:`Podemos consultarle desde la disposición de los requisitos. 292También se pueden considerar configuraciones PoC y LLM locales.`,primaryButton:"Contacte con nosotros",secondaryButton:"Consulta técnica"}},BL={hero:{badges:["Empresa","RAG","generación de extensiones de búsqueda"],title:"Vector / RAG Desarrollo",description:"Crear un sistema RAG para vincular los conocimientos internos con el LLM"},mission:{title:"Visión general de los servicios de desarrollo Vector / RAG",paragraphs:["Construiremos un sistema RAG (generación de extensiones de búsqueda) que permita a los empleados realizar búsquedas y preguntas en lenguaje natural vinculando los activos de conocimiento acumulados en la empresa con LLM. Integramos diversas fuentes de datos como manuales, actas, documentos técnicos, preguntas frecuentes, historial de Slack, Confluence, SharePoint, etc. para crear un entorno en el que el conocimiento organizativo pueda utilizarse de forma inmediata.","Maximizamos la precisión de la búsqueda y la calidad de la respuesta aplicando las últimas tecnologÃas, como la búsqueda hÃbrida (búsqueda vectorial + búsqueda por palabras clave), el reordenamiento, el chunking jerárquico, el filtrado de metadatos, etc., además de la búsqueda simple de documentos. Indicamos claramente la fuente de la respuesta para suprimir la halcinación y garantizar la fiabilidad.","Admitimos diversos entornos, como AWS, GCP, Azure y on-premise, y nos integramos con la infraestructura de autenticación y la gestión de autoridades existentes. Proporcionamos un soporte coherente para mantener la frescura de los datos (actualizaciones diferenciales y reindexación automática), analizar los registros de uso y mejorar continuamente la precisión."]},summary:{title:"Tendencias tecnológicas RAG",paragraphs:['Entre 2025 y 2026, la tecnologÃa GAR está pasando a la fase de "implementación básica a calidad de producción". Además de la búsqueda vectorial simple, la búsqueda hÃbrida, que combina múltiples métodos de búsqueda, el reordenamiento, que reordena los resultados de la búsqueda, y la descomposición de consultas, que descompone y procesa preguntas complejas, se han convertido en configuraciones estándar.',"Las estrategias de fragmentación también han evolucionado: la fragmentación jerárquica, que tiene en cuenta la estructura del documento, la superposición de fragmentos y la fragmentación multimodal, que procesa tablas y figuras por separado, contribuyen a mejorar la precisión. También se ha reconocido ampliamente la eficacia de la recuperación contextual (que añade información contextual a los trozos).","Para la selección de BD vectoriales, además de servicios gestionados como Pinecone, Weaviate, Qdrant y Milvus, PostgreSQL pgvector y FAISS local ofrecen una amplia gama de opciones para satisfacer sus necesidades. También hay disponibles modelos de incrustación, como text-Embedding-3-large, Cohere Embed v3 y modelos multilingües.",'En las implantaciones empresariales, la vinculación de la gestión de autoridades (ACL), el enmascaramiento de PII, los registros de auditorÃa y el diseño multiusuario son requisitos esenciales, y es necesario pasar de una "PoC operativa" a un "sistema de producción listo para funcionar".'],icons:[{label:`HÃbrido 293Buscar en`},{label:`Multimodal 294RAG`},{label:`Agentic 295RAG`},{label:`Empresa 296Seguridad`}]},features:{title:"CaracterÃsticas de diseño y desarrollo",subtitle:"Diseño y desarrollo",items:[{title:"Recogida y preprocesamiento de datos",description:"Extracción y limpieza de datos de PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, etc. Soporte multimodal que incluye OCR, análisis de estructura de tablas y generación de pies de imagen. Mantenga la frescura con actualizaciones diferenciales y ejecución programada."},{title:"Diseño de sistemas de búsqueda de alta precisión",description:"Construye búsquedas de alta precisión combinando Búsqueda Vectorial + Búsqueda HÃbrida BM25, Reranking por Cohere Rerank / Cross-Encoder, y Expansión y Descomposición de Consultas. También se implementan el filtrado de metadatos y el control de acceso basado en permisos."}
296,{title:"Generación de respuestas y control de calidad",description:"Mejora de la calidad de las respuestas gracias a la optimización del contexto, las preguntas de respuesta rápida y la inferencia de la cadena de pensamiento. La clarificación de la fuente, la visualización de la puntuación de confianza y la detección de ambigüedades garantizan la fiabilidad para uso empresarial."},{title:"Ciclo de funcionamiento y mejora",description:"Proporcionamos asistencia operativa, que incluye análisis de registros de uso, control de la tasa de aciertos en las búsquedas y de la satisfacción de los usuarios, mejora continua a través de circuitos de retroalimentación, infraestructura de pruebas A/B, actualizaciones del modelo de incrustación y revisiones de la estrategia de fragmentación."}]},techStack:{title:"Pila tecnológica: Vector / RAG",subtitle:"Plataforma y tecnologÃa",categories:{embeddingModels:{title:"Modelos de incrustación",items:["OpenAI text-embedding-3-large","Cohere Embed v3","Viaje AI","Incrustaciones Jina v3","BGE-M3 (multilingüe)","multilingüe-e5-grande","Modelos especÃficos para Japón"]},vectorDatabases:{title:"Bases de datos vectoriales",items:["Pinecone (Gestionado)","Weaviate (Búsqueda hÃbrida)","Qdrant (alto rendimiento)","Milvus (a gran escala)","Chroma (ligero)","PostgreSQL pgvector","FAISS (local)"]},chunking:{title:"Agrupación y procesamiento",items:["fragmentación jerárquica","Agrupación semántica","Superposición de trozos","Ventana de frases","Recuperación contextual","Tratamiento de tablas y gráficos","Apoyo multimodal"]},search:{title:"Búsqueda y recuperación",items:["Búsqueda hÃbrida (Vector + BM25)","Cohere Rerank","Recodificación cruzada","Ampliación y descomposición de consultas","HyDE (Generación hipotética de documentos)","Autoconsulta","Recuperación de consultas múltiples"]}},updateNote:{title:"Principales puntos de actualización para 2026",description:"En el modelo Embedding, text-Embedding-3-large y Cohere Embed v3 se convirtieron en la norma de la empresa, y el rendimiento en japonés mejoró notablemente; la recuperación contextual demostró su eficacia, y añadir contexto a los trozos se convirtió en el método estándar. La Búsqueda HÃbrida + Reordenación se ha convert
296ido en una configuración obligatoria para la búsqueda, reduciendo el número de configuraciones de búsqueda vectorial simple, y se está poniendo en práctica la RAG Agentic (los agentes seleccionan dinámicamente las estrategias de búsqueda). Desde el punto de vista operativo, se está haciendo hincapié en el establecimiento de ciclos de medición y mejora de la calidad utilizando marcos de evaluación RAG (RAGAS, LangSmith)."}},cta:{title:"Contacte con nosotros",description:`Podemos consultarle desde la disposición de los requisitos. 297También se pueden considerar configuraciones PoC y LLM locales.`,primaryButton:"Contacte con nosotros",secondaryButton:"Consulta técnica"}},KL={hero:{badges:["Pila completa","Integración LLM","Diseño API"],title:"Desarrollo de aplicaciones de IA",description:"Diseñar y crear aplicaciones prácticas que aprovechen el LLM"},mission:{title:"Descripción general del servicio de desarrollo de aplicaciones de IA",paragraphs:["Proporcionamos diseño y desarrollo de aplicaciones de IA que crean valor empresarial analizando datos adquiridos de API externas con LLM, vinculando API con diversas fuentes de datos como CRM, ERP, SaaS, sensores IoT y redes sociales, y alimentando los datos adquiridos a LLM en tiempo real. Permitimos el análisis avanzado de datos que no se puede lograr con las herramientas de BI convencionales, como la generación de informes analÃticos utilizando el lenguaje natural, la detección de anomalÃas, la predicción de tendencias y la clasificación automática.","No sólo la simple integración de API, sino también la integración de múltiples fuentes de datos, la limpieza de datos y la conversión a un formato fácil de interpretar para LLM mediante un procesamiento estructurado. La ingenierÃa rápida maximiza la precisión del análisis y genera resultados especializados para los requisitos empresariales. Construimos aplicaciones prácticas que combinan datos e IA, como datos de ventas para predecir negociaciones comerciales, registros de atención al cliente para realizar análisis de VoC y datos de sensores para proporcionar recomendaciones de mantenimiento de equipos.","Damos soporte a una variedad de interfaces como aplicaciones web, aplicaciones móviles, integración Slack/Teams y procesamiento periódico por lotes. Proporcionamos un soporte coherente desde la definición de requisitos hasta el diseño de la API, la implementación de la integración LLM y el funcionamiento en producción."]},summary:{title:"Tendencias en el desarrollo de aplicaciones de IA",paragraphs:['De 2025 a 202
2976, el desarrollo de aplicaciones de IA está entrando en una fase práctica basada en "integración API x análisis LLM". El análisis de datos no estructurados y la generación de conocimientos en lenguaje natural, que no podÃan gestionar las herramientas de BI y los cuadros de mando tradicionales, están empezando a incorporarse a los sistemas empresariales.',"Cabe destacar la maduración de la funcionalidad de salida estructurada de LLM, que permite un control estricto de la salida conforme al esquema JSON, lo que hace realidad una canalización automatizada de extremo a extremo, en la que los datos adquiridos a través de las API son analizados por LLM y los resultados se introducen directamente en los sistemas posteriores. La ejecución en varias fases de la llamada a funciones permite gestionar en un único flujo de trabajo la recopilación, integración y análisis de datos a través de varias API.","En la infraestructura de procesamiento de datos, Polars ha surgido como un estándar para el procesamiento de alta velocidad y, en combinación con el procesamiento en flujo, facilita el análisis en tiempo real.","En las implantaciones corporativas, las necesidades han pasado del desarrollo PoC puntual al diseño escalable para el funcionamiento en producción, lo que requiere un diseño de arquitectura integral que incluya la optimización de costes, la gestión de errores y el soporte de registros de auditorÃa."],icons:[{label:`Agentic 298IA`},{label:`MCP 299Protocolo`},{label:`Multi 300Agente`},{label:`Humano-en 301-the-Loop`}]},features:{title:"CaracterÃsticas de diseño y desarrollo",subtitle:"Diseño y desarrollo",items:[{title:"Integración de API y diseño de recopilación de datos",description:"Construimos una infraestructura de recopilación de datos compatible con varios protocolos como REST API, GraphQL, WebSocket y Webhook. Diseñamos un canal de adquisición de datos estable mediante la implementación de procesos de autenticación (OAuth, clave API, JWT), limitación de velocidad y mecanismos de reintento. También soportamos la integración de datos, la programación y la adquisición diferencial desde múltiples API."},{title:"Preprocesamiento y estructuración de datos",description:"Convierte los datos sin procesar en un formato que pueda ser analizado eficazmente por LLM, incluido el análisis sintáctico de JSON, la limpieza de datos, la normalización y el procesamiento de valores omitidos, y realiza una segmentación y resumen óptimos de los datos teniendo en cuenta las restricciones de la ventana contextual. La asignación de metadatos garantiza la trazabilidad de los resultados del análisis."},{title:"Análisis LLM y diseño rápido",description:"Maximice la precisión de los análisis de datos diseñando plantillas rápidas especÃficas para sus requisitos empresariales. Construimos pipelines de análisis para clasificación, resumen, análisis de sentimiento, detección de anomalÃas, generación de predicciones, etc. Utilizamos Function Calling y Structured Output para generar resultados en un formato que pueda integrarse fácilmente con sistemas posteriores."},{title:"Aplicación y funcionamiento",description:"Proporcionamos los resultados de los análisis a través de diversas interfaces, como FastAPI, aplicaciones web con Next.js, etc., Slack/Teams Bot y ejecución programada por lotes. Los cuadros de mando, las alertas de notificación y la generación automática de informes se implementan y entregan de forma que los usuarios empresariales puedan utilizarlos inmediatamente. También proporcionamos supervisión operativa, optimización de costes y mejora continua."}]},techStack:{title:"Pila tecnológica: Desarrollo de aplicaciones de IA",subtitle:"Plataforma y tecnologÃa",categories:{apiIntegration:{title:"Integración API",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","Webhook / Sondeo","Apache Airflow / Prefect","Apio / Temporal","requests / httpx / aiohttp","Limitación de velocidad / Reintento","Validación de datos (Pydantic)"]},dataProcessing:{title:"Tratamiento de datos",items:["Pandas / Polares","Analizador JSON / JSONL","Proceso de limpieza de datos","Apache Spark (procesamiento a gran escala)","dbt (conversión de datos)","Grandes esperanzas","Lago Delta / Iceberg","Streaming (Kafka / Flink)"]}
301,llmCloud:{title:"LLM en la nube",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Géminis 2.0 / Géminis 2.5","Comando R+ (Cohere)","Mistral Large"]},llmLocal:{title:"LLM local",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","Gemma 2 / Gemma 3","Phi-4","ELYZA / Golondrina (especializada en japonés)","Mando R (Cohere)"]},inference:{title:"Inferencia / Marco",items:["vLLM / SGLang","Ollama / llama.cpp","Proxy LiteLLM","Llamada a función","Salida estructurada","Motor de plantillas Prompt","LangChain / LlamaIndex","Canal de análisis propio"]},application:{title:"Capa de aplicación",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Trabajos programados (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Caché / Cola)","Docker / Kubernetes"]}},updateNote:{title:"Principales puntos de actualización para 2026",description:"En el área de análisis LLM, la funcionalidad de salida estructurada de GPT-4.1 y Claude 4 ha madurado para estandarizar un estricto control de salida conforme con JSON Schema, y la ejecución en varias etapas de Function Calling permite la recopilación y el análisis de datos complejos a través de varias API en una única canalización. La ejecución en varias etapas de Function Calling permite la recopilación y el análisis de datos complejos a través de múltiples API en una única canalización. En el procesamiento de datos, Polars se ha convert
301ido en una alternativa consolidada a Pandas para el procesamiento de alta velocidad y, en combinación con el procesamiento de flujos, facilita la construcción de una infraestructura de análisis en tiempo real. En la capa de aplicación, la integración de herramientas externas mediante MCP se ha convertido en algo habitual, lo que acelera el desarrollo de aplicaciones agénticas en las que los LLM llaman a las API de forma autónoma para adquirir y analizar datos."}},cta:{title:"Contacte con nosotros",description:`Podemos consultarle desde la disposición de los requisitos. 302También se pueden considerar configuraciones PoC y LLM locales.`,primaryButton:"Contacte con nosotros",secondaryButton:"Consulta técnica"}},VL={seo:fL,header:kL,hero:bL,mission:yL,businessServices:vL,features:AL,businessProcess:xL,story:LL,contact:PL,footer:wL,cookiePolicy:SL,about:IL,portfolio:ML,common:jL,privacyPolicy:CL,termsOfService:DL,weatherMap:zL,agentDevelopment:TL,faq:EL,pricing:RL,aiTranscription:NL,keywordTracking:GL,onPremiseLLM:OL,vectorRAG:BL,aiAppDevelopment:KL},FL={home:{title:"Plataforma de soluções com tecnologia de IA - telet.ai",description:"Transforme as conversas com os seus clientes com análises de chamadas baseadas em IA. Obtenha insights em tempo real, análises de sentimentos e acompanhamento de desempenho para melhorar os resultados da sua equipa."},about:{title:"Informações da organização - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"PolÃtica de Privacidade - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"Termos de Serviço - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"PolÃtica de Cookies - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"Portfólio - telet.ai",description:"Explore o nosso portfólio de soluções de IA projetadas para melhorar as suas operações comerciais e a experiência dos clientes."},agentDevelopment:{title:"Concepção e desenvolvimento de agentes de IA empresarial - telet.ai",description:"Projete e crie agentes de IA de nÃvel de produção adaptados aos seus fluxos de trabalho, ferramentas e necessidades de conformidade."},onPremiseLLM:{title:"Operações LLM no local - telet.ai",description:"Opere LLMs modernos dentro do seu ambiente para obter um forte controlo de dados, custos previsÃveis e inferência de baixa latência."},vectorRAG:{title:"Vector RAG & Design de Ãndice - telet.ai",description:"Crie pipelines de recuperação de design e Ãndices personalizados para cada fluxo de trabalho, a fim de melhorar as respostas fundamentadas."},aiAppDevelopment:{title:"Desenvolvimento de aplicações de IA - telet.ai",description:"Crie aplicações práticas com tecnologia LLM, integradas à s suas APIs, dados e fluxos de trabalho comerciais."}},WL={brand:"telet.ai",nav:{services:"Serviços",portfolio:"Portfólio",about:"Informações da organização",contact:"Contato"}},qL={brandName:"telet.ai",tagline:"Comunicações com várias IAs",badge:"Inteligência de chamadas com tecnologia de IA",title:{line1:"Local e defensivo,",line2:"Expandir na nuvem,",line3:"Automatizado pelo agente."},description:"A inferência de borda no SLM garante a soberania dos dados e a integração da nuvem no LLM dimensiona a capacidade de processamento ao infinito; a adoção da arquitetura Agentic AI está começando a mostrar resultados nas principais empresas."},UL={badge:"Nossa missão",title:"Tornando o LLM mais acessÃvel",paragraphs:['Você pode realmente ir tão longe?". -Essa surpresa é o que estamos buscando.','O potencial da modelagem de linguagem em larga escala (LLM) está se expandindo a cada dia. No entanto, queremos derrubar barreiras como "Estou preocupado em enviar dados confidenciais para APIs externas", "Aplicativos avançados de IA são apenas para grandes empresas" e "O custo de implementação não vale a pena".',"Somos especializados na criação de LLMs locais que são concluÃdos em seu ambiente. As informações altamente confidenciais dos clientes podem ser utilizadas com segurança sem serem expostas ao mundo exterior. Podemos maximizar os benefÃcios da IA e, ao mesmo tempo, garantir a segurança dos dados.","Ele cuida de tudo, desde a criação de documentos de rotina e a organização de dados até a análise especializada e o suporte a decisões. Nossa tecnologia proprietária de agentes oferece precisão comparável aos modelos de API.",'O LLM não substitui as pessoas. à uma ferramenta poderosa que permite que as pessoas exerçam mais criatividade, julgamento e conhecimento. Levamos a tecnologia de especial para comum - uma verdadeira "consumerização" da tecnologia.','Fique à vontade para nos consultar. Trabalharemos com você para descobrir "O que podemos fazer?" junto com você.'],animation:{label:"LLM",sublabel:"Tecnologia"}},_L={title:"Serviços",subtitle:"Serviços comerciais",services:[{title:"Projeto e desenvolvimento de agentes de IA para empresas",titleEn:"Agente de IA empresarial",description:"Projetar e desenvolver agentes de IA otimizados para requisitos de negócios, regras internas e escopo de dados. Suporte de LLM do tipo API externo para LLM local.",badges:["Design individual","CompatÃvel com LLM","especialização em negócios"],link:"Detalhes."},{title:"Servidor LLM em promessa",titleEn:"Servidor LLM no local",description:"Executa o LLM em escala de 7B a 120B no servidor dedicado da empresa. Oferece um ambiente de uso seguro e flexÃvel do LLM, evitando o risco de transmissão externa de dados.",badges:["7B-120B suportado","Chave de API emitida","Projeto de segurança"],link:"Detalhes."},{title:"Vetor RAG e design de Ãndice",titleEn:"Arquitetura Vector RAG",description:"Separe e otimize os dados RAG por conteúdo comercial e lógica de análise. Projeto de Ãndice para pesquisas rápidas e precisas.",badges:["
302Separação de Ãndices","Pesquisa de alta velocidade","Suporte multilÃngue"],link:"Detalhes."},{title:"Desenvolvimento de aplicativos de IA",titleEn:"Desenvolvimento de aplicativos de IA",description:"Desenvolver aplicativos práticos de IA com análise e geração pelo LLM em seu núcleo, utilizando APIs existentes e dados externos.",badges:["Vinculação de API","Análise do LLM","Design integrado"],link:"Detalhes."}]},HL={title:"Projetos de realização usando tecnologia de IA",subtitle:"Experiência em desenvolvimento de IA em uma ampla variedade de campos, incluindo assistentes multilÃngues, previsão do tempo, LLM local e monitoramento de segurança.",viewDetails:"Ver detalhes â.",items:[{title:"Assistente multilÃngue de IA",description:"Assistente de bate-papo multilÃngue da RAG + LLM. Respostas altamente precisas a consultas em vários idiomas, incluindo japonês, inglês e chinês."},{title:"Sistema de previsão do tempo",description:"Aprende dados meteorológicos e gera previsões em tempo real. Previsões altamente precisas são geradas usando o reconhecimento de padrões de séries temporais e o RAG para pesquisar padrões semelhantes no passado."},{title:"Servidor interno / On-Prem Local LLM",description:"Fornecemos IA adaptada à s suas operações comerciais, pronta para uso em sua empresa, com Open WebUI como ponto de entrada comum, pistas de inferência rápidas com Ollama/MLX e domÃnios de dados completamente separados para cada UID. Os documentos internos são capturados em um RAG com incorporação em inglês e tradução automática de consultas em japonês, e as habilidades de negócios, como resumo de notÃcias, organização de documentos e tarefas de rotina, são executadas com segurança lado a lado. O sistema de execução de habilidades é isolado como um contêiner OpenClaw e protegido por três camadas de borda Cloudflare e Nginx local. Fornecemos suporte abrangente para seleção de modelos, design de habilidades e polÃticas operacionais, e iniciamos a IA dedicada da sua empresa em um formato que pode ser usado desde o dia em que é implantado."},{title:"Previsão de chegada orbital interplanetária (AI)",description:"Obter dados planetários da API da NASA e interpretar cálculos de órbita no LLM. Gera relatórios sobre a janela de lançamento, o tempo necessário e a eficiência de combustÃvel."},{title:"Análise de IA de dados imobiliários",description:"Colete informações imobiliárias por meio de raspagem da Web e analise-as com LLM + Python. Geração automática de tendências de preços, previsões de mercado e retorno sobre o investimento."},{title:"IA de adivinhação (adivinhação de quatro pilares)",description:"Reproduza a lógica dos Quatro Pilares do Destino em Python e interprete-a com o LLM. Adquira coordenadas e tempo da API Astronomy para avaliação personalizada da sorte e da compatibilidade."},{title:"Google Workspace AI integration",description:"Integração do LLM com Gmail, Drive, Calendar, etc. A IA auxilia no resumo de e-mails, na pesquisa de arquivos e no agendamento."},{title:"World NEWS Multilingualização",description:"Coleção em tempo real de notÃcias mundiais, traduzidas e resumidas em vários idiomas pelo LLM. Tradução natural e geração de resumos com base na compreensão contextual."},{title:"Monitoramento de registros de segurança AI Manager",description:"Monitoramento em tempo real dos registros de segurança, detecção e análise de ameaças pelo LLM e alertas imediatos por meio da correspondência com padrões de ataques anteriores pelo RAG."}]},$L={title:"Como prosseguir com o projeto",headline:"Tudo o que você precisa é de uma visão.",paragraphs:['Já se foi o tempo em que as diferenças de idioma eram uma barreira para os negócios e, embora usemos tradução por IA, podemos lidar com negociações e desenvolvimento de negócios em 14 idiomas por meio de nosso fluxo de trabalho exclusivo que faz uso total do compartilhamento de imagens. Até mesmo especificações complexas podem ser verificadas com imagens de amostra para evitar erros de comunicação. A única coisa que importa é "o que você deseja criar".',"O projeto começa com uma audiência inicial no aplicativo de negócios. Depois de um compartilhamento geral da visão do cliente e da noção dos problemas, é assinado um NDA (Non-Disclosure Agreement, acordo de confidencialidade). Depois de criar um ambiente no qual as informações confidenciais possam ser discutidas em sigilo, realizamos entrevistas detalhadas e c
302onfirmamos os requisitos. Com base no conteúdo, preparamos uma proposta e confirmamos a direção do projeto usando imagens de amostra. Com o entendimento estabelecido, preparamos as especificações e iniciamos o desenvolvimento.","Este fluxo é apenas uma introdução geral. Nós nos adaptaremos de forma flexÃvel à sua situação e ao seu cronograma. Onde quer que você esteja no mundo, mesmo que não fale o mesmo idioma, as imagens e a IA darão suporte à sua comunicação. Por que você não se junta a nós para entrar no mercado de fronteira que ninguém ainda explorou? Deixe que o telet.ai seja seu parceiro para dar forma à s suas ideias."],cards:[{title:"Audiência / NDA",description:"Após a audiência inicial por e-mail, é assinado um contrato de confidencialidade. Você pode nos fornecer detalhes com tranquilidade."},{title:"Planejamento e CA",description:"São fornecidas propostas e imagens de amostra. Há suporte para 14 idiomas, para que você possa prosseguir sem barreiras linguÃsticas."},{title:"Amostragem e inÃcio",description:"Prepararemos as especificações e iniciaremos os negócios mediante acordo."},{title:"Desenvolvimento, teste e operação",description:"Implementação rápida por meio de desenvolvimento ágil. Fornecemos suporte consistente, desde os testes até o suporte operacional."}]},QL={badge:"Estudos de caso",title:"História de introdução à IA",items:[{title:"Soluções de eficiência empresarial e redução de custos",subtitle:"Reduza a carga de trabalho diária e crie um ambiente no qual você possa se concentrar em seu negócio principal.",description:'Muitas pequenas e médias empresas (PMEs) enfrentam escassez de mão de obra e dificuldades de contratação. Mesmo quando novos funcionários são contratados, os custos de treinamento são altos e há problemas com as taxas de retenção. Nossa solução de IA oferece suporte a tarefas diárias, como automação do gerenciamento de orçamento, entrada e organização de dados, recuperação de documentos internos e geração automática de relatórios e documentos. Os assistentes de IA lidam com tarefas rotineiras que costumavam tomar muito tempo, 24 horas por dia, 365 dias por ano, sem erros. As empresas que introduziram a IA perceberam reduções significativas nas horas de trabalho. Desde "aumentar os recursos humanos" até "colaborar com a IA". Faremos o possÃvel para apoiar a reforma do estilo de trabalho de sua empresa.'},{title:"Automação do suporte ao cliente",subtitle:"O serviço 24 horas melhora a satisfação do cliente e reduz os custos de mão de obra.",description:"Os chatbots com IA fornecem respostas automatizadas a perguntas frequentes, resposta primária e classificação de consultas, além de resposta em tempo real em vários idiomas. Resposta em tempo real em vários idiomas. Os operadores humanos podem se concentrar em casos complexos e melhorar a qualidade do atendimento ao cliente. Eleve a qualidade do seu atendimento a um novo patamar com o suporte ao cliente com IA."},{title:"IA de conhecimento e utilização de documentos",subtitle:"Ativos de conhecimento interno em um formato que pode ser utilizado imediatamente por qualquer pessoa",description:'Onde está esse manual?". Há informações que somente o antecessor conhece" - o conhecimento impessoalizado impede o crescimento de uma empresa. Nossa tecnologia RAG (geração de extensão de pesquisa) permite que você recupere as informações necessárias de manuais internos, perguntas frequentes e documentos anteriores simplesmente fazendo perguntas em linguagem natural. Ela agiliza o treinamento de novos funcionários, digitaliza o conhecimento tácito dos veteranos e permite o compartilhamento de conhecimento entre os departamentos. Os documentos existentes podem ser usados como estão, portanto, não há necessidade de criar novos documentos.'},{title:"IA de análise de imagens para cuidados médicos e de enfermagem",subtitle:"Olhos atentos, suporte 24 horas por dia por IA",description:"Nas áreas de assistência médica e de enfermagem, é necessário cuidar de um grande número de pacientes e usuários com uma equipe limitada. Nossa IA de análise de imagem/vÃdeo detecta anormalidades em tempo real a partir de imagens de câmeras. Ela detecta automaticamente doenças infecciosas por meio da detecção de febre, alerta imediatamente se um paciente cair ou se afastar e detecta alterações n
302a condição fÃsica por meio da análise de expressões faciais. Reduzindo a carga de patrulhas noturnas, respondendo rapidamente a emergências e automatizando tarefas de registro, a equipe pode se concentrar em suas tarefas de atendimento primário. A instalação no local também está disponÃvel para garantir a privacidade."}]},JL={title:"Entre em contato conosco",description:"Podemos consultá-lo desde a fase de planejamento dos requisitos e também podemos considerar configurações de PoC e LLM locais.",openForm:"Formulário aberto",closeForm:"Fechar o formulário",form:{name:"Seu nome",namePlaceholder:"Taro Yamada",email:"Endereço de e-mail",emailPlaceholder:"[email protected]",subject:"assunto",subjectPlaceholder:"Assunto de sua consulta",message:"Mensagem",messagePlaceholder:"Preencha sua consulta",required:"*",submit:"Enviar",submitting:"Enviando...",turnstileMessage:'A autorização "Não sou um robô" é necessária para o envio.',turnstileError:"Falha ao carregar a autorização de segurança. Favor recarregar.",errorRetry:"Tente novamente."}},ZL={brand:"telet.ai",tagline:"Comunicações com várias IAs",description:"Inove seus negócios com agentes de IA. Crie valor a partir do diálogo.",sections:{product:{title:"Produto",features:"Recurso",benefits:"introdução",testimonials:"Depoimentos de clientes"},services:{title:"Serviço",agentDev:"Projeto e desenvolvimento de agentes de IA para empresas",onPremise:"Servidor LLM em promessa",vectorRag:"Vetor RAG e design de Ãndice",aiApp:"Desenvolvimento de aplicativos de IA"},company:{title:"Informações da organização",about:"Sobre o telet.ai",profile:"Perfil do representante",contact:"Entre em contato conosco"},process:{title:"Como fazemos negócios",hearing:"Audiência / NDA",planning:"Planejamento e CA",sampling:"Amostragem e inÃcio",development:"Desenvolvimento, teste e operação"}},copyright:"© 2026 telet.ai. Todos os direitos reservados.",legal:{privacy:"PolÃtica de privacidade",terms:"Termos de uso",cookies:"PolÃtica de cookies"}},XL={title:"PolÃtica de cookies",subtitle:"Esta seção descreve os cookies e outras tecnologias (Cloudflare / Google Analytics) usados neste site.",lastUpdated:"Ãltima atualização: 22 de janeiro de 2026",intro:'telet.ai ("nós", "nos", "nosso") ("Nós") pode usar cookies e tecnologias semelhantes para fornecer e melhorar este Site e garantir sua segurança. Não definimos nossos próprios cookies de rastreamento especiais para fins de publicidade (embora a Cloudflare e o Google Analytics possam definir cookies ou tecnologias semelhantes de acordo com suas respectivas especificações de serviço).',sections:{what:{title:"1. o que é um cookie?",description:"Cookies são pequenos arquivos de texto que são armazenados no navegador quando você visita um site."},howWeUse:{title:"Objetivo de nosso uso de cookies, etc.",description:"Podemos usar cookies, etc. principalmente para os seguintes fins",items:["Para estabilizar a exibição e a operação do site","Para detectar e impedir o acesso não autorizado e o tráfego malicioso","Para entender o status do acesso e ajudar a melhorar o site"]},googleAnalytics:{title:"3. uso do Google Analytics",description:"Usamos o Google Analytics 4 (GA4) fornecido pelo Google LLC para análise de acesso.",items:["As informações coletadas podem incluir páginas visualizadas, tempo gasto, fonte de referência, informações sobre o dispositivo e o navegador, etc.","Não usamos diretamente informações de identificação pessoal (nome, endereço de e-mail, etc.) com a finalidade de enviá-las ao Google Analytics.","O tratamento de dados pelo Google está sujeito aos termos e polÃticas do Google"]},cloudflare:{title:"4. uso do Cloudflare",description:"Usamos os serviços da Cloudflare, Inc. para medidas de entrega e segurança deste Site. A Cloudflare pode definir e fazer referência a cookies, etc. para fins como proteção contra DDoS e prevenção de bots.",items:["A finalidade principal é a otimização da segurança e da comunicação, e não se destina a ser rastreada para a entrega de anúncios","O tratamento de dados pela Cloudflare está sujeito aos termos e polÃticas da Cloudflare"]},noSpecialCookies:{title:"5. nossos próprios cookies especiais",de
302scription:"Não configuramos nossos próprios cookies especiais para fins de publicidade de direcionamento comportamental, etc. O uso de cookies, etc., limita-se principalmente ao escopo da operação, segurança e análise de acesso do site."},choices:{title:"6. gerenciamento de cookies (opt-out)",description:"Se os cookies estiverem desativados, algumas funções poderão não estar disponÃveis.",items:["Os cookies podem ser excluÃdos ou desativados nas configurações do navegador","Se você quiser desativar a medição pelo Google Analytics, use o método de desativação fornecido pelo Google","O uso do modo privado de um navegador, etc., pode limitar as informações armazenadas."]},changes:{title:"7. alterações a esta polÃtica",description:"Podemos revisar esta polÃtica em resposta a alterações em leis e regulamentos ou mudanças nos serviços utilizados. A polÃtica revisada entrará em vigor quando for publicada nesta página."},contact:{title:"8. entre em contato conosco",description:"Se tiver alguma dúvida sobre esta polÃtica, entre em contato conosco pelo e-mail",company:"telet.ai",contactLink:"Ir para o formulário de consulta"}}},YL={hero:{title:"Sobre o telet.ai",subtitle:"Suporte cuidadoso ao desenvolvimento de IA que só pode ser fornecido por uma equipe pequena e personalizada."},story:{title:"Informações da organização",content:"A telet.ai começou com uma pergunta. Por que tantas empresas não estão conseguindo aproveitar os insights que estão nas inúmeras interações entre as empresas e seus clientes? A equipe, liderada por um representante com experiência em pesquisa de IA e desenvolvimento de software empresarial, foi criada para enfrentar esse problema de frente. Não somos uma organização de grande porte. Por isso, somos capazes de enfrentar seus desafios em profundidade e propor apenas as soluções realmente necessárias. Nosso ponto forte é a capacidade de projetar arquiteturas hÃbridas que integram LLM local e LLM na nuvem. Podemos proteger os dados confidenciais da sua empresa em um ambiente de nuvem dedicado e, ao mesmo tempo, realizar inferência avançada de IA de maneira escalonável. Fornecemos uma CLI para desenvolvedores e uma interface de usuário de bate-papo para a equipe de linha de frente, criando uma base para o uso de IA em toda a sua organização. E nos concentramos em ser a solução ideal, em vez de ser a mais avançada. O descarte de funções de acordo com o orçamento e a revisão de apenas uma configuração podem fazer uma grande diferença no custo. Entregamos o que você precisa, na quantidade que você precisa. Nosso suporte atencioso ao desenvolvimento de IA só é possÃvel porque somos pequenos e pessoais. Para resolver a escassez de mão de obra e apoiar o crescimento de sua empresa. Essa é a promessa da telet.ai."},representative:{title:"Representante do telet.ai labo",name:"Keita Okuizumi",tagline:"Para o céu, para o mar e para o código - uma paixão pelo desenvolvimento de IA nascida de uma carreira incomum",paragraphs:['Como ex-piloto privado (PPL) e portador de licença de navio, há muitos anos lido com o clima no ar e no mar. No cockpit e na casa do leme, observei as mudanças no barômetro, decifrei as linhas de pressão isobáricas e as comparei com o movimento do vento e das nuvens. O senso de "ler dados, julgar e agir" que desenvolvi por meio desse processo repetitivo é o ponto de partida para mim hoje.','Comecei a aprender programação em Python aos 57 anos de idade. O Ãmpeto foi uma simples curiosidade, mas assim que comecei a escrever código, fiquei fascinado com as possibilidades dos agentes de IA. Criei aplicativos com minhas próprias mãos, executei-os e os aprimorei. Durante o processo, percebi algo. Em projetos anteriores, eu estava envolvido como não engenheiro, e o desenvolvimento era sempre feito por outra pessoa. No entanto, quando comecei a escrever o código eu mesmo, comecei a ver a essência do problema. Este é o gargalo aqui" ou "Este projeto não pode ser expandido" - ao ter o ponto de vista de um engenheiro, a velocidade de realização do que eu queria fazer aumentou drasticamente.',"Desenvolvimento de serviços meteorológicos combinando experiência de campo com ciência de dados, criação de agentes de IA para melhorar a eficiência operacional e vários projetos experimentais. à medida que continuei a trabalhar com minhas mãos, convenci-me não apenas de que a tecnologia era interessante, mas também de que deve haver pessoas que precisam dela.","Nosso objetivo não é perseguir a vanguarda. Enfrentamos os problemas e o orçamento do cliente e fornecemos apenas o que é realmente necessário a um custo razoável. Como não somos uma organização de grande porte, podemos oferecer suporte ao desenvolvimento personalizado de acordo com as necessidades de cada cliente. Queremos usar essa tecnologia para o benefÃcio da sociedade - por isso lançamos o telet.ai."]},contact:{title:"Sobre nós",company:"telet.ai labo",ceo:"Representante: OKUIZUMI Keita",button:"Entre em contato conosco"},studios:{tokyo:{title:"Estúdio de Tóquio",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tóquio 184-0014, Japão"}}},eP={title:"Portfólio",subtitle:"Veja nosso histórico de utilização da tecnologia de IA",techStackLabel:"Pilhas de tecnologia",viewProject:"Exibir projeto",privateProject:"Projetos privados",visualizationLabel:"visualização de dados",cta:{title:"Entre em contato conosco",description:"Fique à vontade para entrar em contato conosco para discutir seu projeto ou para consultas técnicas.",button:"Entre em contato conosco"},projects:{"traffic-route-ai":{title:"Sistema de Seleção de Rotas de Transporte com IA",subtitle:"Planejamento de rotas de transporte público na Malásia",description:"Sistema que busca conexões de ônibus e trem entre origem e destino e compara opções por horário de chegada, duração e número de baldeações. Filtros de apenas ônibus ou trem, busca de estações e paradas próximas e uma interface multilÃngue ajudam a escolher rotas para o dia a dia e viagens.",techStack:["Rotas de Transporte Público","Integração de Ãnibus e Trem","Comparação de Rotas","Interface MultilÃngue"]},"multilingual-assistant":{title:"Assistente multilÃngue de IA",description:"Assistente de bate-papo inteligente para consultas em vários idiomas, criando 1.573 Ãndices de vetores e implementando um controle preciso das respostas por meio de ramificação condicional, filtragem de palavras NG e acionamento de palavras-chave. Respostas consistentes e altamente precisas à s perguntas dos usuários em vários idiomas, incluindo japonês, inglês e chinês, são geradas por meio de pesquisa semântica entre idiomas.",techStack:["RAG","Pesquisa de vetores","Incorporação multilÃngue","LLM","lógica de ramificação condicional"]},"weather-forecast":{title:"Previsão meteorológica de IA com a API de clima",description:"Desenvolveu um sistema de IA que aprende com dados meteorológicos anteriores e faz previsões em tempo real das condições meteorológicas recentes. O LLM analisa dados anteriores obtidos da API da JMA, do OpenWeatherMap etc. e gera previsões de curto prazo para temperatura, probabilidade de precipitação, velocidade do vento etc. Combinando o reconhecimento de padrões de dados de séries temporais com a pesquisa de padrões de similaridade do passado pelo RAG, o sistema obtém previsões altamente precisas que complementam os modelos estatÃsticos convencionais.",techStack:["Vinculação da API de clima","LLM","RAG","Análise de dados de séries temporais","processamento em tempo real"]},"local-llm":{title:"Servidor interno / On-Prem Local LLM",description:"Fornecemos IA adaptada à s suas operações comerciais, pronta para uso em sua empresa, com Open WebUI como ponto de entrada comum, pistas de inferência rápidas com Ollama/MLX e domÃnios de dados completamente separados para cada UID. Os documentos internos são capturados em um RAG com incorporação em inglês e tradução automática de consultas em japonês, e as habilidades de negócios, como resumo de notÃcias, organização de documentos e tarefas de rotina, são executadas com segurança lado a lado. O sistema de execução de habilidades é isolado como um contêiner OpenClaw e protegido por três camadas de borda Cloudflare e Nginx local. Fornecemos suporte abrangente para seleção de modelos, design de habilidades e polÃticas operacionais, e iniciamos a IA dedicada da sua empresa em um formato que pode ser usado desde o dia em que é implantado.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"Previsão de chegada orbital interplanetária (AI)",description:"Desenvolveu um sistema para analisar pontos de partida ideais para transferência interplanetária, obtendo dados de posição planetária, elementos orbitais e parâmetros de gravidade da API da NASA. Calcula cálculos de órbita considerando a órbita de transferência de Hohmann e a assistência gravitacional usando API e Python, e exibe a janela de lançamento, o tempo necessário e a eficiência de combustÃvel. O sistema é usado como uma ferramenta de simulação para instituições educacionais e empresas relacionadas ao espaço. *A função AI foi removida no momento, o cálculo está em andamento com a API e o Python.",techStack:["NASA API (Horizons, SPICE)","Cálculo da dinâmica orbital","Python","visualização de dados"]},"real-estate":{title:"Análise de IA de dados imobiliários",description:"Desenvolveu um sistema que coleta informações imobiliárias de uma região especÃfica por meio de raspagem da Web e realiza análises avançadas de dados usando LLM e Python. Variáveis como preço da propriedade, preço unitário tsubo, idade do edifÃcio e distância da estação são extraÃdas, e a análise de tendências de preços, previsões de mercado e simulações de retorno de investimento são geradas automaticamente. Os recursos também foram extraÃdos de descrições de propriedades não estruturadas usando LLM para fornecer uma análise de mercado abrangente combinada com dados quantitativos. *Oferta agora disponÃvel como uma segunda versão (a versão COMPLETA é fornecida separadamente)",techStack:["Raspagem da Web (Scrapy, Playwright)","Python","Pandas","Análise do LLM","visualização de dados"]},"fortune-ai":{title:"Sistema de avaliação de IA dos quatro pilares",subtitle:"Reproduzindo a sabedoria tradicional com a tecnologia.",paragraphs:["O Four Pillars of Divination é a culminação de milhares de anos de adivinhação oriental. Esse sistema reproduz sua lógica tradicional de adivinhação totalmente em Python, combinada com a interpretação e a geração de conselhos usando LLM (Large Language Models). A IA reproduz fielmente o processo de avaliação realizado por um adivinho especialista.","Depois de inserir a data, a hora e o local de nascimento, o sistema recupera os horários do nascer e do pôr do sol e as informações de coordenadas naquele momento a partir da API de Astronomia. Com base nesses dados, o sistema calcula com precisão o signo do zodÃaco, os dez deuses e o equilÃbrio dos cinco elementos. A lógica baseada n
302a ciência de adivinhação dos Quatro Pilares do Destino é indexada em Python e combinada com dados estatÃsticos e informações de RAG (Retrieval Augmentation Generation) para melhorar a precisão da análise da fórmula de vida.","Os dados calculados sobre o estilo de vida são explicados em linguagem natural pelo LLM de maneira fácil de entender. São gerados resultados de avaliação personalizados, incluindo o fluxo da sorte, a compatibilidade dos relacionamentos interpessoais e a ocupação adequada para você. Você pode obter respostas com a mesma profundidade como se tivesse consultado uma cartomante profissional.","Atualmente, ele está disponÃvel em uma segunda versão. Você pode experimentar a análise básica do kumishiki e a análise da sorte. A versão completa, que inclui análises mais detalhadas e conselhos multifacetados, está disponÃvel separadamente."],techStack:["Python","API de astronomia (Sunrise-Sunset, TimeZoneDB)","Lógica de quatro pilares","LLM","Cálculo de coordenadas e tempo"]},"google-workspace":{title:"Google Workspace AI integration",description:"Desenvolveu um sistema que vincula o Google Workspace (Gmail, Drive, Agenda, Docs, Sheets) ao LLM para ler, editar e processar automaticamente dados comerciais. A IA auxilia nas tarefas diárias, como resumir o conteúdo de e-mails, gerar rascunhos para respostas automáticas, pesquisar e analisar arquivos do Drive, extrair programações do Calendário e propor ajustes. A operação do espaço de trabalho a partir do agente também é realizada por meio de conexão API segura com autenticação OAuth e design de ferramenta compatÃvel com MCP. A segunda versão já está disponÃvel (a versão COMPLETA será fornecida separadamente).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"World NEWS Multilingualização",description:"Desenvolvimento de um sistema que coleta artigos em tempo real de fontes de notÃcias de todo o mundo e realiza tradução, resumo e categorização multilÃngue usando LLM. Traduz artigos originais em inglês, chinês, francês, árabe e outros idiomas para o japonês e os organiza por tópico. O monitoramento eficiente de notÃcias internacionais não é obtido por meio de uma simples tradução automática, mas por uma tradução natural baseada na compreensão contextual usando LLM e na geração de resumos que extraem os pontos principais do artigo. *Oferta agora disponÃvel em uma segunda versão (a versão COMPLETA é fornecida separadamente).",techStack:["NotÃcias API","Coleção de RSS","Tradução e Resumo do LLM","processamento multilÃngue","Auto-categorização","processamento em lote programado"]},"security-monitoring":{title:"Monitoramento de registros de segurança AI Manager",description:"Desenvolveu um sistema para monitoramento em tempo real de registros de segurança corporativa e detecção e análise avançadas de ameaças usando LLM. Várias fontes de registro, como firewalls, IDS/IPS, registros de autenticação e registros de aplicativos, são coletadas e analisadas por um módulo Python e comparadas com padrões de ataques anteriores, informações de vulnerabilidade e casos de incidentes acumulados no RAG. Quando um padrão anormal é detectado, o LLM explica o nÃvel da ameaça, o escopo do impacto e a resposta recomendada em linguagem natural e alerta imediatamente a pessoa responsável. Se o mesmo padrão se repetir, um alerta de alta prioridade é emitido automaticamente para acelerar a resposta ao incidente.",techStack:["Módulo de monitoramento Python","Coleta de registros (Fluentd, Logstash)","RAG","Banco de dados de padrões de ameaças","Análise do LLM","Notificações de alerta (Slack, PagerDuty)"]}}},aP={learnMore:"Leia mais",getStarted:"começar a ...",contactUs:"Entre em contato conosco",backToHome:"Voltar para a página inicial"},nP={title:"PolÃtica de privacidade",subtitle:"PolÃtica de privacidade",lastUpdated:"Ãltima atualização: 23 de janeiro de 2026",intro:'O telet.ai (o "Serviço") considera a proteção de suas informações pessoais uma responsabilidade importante e estabeleceu a seguinte polÃtica de privacidade.',sections:{collection:{title:"1. informações a serem coletadas",description:"O Serviço poderá coletar as seguintes informações quando você entrar em contato conosco ou usar o Serviço.",items:["Endereço de e-mail","Seu nome (opcional)","Detalhes da consulta","Outras informações fornecidas voluntariamente por você"]},purpose:{title:"2. finalidade do uso das informações",description:"As informações pessoais coletadas serão usadas somente para as seguintes finalidades",items:["Atender e responder a consultas","Contato e informações sobre nossos serviços","Comunicação necessária para o andamento do projeto","Análise para melhoria do serviço (em um formato que não identifique indivÃduos)"]}
302,thirdParty:{title:"3. fornecimento a terceiros",description:"O Serviço não fornecerá suas informações pessoais a terceiros, exceto nos seguintes casos",items:["Se o cliente consentir","Quando houver uma solicitação de divulgação com base em leis e regulamentos","Quando necessário para a proteção da vida, do corpo ou da propriedade de uma pessoa"]},security:{title:"4. gerenciamento de informações",description:"O Serviço gerenciará adequadamente as informações pessoais coletadas e tomará medidas de segurança razoáveis para impedir o acesso não autorizado, a perda, o vazamento e a falsificação."},email:{title:"5. tratamento de e-mails",description:"O Serviço tratará os e-mails de acordo com a polÃtica a seguir.",items:["Usaremos o conteúdo de seu e-mail somente para responder à sua consulta e fornecer nossos serviços.","Não venderemos, alugaremos ou compartilharemos seu endereço de e-mail com terceiros","Podemos lhe enviar e-mails informativos sobre nossos serviços. Se desejar cancelar a assinatura, use o link de cancelamento no e-mail ou entre em contato conosco usando as informações de contato abaixo.","A criptografia SSL/TLS é usada nas comunicações por e-mail para garantir a segurança das comunicações","Excluiremos seu e-mail com segurança após armazená-lo por um perÃodo de tempo apropriado."]},cookies:{title:"6. uso de cookies",description:"Os cookies podem ser desativados nas configurações de seu navegador."},external:{title:"7. uso de serviços externos",description:"Este serviço pode usar os seguintes serviços externos. Consulte os respectivos links para conhecer a polÃtica de privacidade de cada serviço.",items:["Google Analytics (access analysis)","Outros serviços em nuvem necessários para as operações comerciais"]},changes:{title:"8. alterações na polÃtica de privacidade",description:"Esta polÃtica está sujeita a revisão sem aviso prévio, de acordo com alterações nas leis e regulamentos ou alterações no conteúdo do serviço. A polÃtica revisada entrará em vigor quando for publicada nesta página."},contact:{title:"9. entre em contato conosco",description:"Se tiver alguma dúvida sobre esta polÃtica, entre em contato conosco pelo e-mail",company:"telet.ai",contactLink:"Ir para o formulário de consulta"}}},tP={title:"Termos de uso",subtitle:"Estes são os termos e condições para o uso deste site e para agendar uma consulta, fazer consultas e solicitar informações ao telet.ai.",lastUpdated:"Ãltima atualização: 22 de janeiro de 2026",intro:'Estes Termos de Uso (doravante denominados "Termos") Estes Termos de Uso (doravante denominados "Termos") aplicam-se ao website operado pela telet.ai (doravante denominada "nós", "nos", "nosso" ou "nossa"). (doravante denominada "nós", "nos" ou "nosso"). (doravante denominada "Site") operado pela telet.ai (doravante denominada "Nós"). O Site é fornecido principalmente como uma página de destino para agendamentos de consultas, consultas e solicitações de documentos, e não prevê a criação de contas ou funções de cobrança paga no Site.',sections:{scope:{title:"1. escopo de aplicação",description:'Estes Termos e Condições se aplicam a todos os visitantes e usuários do Site ("Usuários"). Os Termos de Uso se aplicam a todos os visitantes e usuários do Site (doravante denominados "Usuários"). Caso um NDA separado, acordo de terceirização, contrato individual etc. seja celebrado entre nós e um Usuário, esse documento terá precedência sobre os Termos e Condições.'},prohibited:{title:"2. itens proibidos",description:"Ao usar o Site, os Usuários não devem se envolver em nenhum dos seguintes atos",items:["Atos que violam leis e regulamentos ou a ordem e a moral públicas","Qualquer ato que infrinja os direitos de propriedade intelectual, a privacidade ou outros direitos ou interesses nossos ou de terceiros","Atos que interfiram na operação deste site ou dos sistemas relacionados por meio de acesso não autorizado, carga excessiva, sabotagem, etc.","Enviar informações falsas ou fazer-se passar por um terceiro em formulários de consulta, etc.","Raspagem, engenharia reversa ou acesso automatizado excessivo sem nossa permissão prévia"]},disclaimer:{title:"3. isenção de responsabilidade",description:'fornecemos este site "no estado em que se encontra" e "conforme disponÃvel". Na medida máxima permitida por lei, nos isentamos de todas as garantias com relação a este site.',items:["As informações contidas neste site estão sujeitas a alterações ou exclusões sem aviso prévio.","Não garantimos a precisão, a integridade ou a adequação das informações contidas neste site a uma finalidade especÃfica.","Não seremos responsáveis por quaisquer danos resultantes de seu uso deste site ou da confiança nas informações aqui contidas.","As respostas a consultas e questionamentos são apenas para informações gerais e não constituem aconselhamento jurÃdico, tributário, médico ou de outro tipo."]},ip:{title:"4. direitos de propriedade intelectual",description:"Todos os direitos sobre o texto, as imagens, os designs, as marcas registradas, os logotipos etc. deste site pertencem a nós ou aos detentores dos direitos. Você não pode usá-los sem a permissão dos detentores dos direitos."},links:{title:"5. links para sites externos",description:"Este site pode conter links para sites de terceiros. Não somos responsáveis pelo conteúdo ou pela operação dos sites vinculados."},changes:{title:"6. modificação destes Termos e Condições",description:"Reservamo-nos o direito de alterar estes Termos e Condições de tempos em tempos, conforme necessário. Os Termos de Uso alterados entrarão em vigor quando publicados no Site."},governingLaw:{title:"7. lei aplicável e jurisdição",description:"Estes Termos e Condições serão regidos e interpretados de acordo com as leis do Japão. Em caso de qualquer disputa relacionada a este Site, o Tribunal Distrital de Tóquio terá jurisdição exclusiva como tribunal de primeira instância."},contact:{title:"8. entre em contato conosco",description:"Se tiver alguma dúvida sobre estes Termos e Condições, entre em contato com",company:"telet.ai",contactLink:"Ir para o formulário de consulta"}}}
302,iP={title:"movimento regular",subtitle:"A IA prevê o",description1:"As informações meteorológicas são fornecidas em tempo real por cada paÃs. Seu paÃs é exibido no centro do mapa. O clima de ontem e o de hoje são registros reais â as nuvens de chuva deveriam estar no seu céu naquela data e hora.",description2:"No entanto, essa animação também mostra os movimentos climáticos futuros.",description3:"Vetores de dados passados e busca de padrões em alta velocidade. Os padrões climáticos também podem ser previstos com base no ambiente ao redor. Da mesma forma, é possÃvel prever a colheita, a produção e as vendas calculando elementos (i) do ambiente e valores estatÃsticos avançados do desempenho anterior e fazendo com que a IA os analise.",refresh:"atualização (por exemplo, memória)",loading:"Carregando o mapa meteorológico..."},sP={hero:{badges:["Empresa","LLM local","Agente personalizado"],title:"Projeto e desenvolvimento de agentes de IA para empresas",description:"Projetar e criar agentes de IA dedicados e adaptados aos requisitos da empresa"},mission:{title:"Serviços de desenvolvimento de agentes de IA personalizados",description:"Desenvolvemos consistentemente agentes de IA personalizados que abordam os problemas comerciais exclusivos de sua empresa, desde o projeto até a implementação e a operação. Nosso projeto arquitetônico enfatiza a compatibilidade com sistemas de missão crÃtica existentes e ambientes de SaaS, permitindo uma integração suave com APIs, bancos de dados e ferramentas internas. Nossos engenheiros estão familiarizados com LangChain, AutoGen, CrewAI e outras estruturas importantes, Nossos engenheiros estão familiarizados com LangChain, AutoGen, CrewAI e outras estruturas importantes e proporão a melhor solução para a pilha de tecnologia e a estrutura operacional da sua empresa. Não desenvolvemos apenas chatbots únicos, mas também criamos sistemas multiagentes nos quais vários agentes cooperam entre si para realizar tarefas e fluxos de trabalho agênticos que funcionam em conjunto com ferramentas externas. Apoiamos a maximização do valor comercial trazido pelos agentes de IA por meio de uma parceria de longo prazo que inclui melhoria contÃnua após a implementação, seguindo atualizações de modelos e manutenção de sistemas de monitoramento operacional.",imageAlt:"Serviços de desenvolvimento de agentes de IA personalizados"},summary:{title:"Tendências de desenvolvimento de agentes",paragraphs:['De 2025 a 202
3026, o desenvolvimento do Agente de IA está passando da fase de demonstração para a fase de implementação corporativa em grande escala. O conceito de "Agentic AI" criou raÃzes, e sistemas autônomos de execução de negócios que vão além de meros chatbots começaram a operar em vários setores.','Agentes que usam computador" que controlam diretamente navegadores e desktops, como o Operator da OpenAI, o Computer Use da Anthropic e o Project Mariner do Google, tornaram-se práticos. O MCP (Model Context Protocol) é um ecossistema em expansão, que permite a integração plug-and-play com milhares de ferramentas.',"As arquiteturas de vários agentes atingiram a maturidade, com agentes especializados trabalhando juntos para realizar tarefas complexas, como gerenciamento de projetos, suporte ao cliente e análise de dados. A padronização do protocolo A2A (Agent-to-Agent) também avançou na colaboração de agentes entre diferentes fornecedores.",'O modelo de governança evoluiu de "Human-in-the-Loop" para "Human-on-the-Loop" para implementações corporativas, com um mecanismo de auditoria de decisões pós-agente e escalonamento automático com base no nÃvel de risco como recursos padrão, acelerando a adoção em setores regulamentados, como finanças, saúde e manufatura. A adoção desse sistema está se acelerando em setores regulamentados, como o financeiro, o médico e o de manufatura.']},features:{title:"Design e desenvolvimento",subtitle:"Design e desenvolvimento",items:[{title:"Design de agentes com base em requisitos comerciais",description:"Extrair casos de uso da análise do fluxo de negócios, decompor tarefas e esclarecer as responsabilidades do agente. Determinamos se o processamento pode ser concluÃdo por um único agente ou se requer coordenação de vários agentes e selecionamos os padrões de inferência ideais, como ReAct, Plan-and-Execute e Reflexion."},{title:"Integração de RAGs/ferramentas/fluxos de trabalho",description:"Pipelines RAG altamente precisos que combinam Embedding Generation, Chunk Strategy e Hybrid Search, conexão padronizada a APIs e bancos de dados externos com definições de ferramentas compatÃveis com MCP e orquestração de fluxo de trabalho em várias etapas usando LangGraph e CrewAI. Orquestre fluxos de trabalho de várias etapas com LangGraph e CrewAI."},{title:"Projeto de segurança e autorização",description:"O controle de acesso das funções do agente por RBAC/ABAC, as contramedidas de injeção de prompt e a detecção e o mascaramento de PII são implementados. Os registros de auditoria de todas as entradas e saÃdas são mantidos, e há suporte para a operação em ambiente compatÃvel com SOC2 e ISO27001."},{title:"Implementação, incluindo operação e monitoramento",description:"Implemente a visualização de traços com LangSmith, Langfuse, etc., e o monitoramento em tempo real da latência, do consumo de tokens e da taxa de erros. Crie um ciclo de aprimoramento contÃnuo, incluindo alertas de detecção de anomalias, infraestrutura de teste A/B e teste de regressão ao atualizar modelos."}]},techStack:{title:"Pilhas de tecnologia",subtitle:"Plataforma e tecnologia",categories:{agentFramework:{title:"Estrutura do agente",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","SDK de agentes da OpenAI","MCP antrópico","Google ADK (Agent Development Kit)","Núcleo semântico","Plataforma proprietária do agente"]},apiLayer:{title:"Camada de API",items:["FastAPI / Litestar","gRPC / Conectar","Federação GraphQL","Eventos enviados pelo servidor (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","Gateway de API (Kong / Envoy)","Limite de taxa adaptável"]},vectorDb:{title:"Vetor DB / RAG",items:["Pinha","Weaviate","Qdrant","Milvus","ChromaDB","pgvetor","FAISS","Turbopuffer"]}
302,infrastructure:{title:"Infraestrutura",items:["Kubernetes (EKS / GKE / AKS)","Docker / Podman","Cluster de GPU no local","Nuvem privada","Sem servidor (Lambda / Cloud Run)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Flux"]}},updateNote:{title:"Principais pontos de atualização para 2026",description:"Na estrutura do agente, estão surgindo SDKs/protocolos oficiais dos principais fornecedores, como o OpenAI Agents SDK, o Anthropic MCP e o Google ADK; na camada de API, o gRPC e o SSE se tornaram o padrão para a comunicação entre agentes, e a transição para o OAuth 2.1 está em andamento. No Vector DB, o Qdrant e o Turbopuffer estão ganhando atenção por sua pesquisa de alta velocidade."}},cta:{title:"Entre em contato conosco",description:`Podemos consultá-lo desde a definição dos requisitos. 303As configurações de PoC e LLM local também podem ser consideradas.`,primaryButton:"Entre em contato conosco",secondaryButton:"Consulta técnica"}},rP={title:"Perguntas frequentes",subtitle:"PERGUNTAS FREQUENTES",items:[{question:"Posso usar meus manuais e FAQs existentes sem modificações?",answer:"Sim, você pode usá-lo; ele é compatÃvel com a maioria dos formatos, incluindo PDF, Word, Excel, HTML e arquivos de texto. Basta fazer o upload de seus documentos internos existentes como estão, e a IA aprenderá o conteúdo e o usará para responder à s suas perguntas. Não é necessária nenhuma conversão de formato ou processamento especial."},{question:"à seguro usá-lo com dados que contêm informações confidenciais?",answer:"Sim, você pode usar nosso serviço com segurança. No local (servidores internos) ou em um ambiente de nuvem privada, os dados nunca são transmitidos para fora da empresa. Podemos propor configurações para atender a seus requisitos de segurança."},{question:"Quanto tempo leva para ser implementado?",answer:"Um bot de perguntas frequentes padrão pode ser implementado em apenas 2 a 4 semanas. Se for necessária a integração com sistemas existentes ou personalização avançada, estimamos de 1 a 3 meses. Também podemos começar com uma PoC (prova de conceito) em pequena escala."},{question:"Você usa APIs externas, como ChatGPT ou Claude?",answer:"A escolha está disponÃvel mediante solicitação. Oferecemos suporte a configurações que usam APIs externas (OpenAI, Anthropic, Google, etc.) e configurações que usam LLMs de código aberto (Llama, Mistral, Qwen, etc.) que são executadas totalmente localmente. Podemos propor a melhor configuração para seus requisitos de custo, segurança e desempenho."},{question:"Qual é a precisão da resposta da IA?",answer:"Dependendo do aplicativo e da qualidade dos dados, um sistema RAG adequadamente projetado pode retornar respostas precisas a perguntas para as quais existem documentos relevantes com 90% ou mais de precisão. Mecanismos para controlar a halcinação (geração de informações errôneas) também são incorporados como padrão."},{question:"Vocês oferecem suporte a outros idiomas além do japonês?",answer:"Sim, o suporte multilÃngue está disponÃvel. Oferecemos suporte a todos os principais idiomas, inclusive japonês, inglês, chinês e coreano. Em vez de ter modelos separados para cada idioma, um único sistema pode lidar com consultas em vários idiomas."},{question:"Você pode se integrar aos sistemas existentes (CRM, ferramentas de bate-papo, etc.)?",answer:"Sim, ele pode ser integrado; ele suporta a integração da API com as principais ferramentas de negócios, como Salesforce, HubSpot, Slack, Microsoft Teams e LINE WORKS. Você pode incorporar um assistente de IA sem alterar seu fluxo de trabalho existente."},{question:"Qual é sua estrutura de taxas?",answer:"Isso depende do tamanho e dos requisitos do projeto. Embora as taxas de construção inicial e de operação mensal sejam geralmente combinadas, também aceitamos solicitações de desenvolvimento pontual ou apenas de serviços de consultoria. Informe-nos primeiro sobre seus requisitos. Nós lhe forneceremos uma estimativa aproximada."}]},oP={title:"Planos de tarifas",subtitle:"Planos de preços",description:"Planos flexÃveis para se adequar ao tamanho de sua empresa",plans:[{name:"inicial",price:"29.800 ienes",period:"Mensal/usuário",description:"O melhor plano para equipes pequenas. Funções básicas de IA a um preço acessÃvel.",features:["Até 100 chamadas por mês","Transcrição básica","Detecção de palavras-chave","Suporte por e-mail","Retenção de dados por 7 dias"],cta:"Comece a usar gratuitamente",popular:!1},{name:"profissional",price:"Â¥79,800",period:"Mensal/usuário",description:"Ideal para equipes em crescimento. Recursos analÃticos avançados.",features:["Até 500 chamadas por mês","Transcrição de IA de alta precisão","Análise emocional","Vinculação de CRM","Suporte prioritário","Retenção de dados por 30 dias","Relatórios personalizados"],cta:"Teste gratuito de 14 dias",popular:!0},{name:"empresa",price:"Entre em contato conosco",period:"personalizado",description:"Planos com recursos completos para grandes organizações",features:["Chamadas ilimitadas","Modelo de IA dedicado","Suporte no local","Suporte dedicado","Colaboração personalizada","Garantia de SLA","Auditorias de segurança","Retenção ilimitada de dados"],cta:"Consultar a equipe de vendas",popular:!1}],faq:{title:"Perguntas frequentes",items:[{question:"Existe um teste gratuito?",answer:"Sim, uma avaliação gratuita de 14 dias está disponÃvel para os planos Professional. Não é necessário cartão de crédito para começar."},{question:"Posso mudar meu plano a qualquer momento?",answer:"Sim, você pode fazer upgrade ou downgrade do seu plano a qualquer momento. As alterações serão aplicadas a partir do próximo ciclo de faturamento."},{question:"Existe um termo de contrato vinculado?",answer:"Os planos mensais não têm restrições de prazo de contrato. Se você optar por um contrato anual, receberá um desconto de 20%."}]}},lP={hero:{badge:"Tecnologia com tecnologia de IA",title:"Transcrição de IA",description:"Modelos avançados de aprendizado de máquina proporcionam 99,5% de precisão. A IA treinada em milhões de dados de interação com o cliente converte voz em texto.",features:["99,5% de precisão","processamento em tempo real","Suporte para mais de 40 idiomas"]},features:{title:"Funções principais",subtitle:"Mecanismo de transcrição avançado que vai além do simples reconhecimento de fala",items:[{title:"transcrição em tempo real",description:"Obtenha transcrições em tempo real durante as conversas. Obtenha insights instantâneos e nunca perca uma oportunidade de treinamento em tempo real."},{title:"Suporte multilÃngue",description:"Suporta mais de 40 idiomas e abrange equipes globais com detecção automática de idiomas."},{title:"compreensão contextual",description:"Os modelos de IA treinados em terminologia especÃfica do setor reconhecem com precisão termos técnicos e comerciais."},{title:"separação de alto-falantes",description:"Identifica e separa automaticamente diferentes locutores em uma conversa e atribui atributos claros ao locutor."},{title:"léxico personalizado",description:"Aprender os nomes exclusivos de produtos, nomes de serviços e termos técnicos de sua empresa proporciona uma precisão ainda maior."},{title:"Garantia de qualidade",description:"Verificações automáticas de qualidade e pontuação de confiabilidade garantem a transcrição da mais alta qualidade."}]},useCases:{title:"Cenas de uso",subtitle:"Setores e equipes que exigem transcrição precisa de chamadas",items:[{title:"Equipe de vendas",description:"Refletir sobre as chamadas de vendas e identificar padrões de sucesso. Melhorar a eficácia das conversas e treinar os membros da equipe com exemplos especÃficos."}
303,{title:"Suporte ao cliente",description:"Registrar com precisão os problemas dos clientes. Manter um histórico de suporte abrangente para garantir a qualidade consistente do serviço."},{title:"controle de qualidade",description:"Monitorar a conformidade e garantir o cumprimento do script. Manter registros detalhados para auditorias e treinamentos."}]},stats:{accuracy:{value:"99.5%",label:"precisão da transcrição"},languages:{value:"40+",label:"Idiomas suportados"},latency:{value:"<2 segundos.",label:"atraso no processamento"},availability:{value:"24/7",label:"processamento contÃnuo"}}},dP={hero:{badge:"Detecção inteligente",title:"Rastreamento de palavras-chave",description:"Monitore automaticamente as menções, as refutações e os tópicos importantes dos concorrentes. Nunca perca sinais importantes das conversas com os clientes.",badges:["Rastreamento da concorrência","Detecção de resposta","Análise de tópicos","palavra-chave personalizada"]},features:{title:"Rastrear informações crÃticas",subtitle:"Detecção e análise automáticas de palavras-chave de todas as conversas",items:[{title:"Monitoramento da concorrência",description:"Acompanhe as menções dos concorrentes para entender como os clientes em potencial comparam sua solução com as alternativas do mercado."},{title:"Detecção de resposta",description:"Identifique automaticamente as objeções e preocupações comuns e desenvolva respostas e treinamentos eficazes."},{title:"palavra-chave personalizada",description:"Defina e monitore palavras-chave e frases personalizadas especÃficas para sua empresa, produto ou setor."},{title:"Análise de tendências",description:"Descubra as tendências emergentes das conversas com os clientes e adapte sua estratég
303ia com base nos sinais reais do mercado."},{title:"extração de contexto",description:"Obtenha o contexto antes e depois da palavra-chave, não apenas a menção dela. Entenda não apenas o que foi dito, mas por que e como foi dito."},{title:"Pesquisa inteligente",description:"Pesquise instantaneamente todas as conversas para descobrir exatamente onde e quando um determinado tópico foi discutido."}]},applications:{title:"Cenas de uso",items:{competitive:{title:"Inteligência competitiva",description:"Conhecimento profundo do cenário competitivo:",points:["Acompanhe seus concorrentes mencionados com mais frequência","Entenda como os clientes em potencial comparam recursos e preços","Identificar suas vantagens e fraquezas competitivas","Criação de materiais anticompetitivos eficazes"]},objections:{title:"resposta a uma refutação",description:"Transforme uma refutação em uma oportunidade:",points:["Identificar as preocupações mais comuns dos clientes","Analisar as respostas de refutação dos melhores desempenhos","Manual com resposta comprovada.","Treine sua equipe com uma recuperação eficaz"]},product:{title:"Insights sobre o produto",description:"Promover o desenvolvimento de produtos por meio do feedback do cliente:",points:["Identificar os recursos mais solicitados","Compreender os desafios da funcionalidade atual","Descubra casos de uso inesperados","Priorizar o roteiro com base nas necessidades do cliente"]},compliance:{title:"Conformidade e qualidade",description:"Garantir a conformidade e a qualidade regulatórias:",points:["Monitorar as divulgações exigidas e a linguagem jurÃdica","Sinalizar conversas que possam violar a polÃtica","Acompanhe a conformidade do script e as práticas recomendadas","Gerar relatórios de conformidade para auditoria"]}}},advancedFeatures:{title:"Recursos avançados",items:[{title:"recuperação ambÃgua",description:"Detecta automaticamente variações de palavras-chave, sinônimos e termos relacionados sem configuração manual."},{title:"análise histórica",description:"Analise as tendências de palavras-chave ao longo do tempo para identificar padrões sazonais e tópicos emergentes."},{title:"Alertas em tempo real",description:"Receba notificações imediatas quando palavras-chave importantes forem mencionadas em conversas ao vivo."}]}},uP={hero:{badges:["Empresa","LLM local","Operação interna do servidor"],title:"Construção de LLM no local",description:"Opere o LLM em seu próprio ambiente, mantendo os dados fora da empresa"},mission:{title:"Visão geral do serviço de construção de LLM no local",paragraphs:["Para empresas que não podem liberar dados confidenciais fora da empresa, criamos um ambiente LLM que pode ser concluÃdo em seus próprios servidores ou em uma nuvem privada. Essa solução é ideal para organizações que exigem gerenciamento rigoroso de informações, como instituições financeiras, instituições médicas, agências governamentais e institutos de pesquisa, porque não usa nenhuma API pública e todo o processamento é concluÃdo na infraestrutura gerenciada pelo cliente.","Fornecemos suporte abrangente desde a seleção do modelo, construção do servidor, otimização do mecanismo de inferência e monitoramento da operação, usando modelos de peso aberto disponÃveis comercialmente, como Llama 3.3, Qwen 2.5, Mistral e DeepSeek, com mecanismos de inferência de alto desempenho, como vLLM, Ollama e SGLang. Esses modelos são executados em mecanismos de inferência de alto desempenho, como vLLM, Ollama e SGLang, para fornecer um ambiente de inferência de baixa latência e alta produtividade.","Oferecemos suporte a uma ampla variedade de casos de uso, como integração com sistemas existentes, chatbots, RAGs internos, resumo de documentos e geração de código. Podemos projetar para atender aos requisitos da empresa, incluindo especialização de negócios por meio de ajuste fino do modelo, otimização de GPU NVIDIA/Apple Silicon, design multilocatário, construção de gateway de API e muito mais."]},summary:{title:"Tendências do LLM no local",paragraphs:["Em 2025-2026, a utilidade dos LLMs no local está melhorando rapidamente. O desempenho dos modelos ponderados abertos superou o dos modelos fechados, e o número de modelos oferecidos com licenças disponÃveis comercialmente reduziu significativamente o obstáculo para as operações internas.","Os modelos com parâmetros de 8B a 70B atingiram um nÃvel prático para muitas tarefas comerciais;
303 a quantização GGUF permite a inferência em alta velocidade até mesmo em GPUs de consumo.","Para os mecanismos de inferência, o Continuous Batching e o PagedAttention do vLLM aumentam drasticamente o rendimento, e o RadixAttention do SGLang acelera interações complexas de várias voltas. O Ollama se tornou o padrão de fato para ambientes de desenvolvimento local, e o llama.cpp é otimizado pela Apple Silicon para inferência rápida em Macs da série M.","Na adoção corporativa, além da soberania e da conformidade dos dados, a otimização de custos a longo prazo (afastando-se do faturamento de API pago conforme o uso) está se tornando cada vez mais uma motivação para a adoção. As configurações hÃbridas (local para processamento sensÃvel e API em nuvem para processamento de uso geral) tornaram-se uma opção comum."],icons:[{label:`Privado 304Nuvem`},{label:`Dados 305Soberania`},{label:`Custo 306Otimização`},{label:`Empresa 307Segurança`}]},features:{title:"Recursos de design e desenvolvimento",subtitle:"Design e desenvolvimento",items:[{title:"Projeto de infraestrutura e otimização de GPU",description:"Projete a configuração de hardware ideal para sua carga de trabalho e seu orçamento, incluindo NVIDIA A100/H100, RTX 4090/5090 e Apple Silicon (M2 Ultra/M3 Max/M4 Max), e crie um ambiente de inferência que aproveite ao máximo o desempenho da GPU por meio da otimização CUDA, MPS e Metal. Otimização de CUDA, MPS e Metal para maximizar o desempenho da GPU."},{title:"Seleção e otimização de modelos",description:"Selecione o modelo ideal entre Llama, Qwen, Mistral, DeepSeek, etc., considerando as caracterÃsticas da tarefa, os requisitos de linguagem e as restrições de recursos. A quantização (GGUF/AWQ/GPTQ), a otimização do cache KV e o ajuste do processamento em lote são usados para obter precisão e taxa de transferência."},{title:"Construção do mecanismo de inferência",description:"Selecione e crie mecanismos de inferência, como vLLM, SGLang, Ollama, TGI, etc., de acordo com seu aplicativo, e aplique as tecnologias mais recentes, como Continuous Batching, Speculative Decoding e Prefix Caching, para fornecer APIs de inferência de baixa latência e alta produtividade. Fornecemos APIs de inferência de baixa latência e alta taxa de transferência."},{title:"Operação, monitoramento e segurança",description:"Implemente o monitoramento de métricas inferenciais com o Prometheus/Grafana, controle de acesso com gateway de API, logs de auditoria, dimensionamento automático e recuperação de falhas. Crie um ambiente de operação de produção que atenda aos requisitos de segurança da empresa."}]},techStack:{title:"Pilha de tecnologia: LLM no local",subtitle:"Plataforma e tecnologia",categories:{openWeightModels:{title:"Modelos de peso aberto",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Comando R (Cohere)"]},japaneseModels:{title:"Modelo especÃfico do Japão",items:["ELYZA-japonês-Llama-2","Andorinha 70B / 13B","Japonês-Llama-3","Qwen-2.5-Japanese","Karakuri-LM"]},inferenceEngine:{title:"Mecanismo de inferência",items:["vLLM (Loteamento ContÃnuo)","SGLang (RadixAttention)","Ollama (desenvolvimento local)","llama.cpp (Apple Silicon)","TGI (Hugging Face)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (especialização em quantização)"]},quantization:{title:"Quantização",items:["GGUF (padrão llama.cpp)","AWQ (4 bits de alta precisão)","GPTQ (otimização de GPU)","bits e bytes (8 bits/4 bits)","EETQ (Quantização de Eficiência Eficiente)"]},hardware:{title:"Hardware",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silicon M2 Ultra","Apple Silicon M3/M4 Max","AMD MI300X"]}
307,infrastructure:{title:"Infraestrutura",items:["Docker / Kubernetes","Servidor NVIDIA Triton","Gateway de API (Kong / Envoy)","Prometheus / Grafana","Nuvem privada (VMware / OpenStack)","Suporte ambiental com isolamento acústico"]}},updateNote:{title:"Principais pontos de atualização para 2026",description:"Nos modelos de peso aberto, o Llama 3.3 atinge o desempenho de uso geral da classe GPT-4 e melhora muito o desempenho do idioma japonês; a série Qwen 2.5 expande a escolha com uma variedade de tamanhos e desempenho bem equilibrado; o DeepSeek V3/R1 atrai a atenção por seu desempenho de custo de inferência; e os mecanismos de inferência vLLM 2.0 Chunked Prefill e SGLang's RadixAttention aceleram o diálogo de várias voltas. No mecanismo de inferência, o Chunked Prefill do vLLM 2.0 e o RadixAttention da SGLang aceleram as interações de várias voltas; a otimização do llama.cpp da Apple Silicon torna prática a inferência do modelo 70B no M4 Max; e a tecnologia Quantization oferece precisão de 4 bits e alto desempenho. As técnicas de quantização alcançaram precisão de 4 bits e velocidade de inferência, e o GGUF tornou-se o formato padrão de fato."}},cta:{title:"Entre em contato conosco",description:`Podemos consultá-lo desde a definição dos requisitos. 308As configurações de PoC e LLM local também podem ser consideradas.`,primaryButton:"Entre em contato conosco",secondaryButton:"Consulta técnica"}},cP={hero:{badges:["Empresa","RAG","geração de extensões de pesquisa"],title:"Desenvolvimento Vector / RAG",description:"Criar um sistema RAG para vincular o conhecimento interno ao LLM"},mission:{title:"Visão geral dos serviços de desenvolvimento da Vector / RAG",paragraphs:["Criaremos um sistema RAG (geração de extensão de pesquisa) que permite que os funcionários pesquisem e façam perguntas em linguagem natural, vinculando os ativos de conhecimento acumulados na empresa com o LLM. Integramos várias fontes de dados, como manuais, atas, documentos técnicos, perguntas frequentes, histórico do Slack, Confluence, SharePoint etc. para criar um ambiente em que o conhecimento organizacional possa ser utilizado imediatamente.","Maximizamos a precisão da pesquisa e a qualidade da resposta aplicando as tecnologias mais recentes, como a pesquisa hÃbrida (pesquisa vetorial + pesquisa de palavras-chave), reanálise, chunking hierárquico, filtragem de metadados etc., além da pesquisa simples de documentos. Indicamos claramente a fonte da resposta para suprimir a halcinação e garantir a confiabilidade.","Oferecemos suporte a vários ambientes, incluindo AWS, GCP, Azure e no local, e nos integramos à infraestrutura de autenticação e ao gerenciamento de autoridade existentes. Fornecemos suporte consistente para manter a atualização dos dados (atualizações diferenciais e reindexação automática), analisando os registros de uso e melhorando continuamente a precisão."]},summary:{title:"Tendências tecnológicas do RAG",paragraphs:['Entre 2025 e 2026, a tecnologia RAG está entrando na fase de "implementação básica para qualidade de produção". Além da pesquisa vetorial simples, a Pesquisa HÃbrida, que combina vários métodos de pesquisa, o Reranking, que reordena os resultados da pesquisa, e a Decomposição de Consultas, que decompõe e processa perguntas complexas, tornaram-se configurações padrão.',"As estratégias de fragmentação também evoluÃram, com a fragmentação hierárquica que leva em conta a estrutura do documento, a sobreposição de blocos e a fragmentação multimodal que processa tabelas e figuras separadamente, tudo isso contribuindo para melhorar a precisão. O Contextual Retrieval (adição de informações contextuais aos blocos) também foi amplamente reconhecido como eficaz.","Para a seleção do banco de dados vetorial, além dos serviços gerenciados, como Pinecone, Weaviate, Qdrant e Milvus, o PostgreSQL pgvector e o FAISS local oferecem uma ampla gama de opções para atender à s suas necessidades. Os modelos de incorporação também estão disponÃveis, incluindo text-Embedding-3-large, Cohere Embed v3 e modelos multilÃngues.",'Em implementações empresariais, a vinculação de gerenciamento de autoridade (ACL), o mascaramento de PII, os registros de auditoria e o design multilocatário são requisitos essenciais, e é necessário passar de um "PoC funcional" para um "sistema de produção pronto para produção".'],icons:[{label:`HÃbrido 309Pesquisa`},{label:`Multimodal 310RAG`},{label:`Agêntico 311RAG`},{label:`Empresa 312Segurança`}]},features:{title:"Recursos de design e desenvolvimento",subtitle:"Design e desenvolvimento",items:[{title:"Pipeline de coleta e pré-processamento de dados",description:"Extração e limpeza de dados de PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, etc. Suporte multimodal, incluindo OCR, análise de estrutura de tabela e geração de legenda de imagem. Mantenha o frescor com atualizações diferenciais e execução programada."},{title:"Projeto de sistema de busca de alta precisão",description:"Construa uma pesquisa de alta precisão combinando Vector Search + BM25 Hybrid Search, Reranking by Cohere Rerank / Cross-Encoder, e Query Expansion and Decomposition. A filtragem de metadados e o controle de acesso baseado em permissão também são implementados."},{title:"Geração de respostas e controle de qualidade",description:"Qualidade de resposta aprimorada com otimização de contexto, prompts de poucos disparos e inferência de cadeia de pensamento. O esclarecimento da fonte, a exibição da pontuação de confiança e a detecção de halcinação são implementados para garantir a confiabilidade do uso comercial."},{title:"Ciclo de operação e aprimoramento",description:"Fornecemos suporte operacional, incluindo análise de registros de uso, monitoramento da taxa de acertos de pesquisa e da satisfação com as respostas, melhoria contÃnua por meio de ciclos de feedback, infraestrutura de testes A/B, atualizações de modelos de incorporação e revisões de estratég
312ias de fragmentação."}]},techStack:{title:"Pilha de tecnologia: Vector / RAG",subtitle:"Plataforma e tecnologia",categories:{embeddingModels:{title:"Modelos de incorporação",items:["OpenAI text-embedding-3-large","Cohere Embed v3","IA do Voyage","Jina Embeddings v3","BGE-M3 (multilÃngue)","multilingual-e5-large","Modelos especÃficos do Japão"]},vectorDatabases:{title:"Bancos de dados vetoriais",items:["Pinecone (gerenciado)","Weaviate (Pesquisa hÃbrida)","Qdrant (alto desempenho)","Milvus (grande escala)","Chroma (leve)","PostgreSQL pgvector","FAISS (local)"]},chunking:{title:"Chunking e processamento",items:["fragmentação hierárquica","Agrupamento semântico","Sobreposição de blocos","Janela de frases","Recuperação contextual","Processamento de tabelas e gráficos","Suporte multimodal"]},search:{title:"Busca e recuperação",items:["Pesquisa hÃbrida (Vector + BM25)","Cohere Rerank","Reranking entre codificadores","Expansão e decomposição de consultas","HyDE (Hypothetical Document Generation)","Recuperação de consulta automática","Recuperação de várias consultas"]}},updateNote:{title:"Principais pontos de atualização para 2026",description:"No modelo Embedding, o text-Embedding-3-large e o Cohere Embed v3 tornaram-se o padrão da empresa, e o desempenho do idioma japonês melhorou significativamente; o Contextual Retrieval provou ser eficaz, e a adição de contexto aos blocos tornou-se o método padrão. O Hybrid Search + Reranking tornou-se uma configuração obrigatória para a pesquisa, reduzindo o número de configurações simples de pesquisa vetorial, e o Agentic RAG (agentes selecionam dinamicamente as estratég
312ias de pesquisa) está sendo usado na prática. No aspecto operacional, a ênfase está sendo colocada no estabelecimento de ciclos de medição e aprimoramento da qualidade usando estruturas de avaliação RAG (RAGAS, LangSmith)."}},cta:{title:"Entre em contato conosco",description:`Podemos consultá-lo desde a definição dos requisitos. 313As configurações de PoC e LLM local também podem ser consideradas.`,primaryButton:"Entre em contato conosco",secondaryButton:"Consulta técnica"}},mP={hero:{badges:["Pilha completa","Integração do LLM","Projeto da API"],title:"Desenvolvimento de aplicativos de IA",description:"Projetar e criar aplicativos práticos que aproveitem o LLM"},mission:{title:"Visão geral do serviço de desenvolvimento de aplicativos de IA",paragraphs:["Fornecemos projeto e desenvolvimento de aplicativos de IA que criam valor comercial analisando dados adquiridos de APIs externas com o LLM, vinculando APIs a diversas fontes de dados, como CRM, ERP, SaaS, sensores de IoT e mÃdias sociais, e alimentando o LLM com os dados adquiridos em tempo real. Possibilitamos a análise avançada de dados que não pode ser obtida com ferramentas de BI convencionais, como a geração de relatórios analÃticos usando linguagem natural, detecção de anomalias, previsão de tendências e classificação automática.","Não apenas a simples integração de API, mas também a integração de várias fontes de dados, a limpeza de dados e a conversão para um formato que seja fácil de ser interpretado pelo LLM por meio de processamento estruturado. A engenharia imediata maximiza a precisão da análise e gera resultados especializados para os requisitos de negócios. Criamos aplicativos práticos que combinam dados e IA, como dados de vendas para prever negociações comerciais, registros de suporte ao cliente para realizar análises de VoC e dados de sensores para fornecer recomendações de manutenção de equipamentos.","Oferecemos suporte a uma variedade de interfaces, como aplicativos da Web, aplicativos móveis, integração Slack/Teams e processamento periódico em lote. Fornecemos suporte consistente desde a definição de requisitos até o design da API, a implementação da integração do LLM e a operação de produção."]},summary:{title:"Tendências no desenvolvimento de aplicativos de IA",paragraphs:['De 2025 a 202
3136, o desenvolvimento de aplicativos de IA está entrando em uma fase prática baseada em "integração de API x análise de LLM". A análise de dados não estruturados e a geração de insights em linguagem natural, que não podiam ser tratados por ferramentas e painéis de BI tradicionais, estão começando a ser incorporados aos sistemas corporativos.',"Destaca-se o amadurecimento da funcionalidade de saÃda estruturada do LLM, que permite o controle rigoroso da saÃda em conformidade com o esquema JSON, tornando realidade um pipeline automatizado de ponta a ponta, em que os dados adquiridos por meio de APIs são analisados pelo LLM e os resultados são alimentados diretamente nos sistemas subsequentes. A execução em vários estágios da Chamada de Função permite que a coleta, a integração e a análise de dados em várias APIs sejam tratadas em um único fluxo de trabalho.","Na infraestrutura de processamento de dados, o Polars surgiu como um padrão para processamento de alta velocidade e, em combinação com o processamento de streaming, facilita a análise em tempo real.","Nas implementações corporativas, as necessidades mudaram do desenvolvimento pontual de PoC para um projeto dimensionável para a operação de produção, exigindo um projeto de arquitetura abrangente que inclua otimização de custos, tratamento de erros e suporte a registros de auditoria."],icons:[{label:`Agêntico 314IA`},{label:`MCP 315Protocolo`},{label:`Múltiplos 316Agente`},{label:`Humano em 317-no circuito`}]},features:{title:"Recursos de design e desenvolvimento",subtitle:"Design e desenvolvimento",items:[{title:"Integração de API e projeto de coleta de dados",description:"Criamos uma infraestrutura de coleta de dados compatÃvel com vários protocolos, como API REST, GraphQL, WebSocket e Webhook. Projetamos um pipeline de aquisição de dados estável implementando processos de autenticação (OAuth, chave de API, JWT), limitação de taxa e mecanismos de repetição. Também oferecemos suporte à integração de dados, agendamento e aquisição diferencial de várias APIs."},{title:"Pré-processamento e estruturação de dados",description:"Converte dados brutos em um formato que pode ser analisado com eficiência pelo LLM, incluindo análise de JSON, limpeza de dados, normalização e processamento de valores ausentes, e realiza a segmentação e o resumo ideais dos dados, considerando as restrições da janela de contexto. A atribuição de metadados garante a rastreabilidade dos resultados da análise."},{title:"Análise do LLM e projeto imediato",description:"Maximize a precisão da análise de dados projetando modelos de prompt especÃficos para suas necessidades comerciais. Criamos pipelines de análise para classificação, sumarização, análise de sentimentos, detecção de anomalias, geração de previsões, etc. Utilizamos Function Calling e Structured Output para gerar resultados em um formato que pode ser facilmente integrado a sistemas subsequentes."},{title:"Implementação e operação de aplicativos",description:"Fornecemos resultados de análise por meio de várias interfaces, incluindo FastAPI, aplicativos da Web usando Next.js, etc., Slack/Teams Bot e execução em lote programada. Painéis, alertas de notificação e geração automática de relatórios são implementados e entregues em um formato que os usuários corporativos podem utilizar imediatamente. Também fornecemos monitoramento operacional, otimização de custos e melhoria contÃnua."}]},techStack:{title:"Pilha de tecnologia: Desenvolvimento de aplicativos de IA",subtitle:"Plataforma e tecnologia",categories:{apiIntegration:{title:"Integração de API",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","Webhook / Sondagem","Fluxo de ar Apache / Prefect","Aipo / Temporal","solicitações / httpx / aiohttp","Limite de taxa / Repetição","Validação de dados (Pydantic)"]},dataProcessing:{title:"Processamento de dados",items:["Pandas / Polares","Analisador JSON / JSONL","Pipeline de limpeza de dados","Apache Spark (processamento em grande escala)","dbt (conversão de dados)","Grandes expectativas","Lago Delta / Iceberg","Streaming (Kafka/Flink)"]}
317,llmCloud:{title:"LLM em nuvem",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Gemini 2.0 / Gemini 2.5","Comando R+ (Cohere)","Mistral Large"]},llmLocal:{title:"LLM local",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","Gemma 2 / Gemma 3","Phi-4","ELYZA / Swallow (especializada em japonês)","Comando R (Cohere)"]},inference:{title:"Inferência / Estrutura",items:["vLLM / SGLang","Ollama / llama.cpp","Proxy LiteLLM","Chamada de função","SaÃda estruturada","Mecanismo de modelo de prompt","LangChain / LlamaIndex","Pipeline de análise proprietária"]},application:{title:"Camada de aplicativos",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Trabalhos agendados (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Cache / Fila)","Docker / Kubernetes"]}},updateNote:{title:"Principais pontos de atualização para 2026",description:"Na área de análise do LLM, a funcionalidade de SaÃda Estruturada do GPT-4.1 e do Claude 4 amadureceu para padronizar o controle de saÃda estrito em conformidade com o esquema JSON, e a execução em vários estágios da Chamada de Função permite a coleta e a análise de dados complexos em várias APIs em um único pipeline. A execução em vários estágios da Chamada de Função permite a coleta e a análise de dados complexos em várias APIs em um único pipeline. No processamento de dados, o Polars tornou-se uma alternativa estabelecida ao Pandas para o processamento em alta velocidade e, em combinação com o processamento de streaming, facilita a construção de uma infraestrutura de análise em tempo real. Na camada de aplicativos, a integração de ferramentas externas usando o MCP tornou-se comum, acelerando o desenvolvimento de aplicativos agênticos nos quais os LLMs chamam APIs de forma autônoma para adquirir e analisar dados."}},cta:{title:"Entre em contato conosco",description:`Podemos consultá-lo desde a definição dos requisitos. 318As configurações de PoC e LLM local também podem ser consideradas.`,primaryButton:"Entre em contato conosco",secondaryButton:"Consulta técnica"}},pP={seo:FL,header:WL,hero:qL,mission:UL,businessServices:_L,features:HL,businessProcess:$L,story:QL,contact:JL,footer:ZL,cookiePolicy:XL,about:YL,portfolio:eP,common:aP,privacyPolicy:nP,termsOfService:tP,weatherMap:iP,agentDevelopment:sP,faq:rP,pricing:oP,aiTranscription:lP,keywordTracking:dP,onPremiseLLM:uP,vectorRAG:cP,aiAppDevelopment:mP},gP={home:{title:"KI-gestützte Lösungsplattform - telet.ai",description:"Verwandeln Sie Ihre Kundengespräche mit KI-gestützter Anrufanalyse. Erhalten Sie Echtzeit-Einblicke, Stimmungsanalysen und Leistungsüberwachung, um die Ergebnisse Ihres Teams zu verbessern."},about:{title:"Organisationsinformationen - telet.ai",description:"Learn about telet.ai's mission to transform customer conversations with AI. Meet our team and explore our journey."},privacy:{title:"Datenschutzerklärung - telet.ai",description:"Review telet.ai's privacy policy to understand how we handle your data and protect your privacy."},terms:{title:"Nutzungsbedingungen - telet.ai",description:"Read telet.ai's terms of service for using this website and contacting us for consultations."},cookies:{title:"Cookie-Richtlinie - telet.ai",description:"Learn how telet.ai uses cookies and similar technologies (Cloudflare and Google Analytics)."},portfolio:{title:"Portfolio - telet.ai",description:"Entdecken Sie unser Portfolio an KI-Lösungen, die darauf ausgelegt sind, Ihre Geschäftsabläufe und Kundenerfahrungen zu verbessern."},agentDevelopment:{title:"Entwurf und Entwicklung von KI-Agenten für Unternehmen - telet.ai",description:"Entwerfen und erstellen Sie produktionsreife KI-Agenten, die auf Ihre Arbeitsabläufe, Tools und Compliance-Anforderungen zugeschnitten sind."},onPremiseLLM:{title:"Lokale LLM-Operationen - telet.ai",description:"Nutzen Sie moderne LLMs in Ihrer Umgebung für eine starke Datenkontrolle, vorhersehbare Kosten und Inferenz mit geringer Latenz."},vectorRAG:{title:"Vektor-RAG & Index-Design - telet.ai",description:"Entwickeln Sie auf jeden Arbeitsablauf zugeschnittene Pipelines und Indizes für die Designabfrage, um fundierte Antworten zu verbessern."},aiAppDevelopment:{title:"Entwicklung von KI-Anwendungen - telet.ai",description:"Entwickeln Sie praktische Anwendungen auf Basis von LLMs â integriert in Ihre APIs, Daten und Geschäftsabläufe."}},hP={brand:"telet.ai",nav:{services:"Dienstleistungen",portfolio:"Portfolio",about:"Organisationsinformationen",contact:"Kontakt"}},fP={brandName:"telet.ai",tagline:"Multi AI-Kommunikationen",badge:"KI-gestützte Anrufintelligenz",title:{line1:"Lokal und defensiv,",line2:"Expandieren Sie in der Cloud,",line3:"Automatisiert durch Agent."},description:"Die Edge-Inferenz in SLM gewährleistet die Datenhoheit, und die Cloud-Integration in LLM skaliert die Verarbeitungsleistung ins Unendliche; die Einführung der Agentic AI-Architektur zeigt erste Ergebnisse bei führenden Unternehmen."},kP={badge:"Unser Auftrag",title:"LLM besser zugänglich machen",paragraphs:['Können Sie wirklich so weit gehen?" --Diese Ãberraschung ist unser Ziel.','Das Potenzial der groà angelegten Sprachmodellierung (LLM) wird täglich gröÃer. Wir wollen jedoch Barrieren wie "Ich habe Angst, vertrauliche Daten an externe APIs zu senden", "Fortgeschrittene KI-Anwendungen sind nur für groÃe Unternehmen" und "Die Kosten für die Implementierung lohnen sich nicht" abbauen.',"Wir sind darauf spezialisiert, lokale LLMs zu erstellen, die innerhalb Ihrer Umgebung abgeschlossen werden. Hochsensible Kundendaten können sicher genutzt werden, ohne der AuÃenwelt ausgesetzt zu sein. Wir können die Vorteile der K
318I maximieren und gleichzeitig die Datensicherheit gewährleisten.","Sie reicht von der routinemäÃigen Dokumentenerstellung und Datenorganisation bis hin zu speziellen Analysen und Entscheidungshilfen. Unsere firmeneigene Agententechnologie bietet eine Genauigkeit, die mit API-Modellen vergleichbar ist.",'Das LLM ersetzt den Menschen nicht. Es ist ein leistungsfähiges Instrument, das es den Menschen ermöglicht, mehr Kreativität, Urteilsvermögen und Fachwissen einzusetzen. Wir machen die Technologie vom Besonderen zum Alltäglichen - eine echte "Verbraucherisierung" der Technologie.',"Sie können sich gerne mit uns beraten. Wir werden gemeinsam mit Ihnen herausfinden, was wir tun können."],animation:{label:"LLM",sublabel:"Technologie"}},bP={title:"Dienstleistungen",subtitle:"Dienstleistungen für Unternehmen",services:[{title:"Design und Entwicklung von KI-Agenten für Unternehmen",titleEn:"KI-Agent für Unternehmen",description:"Entwurf und Entwicklung von KI-Agenten, die für Geschäftsanforderungen, interne Regeln und Datenumfang optimiert sind. Unterstützung vom externen API-Typ LLM bis zum lokalen LLM.",badges:["Individuelles Design","LLM-kompatibel","wirtschaftliche Spezialisierung"],link:"Einzelheiten."},{title:"LLM-Server auf Abruf",titleEn:"LLM-Server vor Ort",description:"Führt LLM im Umfang von 7B bis 120B innerhalb des dedizierten Servers des Unternehmens aus. Bietet eine sichere und flexible LLM-Nutzungsumgebung und vermeidet das Risiko einer externen Datenübertragung.",badges:["7B-120B unterstützt","API KEY ausgestellt","Sicherheit Design"],link:"Einzelheiten."},{title:"Vektor-RAG und Indexgestaltung",titleEn:"Vector RAG Architektur",description:"Trennen und optimieren Sie RAG-Daten nach Geschäftsinhalten und Analyselogik. Indexdesign für eine schnelle und genaue Suche.",badges:["Index-Trennung","Hochgeschwindigkeitssuche","mehrsprachige Unterstützung"],link:"Einzelheiten."},{title:"AI-Anwendungsentwicklung",titleEn:"AI-Anwendungsentwicklung",description:"Entwicklung praktischer KI-Anwendungen, bei denen die Analyse und Generierung durch LLM im Mittelpunkt steht, unter Nutzung vorhandener APIs und externer Daten.",badges:["API-Verknüpfung","LLM-Analyse","Integriertes Design"],link:"Einzelheiten."}]},yP={title:"Leistungsprojekte mit KI-Technologie",subtitle:"KI-Entwicklungserfahrung in einer Vielzahl von Bereichen, darunter mehrsprachige Assistenten, Wettervorhersage, lokale LLM und Sicherheitsüberwachung.",viewDetails:"Details ansehen â.",items:[{title:"AI Mehrsprachiger Assistent",description:"Mehrsprachiger Chat-Assistent von RAG + LLM. Hochpräzise Antworten auf Anfragen in mehreren Sprachen, darunter Japanisch, Englisch und Chinesisch."},{title:"Wettervorhersagesystem",description:"Lernt Wetterdaten und erstellt Echtzeitvorhersagen. Hochpräzise Vorhersagen werden durch den Einsatz von Zeitreihen-Mustererkennung und RAG erzeugt, um nach ähnlichen Mustern in der Vergangenheit zu suchen."},{title:"Interner Server / On-Prem Local LLM",description:"Wir liefern auf Ihre Geschäftsabläufe zugeschnittene KI, die in Ihrem Unternehmen sofort einsatzbereit ist, mit Open WebUI als gemeinsamen Einstiegspunkt, schnellen Inferenzspuren mit Ollama/MLX und vollständig getrennten Datendomänen für jede UID. Interne Dokumente werden in einem RAG mit englischer Einbettung und automatischer japanischer Abfrageübersetzung erfasst, und Business Skills wie Nachrichtenzusammenfassung, Dokumentenorganisation und Routineaufgaben werden sicher nebeneinander ausgeführt. Das Skill-Ausführungssystem ist als OpenClaw-Container isoliert und durch drei Schichten von Cloudflare Edge und lokalem Nginx geschützt. Wir bieten umfassende Unterstützung bei der Modellauswahl, dem Skill-Design und den Betriebsrichtlinien und machen die dedizierte KI Ihres Unternehmens vom ersten Tag an einsatzfähig."},{title:"Interplanetare Orbital-Ankunftsvorhersage (AI)",description:"Beziehen Sie Planetendaten von der NASA-API und interpretieren Sie Bahnberechnungen im LLM. Erzeugt Berichte über Startfenster, benötigte Zeit und Treibstoffeffizienz."}
318,{title:"AI-Analyse von Immobiliendaten",description:"Sammeln Sie Immobilieninformationen durch Web Scraping und analysieren Sie diese mit LLM + Python. Automatische Generierung von Preistrends, Marktprognosen und Investitionsrenditen."},{title:"Wahrsagerei AI (Vier Säulen Wahrsagerei)",description:"Reproduzieren Sie die Logik der Vier Säulen des Schicksals in Python und interpretieren Sie sie mit LLM. Erfassen Sie Koordinaten und Zeit von der Astronomie-API für eine personalisierte Einschätzung des Glücks und der Kompatibilität."},{title:"Google Workspace AI integration",description:"LLM-Integration mit Gmail, Drive, Kalender, etc. KI hilft bei der E-Mail-Zusammenfassung, Dateisuche und Terminplanung."},{title:"World NEWS Mehrsprachigkeit",description:"Sammlung von Weltnachrichten in Echtzeit, übersetzt und zusammengefasst in mehreren Sprachen von LLM. Natürliche Ãbersetzung und Generierung von Zusammenfassungen auf der Grundlage eines kontextuellen Verständnisses."},{title:"Sicherheitsprotokollüberwachung AI Manager",description:"Echtzeitüberwachung von Sicherheitsprotokollen, Erkennung und Analyse von Bedrohungen durch LLM und sofortige Warnmeldungen durch Abgleich mit früheren Angriffsmustern durch RAG."}]},vP={title:"Wie man mit dem Projekt fortfährt",headline:"Alles, was Sie brauchen, ist eine Vision.",paragraphs:['Vorbei sind die Zeiten, in denen Sprachunterschiede ein Geschäftshindernis darstellten. Obwohl wir KI-Ãbersetzung verwenden, können wir Geschäftsverhandlungen und Entwicklungen in 14 Sprachen durch unseren einzigartigen Arbeitsablauf abwickeln, der die gemeinsame Nutzung von Bildern in vollem Umfang nutzt. Selbst komplexe Spezifikationen können anhand von Beispielbildern überprüft werden, um Missverständnisse zu vermeiden. Das Einzige, was zählt, ist das, was Sie schaffen wollen".',"Das Projekt beginnt mit einer ersten Anhörung in der Geschäftsanwendung. Nach einem allgemeinen Austausch über die Visionen des Kunden und sein Gespür für die Probleme wird ein NDA (Non-Disclosure Agreement) unterzeichnet. Nachdem wir eine Umgebung geschaffen haben, in der vertrauliche Informationen vertraulich besprochen werden können, führen wir ausführliche Interviews und bestätigen die Anforderungen. Auf der Grundlage des Inhalts erstellen wir einen Vorschlag und bestätigen die Richtung des Projekts anhand von Beispielbildern. Wenn wir uns einig sind, erstellen wir die Spezifikationen und beginnen mit der Entwicklung.","Dieser Ablauf ist nur eine allgemeine Einführung. Wir werden uns flexibel an Ihre Situation und Ihren Zeitplan anpassen. Wo auch immer Sie sich auf der Welt befinden, selbst wenn Sie nicht dieselbe Sprache sprechen, werden Bilder und KI Ihre Kommunikation unterstützen. Warum schlieÃen Sie sich nicht uns an, um den Markt zu betreten, den noch niemand erschlossen hat? Lassen Sie telet.ai Ihr Partner sein, um Ihren Ideen Gestalt zu geben."],cards:[{title:"Anhörung / NDA",description:"Nach der ersten Anhörung per E-Mail wird eine Geheimhaltungsvereinbarung unterzeichnet. Sie können uns unbesorgt Einzelheiten mitteilen."},{title:"Planung & CA",description:"Es werden Vorschläge und Beispielbilder bereitgestellt. 14 Sprachen werden unterstützt, so dass Sie ohne Sprachbarrieren arbeiten können."},{title:"Probenahme & Start",description:"Wir werden ein Lastenheft erstellen und nach Vereinbarung die Arbeit aufnehmen."},{title:"Entwicklung, Prüfung und Betrieb",description:"Zügige Umsetzung durch agile Entwicklung. Wir bieten durchgängige Unterstützung vom Testen bis zur Betriebsunterstützung."}]},AP={badge:"Fallstudien",title:"AI-Einführungsgeschichte",items:[{title:"Lösungen für Unternehmenseffizienz und Kostenreduzierung",subtitle:"Reduzieren Sie die tägliche Arbeitsbelastung und schaffen Sie ein Umfeld, in dem Sie sich auf Ihr Kerngeschäft konzentrieren können.",description:'Viele kleine und mittlere Unternehmen (KMU) haben mit Arbeitskräftemangel und Einstellungsschwierigkeiten zu kämpfen. Selbst wenn neues Personal eingestellt wird, sind die Schulungskosten hoch und es gibt Probleme mit der Mitarbeiterbindung. Unsere KI-Lösung unterstützt alltägliche Aufgaben wie die Automatisierung der Budgetverwaltung, die Dateneingabe und -organisation, die interne Suche nac
318h Dokumenten und die automatische Erstellung von Berichten und Dokumenten. KI-Assistenten erledigen Routineaufgaben, die früher viel Zeit in Anspruch nahmen, 24 Stunden am Tag, 365 Tage im Jahr, ohne Fehler. Unternehmen, die KI eingeführt haben, konnten ihre Arbeitszeiten deutlich reduzieren. Von der "Aufstockung der Humanressourcen" bis zur "Zusammenarbeit mit KI". Wir werden unser Bestes tun, um die Reform des Arbeitsstils in Ihrem Unternehmen zu unterstützen.'},{title:"Automatisierung der Kundenbetreuung",subtitle:"Der 24-Stunden-Service verbessert die Kundenzufriedenheit und senkt die Arbeitskosten.",description:"KI-Chatbots bieten automatische Antworten auf häufig gestellte Fragen, primäre Beantwortung und Sortierung von Anfragen sowie Echtzeit-Antworten in mehreren Sprachen. Echtzeit-Antworten in mehreren Sprachen. Menschliche Mitarbeiter können sich auf komplexe Fälle konzentrieren und die Qualität des Kundenservices verbessern. Heben Sie Ihre Servicequalität mit KI-Kundensupport auf die nächste Stufe."},{title:"Wissen und Dokumentennutzung AI",subtitle:"Interne Wissensbestände in einer Form, die von jedem sofort genutzt werden kann",description:'Wo ist das Handbuch?" Es gibt Informationen, die nur der Vorgänger kennt" - unpersönliches Wissen hemmt das Wachstum eines Unternehmens. Unsere RAG-Technologie (Search Extension Generation) ermöglicht es Ihnen, notwendige Informationen aus internen Handbüchern, FAQs und früheren Dokumenten abzurufen, indem Sie einfach Fragen in natürlicher Sprache stellen. Sie rationalisiert die Schulung neuer Mitarbeiter, digitalisiert das implizite Wissen von Veteranen und ermöglicht den abteilungsübergreifenden Wissensaustausch. Vorhandene Dokumente können unverändert weiterverwendet werden, so dass keine neuen Dokumente erstellt werden müssen.'},{title:"Bildanalyse-KI für die medizinische und pflegerische Versorgung",subtitle:"Wachsame Augen, 24-Stunden-Unterstützung durch KI",description:"Im medizinischen und pflegerischen Bereich ist es notwendig, eine groÃe Anzahl von Patienten und Nutzern mit wenig Personal zu überwachen. Unsere Bild-/Videoanalyse-KI erkennt Anomalien in Echtzeit aus Kamerabildern. Sie erkennt automatisch Infektionskrankheiten, indem sie Fieber feststellt, alarmiert sofort, wenn ein Patient stürzt oder umherirrt, und erkennt Veränderungen des körperlichen Zustands durch Analyse der Mimik. Durch die Verringerung der Belastung durch nächtliche Patrouillen, die schnelle Reaktion auf Notfälle und die Automatisierung von Aufzeichnungsaufgaben kann sich das Personal auf seine primären Pflegeaufgaben konzentrieren. Zur Wahrung der Privatsphäre ist auch eine Vor-Ort-Installation möglich."}]},xP={title:"Kontakt",description:"Wir können Sie bereits in der Phase der Bedarfsplanung beraten und auch PoC- und lokale LLM-Konfigurationen in Betracht ziehen.",openForm:"Offene Form",closeForm:"SchlieÃen Sie das Formular",form:{name:"Ihr Name",namePlaceholder:"Taro Yamada",email:"E-Mail Adresse",emailPlaceholder:"[email protected]",subject:"Thema",subjectPlaceholder:"Gegenstand Ihrer Anfrage",message:"Nachricht",messagePlaceholder:"Bitte füllen Sie Ihre Anfrage aus",required:"*",submit:"Senden Sie",submitting:"Ich schicke...",turnstileMessage:'Die Genehmigung "Ich bin kein Roboter" ist für die Einreichung erforderlich.',turnstileError:"Die Sicherheitsautorisierung konnte nicht geladen werden. Bitte neu laden.",errorRetry:"Bitte versuchen Sie es erneut."}},LP={brand:"telet.ai",tagline:"Multi AI-Kommunikationen",description:"Innovieren Sie Ihr Unternehmen mit KI-Agenten. Schaffen Sie Mehrwert durch Dialog.",sections:{product:{title:"Produkt",features:"Merkmal",benefits:"Einführung",testimonials:"Erfahrungsberichte von Kunden"},services:{title:"Dienst",agentDev:"Design und Entwicklung von KI-Agenten für Unternehmen",onPremise:"LLM-Server auf Abruf",vectorRag:"Vektor-RAG und Indexgestaltung",aiApp:"AI-Anwendungsentwicklung"},company:{title:"Organisationsinformationen",about:"Ãber telet.ai",profile:"Repräsentatives Profil",contact:"Kontakt"},process:{title:"Wie wir Geschäfte machen",hearing:"Anhörung / NDA",planning:"Planung & CA",sampling:"Probenahme & Start",development:"Entwicklung, Prüfung und Betrieb"}},copyright:"© 2026 telet.ai. Alle Rechte vorbehalten.",legal:{privacy:"Datenschutzbestimmungen",terms:"Nutzungsbedingungen",cookies:"Cookie-Richtlinie"}},PP={title:"Cookie-Richtlinie",subtitle:"Dieser Abschnitt beschreibt die auf dieser Website verwendeten Cookies und anderen Technologien (Cloudflare / Google Analytics).",lastUpdated:"Letzte Aktualisierung: 22. Januar 2026",intro:'telet.ai ("wir", "uns", "unser") ("wir") kann Cookies und ähnliche Technologien verwenden, um diese Website bereitzustellen und zu verbessern und um ihre Sicherheit zu gewährleisten. Wir setzen keine eigenen speziellen Tracking-Cookie
318s für Werbezwecke (obwohl Cloudflare und Google Analytics Cookies oder ähnliche Technologien in Ãbereinstimmung mit ihren jeweiligen Service-Spezifikationen setzen können).',sections:{what:{title:"1. Was ist ein Keks?",description:"Cookies sind kleine Textdateien, die in Ihrem Browser gespeichert werden, wenn Sie eine Website besuchen."},howWeUse:{title:"Zweck unserer Verwendung von Cookies usw.",description:"Wir können Cookies usw. hauptsächlich für folgende Zwecke verwenden",items:["Zur Stabilisierung der Anzeige und des Betriebs der Website","Erkennen und Verhindern von unberechtigtem Zugriff und bösartigem Datenverkehr","Um den Status des Zugangs zu verstehen und die Website zu verbessern"]},googleAnalytics:{title:"3. Verwendung von Google Analytics",description:"Wir verwenden Google Analytics 4 (GA4) von Google LLC für die Zugriffsanalyse.",items:["Zu den gesammelten Informationen gehören die aufgerufenen Seiten, die Verweildauer, die Verweisquelle, Geräte- und Browserinformationen usw.","Wir verwenden keine direkt persönlich identifizierbaren Informationen (Name, E-Mail-Adresse usw.), um sie an Google Analytics zu senden.","Die Behandlung der Daten durch Google unterliegt den Bedingungen und Richtlinien von Google"]},cloudflare:{title:"4. Nutzung von Cloudflare",description:"Wir nutzen die Dienste von Cloudflare, Inc. für die Bereitstellung und SicherheitsmaÃnahmen dieser Website. Cloudflare kann Cookies usw. für Zwecke wie DDoS-Schutz und Bot-Prävention setzen und darauf verweisen.",items:["Sie dienen in erster Linie der Sicherheit und der Optimierung der Kommunikation und sind nicht für die Nachverfolgung der Anzeigenschaltung bestimmt.","Die Behandlung von Daten durch Cloudflare unterliegt den Bedingungen und Richtlinien von Cloudflare"]},noSpecialCookies:{title:"5. unsere eigenen Spezialkekse",description:"Wir setzen keine eigenen speziellen Cookies zum Zwecke der verhaltensorientierten Werbung usw. Die Verwendung von Cookies usw. ist hauptsächlich auf den Betrieb der Website, die Sicherheit und die Zugriffsanalyse beschränkt."},choices:{title:"6. die Verwaltung von Cookies (Opt-out)",description:"Wenn Cookies deaktiviert sind, können einige Funktionen nicht verfügbar sein.",items:["Cookies können in den Browsereinstellungen gelöscht oder deaktiviert werden","Wenn Sie die Messung durch Google Analytics deaktivieren möchten, verwenden Sie bitte die von Google bereitgestellte Opt-out-Methode","Die Verwendung des privaten Modus eines Browsers usw. kann die gespeicherten Informationen einschränken."]},changes:{title:"7. Ãnderungen an dieser Politik",description:"Wir können diese Richtlinie als Reaktion auf Ãnderungen von Gesetzen und Vorschriften oder auf Ãnderungen bei den genutzten Diensten überarbeiten. Die überarbeitete Richtlinie tritt in Kraft, wenn sie auf dieser Seite veröffentlicht wird."},contact:{title:"8. Kontakt",description:"Wenn Sie Fragen zu dieser Politik haben, kontaktieren Sie uns bitte unter",company:"telet.ai",contactLink:"Weiter zum Anfrageformular"}}},wP={hero:{title:"Ãber telet.ai",subtitle:"Sorgfältige Unterstützung bei der KI-Entwicklung, die nur von einem kleinen, persönlichen Team geleistet werden kann."},story:{title:"Ãber uns",content:"telet.ai begann mit einer Frage. Warum gelingt es so vielen Unternehmen nicht, die Erkenntnisse zu nutzen, die in den unzähligen Interaktionen zwischen Unternehmen und ihren Kunden liegen? Das Team, das von einem Vertreter mit Erfahrung in der KI-Forschung und der Entwicklung von Unternehmenssoftware geleitet wird, wurde gegründet, um dieses Problem frontal anzugehen. Wir sind keine groÃe Organisation. Deshalb sind wir in der Lage, uns eingehend mit Ihren Herausforderungen zu befassen und nur die Lösungen vorzuschlagen, die wirklich notwendig sind. Unsere Stärke ist unsere Fähigkeit, hybride Architekturen zu entwerfen, die lokales LLM und Cloud LLM integrieren. Wir können die sensiblen Daten Ihres Unternehmens in einer dedizierten Cloud-Umgebung schützen und gleichzeitig fortschrittliche KI-Inferenz in einer skalierbaren Weise durchführen. Wir stellen eine CLI für Entwickler und eine Chat-UI für Mitarbeiter zur Verfügung und schaffen so eine Grundlage für den Einsatz von KI in Ihrem gesamten Unternehmen. Und wir konzentrieren uns darauf, die optimale Lösung zu sein und nicht die fortsc
318hrittlichste. Der Verzicht auf Funktionen je nach Budget und die Ãberprüfung einer einzigen Konfiguration können einen groÃen Kostenunterschied ausmachen. Wir liefern Ihnen das, was Sie brauchen, in der Menge, die Sie brauchen. Unsere aufmerksame KI-Entwicklungsunterstützung ist nur möglich, weil wir klein und persönlich sind. Wir lösen Personalengpässe und unterstützen das Wachstum Ihres Unternehmens. Das ist das Versprechen von telet.ai."},representative:{title:"Repräsentant von telet.ai labo",name:"Keita Okuizumi",tagline:"Zum Himmel, zum Meer und zum Code - eine Leidenschaft für KI-Entwicklung, geboren aus einer ungewöhnlichen Karriere",paragraphs:['Als ehemaliger Privatpilot (PPL) und Inhaber eines Schiffsführerscheins habe ich mich viele Jahre lang mit dem Wetter in der Luft und auf See beschäftigt. Im Cockpit und im Steuerhaus beobachtete ich die Veränderungen des Barometers, entzifferte die isobaren Drucklinien und verglich sie mit der Bewegung von Wind und Wolken. Der Sinn für "Daten lesen, beurteilen und handeln", den ich durch diesen sich wiederholenden Prozess entwickelt habe, ist der Ausgangspunkt für mich heute.','Ich habe im Alter von 57 Jahren begonnen, Python zu programmieren. Der Anstoà dazu war einfache Neugier, aber sobald ich anfing, Code zu schreiben, war ich von den Möglichkeiten der KI-Agenten fasziniert. Ich habe mit meinen eigenen Händen Anwendungen erstellt, sie laufen lassen und verbessert. Dabei wurde mir etwas klar. Bei früheren Projekten war ich als Nicht-Ingenieur beteiligt, und die Entwicklung wurde immer von jemand anderem übernommen. Als ich jedoch anfing, den Code selbst zu schreiben, erkannte ich den Kern des Problems. Das ist der Engpass hier" oder "Dieser Entwurf kann nicht erweitert werden" - durch die Sichtweise eines Ingenieurs hat sich die Geschwindigkeit, mit der ich das, was ich tun will, verwirklichen kann, dramatisch erhöht.',"Entwicklung von Wetterdiensten durch die Kombination von Felderfahrung und Datenwissenschaft, Aufbau von KI-Agenten zur Verbesserung der betrieblichen Effizienz und verschiedene experimentelle Projekte. Als ich weiter mit meinen Händen arbeitete, war ich nicht nur davon überzeugt, dass die Technologie interessant ist, sondern auch, dass es Menschen geben muss, die das brauchen.","Unser Ziel ist es nicht, dem neuesten Stand der Technik hinterherzulaufen. Wir stellen uns den Problemen und dem Budget des Kunden und liefern nur das, was wirklich notwendig ist, zu einem vernünftigen Preis. Wir sind kein groÃes Unternehmen, so dass wir in der Lage sind, Entwicklungsunterstützung zu leisten, die auf die Bedürfnisse jedes einzelnen Kunden zugeschnitten ist. Wir wollen diese Technologie zum Nutzen der Gesellschaft einsetzen - deshalb haben wir telet.ai gegründet."]},contact:{title:"Organisationsinformationen",company:"telet.ai labo",ceo:"Stellvertreter: OKUIZUMI Keita",button:"Kontakt"},studios:{tokyo:{title:"Studio Tokio",address:"#301 First Hills A Musashikoganei, 3-3-21 Nukuiminamicho, Koganei-shi, Tokio 184-0014, Japan"}}},SP={title:"Portfolio",subtitle:"Sehen Sie unsere Erfolgsbilanz beim Einsatz von KI-Technologie",techStackLabel:"Technologie-Stapel",viewProject:"Projekt anzeigen",privateProject:"Private Projekte",visualizationLabel:"Datenvisualisierung",cta:{title:"Kontakt",description:"Bitte nehmen Sie Kontakt mit uns auf, um Ihr Projekt zu besprechen oder technische Fragen zu stellen.",button:"Kontakt"},projects:{"traffic-route-ai":{title:"KI-System zur Auswahl von Verkehrsverbindungen",subtitle:"Routenplanung für den öffentlichen Verkehr in Malaysia",description:"Das System sucht Bus- und Bahnverbindungen zwischen Start und Ziel und vergleicht Optionen nach Ankunftszeit, Reisedauer und Umstiegen. Filter für reine Bus- oder Bahnverbindungen, die Suche nach nahegelegenen Stationen und Haltestellen sowie eine mehrsprachige Oberfläche unterstützen die Routenwahl im Alltag und auf Reisen.",techStack:["ÃPNV-Routenplanung","Bus- und Bahnanbindung","Routenvergleich","Mehrsprachige Oberfläche"]},"multilingual-assistant":{title:"AI Mehrsprachiger Assistent",description:"Intelligenter Chat-Assistent für mehrsprachige Anfragen, der 1.573 Vektorindizes erstellt und eine präzise Antwortsteuerung durch bedingte Verzweigungen, NG-Wort-Filterung und Stichwortauslösung implementiert. Konsistente und hochpräzise Antworten auf Benutzerfragen in mehreren Sprachen, einschlieÃlich Japanisch, Englisch und Chinesisch, werden durch sprachübergreifende semantische Suche generiert.",techStack:["RAG","Vektorsuche","Mehrsprachige Einbettung","LLM","bedingte Verzweigungslogik"]},"weather-forecast":{title:"AI-Wettervorhersage mit Wetter-API",description:"Entwicklung eines KI-Systems, das aus vergangenen Wetterdaten lernt und Echtzeitprognosen für aktuelle Wetterbedingungen erstellt. LLM analysiert vergangene Daten, die von der JMA-API, OpenWeatherMap usw. stammen, und erstellt kurzfristige Prognosen für Temperatur, Niederschlagswahrscheinlichkeit, Windgeschwindigkeit usw. Durch die Kombination der Mustererkennung von Zeitreihendaten mit der Suche nac
318h Ãhnlichkeitsmustern in der Vergangenheit durch RAG erzielt das System hochpräzise Vorhersagen, die herkömmliche statistische Modelle ergänzen.",techStack:["Wetter-API-Kopplung","LLM","RAG","Analyse von Zeitreihendaten","Echtzeitverarbeitung"]},"local-llm":{title:"Interner Server / On-Prem Local LLM",description:"Wir liefern auf Ihre Geschäftsabläufe zugeschnittene KI, die in Ihrem Unternehmen sofort einsatzbereit ist, mit Open WebUI als gemeinsamen Einstiegspunkt, schnellen Inferenzspuren mit Ollama/MLX und vollständig getrennten Datendomänen für jede UID. Interne Dokumente werden in einem RAG mit englischer Einbettung und automatischer japanischer Abfrageübersetzung erfasst, und Business Skills wie Nachrichtenzusammenfassung, Dokumentenorganisation und Routineaufgaben werden sicher nebeneinander ausgeführt. Das Skill-Ausführungssystem ist als OpenClaw-Container isoliert und durch drei Schichten von Cloudflare Edge und lokalem Nginx geschützt. Wir bieten umfassende Unterstützung bei der Modellauswahl, dem Skill-Design und den Betriebsrichtlinien und machen die dedizierte KI Ihres Unternehmens vom ersten Tag an einsatzfähig.",techStack:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},"orbital-prediction":{title:"Interplanetare Orbital-Ankunftsvorhersage (AI)",description:"Entwicklung eines Systems zur Analyse optimaler Abflugpunkte für den interplanetaren Transfer durch Beschaffung von Planetenpositionsdaten, Bahnelementen und Schwerkraftparametern aus der NASA-API. Berechnung der Umlaufbahn unter Berücksichtigung des Hohmann-Transfer-Orbits und der Schwerkraftunterstützung mit Hilfe von API und Python sowie Anzeige des Startfensters, der benötigten Zeit und der Treibstoffeffizienz. Das System wird als Simulationswerkzeug für Bildungseinrichtungen und raumfahrtbezogene Unternehmen verwendet. *Die AI-Funktion wird derzeit entfernt, die Berechnung mit API und Python ist in Arbeit.",techStack:["NASA API (Horizons, SPICE)","Orbitaldynamische Berechnung","Python","Datenvisualisierung"]},"real-estate":{title:"AI-Analyse von Immobiliendaten",description:"Entwicklung eines Systems, das über Web Scraping Immobilieninformationen für eine bestimmte Region sammelt und mit LLM und Python eine erweiterte Datenanalyse durchführt. Variablen wie Immobilienpreis, Tsubo-Einheitspreis, Gebäudealter und Bahnhofsentfernung werden extrahiert, und Preistrendanalysen, Marktprognosen und Simulationen der Investitionsrendite werden automatisch erstellt. Merkmale wurden auch aus unstrukturierten Immobilienbeschreibungen mit LLM extrahiert, um eine umfassende Marktanalyse in Kombination mit quantitativen Daten zu ermöglichen. *Angebot jetzt als zweite Version verfügbar (FULL-Version separat erhältlich)",techStack:["Web-Scraping (Scrapy, Playwright)","Python","Pandas","LLM-Analyse","Datenvisualisierung"]},"fortune-ai":{title:"Vier Säulen des AI-Beurteilungssystems",subtitle:"Reproduktion traditioneller Weisheiten mit Hilfe von Technologie.",paragraphs:["Four Pillars of Divination ist der Höhepunkt der jahrtausendealten östlichen Wahrsagerei. Dieses System reproduziert die traditionelle Wahrsagerlogik vollständig in Python, kombiniert mit Interpretation und Ratschlagserzeugung unter Verwendung von LLM (Large Language Models). Die KI reproduziert originalgetreu den Beurteilungsprozess, der von einem erfahrenen Wahrsager durchgeführt wird.","Nach Eingabe von Datum, Uhrzeit und Geburtsort ruft das System die Sonnenaufgangs- und Sonnenuntergangszeiten sowie die Koordinateninformationen zu diesem Zeitpunkt von der Astronomie-API ab. Auf der Grundlage dieser Daten berechnet das System genau das Tierkreiszeichen, die zehn Götter und das Gleichgewicht der fünf Elemente. Die auf der Divinationswissenschaft der Vier Säulen des Schicksals basierende Logik wird in Python indiziert und mit statistischen Daten und RAG-Informationen (Retrieval Augmentation Generation) kombiniert, um die Genauigkeit der Lebensformelanalyse zu verbessern.","Die berechneten Lebensstildaten werden von LLM in natürlicher Sprache auf leicht verständliche Weise erklärt. Es werden personalisierte Einschätzungsergebnisse generiert, einschlieÃlich des Glücksflusses, der Kompatibilität zwischenmenschlicher Beziehungen und des für Sie geeigneten Berufs. Sie können Antworten mit der gleichen Tiefe erhalten, als ob Sie einen professionellen Wahrsager konsultiert hätten.","Sie ist derzeit in einer zweiten Version verfügbar. Sie können die grundlegende Kumishiki-Analyse und die Glücksanalyse ausprobieren. Die Vollversion, die detailliertere Analysen und vielseitige Ratschläge enthält, ist separat erhältlich."],techStack:["Python","Astronomie-API (Sonnenaufgang-Sonnenuntergang, TimeZoneDB)","Vier-Säulen-Logik","LLM","Koordinaten- und Zeitberechnung"]}
318,"google-workspace":{title:"Google Workspace AI integration",description:"Entwicklung eines Systems, das Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) mit LLM verbindet, um Geschäftsdaten zu lesen, zu bearbeiten und automatisch zu verarbeiten. KI unterstützt bei täglichen Aufgaben wie dem Zusammenfassen von E-Mail-Inhalten, dem Erstellen von Entwürfen für automatische Antworten, dem Durchsuchen und Analysieren von Drive-Dateien, dem Extrahieren von Zeitplänen aus dem Kalender und dem Vorschlagen von Anpassungen. Der Betrieb des Arbeitsbereichs vom Agenten aus wird auch durch eine sichere API-Verbindung mit OAuth-Authentifizierung und MCP-konformem Tool-Design realisiert. Die zweite Version ist jetzt verfügbar (die FULL-Version wird separat bereitgestellt).",techStack:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},"world-news":{title:"World NEWS Mehrsprachigkeit",description:"Entwicklung eines Systems, das Artikel in Echtzeit aus Nachrichtenquellen auf der ganzen Welt sammelt und eine mehrsprachige Ãbersetzung, Zusammenfassung und Kategorisierung mit LLM durchführt. Ãbersetzt Originalartikel in Englisch, Chinesisch, Französisch, Arabisch und anderen Sprachen ins Japanische und ordnet sie nach Themen. Effiziente internationale Nachrichtenüberwachung wird nicht durch einfache maschinelle Ãbersetzung erreicht, sondern durch natürliche Ãbersetzung, die auf kontextuellem Verständnis unter Verwendung von LLM und der Erstellung von Zusammenfassungen basiert, die die wichtigsten Punkte des Artikels extrahieren. *Angebot jetzt als zweite Version verfügbar (FULL-Version separat erhältlich).",techStack:["Nachrichten-API","RSS-Sammlung","LLM Ãbersetzung und Zusammenfassung","mehrsprachige Verarbeitung","Auto-Kategorisierung","geplante Stapelverarbeitung"]},"security-monitoring":{title:"Sicherheitsprotokollüberwachung AI Manager",description:"Entwicklung eines Systems für die Echtzeit-Ãberwachung von Sicherheitsprotokollen in Unternehmen und für die fortschrittliche Erkennung und Analyse von Bedrohungen mithilfe von LLM. Verschiedene Protokollquellen wie Firewalls, IDS/IPS, Authentifizierungsprotokolle und Anwendungsprotokolle werden von einem Python-Modul gesammelt und analysiert und mit früheren Angriffsmustern, Schwachstelleninformationen und Vorfällen, die in RAG gesammelt wurden, verglichen. Wenn ein anormales Muster erkannt wird, erklärt LLM den Bedrohungsgrad, das Ausmaà der Auswirkungen und die empfohlene Reaktion in natürlicher Sprache und alarmiert sofort die verantwortliche Person. Wenn das gleiche Muster wieder auftritt, wird automatisch eine Warnung mit hoher Priorität ausgegeben, um die Reaktion auf den Vorfall zu beschleunigen.",techStack:["Python-Ãberwachungsmodul","Log-Sammlung (Fluentd, Logstash)","RAG","Bedrohungsmuster-DB","LLM-Analyse","Warnmeldungen (Slack, PagerDuty)"]}}},IP={learnMore:"Mehr lesen",getStarted:"anfangen zu ...",contactUs:"Kontakt",backToHome:"Zurück zu Home"},MP={title:"Datenschutzbestimmungen",subtitle:"Datenschutzbestimmungen",lastUpdated:"Letzte Aktualisierung: 23. Januar 2026",intro:'telet.ai (der "Dienst") betrachtet den Schutz Ihrer persönlichen Daten als eine wichtige Verantwortung und hat die folgenden Datenschutzrichtlinien aufgestellt.',sections:{collection:{title:"1. zu erfassende Informationen",description:"Der Dienst kann die folgenden Informationen erfassen, wenn Sie uns kontaktieren oder den Dienst nutzen.",items:["E-Mail Adresse","Ihr Name (optional)","Anfrage Details","Andere von Ihnen freiwillig zur Verfügung gestellte Informationen"]},purpose:{title:"2. Zweck der Verwendung von Informationen",description:"Die gesammelten persönlichen Daten werden nur für folgende Zwecke verwendet",items:["Beantwortung von Anfragen und Beantwortung von Anträgen","Kontakt und Informationen über unsere Dienstleistungen","Für den Projektfortschritt erforderliche Kommunikation","Analyse zur Verbesserung der Dienstleistungen (in einem Format, das keine Rückschlüsse auf Einzelpersonen zulässt)"]},thirdParty:{title:"3. Bereitstellung für Dritte",description:"Der Dienst gibt Ihre persönlichen Daten nicht an Dritte weiter, auÃer in folgenden Fällen",items:["Wenn der Kunde zustimmt","Wenn ein Antrag auf Offenlegung aufgrund von Gesetzen und Vorschriften vorliegt","Wenn dies zum Schutz des Lebens, des Körpers oder des Eigentums einer Person erforderlich ist"]},security:{title:"4. Informationsmanagement",description:"Der Dienst verwaltet die gesammelten personenbezogenen Daten ordnungsgemäà und ergreift angemessene SicherheitsmaÃnahmen, um unbefugten Zugriff, Verlust, Weitergabe und Fälschung zu verhindern."},email:{title:"5. Bearbeitung von E-Mails",description:"Der Dienst behandelt E-Mails nach MaÃgabe der folgenden Bestimmungen.",items:["Wir werden den Inhalt Ihrer E-Mail nur für die Beantwortung Ihrer Anfrage und die Erbringung unserer Dienstleistungen verwenden.","Wir werden Ihre E-Mail-Adresse nicht verkaufen, vermieten oder an Dritte weitergeben.","Wir
318können Ihnen Informations-E-Mails über unsere Dienstleistungen schicken. Wenn Sie sich abmelden möchten, verwenden Sie bitte den Abmeldelink in der E-Mail oder kontaktieren Sie uns über die nachstehenden Kontaktinformationen.","Für die E-Mail-Kommunikation wird eine SSL/TLS-Verschlüsselung verwendet, um eine sichere Kommunikation zu gewährleisten.","Wir werden Ihre E-Mail nach einer angemessenen Aufbewahrungszeit sicher löschen."]},cookies:{title:"6. Verwendung von Cookies",description:"Cookies können in den Einstellungen Ihres Browsers deaktiviert werden."},external:{title:"7. Inanspruchnahme von externen Dienstleistungen",description:"Dieser Dienst kann die folgenden externen Dienste nutzen. Bitte beachten Sie die jeweiligen Links zu den Datenschutzbestimmungen der einzelnen Dienste.",items:["Google Analytics (access analysis)","Andere für den Geschäftsbetrieb erforderliche Cloud-Dienste"]},changes:{title:"8. Ãnderungen der Datenschutzpolitik",description:"Diese Richtlinie kann ohne Vorankündigung geändert werden, wenn Gesetze und Vorschriften geändert werden oder wenn sich der Inhalt der Dienste ändert. Die überarbeitete Richtlinie tritt in Kraft, sobald sie auf dieser Seite veröffentlicht wird."},contact:{title:"9. Kontakt",description:"Wenn Sie Fragen zu dieser Politik haben, kontaktieren Sie uns bitte unter",company:"telet.ai",contactLink:"Weiter zum Anfrageformular"}}},jP={title:"Nutzungsbedingungen",subtitle:"Dies sind die Bedingungen für die Nutzung dieser Website und für die Buchung einer Beratung, für Anfragen und für die Anforderung von Informationen von telet.ai.",lastUpdated:"Letzte Aktualisierung: 22. Januar 2026",intro:'Diese Nutzungsbedingungen (im Folgenden als "Bedingungen" bezeichnet) Diese Nutzungsbedingungen (im Folgenden als "Bedingungen" bezeichnet) gelten für die von telet.ai (im Folgenden als "wir", "uns", "unser" oder "unser" bezeichnet) betriebene Website. (im Folgenden als "wir", "uns" oder "unser" bezeichnet). (im Folgenden als "Website" bezeichnet), betrieben von telet.ai (im Folgenden als "wir" bezeichnet). Die Website wird in erster Linie als Landing Page für Beratungstermine, Anfragen und Dokumentenanfragen zur Verfügung gestellt und bietet keine Funktionen zur Erstellung von Konten oder zur bezahlten Abrechnung auf der Website.',sections:{scope:{title:"1. Anwendungsbereich",description:'Diese Nutzungsbedingungen gelten für alle Besucher und Nutzer der Website ("Nutzer"). Die Nutzungsbedingungen gelten für alle Besucher und Nutzer der Website (nachstehend "Nutzer" genannt). Falls zwischen uns und einem Nutzer ein separates NDA, eine Outsourcing-Vereinbarung, ein individueller Vertrag usw. geschlossen wird, hat dieses Dokument Vorrang vor den Nutzungsbedingungen.'},prohibited:{title:"2. verbotene Gegenstände",description:"Bei der Nutzung der Website dürfen die Nutzer keine der folgenden Handlungen vornehmen",items:["Handlungen, die gegen Gesetze und Vorschriften oder die öffentliche Ordnung und Moral verstoÃen","Jede Handlung, die unsere Rechte am geistigen Eigentum, die Privatsphäre oder andere Rechte oder Interessen eines Dritten verletzt","Handlungen, die den Betrieb dieser Website oder damit verbundener Systeme durch unbefugten Zugriff, übermäÃige Belastung, Sabotage usw. stören.","Angabe falscher Informationen oder Vortäuschung einer dritten Person in Anfrageformularen usw.","Scraping, Reverse Engineering oder übermäÃiger automatisierter Zugriff ohne unsere vorherige Genehmigung"]},disclaimer:{title:"3. Haftungsausschluss",description:'Wir stellen diese Website ohne Mängelgewähr" und wie verfügbar" zur Verfügung. Im vollen gesetzlich zulässigen Umfang schlieÃen wir alle Garantien in Bezug auf diese Website aus.',items:["Die Informationen auf dieser Website können ohne vorherige Ankündigung geändert oder gelöscht werden.","Wir übernehmen keine Gewähr für die Richtigkeit, Vollständigkeit oder Eignung der Informationen auf dieser Website für einen bestimmten Zweck.","Wir haften nicht für Schäden, die sich aus der Nutzung dieser Website oder dem Vertrauen auf die darin enthaltenen Informationen ergeben.","Die Antworten auf Konsultationen und Anfragen dienen nur der allgemeinen Information und stellen keine rechtliche, steuerliche, medizinische oder sonstige professionelle Beratung dar."]},ip:{title:"4. Rechte an geistigem Eigentum",description:"Alle Rechte an den Texten, Bildern, Designs, Marken, Logos usw. auf dieser Website gehören uns oder den rechtmäÃigen Inhabern der Rechte. Sie dürfen sie nicht ohne die Erlaubnis der Rechteinhaber verwenden."},links:{title:"5. Links zu externen Websites",description:"Diese Website kann Links zu Websites Dritter enthalten. Wir sind nicht verantwortlich für den Inhalt oder den Betrieb der verlinkten Seiten."},changes:{title:"6. Ãnderung dieser Bedingungen und Konditionen",description:"Wir behalten uns das Recht vor, diese Nutzungsbedingungen von Zeit zu Zeit nach Bedarf zu ändern. Die geänderten Nutzungsbedingungen treten in Kraft, wenn sie auf der Website veröffentlicht werden."},governingLaw:{title:"7. Geltendes Recht und Gerichtsbarkeit",description:"Diese Allgemeinen Geschäftsbedingungen unterliegen den Gesetzen Japans und werden nach diesen ausgelegt. Für alle Streitigkeiten, die sich aus oder im Zusammenhang mit dieser Website ergeben, ist das Bezirksgericht Tokio als Gericht erster Instanz ausschlieÃlich zuständig."},contact:{title:"8. Kontakt",description:"Wenn Sie Fragen zu diesen Geschäftsbedingungen haben, wenden Sie sich bitte an",company:"telet.ai",contactLink:"Weiter zum Anfrageformular"}}}
318,CP={title:"regelmäÃiger Antrag",subtitle:"KI prognostiziert die",description1:"Wetterinformationen werden von jedem Land in Echtzeit bereitgestellt. Ihr Land wird in der Mitte der Karte angezeigt. Das gestrige und heutige Wetter sind tatsächliche Aufzeichnungen â die Regenwolken sollten zu diesem Zeitpunkt an Ihrem Himmel gewesen sein.",description2:"Diese Animation animiert aber auch zukünftige Wetterbewegungen.",description3:"Vektoren für vergangene Daten und sucht mit hoher Geschwindigkeit nach Mustern. Auch Wettermuster lassen sich aus der Umgebung vorhersagen. In ähnlicher Weise ist es möglich, Ernte, Produktion und Umsatz vorherzusagen, indem man Elemente (i) aus der Umgebung und fortgeschrittene statistische Werte aus vergangenen Leistungen berechnet und sie von der KI analysieren lässt.",refresh:"Auffrischung (z. B. Speicher)",loading:"Laden der Wetterkarte..."},DP={hero:{badges:["Unternehmen","Lokaler LLM","Zollagent"],title:"Design und Entwicklung von KI-Agenten für Unternehmen",description:"Entwurf und Erstellung von speziellen, auf die Geschäftsanforderungen zugeschnittenen KI-Agenten"},mission:{title:"Kundenspezifische AI-Agent-Entwicklungsdienste",description:"Wir entwickeln maÃgeschneiderte KI-Agenten, die von der Konzeption über die Implementierung bis hin zum Betrieb auf die speziellen Geschäftsanforderungen Ihres Unternehmens zugeschnitten sind. Unser architektonisches Design betont die Kompatibilität mit bestehenden unternehmenskritischen Systemen und SaaS-Umgebungen und ermöglicht eine reibungslose Integration mit APIs, Datenbanken und internen Tools. Unsere Ingenieure sind mit LangChain, AutoGen, CrewAI und anderen wichtigen Frameworks vertraut. Unsere Ingenieure sind mit LangChain, AutoGen, CrewAI und anderen wichtigen Frameworks vertraut und werden die beste Lösung für den Technologie-Stack und die Betriebsstruktur Ihres Unternehmens vorschlagen. Wir entwickeln nicht nur einzelne Chatbots, sondern bauen auch Multi-Agenten-Systeme, in denen mehrere Agenten miteinander kooperieren, um Aufgaben zu erfüllen, sowie Agentic Workflows, die in Verbindung mit externen Tools arbeiten. Wir unterstützen die Maximierung des geschäftlichen Nutzens von KI-Agenten durch eine langfristige Partnerschaft, die kontinuierliche Verbesserungen nach der Implementierung, nachfolgende Modell-Updates und die Wartung von Betriebsüberwachungssystemen umfasst.",imageAlt:"Kundenspezifische AI-Agent-Entwicklungsdienste"},summary:{title:"Trends in der Agentenentwicklung",paragraphs:['Von 2025 bis 2026 wird die Entwicklung von KI-Agenten von der Demonstrationsphase in die Phase der umfassenden Implementierung in Unternehmen übergehen. Das Konzept der "agentenbasierten KI" hat sich durchgesetzt, und autonome Systeme für die Geschäftsabwicklung, die über bloÃe Chatbots hinausgehen, haben in verschiedenen Branchen ihren Betrieb aufgenommen.','Computer-Using Agents", die Browser und Desktops direkt steuern, wie z. B. Operator von OpenAI, Computer Use von Anthropic und Project Mariner von Google, sind praktisch geworden. Das Model Context Protocol (MCP) ist ein aufkeimendes Ãkosystem, das die Plug-and-Play-Integration mit Tausenden von Tools ermöglicht.',"Multi-Agenten-Architekturen sind inzwischen ausgereift, wobei spezialisierte Agenten zusammenarbeiten, um komplexe Aufgaben wie Projektmanagement, Kundensupport und Datenanalyse zu erfüllen. Die Standardisierung des A2A-Protokolls (Agent-to-Agent) hat ebenfalls Fortschritte bei der Zusammenarbeit von Agenten zwischen verschiedenen Anbietern gebracht.",'Das Governance-Modell hat sich von "Human-in-the-Loop" zu "Human-on-the-Loop" für Unternehmensimplementierungen entwickelt, wobei ein Mechanismus für die Prüfung von Entscheidungen nach dem Agenten und eine automatische Eskalation auf der Grundlage der Risikostufe zu den Standardfunktionen gehören, was die Einführung in regulierten Branchen wie dem Finanzwesen, dem Gesundheitswesen und der Fertigung beschleunigt. Die Einführung dieses Systems beschleunigt sich in regulierten Branchen wie dem Finanzwesen, dem Gesundheitswesen und der Fertigung.']},features:{title:"Design und Entwicklung",subtitle:"Design und Entwicklung",items:[{title:"Agentendesign auf der Grundlage von Geschäftsanforderungen",description:"Extrahieren von Anwendungsfällen aus der Geschäftsflussanalyse, Zerlegen von Aufgaben und Klären der Zuständigkeiten von Agenten. Wir bestimmen, ob die Verarbeitung von einem einzelnen Agenten abgeschlossen werden kann oder eine Koordination mehrerer Agenten erfordert, und wählen die optimalen Inferenzmuster wie ReAct, Plan-and-Execute und Reflexion."},{title:"RAG / Werkzeug / Workflow-Integration",description:"Hochpräzise RAG-Pipelines mit Einbettungsgenerierung, Chunk-Strategie und hybrider Suche, standardisierte Verbindung zu externen APIs und Datenbanken mit MCP-konformen Tool-Definitionen und mehrstufige Workflow-Orchestrierung mit LangGraph und CrewAI. Orchestrieren Sie mehrstufige Workflows mit LangGraph und CrewAI."},{title:"Sicherheit und Berechtigungskonzept",description:"Die Zugriffskontrolle der Agentenfunktionen durch RBAC/ABAC, GegenmaÃnahmen für Prompt Injection sowie PII-Erkennung und
318-Maskierung sind implementiert. Audit-Protokolle aller Eingaben und Ausgaben werden aufbewahrt, und der Betrieb einer SOC2- und ISO27001-konformen Umgebung wird unterstützt."},{title:"Umsetzung einschlieÃlich Betrieb und Ãberwachung",description:"Implementierung der Trace-Visualisierung mit LangSmith, Langfuse usw. und Echtzeitüberwachung von Latenz, Token-Verbrauch und Fehlerrate. Aufbau eines kontinuierlichen Verbesserungszyklus mit Warnmeldungen zur Erkennung von Anomalien, Infrastruktur für A/B-Tests und Regressionstests bei der Aktualisierung von Modellen."}]},techStack:{title:"Technologie-Stapel",subtitle:"Plattform und Technologie",categories:{agentFramework:{title:"Agent Framework",items:["AutoGen 0.4 / AG2","CrewAI","LangGraph","OpenAI Agenten SDK","Anthropischer MCP","Google ADK (Agent Development Kit)","Semantischer Kern","Proprietäre Agentenplattform"]},apiLayer:{title:"API-Schicht",items:["FastAPI / Litestar","gRPC / Verbinden","GraphQL-Föderation","Server-gesendete Ereignisse (SSE)","WebSocket / NATS","OAuth 2.1 / OIDC","API-Gateway (Kong / Envoy)","Adaptive Ratenbegrenzung"]},vectorDb:{title:"Vektor DB / RAG",items:["Kiefernzapfen","Weaviate","Qdrant","Milvus","ChromaDB","pgvector","FAISS","Turbopuffer"]}
318,infrastructure:{title:"Infrastruktur",items:["Kubernetes (EKS / GKE / AKS)","Docker/Podman","Vor-Ort-GPU-Cluster","Private Wolke","Serverlos (Lambda / Cloud Run)","OpenTelemetry / Langfuse","Terraform / Pulumi","ArgoCD / Fluss"]}},updateNote:{title:"Wichtigste Aktualisierungspunkte für 2026",description:"Im Agenten-Framework sind offizielle SDKs/Protokolle von groÃen Anbietern wie OpenAI Agents SDK, Anthropic MCP und Google ADK im Kommen; im API-Layer sind gRPC und SSE zum Standard für die Kommunikation zwischen Agenten geworden, und der Ãbergang zu OAuth 2.1 ist im Gange. Im Bereich Vector DB machen Qdrant und Turbopuffer durch ihre Hochgeschwindigkeitssuche auf sich aufmerksam."}},cta:{title:"Kontakt",description:`Wir können Sie bei der Zusammenstellung der Anforderungen beraten. 319PoC und lokale LLM-Konfigurationen können ebenfalls berücksichtigt werden.`,primaryButton:"Kontakt",secondaryButton:"Technische Konsultation"}},zP={title:"Häufig gestellte Fragen",subtitle:"FAQ",items:[{question:"Kann ich meine bestehenden Handbücher und FAQs ohne Ãnderungen verwenden?",answer:"Ja, Sie können es verwenden; es unterstützt die meisten Formate, einschlieÃlich PDF, Word, Excel, HTML und Textdateien. Laden Sie einfach Ihre vorhandenen internen Dokumente so hoch, wie sie sind, und KI lernt den Inhalt und verwendet ihn, um Ihre Fragen zu beantworten. Es ist keine Formatkonvertierung oder spezielle Bearbeitung erforderlich."},{question:"Ist die Verwendung mit Daten, die sensible Informationen enthalten, sicher?",answer:"Ja, Sie können unseren Dienst sicher nutzen. Ob vor Ort (interne Server) oder in einer privaten Cloud-Umgebung, die Daten werden niemals auÃerhalb des Unternehmens übertragen. Wir können Ihnen Konfigurationen vorschlagen, die Ihre Sicherheitsanforderungen erfüllen."},{question:"Wie lange dauert die Umsetzung?",answer:"Ein Standard-FAQ-Bot kann in nur 2-4 Wochen implementiert werden. Wenn eine Integration in bestehende Systeme oder eine erweiterte Anpassung erforderlich ist, veranschlagen wir 1-3 Monate. Wir können auch mit einem PoC (Proof of Concept)
319im kleinen Rahmen beginnen."},{question:"Verwenden Sie externe APIs wie ChatGPT oder Claude?",answer:"Eine Auswahl ist auf Anfrage möglich. Wir unterstützen sowohl Konfigurationen, die externe APIs (OpenAI, Anthropic, Google usw.) verwenden, als auch Konfigurationen, die Open-Source-LLMs (Llama, Mistral, Qwen usw.) verwenden, die vollständig lokal laufen. Wir können Ihnen die beste Konfiguration für Ihre Kosten-, Sicherheits- und Leistungsanforderungen vorschlagen."},{question:"Wie genau ist die Antwort der KI?",answer:"Je nach Anwendung und Datenqualität kann ein richtig konzipiertes RAG-System Fragen, für die relevante Dokumente existieren, mit einer Genauigkeit von 90 % oder mehr beantworten. Mechanismen zur Kontrolle der Halcination (Generierung von fehlerhaften Informationen) sind ebenfalls standardmäÃig eingebaut."},{question:"Unterstützen Sie auch andere Sprachen als Japanisch?",answer:"Ja, mehrsprachige Unterstützung ist verfügbar. Wir unterstützen alle wichtigen Sprachen, einschlieÃlich Japanisch, Englisch, Chinesisch und Koreanisch. Anstatt separate Modelle für jede Sprache zu haben, kann ein einziges System mehrsprachige Abfragen bearbeiten."},{question:"Können Sie sich in bestehende Systeme (CRM, Chat-Tools usw.) integrieren?",answer:"Ja, er kann integriert werden. Er unterstützt die API-Integration mit wichtigen Business-Tools wie Salesforce, HubSpot, Slack, Microsoft Teams und LINE WORKS. Sie können einen KI-Assistenten einbinden, ohne Ihren bestehenden Arbeitsablauf zu ändern."},{question:"Wie ist Ihre Gebührenstruktur?",answer:"Das hängt von der GröÃe und den Anforderungen des Projekts ab. In der Regel werden die Gebühren für den Erstaufbau und den monatlichen Betrieb kombiniert, aber wir akzeptieren auch Anfragen für die Entwicklung von Spotlights oder reine Beratungsleistungen. Bitte teilen Sie uns zunächst Ihre Anforderungen mit. Wir werden Ihnen dann einen groben Kostenvoranschlag unterbreiten."}]},TP={title:"Tarif-Pläne",subtitle:"Preispläne",description:"Flexible Pläne zur Anpassung an die GröÃe Ihres Unternehmens",plans:[{name:"Starthilfe",price:"29.800 Yen",period:"Monatlich/Nutzer",description:"Der beste Plan für kleine Teams. KI-Basisfunktionen zu einem erschwinglichen Preis.",features:["Bis zu 100 Anrufe pro Monat","Grundlegende Transkription","Schlüsselwort-Erkennung","E-Mail-Unterstützung","7 Tage Datenspeicherung"],cta:"Jetzt kostenlos loslegen",popular:!1},{name:"professionell",price:"Â¥79,800",period:"Monatlich/Nutzer",description:"Ideal für wachsende Teams. Erweiterte analytische Funktionen.",features:["Bis zu 500 Anrufe pro Monat","Hochpräzise AI-Transkription","Emotionale Analyse","CRM-Verknüpfung","Vorrangige Unterstützung","30 Tage Datenspeicherung","Benutzerdefinierte Berichte"],cta:"14 Tage kostenloser Test",popular:!0},{name:"Unternehmen",price:"Kontakt",period:"benutzerdefinierte",description:"Voll ausgestattete Pläne für groÃe Organisationen",features:["Unbegrenzte Anrufe","Spezielles AI-Modell","Vor-Ort-Unterstützung","Engagierte Unterstützung","Individuelle Zusammenarbeit","SLA-Garantie","Sicherheitsprüfungen","Unbegrenzte Datenspeicherung"],cta:"Beratung mit dem Vertrieb",popular:!1}],faq:{title:"Häufig gestellte Fragen",items:[{question:"Gibt es eine kostenlose Testversion?",answer:"Ja, eine 14-tägige kostenlose Testversion ist für die Professional-Tarife verfügbar. Für den Start ist keine Kreditkarte erforderlich."},{question:"Kann ich meinen Plan jederzeit ändern?",answer:"Ja, Sie können Ihren Tarif jederzeit erhöhen oder herabstufen. Die Ãnderungen werden mit dem nächsten Abrechnungszyklus wirksam."},{question:"Ist der Vertrag an eine Frist gebunden?",answer:"Monatliche Tarife haben keine Beschränkung der Vertragslaufzeit. Wenn Sie sich für einen Jahresvertrag entscheiden, erhalten Sie einen Rabatt von 20 %."}]}},EP={hero:{badge:"KI-gestützte Technologie",title:"AI-Transkription",description:"Fortschrittliche Modelle für maschinelles Lernen bieten 99,5 % Genauigkeit. KI, die auf Millionen von Kundeninteraktionsdaten trainiert wurde, wandelt Sprache in Text um.",features:["99,5% Genauigkeit","Echtzeitverarbeitung","Unterstützung für mehr als 40 Sprachen"]},features:{title:"Hauptfunktionen",subtitle:"Fortschrittliche Transkriptions-Engine, die über einfache Spracherkennung hinausgeht",items:[{title:"Echtzeit-Transkription",description:"Erhalten Sie Echtzeit-Transkripte während Gesprächen. Gewinnen Sie sofortige Einblicke und verpassen Sie keine Gelegenheit für ein Echtzeit-Coaching."},{title:"mehrsprachige Unterstützung",description:"Unterstützt mehr als 40 Sprachen und deckt globale Teams mit automatischer Spracherkennung ab."},{title:"kontextuelles Verständnis",description:"KI-Modelle, die auf branchenspezifische Terminologie trainiert sind, erkennen technische und geschäftliche Begriffe präzise."},{title:"Lautsprechertrennung",description:"Identifiziert und trennt automatisch verschiedene Sprecher in einem Gespräch und weist ihnen eindeutige Sprechereigenschaften zu."},{title:"benutzerdefiniertes Lexikon",description:"Das Erlernen der eindeutigen Produkt- und Dienstleistungsnamen sowie der Fachbegriffe Ihres Unternehmens sorgt für eine noch höhere Genauigkeit."},{title:"Qualitätssicherung",description:"Automatische Qualitätskontrollen und eine Zuverlässigkeitsbewertung gewährleisten die höchste Qualität der Transkription."}]},useCases:{title:"Verwendungsszenen",subtitle:"Branchen und Teams, die eine genaue Transkription von Anrufen benötigen",items:[{title:"Verkaufsteam",description:"Reflektieren Sie Ihre Verkaufsgespräche und erkennen Sie Erfolgsmuster. Verbessern Sie die Gesprächseffektivität und coachen Sie Teammitglieder mit konkreten Beispielen."},{title:"Kundenbetreuung",description:"Genaue Aufzeichnung von Kundenproblemen. Führen Sie eine umfassende Supporthistorie, um eine gleichbleibende Servicequalität zu gewährleisten."},{title:"Qualitätskontrolle",description:"Ãberwachung der Einhaltung der Vorschriften und Sicherstellung der Befolgung des Drehbuchs. Führen Sie detaillierte Aufzeichnungen für Audits und Schulungen."}]},stats:{accuracy:{value:"99.5%",label:"Transkriptionsgenauigkeit"},languages:{value:"40+",label:"Unterstützte Sprachen"},latency:{value:"<2 Sek.",label:"Verarbeitungsverzögerung"},availability:{value:"24/7",label:"kontinuierliche Verarbeitung"}}
319},RP={hero:{badge:"Intelligente Erkennung",title:"Verfolgung von Schlüsselwörtern",description:"Ãberwachen Sie automatisch Erwähnungen von Mitbewerbern, Gegenargumente und wichtige Themen. Verpassen Sie keine wichtigen Signale aus Kundengesprächen.",badges:["Verfolgung von Wettbewerbern","Antwort-Erkennung","Themenanalyse","benutzerdefiniertes Schlüsselwort"]},features:{title:"Wichtige Informationen verfolgen",subtitle:"Automatische Erkennung und Analyse von Schlüsselwörtern aus allen Gesprächen",items:[{title:"Ãberwachung des Wettbewerbs",description:"Verfolgen Sie Erwähnungen von Mitbewerbern, um zu verstehen, wie potenzielle Kunden Ihre Lösung mit Alternativen auf dem Markt vergleichen."},{title:"Antwort-Erkennung",description:"Erkennen Sie automatisch häufige Einwände und Bedenken und entwickeln Sie effektive Antworten und Schulungen."},{title:"benutzerdefiniertes Schlüsselwort",description:"Definieren und verfolgen Sie benutzerdefinierte Schlüsselwörter und Phrasen, die für Ihr Unternehmen, Ihr Produkt oder Ihre Branche spezifisch sind."},{title:"Trendanalyse",description:"Entdecken Sie neue Trends aus Kundengesprächen und passen Sie Ihre Strategie auf der Grundlage aktueller Marktsignale an."},{title:"Kontextextextraktion",description:"Holen Sie sich den Kontext vor und nach dem Schlüsselwort, nicht nur die Erwähnung des Schlüsselworts. Verstehen Sie nicht nur, was gesagt wurde, sondern auch warum und wie es gesagt wurde."},{title:"Intelligente Suche",description:"Durchsuchen Sie sofort alle Unterhaltungen, um genau herauszufinden, wo und wann ein bestimmtes Thema diskutiert wurde."}]},applications:{title:"Verwendungsszenen",items:{competitive:{title:"Competitive Intelligence",description:"Tiefes Verständnis der Wettbewerbslandschaft:",points:["Verfolgen Sie Ihre am häufigsten erwähnten Konkurrenten","Verstehen, wie potenzielle Kunden Merkmale und Preise vergleichen","Identifizieren Sie Ihre Wettbewerbsvorteile und Schwächen","Schaffung wirksamer wettbewerbswidriger Materialien"]},objections:{title:"Erwiderung einer Gegendarstellung",description:"Verwandeln Sie eine Widerlegung in eine Chance:",points:["Identifizieren Sie die häufigsten Kundenanliegen","Analysieren Sie die Antworten der Leistungsträger","Playbook mit bewährter Reaktion.","Trainieren Sie Ihr Team mit effektiven Turnarounds"]},product:{title:"Produkt-Einblicke",description:"Förderung der Produktentwicklung durch Kundenfeedback:",points:["Identifizierung der am meisten gewünschten Funktionen","Verstehen der Herausforderungen für die aktuelle Funktionalität","Entdecken Sie unerwartete Anwendungsfälle","Priorisierung der Roadmap auf der Grundlage der Kundenbedürfnisse"]},compliance:{title:"Einhaltung der Vorschriften und Qualität",description:"Sicherstellung der Einhaltung von Vorschriften und der Qualität:",points:["Ãberwachung der erforderlichen Angaben und der Rechtssprache","Kennzeichnung von Gesprächen, die gegen die Richtlinien verstoÃen könnten","Verfolgung der Einhaltung von Skripten und bewährten Verfahren","Erstellung von Compliance-Berichten für Audits"]}}},advancedFeatures:{title:"Erweiterte Funktionen",items:[{title:"mehrdeutiger Abruf",description:"Automatische Erkennung von Schlüsselwortvarianten, Synonymen und verwandten Begriffen ohne manuelle Konfiguration."},{title:"historische Analyse",description:"Analysieren Sie Keyword-Trends im Zeitverlauf, um saisonale Muster und neue Themen zu erkennen."},{title:"Warnmeldungen in Echtzeit",description:"Erhalten Sie sofortige Benachrichtigungen, wenn wichtige Schlüsselwörter in Live-Unterhaltungen erwähnt werden."}]}},NP={hero:{badges:["Unternehmen","Lokaler LLM","Interner Serverbetrieb"],title:"Vor-Ort-LLM-Konstruktion",description:"Betreiben Sie LLM in Ihrer eigenen Umgebung und halten Sie die Daten auÃerhalb des Unternehmens."},mission:{title:"Ãberblick über den LLM-Bauservice vor Ort",paragraphs:["Für Unternehmen, die vertrauliche Daten nicht nach auÃen geben dürfen, erstellen wir eine LLM-Umgebung, die auf ihren eigenen Servern oder in einer privaten Cloud ausgeführt werden kann. Diese Lösung ist ideal für Organisationen, die ein strenges Informationsmanagement benötigen, wie z. B. Finanzinstitute, medizinische Einrichtungen, Regierungsbehörden und Forschungsinstitute, da sie keine öffentliche API verwendet und die gesamte Verarbeitung innerhalb der vom Kunden verwalteten Infrastruktur erfolgt.","Wir bieten umfassende Unterstützung von der Modellauswahl über die Serverkonstruktion und die Optimierung der Inferenzmaschine bis hin zur Betriebsüberwachung. Dabei verwenden wir handelsübliche Modelle mit offenem Gewicht wie Llama 3.3, Qwen 2.5, Mistral und DeepSeek mit Hochleistungs-Inferenzmaschinen wie vLLM, Ollama und SGLang. Diese Modelle werden auf Hochleistungs-Inferenzmaschinen wie vLLM, Ollama und SGLang ausgeführt, um eine Inferenzumgebung mit niedriger Latenz und hohem Durchsatz zu schaffen.","Wir unterstützen eine breite Palette von Anwendungsfällen wie die Integration in bestehende Systeme, Chatbots, interne RAGs, Dokumentenzusammenfassung und Codegenerierung. Wir können die Anforderungen von Unternehmen erfüllen, einschlieÃlich Geschäftsspezialisierung durch Modellfeinabstimmung, NVIDIA GPU / Apple Silicon Optimierung, mandantenfähiges Design, API-Gateway-Konstruktion und mehr."]},summary:{title:"Vor-Ort-LLM-Trends",paragraphs:["In den Jahren 2025-2026 verbessert sich der Nutzen von LLMs vor Ort rapide. Die Leistung offener gewichteter Modelle hat die geschlossener Modelle überholt, und die Zahl der Modelle, die mit kommerziell verfügbaren Lizenzen angeboten werden, hat die Hürde für den internen Betrieb deutlich gesenkt.","Die Modelle mit 8B bis 70B Parametern haben ein praktisches Niveau für viele Geschäftsaufgaben erreicht, die GGUF-Quantisierung ermöglicht Hochgeschwindigkeitsinferenz sogar auf Consumer-GPUs.","Bei den Inferenz-Engines erhöhen Continuous Batching und PagedAttention von vLLM den Durchsatz dramatisch, und RadixAttention von SGLang beschleunigt komplexe Interaktionen mit mehreren Umdrehungen. Ollama hat sich zum De-facto-Standard für lokale Entwicklungsumgebungen entwickelt, und llama.cpp ist Apple Silicon, das für schnelle Inferenzen auf Macs der M-Serie optimiert ist.","Bei der Einführung in Unternehmen wird neben der Datensouveränität und der Einhaltung von Vorschriften auch die langfristige Kostenoptimierung (Abkehr von der Abrechnung nach Aufwand) immer mehr zu einem Motiv für die Einführung. Hybride Konfigurationen (lokal für sensible Verarbeitungen und Cloud-API für allgemeine Verarbeitungen) sind eine gängige Option geworden."],icons:[{label:`Privat 320Wolke`},{label:`Daten 321Souveränität`},{label:`Kosten 322Optimierung`},{label:`Unternehmen 323Sicherheit`}]},features:{title:"Design- und Entwicklungsmerkmale",subtitle:"Design und Entwicklung",items:[{title:"Infrastrukturdesign und GPU-Optimierung",description:"Entwerfen Sie die optimale Hardwarekonfiguration für Ihre Arbeitslast und Ihr Budget, einschlieÃlich NVIDIA A100/H100, RTX 4090/5090 und Apple Silicon (M2 Ultra/M3 Max/M4 Max), und erstellen Sie eine Inferenzumgebung, die die GPU-Leistung durch CUDA-, MPS- und Metal-Optimierung voll ausschöpft. CUDA-, MPS- und Metal-Optimierung zur Maximierung der GPU-Leistung."},{title:"Modellauswahl und Optimierung",description:"Auswahl des optimalen Modells aus Llama, Qwen, Mistral, DeepSeek usw. unter Berücksichtigung der Aufgabenmerkmale, Sprachanforderungen und Ressourcenbeschränkungen. Quantisierung (GGUF/AWQ/GPTQ), KV-Cache-Optimierung und Stapelverarbeitungsoptimierung werden verwendet, um sowohl Genauigkeit als auch Durchsatz zu erreichen."},{title:"Konstruktion der Inferenzmaschine",description:"Wählen und erstellen Sie Inferenz-Engines wie vLLM, SGLang, Ollama, TGI usw. entsprechend Ihrer Anwendung, und wenden Sie die neuesten Technologien wie Continuous Batching, Speculative Decoding und Prefix Caching an, um Inferenz-APIs mit niedriger Latenz und hohem Durchsatz bereitzustellen. Wir bieten Inferenz-APIs mit niedriger Latenz und hohem Durchsatz."},{title:"Betrieb, Ãberwachung und Sicherheit",description:"Implementieren Sie die Ãberwachung aussagekräftiger Metriken mit Prometheus/Grafana, Zugriffskontrolle mit API-Gateway, Prüfprotokolle, automatische Skalierung und Fehlerbehebung. Erstellen Sie eine Produktionsbetriebsumgebung, die die Sicherheitsanforderungen des Unternehmens erfüllt."}]},techStack:{title:"Technologie-Stapel: Vor-Ort-LLM",subtitle:"Plattform und Technologie",categories:{openWeightModels:{title:"Modelle mit offenem Gewicht",items:["Llama 3.3 70B / 8B","Qwen 2.5 72B / 32B / 7B","Mistral Large / Nemo","DeepSeek V3 / R1","Gemma 2 27B / 9B","Phi-4","Befehl R (Cohere)"]},japaneseModels:{title:"Japan-spezifisches Modell",items:["ELYZA-Japanisch-Lama-2","Schwalbe 70B / 13B","Japanisches Lama-3","Qwen-2.5-Japanese","K
323arakuri-LM"]},inferenceEngine:{title:"Inferenzmaschine",items:["vLLM (Kontinuierliches Batching)","SGLang (RadixAttention)","Ollama (lokale Entwicklung)","llama.cpp (Apple Silicon)","TGI (Umarmendes Gesicht)","TensorRT-LLM (NVIDIA)","ExLlamaV2 (Quantisierungsspezialisierung)"]},quantization:{title:"Quantisierung",items:["GGUF (Lama.cpp Standard)","AWQ (hohe Präzision 4bit)","GPTQ (GPU-Optimierung)","BitsundBytes(8bit/4bit)","EETQ (Effiziente Wirkungsgradquantisierung)"]},hardware:{title:"Hardware",items:["NVIDIA H100 / A100","NVIDIA L40S / A10G","RTX 4090 / 5090","Apple Silizium M2 Ultra","Apple Silizium M3/M4 Max","AMD MI300X"]},infrastructure:{title:"Infrastruktur",items:["Docker / Kubernetes","NVIDIA Triton-Server","API-Gateway (Kong / Envoy)","Prometheus / Grafana","Private Cloud (VMware/OpenStack)","Unterstützung für eine luftdurchlässige Umgebung"]}},updateNote:{title:"Wichtigste Aktualisierungspunkte für 2026",description:"Bei den Modellen mit offenem Gewicht erreicht Llama 3.3 eine Allzweckleistung der Klasse GPT-4 und verbessert die Leistung der japanischen Sprache erheblich; die Qwen 2.5-Serie erweitert die Auswahl mit einer Vielzahl von GröÃen und ausgewogener Leistung; DeepSeek V3/R1 zieht die Aufmerksamkeit auf seine Inferenzkostenleistung; und die Inferenzmaschinen vLLM 2.0 Chunked Prefill und SGLang's RadixAttention beschleunigen Multiturn-Dialoge. In der Inferenz-Engine beschleunigen Chunked Prefill von vLLM 2.0 und RadixAttention von SGLang Multiturn-Interaktionen; die Apple Silicon Optimierung von llama.cpp macht die Inferenz von 70B-Modellen auf M4 Max praktikabel; und die Quantisierungs-Technologie bietet 4-Bit-Präzision und hohe Leistung. Durch die Quantisierungstechniken wurden sowohl eine 4-Bit-Präzision als auch eine hohe Inferenzgeschwindigkeit erreicht, und GGUF wurde zum De-facto-Standardformat."}},cta:{title:"Kontakt",description:`Wir können Sie bei der Zusammenstellung der Anforderungen beraten. 324PoC und lokale LLM-Konfigurationen können ebenfalls berücksichtigt werden.`,primaryButton:"Kontakt",secondaryButton:"Technische Konsultation"}},GP={hero:{badges:["Unternehmen","RAG","Generierung von Sucherweiterungen"],title:"Vector / RAG Entwicklung",description:"Aufbau eines RAG-Systems zur Verknüpfung von internem Wissen mit LLM"},mission:{title:"Vector / RAG Development Services Ãberblick",paragraphs:["Wir werden ein RAG-System (Search Extension Generation) aufbauen, das es den Mitarbeitern ermöglicht, in natürlicher Sprache zu suchen und Fragen zu stellen, indem die im Unternehmen angesammelten Wissensbestände mit LLM verknüpft werden. Wir integrieren verschiedene Datenquellen wie Handbücher, Protokolle, technische Dokumente, FAQs, Slack-Verlauf, Confluence, SharePoint usw., um eine Umgebung zu schaffen, in der organisatorisches Wissen sofort genutzt werden kann.","Wir maximieren die Suchgenauigkeit und Antwortqualität, indem wir neben der einfachen Dokumentensuche die neuesten Technologien wie Hybrid Search (Vektorsuche + Schlagwortsuche), Reranking, hierarchisches Chunking, Metadatenfilterung usw. einsetzen. Wir geben die Quelle der Antwort eindeutig an, um sowohl die Halbierung der Suchergebnisse zu verhindern als auch die Zuverlässigkeit zu gewährleisten.","Wir unterstützen eine Vielzahl von Umgebungen, darunter AWS, GCP, Azure und On-Premise, und integrieren uns in die bestehende Authentifizierungsinfrastruktur und das Autoritätsmanagement. Wir bieten konsistente Unterstützung für die Aufrechterhaltung der Datenaktualität (differenzielle Updates und automatische Neuindizierung), die Analyse von Nutzungsprotokollen und die kontinuierliche Verbesserung der Genauigkeit."]},summary:{title:"RAG-Technologie-Trends",paragraphs:['Zwischen 2025 und 2026 tritt die RAG-Technologie in die Phase "Basisimplementierung bis Produktionsqualität" ein. Neben der einfachen Vektorsuche sind die Hybridsuche, die mehrere Suchmethoden kombiniert, das Reranking, das die Suchergebnisse neu ordnet, und die Query Decomposition, die komplexe Fragen zerlegt und verarbeitet, zu Standardkonfigurationen geworden.',"Auch die Chunking-Strategien haben sich weiterentwickelt: Hierarchisches Chunking, das die Struktur des Dokuments berücksichtigt, überlappende Chunks und multimodales Chunking, bei dem Tabellen und Abbildungen getrennt verarbeitet werden, tragen alle zur Verbesserung der Genauigkeit bei. Contextual Retrieval (das Hinzufügen von Kontextinformationen zu Chunks) hat sich ebenfalls als sehr effektiv erwiesen.","Für die Auswahl der Vektor-DB bieten neben verwalteten Die
324nsten wie Pinecone, Weaviate, Qdrant und Milvus auch PostgreSQL pgvector und lokales FAISS eine breite Palette von Optionen, um Ihre Anforderungen zu erfüllen. Auch Einbettungsmodelle sind verfügbar, darunter Text-Embedding-3-large, Cohere Embed v3 und mehrsprachige Modelle.",'Bei der Bereitstellung in Unternehmen sind die Verknüpfung von Autoritätsmanagement (ACL), die Maskierung von PII, Audit-Protokolle und ein mandantenfähiges Design wesentliche Anforderungen, und es besteht die Notwendigkeit, von einem "funktionierenden PoC" zu einem "produktionsreifen Produktionssystem" überzugehen.'],icons:[{label:`Hybride 325Suche`},{label:`Multimodal 326RAG`},{label:`Agentisch 327RAG`},{label:`Unternehmen 328Sicherheit`}]},features:{title:"Design- und Entwicklungsmerkmale",subtitle:"Design und Entwicklung",items:[{title:"Datenerfassung und Vorverarbeitungspipeline",description:"Datenextraktion und -bereinigung aus PDF, Word, Excel, HTML, Markdown, Slack, Confluence, SharePoint, usw. Multimodale Unterstützung einschlieÃlich OCR, Tabellenstrukturanalyse und Generierung von Bildunterschriften. Aufrechterhaltung der Aktualität durch differenzierte Updates und geplante Ausführung."},{title:"Entwurf eines hochpräzisen Suchsystems",description:"Konstruieren Sie eine hochpräzise Suche, die Vektorsuche + BM25-Hybridsuche, Reranking durch Cohere Rerank / Cross-Encoder sowie Query Expansion und Decomposition kombiniert. Metadatenfilterung und erlaubnisbasierte Zugriffskontrolle sind ebenfalls implementiert."},{title:"Antwortgenerierung und Qualitätskontrolle",description:"Verbesserte Antwortqualität durch Kontextoptimierung, Few-shot Prompts und Chain-of-Thought-Inferenz. Quellenklärung, Anzeige des Konfidenzwerts und Erkennung von Halcinationen sorgen für Zuverlässigkeit im geschäftlichen Einsatz."},{title:"Betrieb und Verbesserungszyklus",description:"Wir bieten operative Unterstützung, einschlieÃlich der Analyse von Nutzungsprotokollen, der Ãberwachung der Suchtrefferquote und der Antwortzufriedenheit, der kontinuierlichen Verbesserung durch Feedbackschleifen, der Infrastruktur für A/B-Tests, der Aktualisierung des Einbettungsmodells und der Ãberprüfung der Chunking-Strategie."}]},techStack:{title:"Technologie-Stack: Vektor / RAG",subtitle:"Plattform und Technologie",categories:{embeddingModels:{title:"Modelle einbetten",items:["OpenAI Texteinbettung-3-groÃ","Cohere Embed v3","Reise AI","Jina Einbettungen v3","BGE-M3 (mehrsprachig)","mehrsprachig-e5-groÃ","Japan-s
328pezifische Modelle"]},vectorDatabases:{title:"Vektordatenbanken",items:["Tannenzapfen (verwaltet)","Weaviate (Hybride Suche)","Qdrant (hohe Leistung)","Milvus (groÃer MaÃstab)","Chroma (Leichtgewicht)","PostgreSQL pgvector","FAISS (lokal)"]},chunking:{title:"Chunking & Verarbeitung",items:["hierarchisches Chunking","Semantisches Chunking","Ãberlappende Chunks","Satzfenster","Kontextbezogenes Abrufen","Tabellen- und Diagrammbearbeitung","Multimodale Unterstützung"]},search:{title:"Suche und Abrufe",items:["Hybride Suche (Vektor + BM25)","Cohere Rerank","Encoder-übergreifendes Reranking","Erweiterung und Zerlegung von Abfragen","HyDE (Hypothetische Dokumentengenerierung)","Selbstabfrage-Abruf","Abruf mehrerer Abfragen"]}},updateNote:{title:"Wichtigste Aktualisierungspunkte für 2026",description:"Beim Einbettungsmodell wurden Text-Embedding-3-large und Cohere Embed v3 zum Unternehmensstandard, und die Leistung in japanischer Sprache verbesserte sich erheblich; Contextual Retrieval erwies sich als effektiv, und das Hinzufügen von Kontext zu Chunks wurde zur Standardmethode. Hybrid Search + Reranking ist zu einer obligatorischen Konfiguration für die Suche geworden, wodurch die Zahl der Konfigurationen, die sich auf die einfache Vektorsuche beschränken, verringert wurde, und Agentic RAG (Agenten wählen dynamisch Suchstrategien aus) wird in der Praxis eingesetzt. Auf der operativen Seite wird der Schwerpunkt auf die Einführung von Qualitätsmessungs- und Verbesserungszyklen unter Verwendung von RAG-Bewertungsrahmen (RAGAS, LangSmith) gelegt."}},cta:{title:"Kontakt",description:`Wir können Sie bei der Zusammenstellung der Anforderungen beraten. 329PoC und lokale LLM-Konfigurationen können ebenfalls berücksichtigt werden.`,primaryButton:"Kontakt",secondaryButton:"Technische Konsultation"}},OP={hero:{badges:["Voller Stapel","LLM-Integration","API-Entwurf"],title:"AI-Anwendungsentwicklung",description:"Entwurf und Entwicklung praktischer Anwendungen, die das LLM nutzen"},mission:{title:"Ãberblick über den AI-Anwendungsentwicklungsservice",paragraphs:["Wir bieten Design und Entwicklung von KI-Anwendungen, die durch die Analyse von Daten, die von externen APIs mit LLM erfasst werden, einen geschäftlichen Mehrwert schaffen, indem wir APIs mit verschiedenen Datenquellen wie CRM, ERP, SaaS, IoT-Sensoren und sozialen Medien verknüpfen und erfasste Daten in Echtzeit in LLM einspeisen. Wir ermöglichen fortschrittliche Datenanalysen, die mit herkömmlichen BI-Tools nicht möglich sind, wie z. B. die Erstellung von Analyseberichten mit natürlicher Sprache, die Erkennung von Anomalien, die Trendvorhersage und die automatische Klassifizierung.","Es handelt sich nicht nur um eine einfache API-Integration, sondern auch um die Integration mehrerer Datenquellen, die Datenbereinigung und die Konvertierung in ein Format, das für LLM durch strukturierte Verarbeitung leicht zu interpretieren ist. Promptes Engineering maximiert die Genauigkeit der Analyse und erzeugt eine auf die Geschäftsanforderungen spezialisierte Ausgabe. Wir entwickeln praktische Anwendungen, die Daten und KI kombinieren, z. B. Verkaufsdaten zur Vorhersage von Geschäftsverhandlungen, Kundensupportprotokolle zur Durchführung von VoC-Analysen und Sensordaten zur Bereitstellung von Wartungsempfehlungen für Geräte.","Wir unterstützen eine Vielzahl von Schnittstellen wie Webanwendungen, mobile Anwendungen, Slack/Teams-Integration und periodische Batch-Verarbeitung. Wir bieten konsistente Unterstützung von der Anforderungsdefinition über das API-Design und die Implementierung der LLM-Integration bis hin zum Produktionsbetrieb."]},summary:{title:"Trends in der Entwicklung von KI-Anwendungen",paragraphs:['Von 2025 bis 2026 tritt die Entwicklung von KI-Anwendungen in eine praktische Phase ein, die auf "API-Integration x LLM-Analyse" basiert. Die Analyse unstrukturierter Daten und die Generierung von Erkenntnissen in natürlicher Sprache, die von herkömmlichen BI-Tools und Dashboards nicht bewältigt werden können, werden allmählich in die Unternehmenssysteme integriert.',"Besonders hervorzuheben ist die Weiterentwicklung der LLM-Funktionalität für strukturierte Ausgabe, die eine strikte JSON-Schema-konforme Ausgabesteuerung ermöglicht und eine durchgängig automatisierte Pipeline Realität werden lässt, bei der über APIs erfasste Daten von LLM analysiert und die Ergebnisse direkt in nachfolgende Systeme eingespeist werden. Die mehrstufige Ausführung von Fu
329nction Calling ermöglicht es, die Datenerfassung, -integration und -analyse über mehrere APIs hinweg in einem einzigen Arbeitsablauf zu verarbeiten.","In der Datenverarbeitungsinfrastruktur hat sich Polars als Standard für die Hochgeschwindigkeitsverarbeitung herauskristallisiert, und in Kombination mit der Streaming-Verarbeitung ermöglicht es Echtzeitanalysen.","Bei Unternehmensimplementierungen haben sich die Anforderungen von einer einmaligen PoC-Entwicklung zu einem skalierbaren Design für den Produktionsbetrieb verlagert, was ein umfassendes Architekturdesign erfordert, das Kostenoptimierung, Fehlerbehandlung und Audit-Protokollunterstützung umfasst."],icons:[{label:`Agentisch 330KI`},{label:`MCP 331Protokoll`},{label:`Multi 332Agent`},{label:`Mensch-auf 333-the-Loop`}]},features:{title:"Design- und Entwicklungsmerkmale",subtitle:"Design und Entwicklung",items:[{title:"API-Integration und Entwurf der Datenerfassung",description:"Aufbau einer Datenerfassungsinfrastruktur, die verschiedene Protokolle wie REST API, GraphQL, WebSocket und Webhook unterstützt. Wir entwickeln eine stabile Datenerfassungspipeline, indem wir Authentifizierungsprozesse (OAuth, API-Schlüssel, JWT), Ratenbegrenzung und Wiederholungsmechanismen implementieren. AuÃerdem unterstützen wir die Datenintegration, die Zeitplanung und die differenzierte Erfassung von mehreren APIs."},{title:"Vorverarbeitung und Strukturierung von Daten",description:"Konvertiert Rohdaten in ein Format, das von LLM effizient analysiert werden kann, einschlieÃlich JSON-Parsing, Datenbereinigung, Normalisierung und Verarbeitung fehlender Werte, und führt eine optimale Datensegmentierung und -zusammenfassung unter Berücksichtigung von Kontextfenstereinschränkungen durch. Die Zuweisung von Metadaten gewährleistet die Nachvollziehbarkeit der Analyseergebnisse."},{title:"LLM-Analyse und prompter Entwurf",description:"Maximieren Sie die Genauigkeit der Datenanalyse durch die Entwicklung von Vorlagen, die speziell auf Ihre Geschäftsanforderungen zugeschnitten sind. Wir erstellen Analysepipelines für Klassifizierung, Zusammenfassung, Stimmungsanalyse, Erkennung von Anomalien, Erstellung von Prognosen usw. Wir verwenden Function Calling und Structured Output, um Output in einem Format zu generieren, das leicht in nachfolgende Systeme integriert werden kann."},{title:"Implementierung und Betrieb der Anwendung",description:"Wir stellen die Analyseergebnisse über eine Vielzahl von Schnittstellen bereit, darunter FastAPI, Webanwendungen mit Next.js usw., Slack/Teams Bot und geplante Batch-Ausführung. Dashboards, Benachrichtigungen und automatische Berichtserstellung werden implementiert und in einer Form bereitgestellt, die Geschäftsanwender sofort nutzen können. Wir bieten auch Betriebsüberwachung, Kostenoptimierung und kontinuierliche Verbesserung."}]},techStack:{title:"Technologie-Stapel: AI-Anwendungsentwicklung",subtitle:"Plattform und Technologie",categories:{apiIntegration:{title:"API-Integration",items:["REST / GraphQL / WebSocket","OAuth 2.1 / API key / JWT","Webhook/Abfrage","Apache Airflow / Präfekt","Staudensellerie / Temporal","Anfragen / httpx / aiohttp","Ratenbegrenzung / Wiederholung","Datenüberprüfung (Pydantic)"]},dataProcessing:{title:"Datenverarbeitung",items:["Pandas / Polare","JSON/JSONL-Parser","Datenbereinigungs-Pipeline","Apache Spark (Verarbeitung in groÃem MaÃstab)","dbt (Datenkonvertierung)","GroÃe Erwartungen","Deltasee / Eisberg","Streaming (Kafka / Flink)"]},llmCloud:{title:"Wolke LLM",items:["OpenAI GPT-4o / GPT-4.1","Claude 3.5 / Claude 4","Zwilling 2.0 / Zwilling 2.5","Befehl R+ (Cohere)","Mistral Large"]},llmLocal:{title:"Lokaler LLM",items:["Llama 3.3 / Llama 4","Mistral / Mixtral","Qwen 2.5 / Qwen 3","DeepSeek V3 / R1","Gemma 2 / Gemma 3","Phi-4","ELYZA / Swallow (spezialisiert auf Japanisch)","Befehl R (Cohere)"]},inference:{title:"Schlussfolgerung / Rahmen",items:["vLLM / SGLang","Ollama / llama.cpp","LiteLLM-Vollmacht","Funktion Aufrufen","Strukturierte Ausgabe","Eingabeaufforderung Template Engine","LangChain / LlamaIndex","Proprietäre Analyse-Pipeline"]},application:{title:"Anwendungsschicht",items:["FastAPI / Litestar","Next.js / React","Slack SDK / Teams SDK","Streamlit / Gradio","Geplante Aufträge (Cron / Cloud Scheduler)","PostgreSQL / MongoDB","Redis (Cache / Warteschlange)","Docker / Kubernetes"]}},updateNote:{title:"Wichtigste Aktualisierungspunkte für 2026",description:"Im Bereich der LLM-Analyse ist die Funktionalität der strukturierten Ausgabe von GPT-4.1 und Claude 4 ausgereift, um eine strikte JSON-Schema-konforme Ausgabesteuerung zu standardisieren, und die mehrstufige Ausführung von Fu
333nktionsaufrufen ermöglicht eine komplexe Datenerfassung und -analyse über mehrere APIs hinweg in einer einzigen Pipeline. Die mehrstufige Ausführung von Funktionsaufrufen ermöglicht eine komplexe Datenerfassung und -analyse über mehrere APIs in einer einzigen Pipeline. In der Datenverarbeitung hat sich Polars als Alternative zu Pandas für die Hochgeschwindigkeitsverarbeitung etabliert und erleichtert in Kombination mit der Streaming-Verarbeitung den Aufbau einer Echtzeit-Analyseinfrastruktur. Auf der Anwendungsebene ist die Integration externer Tools mit MCP inzwischen gang und gäbe und beschleunigt die Entwicklung agentenbasierter Anwendungen, bei denen LLMs eigenständig APIs aufrufen, um Daten zu erfassen und zu analysieren."}},cta:{title:"Kontakt",description:`Wir können Sie bei der Zusammenstellung der Anforderungen beraten. 334PoC und lokale LLM-Konfigurationen können ebenfalls berücksichtigt werden.`,primaryButton:"Kontakt",secondaryButton:"Technische Konsultation"}},BP={seo:gP,header:hP,hero:fP,mission:kP,businessServices:bP,features:yP,businessProcess:vP,story:AP,contact:xP,footer:LP,cookiePolicy:PP,about:wP,portfolio:SP,common:IP,privacyPolicy:MP,termsOfService:jP,weatherMap:CP,agentDevelopment:DP,faq:zP,pricing:TP,aiTranscription:EP,keywordTracking:RP,onPremiseLLM:NP,vectorRAG:GP,aiAppDevelopment:OP},KP="https://telet.ai",VP=["ja","en","th","ms","id","zh","ko","es","pt","de"],FP=["home","about","privacy","terms","cookies","portfolio","agent-development","on-premise-llm","vector-rag","ai-app-development"];function Ql(n){return!!(n&&VP.includes(n))}function op(n){return!!(n&&FP.includes(n))}function on(n,t="home",s=null){const o=[n];return t!=="home"&&o.push(t),t==="portfolio"&&s&&o.push(s),`/${o.map(encodeURIComponent).join("/")}/`}function Ml(n,t="home",s=null){return`${KP}${on(n,t,s)}`}function Bi(n){const t=n.pathname.split("/").filter(Boolean).map(decodeURIComponent),s=Ql(t[0])?t[0]:null,o=s&&op(t[1])?t[1]:null,d=n.searchParams.get("lang"),p=n.searchParams.get("page"),c=s||(Ql(d)?d:null),g=o||(op(p)?p:"home"),h=g==="portfolio"&&(o?t[2]:n.searchParams.get("project"))||null;return{language:c,page:g,project:h}}const Jl={ja:{code:"ja",name:"æ¥æ¬èª"},en:{code:"en",name:"English"},th:{code:"th",name:"à¹à¸à¸¢"},ms:{code:"ms",name:"Bahasa Malaysia"},id:{code:"id",name:"Bahasa Indonesia"},zh:{code:"zh",name:"䏿"},ko:{code:"ko",name:"íêµì´"},es:{code:"es",name:"Español"},pt:{code:"pt",name:"Português"},de:{code:"de",name:"Deutsch"}},Ct={ja:Av,en:Hv,th:yA,ms:UA,id:kx,zh:Wx,ko:hL,es:VL,pt:pP,de:BP};function WP(){const n=navigator.language.split("-")[0];return n in Ct?n:"en"}function Zl(){return typeof window>"u"?null:Bi(new URL(window.location.href)).language}function qP(){if(typeof window<"u"){const n=Zl();if(n)return n;const t=localStorage.getItem("telet-language");return t&&t in Ct?t:WP()}return"en"}const Gg=T.createContext(void 0);function UP({children:n}){const[t,s]=T.useState(qP),o=p=>{s(p),localStorage.setItem("telet-language",p);const c=Bi(new URL(window.location.href));window.history.replaceState({},"",on(p,c.page,c.project))},d=p=>{const c=p.split(".");let g=Ct[t];for(const h of c)if(g&&typeof g=="object"&&h in g)g=g[h];else{g=Ct.en;for(const b of c)if(g&&typeof g=="object"&&b in g)g=g[b];else return p;break}return g??p};return T.useEffect(()=>{const p=Zl();if(p){p!==t&&s(p),localStorage.setItem("telet-language",p);return}const c=localStorage.getItem("telet-language");c&&c in Ct&&c!==t&&s(c)},[]),T.useEffect(()=>{const p=()=>{const c=Zl();c&&Ql(c)&&(s(c),localStorage.setItem("telet-language",c))};return window.addEventListener("popstate",p),()=>window.removeEventListener("popstate",p)},[]),T.useEffect(()=>{document.documentElement.lang=t},[t]),l.jsx(Gg.Provider,{value:{language:t,setLanguage:o,t:d,translations:Ct[t]},children:n})}function Oe(){const n=T.useContext(Gg);if(n===void 0)throw new Error("useI18n must be used within an I18nProvider");return n}function lp(){const{language:n,setLanguage:t}=Oe(),[s,o]=T.useState(!1),d=T.useRef(null);T.useEffect(()=>{function g(h){d.current&&!d.current.contains(h.target)&&o(!1)}if(s)return document.addEventListener("mousedown",g),()=>{document.removeEventListener("mousedown",g)}},[s]);const p=g=>{t(g),o(!1)},c=Jl[n];return l.jsxs("div",{className:"relative",ref:d,children:[l.jsxs("button",{onClick:()=>o(!s),className:"flex items-center gap-2 px-3 py-2 rounded-lg border border-border bg-background hover:bg-muted/50 transition-colors","aria-label":"Change language",children:[l.jsx(Ld,{className:"w-4 h-4"}),l.jsx("span",{className:"text-sm font-medium",children:c.code.toUpperCase()})]}),s&&l.jsx("div",{className:"absolute right-0 mt-2 w-48 rounded-lg border border-border bg-background shadow-lg z-50 max-h-80 overflow-y-auto",children:l.jsx("div",{className:"p-2",children:Object.entries(Jl).map(([g,h])=>l.jsxs("button",{onClick:()=>p(g),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${n===g?"bg-blue-900 text-white":"hover:bg-muted/50"}`,children:[l.jsx("span",{className:"text-xs font-mono w-6",children:h.code.toUpperCase()}),l.jsx("span",{className:"text-sm font-medium",children:h.name})]},g))})})]})}function Og({onNavigate:n}={}){const[t,s]=T.useState(!1),{language:o,t:d}=Oe(),p=on(o,"about"),c=(h,b)=>{b&&n&&(h.preventDefault(),n(b),s(!1))},g=(h,b)=>{h.preventDefault(),s(!1);const f=document.getElementById(b);f?f.scrollIntoView({behavior:"smooth"}):n&&(n("home"),setTimeout(()=>{const y=document.getElementById(b);y&&y.scrollIntoView({behavior:"smooth"})},100))};return l.jsxs("header",{className:"border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 sticky top-0 z-50 responsive-header",children:[l.jsxs("div",{className:"container flex h-16 items-center justify-between px-4 mx-auto max-w-6xl responsive-header-inner",children:[l.jsxs("a",{href:"#home",className:"flex items-center space-x-3 cursor-pointer",onClick:h=>c(h,"home"),children:[l.jsx("span",{className:"text-[22px] sm:text-2xl font-bold brand-accent",children:"( ;"}),l.jsx("span",{className:"text-xl font-bold",children:" telet.ai"})]}),l.jsxs("nav",{className:"hidden md:flex items-center space-x-8 responsive-header-nav",children:[l.jsx("a",{href:"#services",className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>
334g(h,"services"),children:d("header.nav.services")}),l.jsx("a",{href:"#portfolio",className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>c(h,"portfolio"),children:d("header.nav.portfolio")}),l.jsx("a",{href:p,className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>c(h,"about"),children:d("header.nav.about")}),l.jsx("a",{href:"#contact-form",className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>g(h,"contact-form"),children:d("header.nav.contact")}),l.jsx(lp,{})]}),l.jsxs("div",{className:"flex items-center gap-2 md:hidden",children:[l.jsx(lp,{}),l.jsx("button",{onClick:()=>s(!t),children:t?l.jsx(Qy,{className:"h-6 w-6"}):l.jsx(Dy,{className:"h-6 w-6"})})]})]}),t&&l.jsx("div",{className:"md:hidden border-t bg-background",children:l.jsxs("nav",{className:"flex flex-col space-y-4 p-4",children:[l.jsx("a",{href:"#services",className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>g(h,"services"),children:d("header.nav.services")}),l.jsx("a",{href:"#portfolio",className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>c(h,"portfolio"),children:d("header.nav.portfolio")}),l.jsx("a",{href:p,className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>c(h,"about"),children:d("header.nav.about")}),l.jsx("a",{href:"#contact-form",className:"text-muted-foreground hover:text-foreground transition-colors",onClick:h=>g(h,"contact-form"),children:d("header.nav.contact")})]})})]})}const _P="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODgiIGhlaWdodD0iODgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBvcGFjaXR5PSIuMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIzLjciPjxyZWN0IHg9IjE2IiB5PSIxNiIgd2lkdGg9IjU2IiBoZWlnaHQ9IjU2IiByeD0iNiIvPjxwYXRoIGQ9Im0xNiA1OCAxNi0xOCAzMiAzMiIvPjxjaXJjbGUgY3g9IjUzIiBjeT0iMzUiIHI9IjciLz48L3N2Zz4KCg==";function sa(n){const[t,s]=T.useState(!1),o=()=>{s(!0)},{src:d,alt:p,className:c,lazy:g=!0,loading:h,...b}=n,f=h??(g?"lazy":"eager");return t?l.jsx("div",{className:`inline-block bg-gray-100 text-center align-middle ${c??""}`,children:l.jsx("div",{className:"flex items-center justify-center w-full h-full",children:l.jsx("img",{src:_P,alt:"Error loading image",...b,"data-original-url":d})})}):l.jsx("img",{src:d,alt:p,className:c,loading:f,decoding:"async",...b,onError:o})}function HP(){const{t:n}=Oe();return l.jsxs("section",{className:"relative min-h-[600px] lg:min-h-[700px] overflow-hidden responsive-hero ios-scroll",children:[l.jsx("div",{className:"absolute inset-0",children:l.jsx(sa,{src:"/images/optimized/hero-office.webp",alt:"AI Agent Development",className:"w-full h-full object-cover",lazy:!1})}),l.jsx("div",{className:"absolute inset-0 hero-overlay"}),l.jsx("div",{className:"relative container mx-auto max-w-6xl px-4 py-20 lg:py-32 responsive-hero-pad",children:l.jsxs("div",{className:"hero-glassmorphism text-center space-y-6 max-w-4xl mx-auto responsive-hero-stack",children:[l.jsxs("div",{className:"flex flex-col items-center mb-8",children:[l.jsx("div",{className:"text-5xl md:text-6xl font-bold text-foreground mb-4",children:n("hero.brandName")}),l.jsx("div",{className:"text-2xl md:text-3xl text-muted-foreground font-light",children:n("hero.tagline")})]}),l.jsxs("div",{className:"inline-flex items-center bg-background/80 text-foreground px-4 py-2 rounded-full border border-border shadow-lg backdrop-blur-md",children:[l.jsx(sy,{className:"w-4 h-4 mr-2"}),l.jsx("span",{className:"text-sm",children:n("hero.badge")})]}),l.jsx("h1",{className:"text-4xl md:text-6xl lg:text-7xl tracking-tight responsive-hero-title",children:l.jsxs("div",{className:"flex flex-col items-start max-w-fit mx-auto responsive-hero-lines",children:[l.jsx("span",{className:"block responsive-hero-line1",children:n("hero.title.line1")}),l.jsx("span",{className:"block pl-12 md:pl-20 responsive-hero-line2",children:n("hero.title.line2")}),l.jsx("span",{className:"block pl-24 md:pl-40 text-primary responsive-hero-line3",children:n("hero.title.line3")})]})}),l.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto responsive-hero-body",children:n("hero.description")})]})})]})}const $P=[Rg,Tn,tt,Nt],QP=["agent-development","on-premise-llm","vector-rag","ai-app-development"];function JP({onServiceClick:n}){const{t,translations:s}=Oe(),o=s.businessServices?.services||[];return l.jsx("section",{id:"services",className:"py-16 md:py-20 bg-white responsive-section",children:l.jsxs("div",{className:"container mx-auto max-w-7xl px-4 responsive-section-inner",children:[l.jsxs("div",{className:"text-center space-y-2 mb-16 responsive-section-header",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("businessServices.title")}),l.jsx("p",{className:"text-sm text-muted-foreground",children:t("businessServices.subtitle")})]}),l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 responsive-services-grid",children:o.map((d,p)=>{const c=$P[p]||Rg,g=QP[p],h=g&&n;return l.jsxs("div",{className:`flex flex-col items-start p-4 rounded-lg transition-all duration-200 ease-out ${h?"cursor-pointer hover:-translate-y-1 hover:shadow-lg hover:bg-muted/10":""}`,onClick:()=>h&&n(g),children:[l.jsx("div",{className:"mb-6",children:l.jsx(c,{className:"w-12 h-12 text-blue-900",strokeWidth:1.5})}),l.jsx("h3",{className:"text-base font-semibold mb-3 leading-tight",children:d.title}),l.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:d.description})]},p)})})]})})}function Bg(n){var t,s,o="";if(typeof n=="string"||typeof n=="number")o+=n;else if(typeof n=="object")if(Array.isArray(n)){var d=n.length;for(t=0;t<d;t++)n[t]&&(s=Bg(n[t]))&&(o&&(o+=" "),o+=s)}else for(s in n)n[s]&&(o&&(o+=" "),o+=s);return o}function Kg(){for(var n,t,s=0,o="",d=arguments.length;s<d;s++)(n=arguments[s])&&(t=Bg(n))&&(o&&(o+=" "),o+=t);return o}const ZP=(n,t)=>{const s=new Array(n.length+t.length);for(let o=0;o<n.length;o++)s[o]=n[o];for(let o=0;o<t.length;o++)s[n.length+o]=t[o];return s},XP=(n,t)=>({classGroupId:n,validator:t}),Vg=(n=new Map,t=null,s)=>({nextPart:n,validators:t,classGroupId:s}),fr="-",dp=[],YP="arbitrary..",ew=n=>{const t=nw(n),{conflictingClassGroups:s,conflictingClassGroupModifiers:o}=n;return{getClassGroupId:c=>{if(c.startsWith("[")&&c.endsWith("]"))return aw(c);const g=c.split(fr),h=g[0]===""&&g.length>1?1:0;return Fg(g,h,t)},getConflictingClassGroupIds:(c,g)=>{if(g){const h=o[c],b=s[c];return h?b?ZP(b,h):h:b||dp}return s[c]||dp}}},Fg=(n,t,s)=>{if(n.length-t===0)return s.classGroupId;const d=n[t],p=s.nextPart.get(d);if(p){const b=Fg(n,t+1,p);if(b)return b}const c=s.validators;if(c===null)return;const g=t===0?n.join(fr):n.slice(t).join(fr),h=c.length;for(let b=0;b<h;b++){const f=c[b];if(f.validator(g))return f.classGroupId}},aw=n=>n.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=n.slice(1,-1),s=t.indexOf(":"),o=t.slice(0,s);return o?YP+o:void 0})(),nw=n=>{const{theme:t,classGroups:s}=n;return tw(s,t)},tw=(n,t)=>{const s=Vg();for(const o in n){const d=n[o];Pd(d,s,o,t)}return s},Pd=(n,t,s,o)=>{const d=n.length;for(let p=0;p<d;p++){const c=n[p];iw(c,t,s,o)}},iw=(n,t,s,o)=>
vendor: 8,600 bytes, line 334
334{if(typeof n=="string"){sw(n,t,s);return}if(typeof n=="function"){rw(n,t,s,o);return}ow(n,t,s,o)},sw=(n,t,s)=>{const o=n===""?t:Wg(t,n);o.classGroupId=s},rw=(n,t,s,o)=>{if(lw(n)){Pd(n(o),t,s,o);return}t.validators===null&&(t.validators=[]),t.validators.push(XP(s,n))},ow=(n,t,s,o)=>{const d=Object.entries(n),p=d.length;for(let c=0;c<p;c++){const[g,h]=d[c];Pd(h,Wg(t,g),s,o)}},Wg=(n,t)=>{let s=n;const o=t.split(fr),d=o.length;for(let p=0;p<d;p++){const c=o[p];let g=s.nextPart.get(c);g||(g=Vg(),s.nextPart.set(c,g)),s=g}return s},lw=n=>"isThemeGetter"in n&&n.isThemeGetter===!0,dw=n=>{if(n<1)return{get:()=>{},set:()=>{}};let t=0,s=Object.create(null),o=Object.create(null);const d=(p,c)=>{s[p]=c,t++,t>n&&(t=0,o=s,s=Object.create(null))};return{get(p){let c=s[p];if(c!==void 0)return c;if((c=o[p])!==void 0)return d(p,c),c},set(p,c){p in s?s[p]=c:d(p,c)}}},Xl="!",up=":",uw=[],cp=(n,t,s,o,d)=>({modifiers:n,hasImportantModifier:t,baseClassName:s,maybePostfixModifierPosition:o,isExternal:d}),cw=n=>{const{prefix:t,experimentalParseClassName:s}=n;let o=d=>{const p=[];let c=0,g=0,h=0,b;const f=d.length;for(let z=0;z<f;z++){const C=d[z];if(c===0&&g===0){if(C===up){p.push(d.slice(h,z)),h=z+1;continue}if(C==="/"){b=z;continue}}C==="["?c++:C==="]"?c--:C==="("?g++:C===")"&&g--}const y=p.length===0?d:d.slice(h);let A=y,M=!1;y.endsWith(Xl)?(A=y.slice(0,-1),M=!0):y.startsWith(Xl)&&(A=y.slice(1),M=!0);const P=b&&b>h?b-h:void 0;return cp(p,M,A,P)};if(t){const d=t+up,p=o;o=c=>c.startsWith(d)?p(c.slice(d.length)):cp(uw,!1,c,void 0,!0)}if(s){const d=o;o=p=>s({className:p,parseClassName:d})}return o},mw=n=>{const t=new Map;return n.orderSensitiveModifiers.forEach((s,o)=>{t.set(s,1e6+o)}),s=>{const o=[];let d=[];for(let p=0;p<s.length;p++){const c=s[p],g=c[0]==="[",h=t.has(c);g||h?(d.length>0&&(d.sort(),o.push(...d),d=[]),o.push(c)):d.push(c)}return d.length>0&&(d.sort(),o.push(...d)),o}},pw=n=>({cache:dw(n.cacheSize),parseClassName:cw(n),sortModifiers:mw(n),...ew(n)}),gw=/\s+/,hw=(n,t)=>{const{parseClassName:s,getClassGroupId:o,getConflictingClassGroupIds:d,sortModifiers:p}=t,c=[],g=n.trim().split(gw);let h="";for(let b=g.length-1;b>=0;b-=1){const f=g[b],{isExternal:y,modifiers:A,hasImportantModifier:M,baseClassName:P,maybePostfixModifierPosition:z}=s(f);if(y){h=f+(h.length>0?" "+h:h);continue}let C=!!z,E=o(C?P.substring(0,z):P);if(!E){if(!C){h=f+(h.length>0?" "+h:h);continue}if(E=o(P),!E){h=f+(h.length>0?" "+h:h);continue}C=!1}const F=A.length===0?"":A.length===1?A[0]:p(A).join(":"),K=M?F+Xl:F,U=K+E;if(c.indexOf(U)>-1)continue;c.push(U);const W=d(E,C);for(let J=0;J<W.length;++J){const de=W[J];c.push(K+de)}h=f+(h.length>0?" "+h:h)}return h},fw=(...n)=>{let t=0,s,o,d="";for(;t<n.length;)(s=n[t++])&&(o=qg(s))&&(d&&(d+=" "),d+=o);return d},qg=n=>{if(typeof n=="string")return n;let t,s="";for(let o=0;o<n.length;o++)n[o]&&(t=qg(n[o]))&&(s&&(s+=" "),s+=t);return s},kw=(n,...t)=>{let s,o,d,p;const c=h=>{const b=t.reduce((f,y)=>y(f),n());return s=pw(b),o=s.cache.get,d=s.cache.set,p=g,g(h)},g=h=>{const b=o(h);if(b)return b;const f=hw(h,s);return d(h,f),f};return p=c,(...h)=>p(fw(...h))},bw=[],Ue=n=>{const t=s=>s[n]||bw;return t.isThemeGetter=!0,t},Ug=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_g=/^\((?:(\w[\w-]*):)?(.+)\)$/i,yw=/^\d+\/\d+$/,vw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Aw=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Lw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Pw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,jt=n=>yw.test(n),ge=n=>!!n&&!Number.isNaN(Number(n)),Cn=n=>!!n&&Number.isInteger(Number(n)),jl=n=>n.endsWith("%")&&ge(n.slice(0,-1)),tn=n=>vw.test(n),ww=()=>!0,Sw=n=>Aw.test(n)&&!xw.test(n),Hg=()=>!1,Iw=n=>Lw.test(n),Mw=n=>Pw.test(n),jw=n=>!X(n)&&!Y(n),Cw=n=>Bt(n,Jg,Hg),X=n=>Ug.test(n),Zn=n=>Bt(n,Zg,Sw),Cl=n=>Bt(n,Rw,ge),mp=n=>Bt(n,$g,Hg),Dw=n=>Bt(n,Qg,Mw),rr=n=>Bt(n,Xg,Iw),Y=n=>_g.test(n),Ci=n=>Kt(n,Zg),zw=n=>Kt(n,Nw),pp=n=>Kt(n,$g),Tw=n=>Kt(n,Jg),Ew=n=>Kt(n,Qg),or=n=>Kt(n,Xg,!0),Bt=(n,t,s)=>{const o=Ug.exec(n);return o?o[1]?t(o[1]):s(o[2]):!1},Kt=(n,t,s=!1)=>{const o=_g.exec(n);return o?o[1]?t(o[1]):s:!1},$g=n=>n==="position"||n==="percentage",Qg=n=>n==="image"||n==="url",Jg=n=>n==="length"||n==="size"||n==="bg-size",Zg=n=>n==="length",Rw=n=>n==="number",Nw=n=>n==="family-name",Xg=n=>n==="shadow",Gw=()=>{const n=Ue("color"),t=Ue("font"),s=Ue("text"),o=Ue("font-weight"),d=Ue("tracking"),p=Ue("leading"),c=Ue("breakpoint"),g=Ue("container"),h=Ue("spacing"),b=Ue("radius"),f=Ue("shadow"),y=Ue("inset-shadow"),A=Ue("text-shadow"),M=Ue("drop-shadow"),P=Ue("blur"),z=Ue("perspective"),C=Ue("aspect"),E=Ue("ease"),F=Ue("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],U=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],W=()=>[...U(),Y,X],J=()=>["auto","hidden","clip","visible","scroll"],de=()=>["auto","contain","none"],O=()=>[Y,X,h],_=()=>[jt,"full","auto",...O()],te=()=>[Cn,"none","subgrid",Y,X],be=()=>["auto",{span:["full",Cn,Y,X]},Cn,Y,X],pe=()=>[Cn,"auto",Y,X],ke=()=>["auto","min","max","fr",Y,X],Ie=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],me=()=>["start","end","center","stretch","center-safe","end-safe"],Le=()=>["auto",...O()],se=()=>[jt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...O()],D=()=>[n,Y,X],Q=()=>[...U(),pp,mp,{position:[Y,X]}],q=()=>["no-repeat",{repeat:["","x","y","space","round"]}],w=()=>["auto","cover","contain",Tw,Cw,{size:[Y,X]}],R=()=>[jl,Ci,Zn],ie=()=>["","none","full",b,Y,X],le=()=>["",ge,Ci,Zn],fe=()=>["solid","dashed","dotted","double"],ye=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ce=()=>[ge,jl,pp,mp],Ae=()=>["","none",P,Y,X],we=()=>["none",ge,Y,X],He=()=>["none",ge,Y,X],un=()=>[ge,Y,X],Gn=()=>[jt,"full",...O()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[tn],breakpoint:[tn],color:[ww],container:[tn],"drop-shadow":[tn],ease:["in","out","in-out"],font:[jw],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[tn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[tn],shadow:[tn],spacing:["px",ge],text:[tn],"text-shadow":[tn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",jt,X,Y,C]}],container:["container"],columns:[{columns:[ge,X,Y,g]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:W()}],overflow:[{overflow:J()}],"overflow-x":[{"overflow-x":J()}],"overflow-y":[{"overflow-y":J()}],overscroll:[{overscroll:de()}],"overscroll-x":[{"overscroll-x":de()}],"overscroll-y":[{"overscroll-y":de()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:_()}],"inset-x":[{"inset-x":_()}],"inset-y":[{"inset-y":_()}],start:[{start:_()}],end:[{end:_()}],top:[{top:_()}],right:[{right:_()}],bottom:[{bottom:_()}],left:[{left:_()}],visibility:["visible","invisible","collapse"],z:[{z:[Cn,"auto",Y,X]}],basis:[{basis:[jt,"full","auto",g,...O()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ge,jt,"auto","initial","none",X]}],grow:[{grow:["",ge,Y,X]}],shrink:[{shrink:["",ge,Y,X]}],order:[{order:[Cn,"first","last","none",Y,X]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:be()}],"col-start":[{"col-start":pe()}
vendor: 10,888 bytes, line 334
334],"col-end":[{"col-end":pe()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:be()}],"row-start":[{"row-start":pe()}],"row-end":[{"row-end":pe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ke()}],"auto-rows":[{"auto-rows":ke()}],gap:[{gap:O()}],"gap-x":[{"gap-x":O()}],"gap-y":[{"gap-y":O()}],"justify-content":[{justify:[...Ie(),"normal"]}],"justify-items":[{"justify-items":[...me(),"normal"]}],"justify-self":[{"justify-self":["auto",...me()]}],"align-content":[{content:["normal",...Ie()]}],"align-items":[{items:[...me(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...me(),{baseline:["","last"]}]}],"place-content":[{"place-content":Ie()}],"place-items":[{"place-items":[...me(),"baseline"]}],"place-self":[{"place-self":["auto",...me()]}],p:[{p:O()}],px:[{px:O()}],py:[{py:O()}],ps:[{ps:O()}],pe:[{pe:O()}],pt:[{pt:O()}],pr:[{pr:O()}],pb:[{pb:O()}],pl:[{pl:O()}],m:[{m:Le()}],mx:[{mx:Le()}],my:[{my:Le()}],ms:[{ms:Le()}],me:[{me:Le()}],mt:[{mt:Le()}],mr:[{mr:Le()}],mb:[{mb:Le()}],ml:[{ml:Le()}],"space-x":[{"space-x":O()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":O()}],"space-y-reverse":["space-y-reverse"],size:[{size:se()}],w:[{w:[g,"screen",...se()]}],"min-w":[{"min-w":[g,"screen","none",...se()]}],"max-w":[{"max-w":[g,"screen","none","prose",{screen:[c]},...se()]}],h:[{h:["screen","lh",...se()]}],"min-h":[{"min-h":["screen","lh","none",...se()]}],"max-h":[{"max-h":["screen","lh",...se()]}],"font-size":[{text:["base",s,Ci,Zn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Y,Cl]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",jl,X]}],"font-family":[{font:[zw,X,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[d,Y,X]}],"line-clamp":[{"line-clamp":[ge,"none",Y,Cl]}],leading:[{leading:[p,...O()]}],"list-image":[{"list-image":["none",Y,X]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Y,X]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[ge,"from-font","auto",Y,Zn]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[ge,"auto",Y,X]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Y,X]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Y,X]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Q()}],"bg-repeat":[{bg:q()}],"bg-size":[{bg:w()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Cn,Y,X],radial:["",Y,X],conic:[Cn,Y,X]},Ew,Dw]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:R()}],"gradient-via-pos":[{via:R()}],"gradient-to-pos":[{to:R()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:ie()}],"rounded-s":[{"rounded-s":ie()}],"rounded-e":[{"rounded-e":ie()}],"rounded-t":[{"rounded-t":ie()}],"rounded-r":[{"rounded-r":ie()}],"rounded-b":[{"rounded-b":ie()}],"rounded-l":[{"rounded-l":ie()}],"rounded-ss":[{"rounded-ss":ie()}],"rounded-se":[{"rounded-se":ie()}],"rounded-ee":[{"rounded-ee":ie()}],"rounded-es":[{"rounded-es":ie()}],"rounded-tl":[{"rounded-tl":ie()}],"rounded-tr":[{"rounded-tr":ie()}],"rounded-br":[{"rounded-br":ie()}],"rounded-bl":[{"rounded-bl":ie()}],"border-w":[{border:le()}],"border-w-x":[{"border-x":le()}],"border-w-y":[{"border-y":le()}],"border-w-s":[{"border-s":le()}],"border-w-e":[{"border-e":le()}],"border-w-t":[{"border-t":le()}],"border-w-r":[{"border-r":le()}],"border-w-b":[{"border-b":le()}],"border-w-l":[{"border-l":le()}],"divide-x":[{"divide-x":le()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":le()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ge,Y,X]}],"outline-w":[{outline:["",ge,Ci,Zn]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",f,or,rr]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",y,or,rr]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[ge,Zn]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":le()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",A,or,rr]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[ge,Y,X]}],"mix-blend":[{"mix-blend":[...ye(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ye()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":ce()}],"mask-image-linear-to-pos":[{"mask-linear-to":ce()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":ce()}],"mask-image-t-to-pos":[{"mask-t-to":ce()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":ce()}],"mask-image-r-to-pos":[{"mask-r-to":ce()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":ce()}],"mask-image-b-to-pos":[{"mask-b-to":ce()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":ce()}],"mask-image-l-to-pos":[{"mask-l-to":ce()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":ce()}],"mask-image-x-to-pos":[{"mask-x-to":ce()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":ce()}],"mask-image-y-to-pos":[{"mask-y-to":ce()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[Y,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":ce()}],"mask-image-radial-to-pos":[{"mask-radial-to":ce()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":U()}],"mask-image-conic-pos":[{"mask-conic":[ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":ce()}],"mask-image-conic-to-pos":[{"mask-conic-to":ce()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Q()}],"mask-repeat":[{mask:q()}],"mask-size":[{mask:w()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Y,X]}],filter:[{filter:["","none",Y,X]}],blur:[{blur:Ae()}],brightness:[{brightness:[ge,Y,X]}],contrast:[{contrast:[ge,Y,X]}],"drop-shadow":[{"drop-shadow":["","none",M,or,rr]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",ge,Y,X]}],"hue-rotate":[{"hue-rotate":[ge,Y,X]}],invert:[{invert:["",ge,Y,X]}],saturate:[{saturate:[ge,Y,X]}],sepia:[{sepia:["",ge,Y,X]}],"backdrop-filter":[{"backdrop-filter":["","none",Y,X]}],"backdrop-blur":[{"backdrop-blur":Ae()}],"backdrop-brightness":[{"backdrop-brightness":[ge,Y,X]}],"backdrop-contrast":[{"backdrop-contrast":[ge,Y,X]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ge,Y,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ge,Y,X]}],"backdrop-invert":[{"backdrop-invert":["",ge,Y,X]}],"backdrop-opacity":[{"backdrop-opacity":[ge,Y,X]}],"backdrop-saturate":[{"backdrop-saturate":[ge,Y,X]}],"backdrop-sepia":[{"backdrop-sepia":["",ge,Y,X]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":O()}],"border-spacing-x":[{"border-spacing-x":O()}],"border-spacing-y":[{"border-spacing-y":O()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Y,X]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ge,"initial",Y,X]}],ease:[{ease:["linear","initial",E,Y,X]}],delay:[{delay:[ge,Y,X]}],animate:[{animate:["none",F,Y,X]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[z,Y,X]}],"perspective-origin":[{"perspective-origin":W()}],rotate:[{rotate:we()}],"rotate-x":[{"rotate-x":we()}],"rotate-y":[{"rotate-y":we()}],"rotate-z":[{"rotate-z":we()}],scale:[{scale:He()}],"scale-x":[{"scale-x":He()}],"scale-y":[{"scale-y":He()}],"scale-z":[{"scale-z":He()}],"scale-3d":["scale-3d"],skew:[{skew:un()}],"skew-x":[{"skew-x":un()}],"skew-y":[{"skew-y":un()}],transform:[{transform:[Y,X,"","none","gpu","cpu"]}],"transform-origin":[{origin:W()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Gn()}],"translate-x":[{"translate-x":Gn()}],"translate-y":[{"translate-y":Gn()}],"translate-z":[{"translate-z":Gn()}
vendor: 5,125 bytes, line 334
334],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Y,X]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Y,X]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[ge,Ci,Zn,Cl]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Ow=kw(Gw);function Ba(...n){return Ow(Kg(n))}function wd({className:n,...t}){return l.jsx("div",{"data-slot":"card",className:Ba("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border",n),...t})}function Bw({className:n,...t}){return l.jsx("div",{"data-slot":"card-header",className:Ba("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 pt-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",n),...t})}function Kw({className:n,...t}){return l.jsx("h4",{"data-slot":"card-title",className:Ba("leading-none",n
vendor: 4,140 bytes, line 334
334),...t})}function Vw({className:n,...t}){return l.jsx("p",{"data-slot":"card-description",className:Ba("text-muted-foreground",n),...t})}function Yg({className:n,...t}){return l.jsx("div",{"data-slot":"card-content",className:Ba("px-6 [&:last-child]:pb-6",n),...t})}const Fw=[Ld,fy,Tn,Ry,xd,Uy,oy,Ty,Vy],Ww=["multilingual-assistant","weather-forecast","local-llm","orbital-prediction","real-estate","fortune-ai","google-workspace","world-news","security-monitoring"];function qw({onNavigateToPortfolio:n}){const{t,translations:s}=Oe(),o=s.features?.items||[],d=p=>{n&&n(p)};return l.jsx("section",{id:"features",className:"py-20 lg:py-32 responsive-section",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 responsive-section-inner",children:[l.jsxs("div",{className:"text-center space-y-4 mb-16 responsive-section-header",children:[l.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl",children:t("features.title")}),l.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:t("features.subtitle")})]}),l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 responsive-features-grid",children:o.map((p,c)=>{const g=Fw[c]||Ld,h=Ww[c];return l.jsxs(wd,{className:"border-border/50 cursor-pointer hover:border-primary hover:shadow-lg transition-all",onClick:()=>d(h),children:[l.jsxs(Bw,{children:[l.jsx("div",{className:"w-12 h-12 flex items-center justify-center mb-4",children:l.jsx(g,{className:"w-6 h-6 text-primary"})}),l.jsx(Kw,{className:"text-xl",children:p.title})]}),l.jsxs(Yg,{children:[l.jsx(Vw,{className:"text-base",children:p.description}),l.jsx("div",{className:"mt-4 text-sm text-primary",children:t("features.viewDetails")})]})]},c)})})]})})}const eh=T.createContext({});function Uw(n){const t=T.useRef(null);return t.current===null&&(t.current=n()),t.current}const ah=typeof window<"u",_w=ah?T.useLayoutEffect:T.useEffect,Sd=T.createContext(null);function Id(n,t){n.indexOf(t)===-1&&n.push(t)}function Md(n,t){const s=n.indexOf(t);s>-1&&n.splice(s,1)}const $a=(n,t,s)=>s>t?t:s<n?n:s;let jd=()=>{};const dn={},nh=n=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(n);function th(n){return typeof n=="object"&&n!==null}const ih=n=>/^0[^.\s]+$/u.test(n);function Cd(n){let t;return()=>(t===void 0&&(t=n()),t)}const Ma=n=>n,Hw=(n,t)=>s=>t(n(s)),Ui=(...n)=>n.reduce(Hw),Ki=(n,t,s)=>{const o=t-n;return o===0?1:(s-n)/o};class Dd{constructor(){this.subscriptions=[]}add(t){return Id(this.subscriptions,t),()=>Md(this.subscriptions,t)}notify(t,s,o){const d=this.subscriptions.length;if(d)if(d===1)this.subscriptions[0](t,s,o);else for(let p=0;p<d;p++){const c=this.subscriptions[p];c&&c(t,s,o)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const ln=n=>n*1e3,Ia=n=>n/1e3;function sh(n,t){return t?n*(1e3/t):0}const rh=(n,t,s)=>(((1-3*s+3*t)*n+(3*s-6*t))*n+3*t)*n,$w=1e-7,Qw=12;function Jw(n,t,s,o,d){let p,c,g=0;do c=t+(s-t)/2,p=rh(c,o,d)-n,p>0?s=c:t=c;while(Math.abs(p)>$w&&++g<Qw);return c}function _i(n,t,s,o){if(n===t&&s===o)return Ma;const d=p=>Jw(p,0,1,n,s);return p=>p===0||p===1?p:rh(d(p),t,o)}const oh=n=>t=>t<=.5?n(2*t)/2:(2-n(2*(1-t)))/2,lh=n=>t=>1-n(1-t),dh=_i(.33,1.53,.69,.99),zd=lh(dh),uh=oh(zd),ch=n=>(n*=2)<1?.5*zd(n):.5*(2-Math.pow(2,-10*(n-1))),Td=n=>1-Math.sin(Math.acos(n)),mh=lh(Td),ph=oh(Td),Zw=_i(.42,0,1,1),Xw=_i(0,0,.58,1),gh=_i(.42,0,.58,1),Yw=n=>Array.isArray(n)&&typeof n[0]!="number",hh=n=>Array.isArray(n)&&typeof n[0]=="number",eS={linear:Ma,easeIn:Zw,easeInOut:gh,easeOut:Xw,circIn:Td,circInOut:ph,circOut:mh,backIn:zd,backInOut:uh,backOut:dh,anticipate:ch},aS=n=>typeof n=="string",gp=n=>{if(hh(n)){jd(n.length===4);const[t,s,o,d]=n;return _i(t,s,o,d)}else if(aS(n))return eS[n];return n},lr=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function nS(n,t){let s=new Set,o=new Set,d=!1,p=!1;const c=new WeakSet;let g={delta:0,timestamp:0,isProcessing:!1};function h(f){c.has(f)&&(b.schedule(f),n()),f(g)}const b={schedule:(f,y=!1,A=!1)=>{const P=A&&d?s:o;return y&&c.add(f),P.has(f)||P.add(f),f},cancel:f=>{o.delete(f),c.delete(f)},process:f=>{if(g=f,d){p=!0;return}
vendor: 111,618 bytes, line 334
334d=!0,[s,o]=[o,s],s.forEach(h),s.clear(),d=!1,p&&(p=!1,b.process(f))}};return b}const tS=40;function fh(n,t){let s=!1,o=!0;const d={delta:0,timestamp:0,isProcessing:!1},p=()=>s=!0,c=lr.reduce((K,U)=>(K[U]=nS(p),K),{}),{setup:g,read:h,resolveKeyframes:b,preUpdate:f,update:y,preRender:A,render:M,postRender:P}=c,z=()=>{const K=dn.useManualTiming?d.timestamp:performance.now();s=!1,dn.useManualTiming||(d.delta=o?1e3/60:Math.max(Math.min(K-d.timestamp,tS),1)),d.timestamp=K,d.isProcessing=!0,g.process(d),h.process(d),b.process(d),f.process(d),y.process(d),A.process(d),M.process(d),P.process(d),d.isProcessing=!1,s&&t&&(o=!1,n(z))},C=()=>{s=!0,o=!0,d.isProcessing||n(z)};return{schedule:lr.reduce((K,U)=>{const W=c[U];return K[U]=(J,de=!1,O=!1)=>(s||C(),W.schedule(J,de,O)),K},{}),cancel:K=>{for(let U=0;U<lr.length;U++)c[lr[U]].cancel(K)},state:d,steps:c}}const{schedule:De,cancel:En,state:Ye,steps:Dl}=fh(typeof requestAnimationFrame<"u"?requestAnimationFrame:Ma,!0);let mr;function iS(){mr=void 0}const la={now:()=>(mr===void 0&&la.set(Ye.isProcessing||dn.useManualTiming?Ye.timestamp:performance.now()),mr),set:n=>{mr=n,queueMicrotask(iS)}},kh=n=>t=>typeof t=="string"&&t.startsWith(n),bh=kh("--"),sS=kh("var(--"),Ed=n=>sS(n)?rS.test(n.split("/*")[0].trim()):!1,rS=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function hp(n){return typeof n!="string"?!1:n.split("/*")[0].includes("var(--")}const Vt={test:n=>typeof n=="number",parse:parseFloat,transform:n=>n},Vi={...Vt,transform:n=>$a(0,1,n)},dr={...Vt,default:1},Ei=n=>Math.round(n*1e5)/1e5,Rd=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function oS(n){return n==null}const lS=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Nd=(n,t)=>s=>!!(typeof s=="string"&&lS.test(s)&&s.startsWith(n)||t&&!oS(s)&&Object.prototype.hasOwnProperty.call(s,t)),yh=(n,t,s)=>o=>{if(typeof o!="string")return o;const[d,p,c,g]=o.match(Rd);return{[n]:parseFloat(d),[t]:parseFloat(p),[s]:parseFloat(c),alpha:g!==void 0?parseFloat(g):1}},dS=n=>$a(0,255,n),zl={...Vt,transform:n=>Math.round(dS(n))},et={test:Nd("rgb","red"),parse:yh("red","green","blue"),transform:({red:n,green:t,blue:s,alpha:o=1})=>"rgba("+zl.transform(n)+", "+zl.transform(t)+", "+zl.transform(s)+", "+Ei(Vi.transform(o))+")"};function uS(n){let t="",s="",o="",d="";return n.length>5?(t=n.substring(1,3),s=n.substring(3,5),o=n.substring(5,7),d=n.substring(7,9)):(t=n.substring(1,2),s=n.substring(2,3),o=n.substring(3,4),d=n.substring(4,5),t+=t,s+=s,o+=o,d+=d),{red:parseInt(t,16),green:parseInt(s,16),blue:parseInt(o,16),alpha:d?parseInt(d,16)/255:1}}const Yl={test:Nd("#"),parse:uS,transform:et.transform},Hi=n=>({test:t=>typeof t=="string"&&t.endsWith(n)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${n}`}),Dn=Hi("deg"),Ha=Hi("%"),ee=Hi("px"),cS=Hi("vh"),mS=Hi("vw"),fp={...Ha,parse:n=>Ha.parse(n)/100,transform:n=>Ha.transform(n*100)},Dt={test:Nd("hsl","hue"),parse:yh("hue","saturation","lightness"),transform:({hue:n,saturation:t,lightness:s,alpha:o=1})=>"hsla("+Math.round(n)+", "+Ha.transform(Ei(t))+", "+Ha.transform(Ei(s))+", "+Ei(Vi.transform(o))+")"},Fe={test:n=>et.test(n)||Yl.test(n)||Dt.test(n),parse:n=>et.test(n)?et.parse(n):Dt.test(n)?Dt.parse(n):Yl.parse(n),transform:n=>typeof n=="string"?n:n.hasOwnProperty("red")?et.transform(n):Dt.transform(n),getAnimatableNone:n=>{const t=Fe.parse(n);return t.alpha=0,Fe.transform(t)}},pS=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function gS(n){return isNaN(n)&&typeof n=="string"&&(n.match(Rd)?.length||0)+(n.match(pS)?.length||0)>0}const vh="number",Ah="color",hS="var",fS="var(",kp="${}",kS=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Fi(n){const t=n.toString(),s=[],o={color:[],number:[],var:[]},d=[];let p=0;const g=t.replace(kS,h=>(Fe.test(h)?(o.color.push(p),d.push(Ah),s.push(Fe.parse(h))):h.startsWith(fS)?(o.var.push(p),d.push(hS),s.push(h)):(o.number.push(p),d.push(vh),s.push(parseFloat(h))),++p,kp)).split(kp);return{values:s,split:g,indexes:o,types:d}}function xh(n){return Fi(n).values}function Lh(n){const{split:t,types:s}=Fi(n),o=t.length;return d=>{let p="";for(let c=0;c<o;c++)if(p+=t[c],d[c]!==void 0){const g=s[c];g===vh?p+=Ei(d[c]):g===Ah?p+=Fe.transform(d[c]):p+=d[c]}return p}}const bS=n=>typeof n=="number"?0:Fe.test(n)?Fe.getAnimatableNone(n):n;function yS(n){const t=xh(n);return Lh(n)(t.map(bS))}const Rn={test:gS,parse:xh,createTransformer:Lh,getAnimatableNone:yS};function Tl(n,t,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?n+(t-n)*6*s:s<1/2?t:s<2/3?n+(t-n)*(2/3-s)*6:n}function vS({hue:n,saturation:t,lightness:s,alpha:o}){n/=360,t/=100,s/=100;let d=0,p=0,c=0;if(!t)d=p=c=s;else{const g=s<.5?s*(1+t):s+t-s*t,h=2*s-g;d=Tl(h,g,n+1/3),p=Tl(h,g,n),c=Tl(h,g,n-1/3)}return{red:Math.round(d*255),green:Math.round(p*255),blue:Math.round(c*255),alpha:o}}function kr(n,t){return s=>s>0?t:n}const Re=(n,t,s)=>n+(t-n)*s,El=(n,t,s)=>{const o=n*n,d=s*(t*t-o)+o;return d<0?0:Math.sqrt(d)},AS=[Yl,et,Dt],xS=n=>AS.find(t=>t.test(n));function bp(n){const t=xS(n);if(!t)return!1;let s=t.parse(n);return t===Dt&&(s=vS(s)),s}const yp=(n,t)=>{const s=bp(n),o=bp(t);if(!s||!o)return kr(n,t);const d={...s};return p=>(d.red=El(s.red,o.red,p),d.green=El(s.green,o.green,p),d.blue=El(s.blue,o.blue,p),d.alpha=Re(s.alpha,o.alpha,p),et.transform(d))},ed=new Set(["none","hidden"]);function LS(n,t){return ed.has(n)?s=>s<=0?n:t:s=>s>=1?t:n}function PS(n,t){return s=>Re(n,t,s)}function Gd(n){return typeof n=="number"?PS:typeof n=="string"?Ed(n)?kr:Fe.test(n)?yp:IS:Array.isArray(n)?Ph:typeof n=="object"?Fe.test(n)?yp:wS:kr}function Ph(n,t){const s=[...n],o=s.length,d=n.map((p,c)=>Gd(p)(p,t[c]));return p=>{for(let c=0;c<o;c++)s[c]=d[c](p);return s}}function wS(n,t){const s={...n,...t},o={};for(const d in s)n[d]!==void 0&&t[d]!==void 0&&(o[d]=Gd(n[d])(n[d],t[d]));return d=>{for(const p in o)s[p]=o[p](d);return s}}function SS(n,t){const s=[],o={color:0,var:0,number:0};for(let d=0;d<t.values.length;d++){const p=t.types[d],c=n.indexes[p][o[p]],g=n.values[c]??0;s[d]=g,o[p]++}return s}const IS=(n,t)=>{const s=Rn.createTransformer(t),o=Fi(n),d=Fi(t);return o.indexes.var.length===d.indexes.var.length&&o.indexes.color.length===d.indexes.color.length&&o.indexes.number.length>=d.indexes.number.length?ed.has(n)&&!d.values.length||ed.has(t)&&!o.values.length?LS(n,t):Ui(Ph(SS(o,d),d.values),s):kr(n,t)};function wh(n,t,s){return typeof n=="number"&&typeof t=="number"&&typeof s=="number"?Re(n,t,s):Gd(n)(n,t)}const MS=n=>{const t=({timestamp:s})=>n(s);return{start:(s=!0)=>De.update(t,s),stop:()=>En(t),now:()=>Ye.isProcessing?Ye.timestamp:la.now()}},Sh=(n,t,s=10)=>{let o="";const d=Math.max(Math.round(t/s),2);for(let p=0;p<d;p++)o+=Math.round(n(p/(d-1))*1e4)/1e4+", ";return`linear(${o.substring(0,o.length-2)})`},br=2e4;function Od(n){let t=0;const s=50;let o=n.next(t);for(;!o.done&&t<br;)t+=s,o=n.next(t);return t>=br?1/0:t}function jS(n,t=100,s){const o=s({...n,keyframes:[0,t]}),d=Math.min(Od(o),br);return{type:"keyframes",ease:p=>o.next(d*p).value/t,duration:Ia(d)}}const CS=5;function Ih(n,t,s){const o=Math.max(t-CS,0);return sh(s-n(o),t-o)}const Ge={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Rl=.001;function DS({duration:n=Ge.duration,bounce:t=Ge.bounce,velocity:s=Ge.velocity,mass:o=Ge.mass}){let d,p,c=1-t;c=$a(Ge.minDamping,Ge.maxDamping,c),n=$a(Ge.minDuration,Ge.maxDuration,Ia(n)),c<1?(d=b=>{const f=b*c,y=f*n,A=f-s,M=ad(b,c),P=Math.exp(-y);return Rl-A/M*P},p=b=>{const y=b*c*n,A=y*s+s,M=Math.pow(c,2)*Math.pow(b,2)*n,P=Math.exp(-y),z=ad(Math.pow(b,2),c);return(-d(b)+Rl>0?-1:1)*((A-M)*P)/z}):(d=b=>{const f=Math.exp(-b*n),y=(b-s)*n+1;return-Rl+f*y},p=b=>{const f=Math.exp(-b*n),y=(s-b)*(n*n);return f*y});const g=5/n,h=TS(d,p,g);if(n=ln(n),isNaN(h))return{stiffness:Ge.stiffness,damping:Ge.damping,duration:n};{const b=Math.pow(h,2)*o;return{stiffness:b,damping:c*2*Math.sqrt(o*b),duration:n}}}const zS=12;function TS(n,t,s){let o=s;for(let d=1;d<zS;d++)o=o-n(o)/t(o);return o}function ad(n,t){return n*Math.sqrt(1-t*t)}const ES=["duration","bounce"],RS=["stiffness","damping","mass"];function vp(n,t){return t.some(s=>n[s]!==void 0)}function NS(n){let t={velocity:Ge.velocity,stiffness:Ge.stiffness,damping:Ge.damping,mass:Ge.mass,isResolvedFromDuration:!1,...n};if(!vp(n,RS)&&vp(n,ES))if(n.visualDuration){const s=n.visualDuration,o=2*Math.PI/(s*1.2),d=o*o,p=2*$a(.05,1,1-(n.bounce||0))*Math.sqrt(d);t={...t,mass:Ge.mass,stiffness:d,damping:p}}else{const s=DS(n);t={...t,...s,mass:Ge.mass},t.isResolvedFromDuration=!0}return t}function yr(n=Ge.visualDuration,t=Ge.bounce){const s=typeof n!="object"?{visualDuration:n,keyframes:[0,1],bounce:t}:n;let{restSpeed:o,restDelta:d}=s;const p=s.keyframes[0],c=s.keyframes[s.keyframes.length-1],g={done:!1,value:p},{stiffness:h,damping:b,mass:f,duration:y,velocity:A,isResolvedFromDuration:M}=NS({...s,velocity:-Ia(s.velocity||0)}),P=A||0,z=b/(2*Math.sqrt(h*f)),C=c-p,E=Ia(Math.sqrt(h/f)),F=Math.abs(C)<5;o||(o=F?Ge.restSpeed.granular:Ge.restSpeed.default),d||(d=F?Ge.restDelta.granular:Ge.restDelta.default);let K;if(z<1){const W=ad(E,z);K=J=>{const de=Math.exp(-z*E*J);return c-de*((P+z*E*C)/W*Math.sin(W*J)+C*Math.cos(W*J))}}else if(z===1)K=W=>c-Math.exp(-E*W)*(C+(P+E*C)*W);else{const W=E*Math.sqrt(z*z-1);K=J=>{const de=Math.exp(-z*E*J),O=Math.min(W*J,300);return c-de*((P+z*E*C)*Math.sinh(O)+W*C*Math.cosh(O))/W}}const U={calculatedDuration:M&&y||null,next:W=>{const J=K(W);if(M)g.done=W>=y;else{let de=W===0?P:0;z<1&&(de=W===0?ln(P):Ih(K,W,J));const O=Math.abs(de)<=o,_=Math.abs(c-J)<=d;g.done=O&&_}return g.value=g.done?c:J,g},toString:()=>{const W=Math.min(Od(U),br),J=Sh(de=>U.next(W*de).value,W,30);return W+"ms "+J},toTransition:()=>{}};return U}yr.applyToOptions=n=>{const t=jS(n,100,yr);return n.ease=t.ease,n.duration=ln(t.duration),n.type="keyframes",n};function nd({keyframes:n,velocity:t=0,power:s=.8,timeConstant:o=325,bounceDamping:d=10,bounceStiffness:p=500,modifyTarget:c,min:g,max:h,restDelta:b=.5,restSpeed:f}){const y=n[0],A={done:!1,value:y},M=O=>g!==void 0&&O<g||h!==void 0&&O>h,P=O=>g===void 0?h:h===void 0||Math.abs(g-O)<Math.abs(h-O)?g:h;let z=s*t;const C=y+z,E=c===void 0?C:c(C);E!==C&&(z=E-y);const F=O=>-z*Math.exp(-O/o),K=O=>E+F(O),U=O=>{const _=F(O),te=K(O);A.done=Math.abs(_)<=b,A.value=A.done?E:te};let W,J;const de=O=>{M(A.value)&&(W=O,J=yr({keyframes:[A.value,P(A.value)],velocity:Ih(K,O,A.value),damping:d,stiffness:p,restDelta:b,restSpeed:f}))};return de(0),{calculatedDuration:null,next:O=>{let _=!1;return!J&&W===void 0&&(_=!0,U(O),de(O)),W!==void 0&&O>=W?J.next(O-W):(!_&&U(O),A)}}}function GS(n,t,s){const o=[],d=s||dn.mix||wh,p=n.length-1;for(let c=0;c<p;c++){let g=d(n[c],n[c+1]);if(t){const h=Array.isArray(t)?t[c]||Ma:t;g=Ui(h,g)}o.push(g)}return o}function OS(n,t,{clamp:s=!0,ease:o,mixer:d}={}){const p=n.length;if(jd(p===t.length),p===1)return()=>t[0];if(p===2&&t[0]===t[1])return()=>t[1];const c=n[0]===n[1];n[0]>n[p-1]&&(n=[...n].reverse(),t=[...t].reverse());const g=GS(t,o,d),h=g.length,b=f=>{if(c&&f<n[0])return t[0];let y=0;if(h>1)for(;y<n.length-2&&!(f<n[y+1]);y++);const A=Ki(n[y],n[y+1],f);return g[y](A)};return s?f=>b($a(n[0],n[p-1],f)):b}function BS(n,t){const s=n[n.length-1];for(let o=1;o<=t;o++){const d=Ki(0,t,o);n.push(Re(s,1,d))}}function KS(n){const t=[0];return BS(t,n.length-1),t}function VS(n,t){return n.map(s=>s*t)}function FS(n,t){return n.map(()=>t||gh).splice(0,n.length-1)}function Ri({duration:n=300,keyframes:t,times:s,ease:o="easeInOut"}){const d=Yw(o)?o.map(gp):gp(o),p={done:!1,value:t[0]},c=VS(s&&s.length===t.length?s:KS(t),n),g=OS(c,t,{ease:Array.isArray(d)?d:FS(t,d)});return{calculatedDuration:n,next:h=>(p.value=g(h),p.done=h>=n,p)}}const WS=n=>n!==null;function Bd(n,{repeat:t,repeatType:s="loop"},o,d=1){const p=n.filter(WS),g=d<0||t&&s!=="loop"&&t%2===1?0:p.length-1;return!g||o===void 0?p[g]:o}const qS={decay:nd,inertia:nd,tween:Ri,keyframes:Ri,spring:yr};function Mh(n){typeof n.type=="string"&&(n.type=qS[n.type])}class Kd{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,s){return this.finished.then(t,s)}}const US=n=>n/100;class Vd extends Kd{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:s}=this.options;s&&s.updatedAt!==la.now()&&this.tick(la.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Mh(t);const{type:s=Ri,repeat:o=0,repeatDelay:d=0,repeatType:p,velocity:c=0}=t;let{keyframes:g}=t;const h=s||Ri;h!==Ri&&typeof g[0]!="number"&&(this.mixKeyframes=Ui(US,wh(g[0],g[1])),g=[0,100]);const b=h({...t,keyframes:g});p==="mirror"&&(this.mirroredGenerator=h({...t,keyframes:[...g].reverse(),velocity:-c})),b.calculatedDuration===null&&(b.calculatedDuration=Od(b));const{calculatedDuration:f}=b;this.calculatedDuration=f,this.resolvedDuration=f+d,this.totalDuration=this.resolvedDuration*(o+1)-d,this.generator=b}updateTime(t){const s=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=s}tick(t,s=!1){const{generator:o,totalDuration:d,mixKeyframes:p,mirroredGenerator:c,resolvedDuration:g,calculatedDuration:h}=this;if(this.startTime===null)return o.next(0);const{delay:b=0,keyframes:f,repeat:y,repeatType:A,repeatDelay:M,type:P,onUpdate:z,finalKeyframe:C}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-d/this.speed,this.startTime)),s?this.currentTime=t:this.updateTime(t);const E=this.currentTime-b*(this.playbackSpeed>=0?1:-1),F=this.playbackSpeed>=0?E<0:E>d;this.currentTime=Math.max(E,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let K=this.currentTime,U=o;if(y){const O=Math.min(this.currentTime,d)/g;let _=Math.floor(O),te=O%1;!te&&O>=1&&(te=1),te===1&&_--,_=Math.min(_,y+1),!!(_%2)&&(A==="reverse"?(te=1-te,M&&(te-=M/g)):A==="mirror"&&(U=c)),K=$a(0,1,te)*g}const W=F?{done:!1,value:f[0]}:U.next(K);p&&(W.value=p(W.value));let{done:J}=W;!F&&h!==null&&(J=this.playbackSpeed>=0?this.currentTime>=d:this.currentTime<=0);const de=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&J);return de&&P!==nd&&(W.value=Bd(f,this.options,C,this.speed)),z&&z(W.value),de&&this.finish(),W}then(t,s){return this.finished.then(t,s)}get duration(){return Ia(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ia(t)}get time(){return Ia(this.currentTime)}set time(t){t=ln(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(la.now());const s=this.playbackSpeed!==t;this.playbackSpeed=t,s&&(this.time=Ia(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=MS,startTime:s}=this.options;this.driver||(this.driver=t(d=>this.tick(d))),this.options.onPlay?.();const o=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=o):this.holdTime!==null?this.startTime=o-this.holdTime:this.startTime||(this.startTime=s??o),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(la.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function _S(n){for(let t=1;t<n.length;t++)n[t]??(n[t]=n[t-1])}const at=n=>n*180/Math.PI,td=n=>{const t=at(Math.atan2(n[1],n[0]));return id(t)},HS={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:n=>(Math.abs(n[0])+Math.abs(n[3]))/2,rotate:td,rotateZ:td,skewX:n=>at(Math.atan(n[1])),skewY:n=>at(Math.atan(n[2])),skew:n=>(Math.abs(n[1])+Math.abs(n[2]))/2},id=n=>(n=n%360,n<0&&(n+=360),n),Ap=td,xp=n=>Math.sqrt(n[0]*n[0]+n[1]*n[1]),Lp=n=>Math.sqrt(n[4]*n[4]+n[5]*n[5]),$S={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:xp,scaleY:Lp,scale:n=>(xp(n)+Lp(n))/2,rotateX:n=>id(at(Math.atan2(n[6],n[5]))),rotateY:n=>id(at(Math.atan2(-n[2],n[0]))),rotateZ:Ap,rotate:Ap,skewX:n=>at(Math.atan(n[4])),skewY:n=>at(Math.atan(n[1])),skew:n=>(Math.abs(n[1])+Math.abs(n[4]))/2};function sd(n){return n.includes("scale")?1:0}function rd(n,t){if(!n||n==="none")return sd(t);const s=n.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let o,d;if(s)o=$S,d=s;else{const g=n.match(/^matrix\(([-\d.e\s,]+)\)$/u);o=HS,d=g}if(!d)return sd(t);const p=o[t],c=d[1].split(",").map(JS);return typeof p=="function"?p(c):c[p]}const QS=(n,t)=>{const{transform:s="none"}=getComputedStyle(n);return rd(s,t)};function JS(n){return parseFloat(n.trim())}const Ft=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Wt=new Set(Ft),Pp=n=>n===Vt||n===ee,ZS=new Set(["x","y","z"]),XS=Ft.filter(n=>!ZS.has(n));function YS(n){const t=[];return XS.forEach(s=>{const o=n.getValue(s);o!==void 0&&(t.push([s,o.get()]),o.set(s.startsWith("scale")?1:0))}),t}const zn={width:({x:n},{paddingLeft:t="0",paddingRight:s="0"})=>n.max-n.min-parseFloat(t)-parseFloat(s),height:({y:n},{paddingTop:t="0",paddingBottom:s="0"})=>n.max-n.min-parseFloat(t)-parseFloat(s),top:(n,{top:t})=>parseFloat(t),left:(n,{left:t})=>parseFloat(t),bottom:({y:n},{top:t})=>parseFloat(t)+(n.max-n.min),right:({x:n},{left:t})=>parseFloat(t)+(n.max-n.min),x:(n,{transform:t})=>rd(t,"x"),y:(n,{transform:t})=>rd(t,"y")};zn.translateX=zn.x;zn.translateY=zn.y;const nt=new Set;let od=!1,ld=!1,dd=!1;function jh(){if(ld){const n=Array.from(nt).filter(o=>o.needsMeasurement),t=new Set(n.map(o=>o.element)),s=new Map;t.forEach(o=>{const d=YS(o);d.length&&(s.set(o,d),o.render())}),n.forEach(o=>o.measureInitialState()),t.forEach(o=>{o.render();const d=s.get(o);d&&d.forEach(([p,c])=>{o.getValue(p)?.set(c)})}),n.forEach(o=>o.measureEndState()),n.forEach(o=>{o.suspendedScrollY!==void 0&&window.scrollTo(0,o.suspendedScrollY)})}ld=!1,od=!1,nt.forEach(n=>n.complete(dd)),nt.clear()}function Ch(){nt.forEach(n=>{n.readKeyframes(),n.needsMeasurement&&(ld=!0)})}function eI(){dd=!0,Ch(),jh(),dd=!1}class Fd{constructor(t,s,o,d,p,c=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=s,this.name=o,this.motionValue=d,this.element=p,this.isAsync=c}scheduleResolve(){this.state="scheduled",this.isAsync?(nt.add(this),od||(od=!0,De.read(Ch),De.resolveKeyframes(jh))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:s,element:o,motionValue:d}=this;if(t[0]===null){const p=d?.get(),c=t[t.length-1];if(p!==void 0)t[0]=p;else if(o&&s){const g=o.readValue(s,c);g!=null&&(t[0]=g)}t[0]===void 0&&(t[0]=c),d&&p===void 0&&d.set(t[0])}_S(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),nt.delete(this)}cancel(){this.state==="scheduled"&&(nt.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const aI=n=>n.startsWith("--");function nI(n,t,s){aI(t)?n.style.setProperty(t,s):n.style[t]=s}const tI=Cd(()=>window.ScrollTimeline!==void 0),iI={};function sI(n,t){const s=Cd(n);return()=>iI[t]??s()}const Dh=sI(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),zi=([n,t,s,o])=>`cubic-bezier(${n}, ${t}, ${s}, ${o})`,wp={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:zi([0,.65,.55,1]),circOut:zi([.55,0,1,.45]),backIn:zi([.31,.01,.66,-.59]),backOut:zi([.33,1.53,.69,.99])};function zh(n,t){if(n)return typeof n=="function"?Dh()?Sh(n,t):"ease-out":hh(n)?zi(n):Array.isArray(n)?n.map(s=>zh(s,t)||wp.easeOut):wp[n]}function rI(n,t,s,{delay:o=0,duration:d=300,repeat:p=0,repeatType:c="loop",ease:g="easeOut",times:h}={},b=void 0){const f={[t]:s};h&&(f.offset=h);const y=zh(g,d);Array.isArray(y)&&(f.easing=y);const A={delay:o,duration:d,easing:Array.isArray(y)?"linear":y,fill:"both",iterations:p+1,direction:c==="reverse"?"alternate":"normal"};return b&&(A.pseudoElement=b),n.animate(f,A)}function Th(n){return typeof n=="function"&&"applyToOptions"in n}function oI({type:n,...t}){return Th(n)&&Dh()?n.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class lI extends Kd{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:s,name:o,keyframes:d,pseudoElement:p,allowFlatten:c=!1,finalKeyframe:g,onComplete:h}=t;this.isPseudoElement=!!p,this.allowFlatten=c,this.options=t,jd(typeof t.type!="string");const b=oI(t);this.animation=rI(s,o,d,b,p),b.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!p){const f=Bd(d,this.options,g,this.speed);this.updateMotionValue?this.updateMotionValue(f):nI(s,o,f),this.animation.cancel()}h?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return Ia(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ia(t)}get time(){return Ia(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=ln(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,observe:s}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&tI()?(this.animation.timeline=t,Ma):s(this)}}const Eh={anticipate:ch,backInOut:uh,circInOut:ph};function dI(n){return n in Eh}function uI(n){typeof n.ease=="string"&&dI(n.ease)&&(n.ease=Eh[n.ease])}const Nl=10;class cI extends lI{constructor(t){uI(t),Mh(t),super(t),t.startTime!==void 0&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:s,onUpdate:o,onComplete:d,element:p,...c}=this.options;if(!s)return;if(t!==void 0){s.set(t);return}const g=new Vd({...c,autoplay:!1}),h=Math.max(Nl,la.now()-this.startTime),b=$a(0,Nl,h-Nl);s.setWithVelocity(g.sample(Math.max(0,h-b)).value,g.sample(h).value,b),g.stop()}}const Sp=(n,t)=>t==="zIndex"?!1:!!(typeof n=="number"||Array.isArray(n)||typeof n=="string"&&(Rn.test(n)||n==="0")&&!n.startsWith("url("));function mI(n){const t=n[0];if(n.length===1)return!0;for(let s=0;s<n.length;s++)if(n[s]!==t)return!0}function pI(n,t,s,o){const d=n[0];if(d===null)return!1;if(t==="display"||t==="visibility")return!0;const p=n[n.length-1],c=Sp(d,t),g=Sp(p,t);return!c||!g?!1:mI(n)||(s==="spring"||Th(s))&&o}function ud(n){n.duration=0,n.type="keyframes"}const gI=new Set(["opacity","clipPath","filter","transform"]),hI=Cd(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function fI(n){const{motionValue:t,name:s,repeatDelay:o,repeatType:d,damping:p,type:c}=n;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:h,transformTemplate:b}=t.owner.getProps();return hI()&&s&&gI.has(s)&&(s!=="transform"||!b)&&!h&&!o&&d!=="mirror"&&p!==0&&c!=="inertia"}const kI=40;class bI extends Kd{constructor({autoplay:t=!0,delay:s=0,type:o="keyframes",repeat:d=0,repeatDelay:p=0,repeatType:c="loop",keyframes:g,name:h,motionValue:b,element:f,...y}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=la.now();const A={autoplay:t,delay:s,type:o,repeat:d,repeatDelay:p,repeatType:c,name:h,motionValue:b,element:f,...y},M=f?.KeyframeResolver||Fd;this.keyframeResolver=new M(g,(P,z,C)=>this.onKeyframesResolved(P,z,A,!C),h,b,f),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,s,o,d){this.keyframeResolver=void 0;const{name:p,type:c,velocity:g,delay:h,isHandoff:b,onUpdate:f}=o;this.resolvedAt=la.now(),pI(t,p,c,g)||((dn.instantAnimations||!h)&&f?.(Bd(t,o,s)),t[0]=t[t.length-1],ud(o),o.repeat=0);const A={startTime:d?this.resolvedAt?this.resolvedAt-this.createdAt>kI?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:s,...o,keyframes:t},M=!b&&fI(A),P=A.motionValue?.owner?.current,z=M?new cI({...A,element:P}):new Vd(A);z.finished.then(()=>{this.notifyFinished()}).catch(Ma),this.pendingTimeline&&(this.stopTimeline=z.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=z}get finished(){return this._animation?this.animation.finished:this._finished}then(t,s){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),eI()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function Rh(n,t,s,o=0,d=1){const p=Array.from(n).sort((b,f)=>b.sortNodePosition(f)).indexOf(t),c=n.size,g=(c-1)*o;return typeof s=="function"?s(p,c):d===1?p*o:g-p*o}const yI=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function vI(n){const t=yI.exec(n);if(!t)return[,];const[,s,o,d]=t;return[`--${s??o}`,d]}function Nh(n,t,s=1){const[o,d]=vI(n);if(!o)return;const p=window.getComputedStyle(t).getPropertyValue(o);if(p){const c=p.trim();return nh(c)?parseFloat(c):c}return Ed(d)?Nh(d,t,s+1):d}const AI={type:"spring",stiffness:500,damping:25,restSpeed:10},xI=n=>({type:"spring",stiffness:550,damping:n===0?2*Math.sqrt(550):30,restSpeed:10}),LI={type:"keyframes",duration:.8},PI={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},wI=(n,{keyframes:t})=>t.length>2?LI:Wt.has(n)?n.startsWith("scale")?xI(t[1]):AI:PI,SI=n=>n!==null;function II(n,{repeat:t,repeatType:s="loop"},o){const d=n.filter(SI),p=t&&s!=="loop"&&t%2===1?0:d.length-1;return d[p]}function Wd(n,t){return n?.[t]??n?.default??n}function MI({when:n,delay:t,delayChildren:s,staggerChildren:o,staggerDirection:d,repeat:p,repeatType:c,repeatDelay:g,from:h,elapsed:b,...f}){return!!Object.keys(f).length}const qd=(n,t,s,o={},d,p)=>c=>{const g=Wd(o,n)||{},h=g.delay||o.delay||0;let{elapsed:b=0}=o;b=b-ln(h);const f={keyframes:Array.isArray(s)?s:[null,s],ease:"easeOut",velocity:t.getVelocity(),...g,delay:-b,onUpdate:A=>{t.set(A),g.onUpdate&&g.onUpdate(A)},onComplete:()=>{c(),g.onComplete&&g.onComplete()},name:n,motionValue:t,element:p?void 0:d};MI(g)||Object.assign(f,wI(n,f)),f.duration&&(f.duration=ln(f.duration)),f.repeatDelay&&(f.repeatDelay=ln(f.repeatDelay)),f.from!==void 0&&(f.keyframes[0]=f.from);let y=!1;if((f.type===!1||f.duration===0&&!f.repeatDelay)&&(ud(f),f.delay===0&&(y=!0)),(dn.instantAnimations||dn.skipAnimations)&&(y=!0,ud(f),f.delay=0),f.allowFlatten=!g.type&&!g.ease,y&&!p&&t.get()!==void 0){const A=II(f.keyframes,g);if(A!==void 0){De.update(()=>{f.onUpdate(A),f.onComplete()});return}}return g.isSync?new Vd(f):new bI(f)};function Ip(n){const t=[{},{}];return n?.values.forEach((s,o)=>{t[0][o]=s.get(),t[1][o]=s.getVelocity()}),t}function Ud(n,t,s,o){if(typeof t=="function"){const[d,p]=Ip(o);t=t(s!==void 0?s:n.custom,d,p)}if(typeof t=="string"&&(t=n.variants&&n.variants[t]),typeof t=="function"){const[d,p]=Ip(o);t=t(s!==void 0?s:n.custom,d,p)}return t}function Rt(n,t,s){const o=n.getProps();return Ud(o,t,s!==void 0?s:o.custom,n)}const Gh=new Set(["width","height","top","left","right","bottom",...Ft]),Mp=30,jI=n=>!isNaN(parseFloat(n));class CI{constructor(t,s={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=o=>{const d=la.now();if(this.updatedAt!==d&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(o),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const p of this.dependents)p.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=s.owner}setCurrent(t){this.current=t,this.updatedAt=la.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=jI(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,s){this.events[t]||(this.events[t]=new Dd);const o=this.events[t].add(s);return t==="change"?()=>{o(),De.read(()=>{this.events.change.getSize()||this.stop()})}:o}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,s){this.passiveEffect=t,this.stopPassiveEffect=s}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,s,o){this.set(s),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-o}jump(t,s=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,s&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=la.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>Mp)return 0;const s=Math.min(this.updatedAt-this.prevUpdatedAt,Mp);return sh(parseFloat(this.current)-parseFloat(this.prevFrameValue),s)}start(t){return this.stop(),new Promise(s=>{this.hasAnimated=!0,this.animation=t(s),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ot(n,t){return new CI(n,t)}const cd=n=>Array.isArray(n);function DI(n,t,s){n.hasValue(t)?n.getValue(t).set(s):n.addValue(t,Ot(s))}function zI(n){return cd(n)?n[n.length-1]||0:n}function TI(n,t){const s=Rt(n,t);let{transitionEnd:o={},transition:d={},...p}=s||{};p={...p,...o};for(const c in p){const g=zI(p[c]);DI(n,c,g)}}const ia=n=>!!(n&&n.getVelocity);function EI(n){return!!(ia(n)&&n.add)}function md(n,t){const s=n.getValue("willChange");if(EI(s))return s.add(t);if(!s&&dn.WillChange){const o=new dn.WillChange("auto");n.addValue("willChange",o),o.add(t)}}function _d(n){return n.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const RI="framerAppearId",Oh="data-"+_d(RI);function Bh(n){return n.props[Oh]}function NI({protectedKeys:n,needsAnimating:t},s){const o=n.hasOwnProperty(s)&&t[s]!==!0;return t[s]=!1,o}function Kh(n,t,{delay:s=0,transitionOverride:o,type:d}={}){let{transition:p=n.getDefaultTransition(),transitionEnd:c,...g}=t;o&&(p=o);const h=[],b=d&&n.animationState&&n.animationState.getState()[d];for(const f in g){const y=n.getValue(f,n.latestValues[f]??null),A=g[f];if(A===void 0||b&&NI(b,f))continue;const M={delay:s,...Wd(p||{},f)},P=y.get();if(P!==void 0&&!y.isAnimating&&!Array.isArray(A)&&A===P&&!M.velocity)continue;let z=!1;if(window.MotionHandoffAnimation){const E=Bh(n);if(E){const F=window.MotionHandoffAnimation(E,f,De);F!==null&&(M.startTime=F,z=!0)}}md(n,f),y.start(qd(f,y,A,n.shouldReduceMotion&&Gh.has(f)?{type:!1}:M,n,z));const C=y.animation;C&&h.push(C)}return c&&Promise.all(h).then(()=>{De.update(()=>{c&&TI(n,c)})}),h}function pd(n,t,s={}){const o=Rt(n,t,s.type==="exit"?n.presenceContext?.custom:void 0);let{transition:d=n.getDefaultTransition()||{}}=o||{};s.transitionOverride&&(d=s.transitionOverride);const p=o?()=>Promise.all(Kh(n,o,s)):()=>Promise.resolve(),c=n.variantChildren&&n.variantChildren.size?(h=0)=>{const{delayChildren:b=0,staggerChildren:f,staggerDirection:y}=d;return GI(n,t,h,b,f,y,s)}:()=>Promise.resolve(),{when:g}=d;if(g){const[h,b]=g==="beforeChildren"?[p,c]:[c,p];return h().then(()=>b())}else return Promise.all([p(),c(s.delay)])}function GI(n,t,s=0,o=0,d=0,p=1,c){const g=[];for(const h of n.variantChildren)h.notify("AnimationStart",t),g.push(pd(h,t,{...c,delay:s+(typeof o=="function"?0:o)+Rh(n.variantChildren,h,o,d,p)}).then(()=>h.notify("AnimationComplete",t)));return Promise.all(g)}function OI(n,t,s={}){n.notify("AnimationStart",t);let o;if(Array.isArray(t)){const d=t.map(p=>pd(n,p,s));o=Promise.all(d)}else if(typeof t=="string")o=pd(n,t,s);else{const d=typeof t=="function"?Rt(n,t,s.custom):t;o=Promise.all(Kh(n,d,s))}return o.then(()=>{n.notify("AnimationComplete",t)})}const BI={test:n=>n==="auto",parse:n=>n},Vh=n=>t=>t.test(n),Fh=[Vt,ee,Ha,Dn,mS,cS,BI],jp=n=>Fh.find(Vh(n));function KI(n){return typeof n=="number"?n===0:n!==null?n==="none"||n==="0"||ih(n):!0}const VI=new Set(["brightness","contrast","saturate","opacity"]);function FI(n){const[t,s]=n.slice(0,-1).split("(");if(t==="drop-shadow")return n;const[o]=s.match(Rd)||[];if(!o)return n;const d=s.replace(o,"");let p=VI.has(t)?1:0;return o!==s&&(p*=100),t+"("+p+d+")"}const WI=/\b([a-z-]*)\(.*?\)/gu,gd={...Rn,getAnimatableNone:n=>{const t=n.match(WI);return t?t.map(FI).join(" "):n}},Cp={...Vt,transform:Math.round},qI={rotate:Dn,rotateX:Dn,rotateY:Dn,rotateZ:Dn,scale:dr,scaleX:dr,scaleY:dr,scaleZ:dr,skew:Dn,skewX:Dn,skewY:Dn,distance:ee,translateX:ee,translateY:ee,translateZ:ee,x:ee,y:ee,z:ee,perspective:ee,transformPerspective:ee,opacity:Vi,originX:fp,originY:fp,originZ:ee},Hd={borderWidth:ee,borderTopWidth:ee,borderRightWidth:ee,borderBottomWidth:ee,borderLeftWidth:ee,borderRadius:ee,radius:ee,borderTopLeftRadius:ee,borderTopRightRadius:ee,borderBottomRightRadius:ee,borderBottomLeftRadius:ee,width:ee,maxWidth:ee,height:ee,maxHeight:ee,top:ee,right:ee,bottom:ee,left:ee,inset:ee,insetBlock:ee,insetBlockStart:ee,insetBlockEnd:ee,insetInline:ee,insetInlineStart:ee,insetInlineEnd:ee,padding:ee,paddingTop:ee,paddingRight:ee,paddingBottom:ee,paddingLeft:ee,paddingBlock:ee,paddingBlockStart:ee,paddingBlockEnd:ee,paddingInline:ee,paddingInlineStart:ee,paddingInlineEnd:ee,margin:ee,marginTop:ee,marginRight:ee,marginBottom:ee,marginLeft:ee,marginBlock:ee,marginBlockStart:ee,marginBlockEnd:ee,marginInline:ee,marginInlineStart:ee,marginInlineEnd:ee,backgroundPositionX:ee,backgroundPositionY:ee,...qI,zIndex:Cp,fillOpacity:Vi,strokeOpacity:Vi,numOctaves:Cp},UI={...Hd,color:Fe,backgroundColor:Fe,outlineColor:Fe,fill:Fe,stroke:Fe,borderColor:Fe,borderTopColor:Fe,borderRightColor:Fe,borderBottomColor:Fe,borderLeftColor:Fe,filter:gd,WebkitFilter:gd},Wh=n=>UI[n];function qh(n,t){let s=Wh(n);return s!==gd&&(s=Rn),s.getAnimatableNone?s.getAnimatableNone(t):void 0}const _I=new Set(["auto","none","0"]);function HI(n,t,s){let o=0,d;for(;o<n.length&&!d;){const p=n[o];typeof p=="string"&&!_I.has(p)&&Fi(p).values.length&&(d=n[o]),o++}if(d&&s)for(const p of t)n[p]=qh(s,d)}class $I extends Fd{constructor(t,s,o,d,p){super(t,s,o,d,p,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:s,name:o}=this;if(!s||!s.current)return;super.readKeyframes();for(let f=0;f<t.length;f++){let y=t[f];if(typeof y=="string"&&(y=y.trim(),Ed(y))){const A=Nh(y,s.current);A!==void 0&&(t[f]=A),f===t.length-1&&(this.finalKeyframe=y)}}if(this.resolveNoneKeyframes(),!Gh.has(o)||t.length!==2)return;const[d,p]=t,c=jp(d),g=jp(p),h=hp(d),b=hp(p);if(h!==b&&zn[o]){this.needsMeasurement=!0;return}if(c!==g)if(Pp(c)&&Pp(g))for(let f=0;f<t.length;f++){const y=t[f];typeof y=="string"&&(t[f]=parseFloat(y))}else zn[o]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:s}=this,o=[];for(let d=0;d<t.length;d++)(t[d]===null||KI(t[d]))&&o.push(d);o.length&&HI(t,o,s)}measureInitialState(){const{element:t,unresolvedKeyframes:s,name:o}=this;if(!t||!t.current)return;o==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=zn[o](t.measureViewportBox(),window.getComputedStyle(t.current)),s[0]=this.measuredOrigin;const d=s[s.length-1];d!==void 0&&t.getValue(o,d).jump(d,!1)}measureEndState(){const{element:t,name:s,unresolvedKeyframes:o}=this;if(!t||!t.current)return;const d=t.getValue(s);d&&d.jump(this.measuredOrigin,!1);const p=o.length-1,c=o[p];o[p]=zn[s](t.measureViewportBox(),window.getComputedStyle(t.current)),c!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=c),this.removedTransforms?.length&&this.removedTransforms.forEach(([g,h])=>{t.getValue(g).set(h)}),this.resolveNoneKeyframes()}}function QI(n,t,s){if(n==null)return[];if(n instanceof EventTarget)return[n];if(typeof n=="string"){let o=document;const d=s?.[n]??o.querySelectorAll(n);return d?Array.from(d):[]}return Array.from(n).filter(o=>o!=null)}const Uh=(n,t)=>t&&typeof n=="number"?t.transform(n):n;function JI(n){return th(n)&&"offsetHeight"in n}const{schedule:$d}=fh(queueMicrotask,!1),Oa={x:!1,y:!1};function _h(){return Oa.x||Oa.y}function ZI(n){return n==="x"||n==="y"?Oa[n]?null:(Oa[n]=!0,()=>{Oa[n]=!1}):Oa.x||Oa.y?null:(Oa.x=Oa.y=!0,()=>{Oa.x=Oa.y=!1})}function Hh(n,t){const s=QI(n),o=new AbortController,d={passive:!0,...t,signal:o.signal};return[s,d,()=>o.abort()]}function Dp(n){return!(n.pointerType==="touch"||_h())}function XI(n,t,s={}){const[o,d,p]=Hh(n,s),c=g=>{if(!Dp(g))return;const{target:h}=g,b=t(h,g);if(typeof b!="function"||!h)return;const f=y=>{Dp(y)&&(b(y),h.removeEventListener("pointerleave",f))};h.addEventListener("pointerleave",f,d)};return o.forEach(g=>{g.addEventListener("pointerenter",c,d)}),p}const $h=(n,t)=>t?n===t?!0:$h(n,t.parentElement):!1,Qd=n=>n.pointerType==="mouse"?typeof n.button!="number"||n.button<=0:n.isPrimary!==!1,YI=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Qh(n){return YI.has(n.tagName)||n.isContentEditable===!0}const pr=new WeakSet;function zp(n){return t=>{t.key==="Enter"&&n(t)}}function Gl(n,t){n.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const e0=(n,t)=>{const s=n.currentTarget;if(!s)return;const o=zp(()=>{if(pr.has(s))return;Gl(s,"down");const d=zp(()=>{Gl(s,"up")}),p=()=>Gl(s,"cancel");s.addEventListener("keyup",d,t),s.addEventListener("blur",p,t)});s.addEventListener("keydown",o,t),s.addEventListener("blur",()=>s.removeEventListener("keydown",o),t)};function Tp(n){return Qd(n)&&!_h()}function a0(n,t,s={}){const[o,d,p]=Hh(n,s),c=g=>{const h=g.currentTarget;if(!Tp(g))return;pr.add(h);const b=t(h,g),f=(M,P)=>{window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",A),pr.has(h)&&pr.delete(h),Tp(M)&&typeof b=="function"&&b(M,{success:P})},y=M=>{f(M,h===window||h===document||s.useGlobalTarget||$h(h,M.target))},A=M=>{f(M,!1)};window.addEventListener("pointerup",y,d),window.addEventListener("pointercancel",A,d)};return o.forEach(g=>{(s.useGlobalTarget?window:g).addEventListener("pointerdown",c,d),JI(g)&&(g.addEventListener("focus",b=>e0(b,d)),!Qh(g)&&!g.hasAttribute("tabindex")&&(g.tabIndex=0))}),p}function Jh(n){return th(n)&&"ownerSVGElement"in n}function n0(n){return Jh(n)&&n.tagName==="svg"}const t0=[...Fh,Fe,Rn],i0=n=>t0.find(Vh(n)),Ep=()=>({translate:0,scale:1,origin:0,originPoint:0}),zt=()=>({x:Ep(),y:Ep()}),Rp=()=>({min:0,max:0}),_e=()=>({x:Rp(),y:Rp()}),hd={current:null},Zh={current:!1},s0=typeof window<"u";function r0(){if(Zh.current=!0,!!s0)if(window.matchMedia){const n=window.matchMedia("(prefers-reduced-motion)"),t=()=>hd.current=n.matches;n.addEventListener("change",t),t()}else hd.current=!1}const o0=new WeakMap;function Sr(n){return n!==null&&typeof n=="object"&&typeof n.start=="function"}function Wi(n){return typeof n=="string"||Array.isArray(n)}const Jd=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Zd=["initial",...Jd];function Ir(n){return Sr(n.animate)||Zd.some(t=>Wi(n[t]))}function Xh(n){return!!(Ir(n)||n.variants)}function l0(n,t,s){for(const o in t){const d=t[o],p=s[o];if(ia(d))n.addValue(o,d);else if(ia(p))n.addValue(o,Ot(d,{owner:n}));else if(p!==d)if(n.hasValue(o)){const c=n.getValue(o);c.liveStyle===!0?c.jump(d):c.hasAnimated||c.set(d)}else{const c=n.getStaticValue(o);n.addValue(o,Ot(c!==void 0?c:d,{owner:n}))}}for(const o in s)t[o]===void 0&&n.removeValue(o);return t}const Np=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let vr={};function Yh(n){vr=n}function d0(){return vr}class u0{scrapeMotionValuesFromProps(t,s,o){return{}}constructor({parent:t,props:s,presenceContext:o,reducedMotionConfig:d,blockInitialAnimation:p,visualState:c},g={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=Fd,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const A=la.now();this.renderScheduledAt<A&&(this.renderScheduledAt=A,De.render(this.render,!1,!0))};const{latestValues:h,renderState:b}=c;this.latestValues=h,this.baseTarget={...h},this.initialValues=s.initial?{...h}:{},this.renderState=b,this.parent=t,this.props=s,this.presenceContext=o,this.depth=t?t.depth+1:0,this.reducedMotionConfig=d,this.options=g,this.blockInitialAnimation=!!p,this.isControllingVariants=Ir(s),this.isVariantNode=Xh(s),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:f,...y}=this.scrapeMotionValuesFromProps(s,{},this);for(const A in y){const M=y[A];h[A]!==void 0&&ia(M)&&M.set(h[A])}}mount(t){this.current=t,o0.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((s,o)=>this.bindToMotionValue(o,s)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(Zh.current||r0(),this.shouldReduceMotion=hd.current),this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),En(this.notifyUpdate),En(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const s=this.features[t];s&&(s.unmount(),s.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,s){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const o=Wt.has(t);o&&this.onBindTransform&&this.onBindTransform();const d=s.on("change",c=>{this.latestValues[t]=c,this.props.onUpdate&&De.preRender(this.notifyUpdate),o&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let p;typeof window<"u"&&window.MotionCheckAppearSync&&(p=window.MotionCheckAppearSync(this,t,s)),this.valueSubscriptions.set(t,()=>{d(),p&&p(),s.owner&&s.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in vr){const s=vr[t];if(!s)continue;const{isEnabled:o,Feature:d}=s;if(!this.features[t]&&d&&o(this.props)&&(this.features[t]=new d(this)),this.features[t]){const p=this.features[t];p.isMounted?p.update():(p.mount(),p.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):_e()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,s){this.latestValues[t]=s}update(t,s){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=s;for(let o=0;o<Np.length;o++){const d=Np[o];this.propEventSubscriptions[d]&&(this.propEventSubscriptions[d](),delete this.propEventSubscriptions[d]);const p="on"+d,c=t[p];c&&(this.propEventSubscriptions[d]=this.on(d,c))}this.prevMotionValues=l0(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const s=this.getClosestVariantNode();if(s)return s.variantChildren&&s.variantChildren.add(t),()=>s.variantChildren.delete(t)}addValue(t,s){const o=this.values.get(t);s!==o&&(o&&this.removeValue(t),this.bindToMotionValue(t,s),this.values.set(t,s),this.latestValues[t]=s.get())}removeValue(t){this.values.delete(t);const s=this.valueSubscriptions.get(t);s&&(s(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,s){if(this.props.values&&this.props.values[t])return this.props.values[t];let o=this.values.get(t);return o===void 0&&s!==void 0&&(o=Ot(s===null?void 0:s,{owner:this}),this.addValue(t,o)),o}readValue(t,s){let o=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return o!=null&&(typeof o=="string"&&(nh(o)||ih(o))?o=parseFloat(o):!i0(o)&&Rn.test(s)&&(o=qh(t,s)),this.setBaseTarget(t,ia(o)?o.get():o)),ia(o)?o.get():o}setBaseTarget(t,s){this.baseTarget[t]=s}getBaseTarget(t){const{initial:s}=this.props;let o;if(typeof s=="string"||typeof s=="object"){const p=Ud(this.props,s,this.presenceContext?.custom);p&&(o=p[t])}if(s&&o!==void 0)return o;const d=this.getBaseTargetFromProps(this.props,t);return d!==void 0&&!ia(d)?d:this.initialValues[t]!==void 0&&o===void 0?void 0:this.baseTarget[t]}on(t,s){return this.events[t]||(this.events[t]=new Dd),this.events[t].add(s)}notify(t,...s){this.events[t]&&this.events[t].notify(...s)}scheduleRenderMicrotask(){$d.render(this.render)}}class ef extends u0{constructor(){super(...arguments),this.KeyframeResolver=$I}sortInstanceNodePosition(t,s){return t.compareDocumentPosition(s)&2?1:-1}getBaseTargetFromProps(t,s){const o=t.style;return o?o[s]:void 0}removeValueFromRenderState(t,{vars:s,style:o}){delete s[t],delete o[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ia(t)&&(this.childSubscription=t.on("change",s=>{this.current&&(this.current.textContent=`${s}`)}))}}class Nn{constructor(t){this.isMounted=!1,this.node=t}update(){}}function af({top:n,left:t,right:s,bottom:o}){return{x:{min:t,max:s},y:{min:n,max:o}}}function c0({x:n,y:t}){return{top:t.min,right:n.max,bottom:t.max,left:n.min}}function m0(n,t){if(!t)return n;const s=t({x:n.left,y:n.top}),o=t({x:n.right,y:n.bottom});return{top:s.y,left:s.x,bottom:o.y,right:o.x}}function Ol(n){return n===void 0||n===1}function fd({scale:n,scaleX:t,scaleY:s}){return!Ol(n)||!Ol(t)||!Ol(s)}function Yn(n){return fd(n)||nf(n)||n.z||n.rotate||n.rotateX||n.rotateY||n.skewX||n.skewY}function nf(n){return Gp(n.x)||Gp(n.y)}function Gp(n){return n&&n!=="0%"}function Ar(n,t,s){const o=n-s,d=t*o;return s+d}function Op(n,t,s,o,d){return d!==void 0&&(n=Ar(n,d,o)),Ar(n,s,o)+t}function kd(n,t=0,s=1,o,d){n.min=Op(n.min,t,s,o,d),n.max=Op(n.max,t,s,o,d)}function tf(n,{x:t,y:s}){kd(n.x,t.translate,t.scale,t.originPoint),kd(n.y,s.translate,s.scale,s.originPoint)}const Bp=.999999999999,Kp=1.0000000000001;function p0(n,t,s,o=!1){const d=s.length;if(!d)return;t.x=t.y=1;let p,c;for(let g=0;g<d;g++){p=s[g],c=p.projectionDelta;const{visualElement:h}=p.options;h&&h.props.style&&h.props.style.display==="contents"||(o&&p.options.layoutScroll&&p.scroll&&p!==p.root&&Et(n,{x:-p.scroll.offset.x,y:-p.scroll.offset.y}),c&&(t.x*=c.x.scale,t.y*=c.y.scale,tf(n,c)),o&&Yn(p.latestValues)&&Et(n,p.latestValues))}t.x<Kp&&t.x>Bp&&(t.x=1),t.y<Kp&&t.y>Bp&&(t.y=1)}function Tt(n,t){n.min=n.min+t,n.max=n.max+t}function Vp(n,t,s,o,d=.5){const p=Re(n.min,n.max,d);kd(n,t,s,p,o)}function Et(n,t){Vp(n.x,t.x,t.scaleX,t.scale,t.originX),Vp(n.y,t.y,t.scaleY,t.scale,t.originY)}function sf(n,t){return af(m0(n.getBoundingClientRect(),t))}function g0(n,t,s){const o=sf(n,s),{scroll:d}=t;return d&&(Tt(o.x,d.offset.x),Tt(o.y,d.offset.y)),o}const h0={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},f0=Ft.length;function k0(n,t,s){let o="",d=!0;for(let p=0;p<f0;p++){const c=Ft[p],g=n[c];if(g===void 0)continue;let h=!0;if(typeof g=="number")h=g===(c.startsWith("scale")?1:0);else{const b=parseFloat(g);h=c.startsWith("scale")?b===1:b===0}if(!h||s){const b=Uh(g,Hd[c]);if(!h){d=!1;const f=h0[c]||c;o+=`${f}(${b}) `}s&&(t[c]=b)}}return o=o.trim(),s?o=s(t,d?"":o):d&&(o="none"),o}function Xd(n,t,s){const{style:o,vars:d,transformOrigin:p}=n;let c=!1,g=!1;for(const h in t){const b=t[h];if(Wt.has(h)){c=!0;continue}else if(bh(h)){d[h]=b;continue}else{const f=Uh(b,Hd[h]);h.startsWith("origin")?(g=!0,p[h]=f):o[h]=f}}if(t.transform||(c||s?o.transform=k0(t,n.transform,s):o.transform&&(o.transform="none")),g){const{originX:h="50%",originY:b="50%",originZ:f=0}=p;o.transformOrigin=`${h} ${b} ${f}`}}function rf(n,{style:t,vars:s},o,d){const p=n.style;let c;for(c in t)p[c]=t[c];d?.applyProjectionStyles(p,o);for(c in s)p.setProperty(c,s[c])}function Fp(n,t){return t.max===t.min?0:n/(t.max-t.min)*100}const Di={correct:(n,t)=>{if(!t.target)return n;if(typeof n=="string")if(ee.test(n))n=parseFloat(n);else return n;const s=Fp(n,t.target.x),o=Fp(n,t.target.y);return`${s}% ${o}%`}},b0={correct:(n,{treeScale:t,projectionDelta:s})=>{const o=n,d=Rn.parse(n);if(d.length>5)return o;const p=Rn.createTransformer(n),c=typeof d[0]!="number"?1:0,g=s.x.scale*t.x,h=s.y.scale*t.y;d[0+c]/=g,d[1+c]/=h;const b=Re(g,h,.5);return typeof d[2+c]=="number"&&(d[2+c]/=b),typeof d[3+c]=="number"&&(d[3+c]/=b),p(d)}},bd={borderRadius:{...Di,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Di,borderTopRightRadius:Di,borderBottomLeftRadius:Di,borderBottomRightRadius:Di,boxShadow:b0};function of(n,{layout:t,layoutId:s}){return Wt.has(n)||n.startsWith("origin")||(t||s!==void 0)&&(!!bd[n]||n==="opacity")}function Yd(n,t,s){const o=n.style,d=t?.style,p={};if(!o)return p;for(const c in o)(ia(o[c])||d&&ia(d[c])||of(c,n)||s?.getValue(c)?.liveStyle!==void 0)&&(p[c]=o[c]);return p}function y0(n){return window.getComputedStyle(n)}class v0 extends ef{constructor(){super(...arguments),this.type="html",this.renderInstance=rf}readValueFromInstance(t,s){if(Wt.has(s))return this.projection?.isProjecting?sd(s):QS(t,s);{const o=y0(t),d=(bh(s)?o.getPropertyValue(s):o[s])||0;return typeof d=="string"?d.trim():d}}measureInstanceViewportBox(t,{transformPagePoint:s}){return sf(t,s)}build(t,s,o){Xd(t,s,o.transformTemplate)}scrapeMotionValuesFromProps(t,s,o){return Yd(t,s,o)}}const A0={offset:"stroke-dashoffset",array:"stroke-dasharray"},x0={offset:"strokeDashoffset",array:"strokeDasharray"};function L0(n,t,s=1,o=0,d=!0){n.pathLength=1;const p=d?A0:x0;n[p.offset]=`${-o}`,n[p.array]=`${t} ${s}`}const P0=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function lf(n,{attrX:t,attrY:s,attrScale:o,pathLength:d,pathSpacing:p=1,pathOffset:c=0,...g},h,b,f){if(Xd(n,g,b),h){n.style.viewBox&&(n.attrs.viewBox=n.style.viewBox);return}n.attrs=n.style,n.style={};const{attrs:y,style:A}=n;y.transform&&(A.transform=y.transform,delete y.transform),(A.transform||y.transformOrigin)&&(A.transformOrigin=y.transformOrigin??"50% 50%",delete y.transformOrigin),A.transform&&(A.transformBox=f?.transformBox??"fill-box",delete y.transformBox);for(const M of P0)y[M]!==void 0&&(A[M]=y[M],delete y[M]);t!==void 0&&(y.x=t),s!==void 0&&(y.y=s),o!==void 0&&(y.scale=o),d!==void 0&&L0(y,d,p,c,!1)}const df=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),uf=n=>typeof n=="string"&&n.toLowerCase()==="svg";function w0(n,t,s,o){rf(n,t,void 0,o);for(const d in t.attrs)n.setAttribute(df.has(d)?d:_d(d),t.attrs[d])}function cf(n,t,s){const o=Yd(n,t,s);for(const d in n)if(ia(n[d])||ia(t[d])){const p=Ft.indexOf(d)!==-1?"attr"+d.charAt(0).toUpperCase()+d.substring(1):d;o[p]=n[d]}return o}class S0 extends ef{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=_e}getBaseTargetFromProps(t,s){return t[s]}readValueFromInstance(t,s){if(Wt.has(s)){const o=Wh(s);return o&&o.default||0}return s=df.has(s)?s:_d(s),t.getAttribute(s)}scrapeMotionValuesFromProps(t,s,o){return cf(t,s,o)}build(t,s,o){lf(t,s,this.isSVGTag,o.transformTemplate,o.style)}renderInstance(t,s,o,d){w0(t,s,o,d)}mount(t){this.isSVGTag=uf(t.tagName),super.mount(t)}}const I0=Zd.length;function mf(n){if(!n)return;if(!n.isControllingVariants){const s=n.parent?mf(n.parent)||{}:{};return n.props.initial!==void 0&&(s.initial=n.props.initial),s}const t={};for(let s=0;s<I0;s++){const o=Zd[s],d=n.props[o];(Wi(d)||d===!1)&&(t[o]=d)}return t}function pf(n,t){if(!Array.isArray(t))return!1;const s=t.length;if(s!==n.length)return!1;for(let o=0;o<s;o++)if(t[o]!==n[o])return!1;return!0}const M0=[...Jd].reverse(),j0=Jd.length;function C0(n){return t=>Promise.all(t.map(({animation:s,options:o})=>OI(n,s,o)))}function D0(n){let t=C0(n),s=Wp(),o=!0;const d=h=>(b,f)=>{const y=Rt(n,f,h==="exit"?n.presenceContext?.custom:void 0);if(y){const{transition:A,transitionEnd:M,...P}=y;b={...b,...P,...M}}return b};function p(h){t=h(n)}function c(h){const{props:b}=n,f=mf(n.parent)||{},y=[],A=new Set;let M={},P=1/0;for(let C=0;C<j0;C++){const E=M0[C],F=s[E],K=b[E]!==void 0?b[E]:f[E],U=Wi(K),W=E===h?F.isActive:null;W===!1&&(P=C);let J=K===f[E]&&K!==b[E]&&U;if(J&&o&&n.manuallyAnimateOnMount&&(J=!1),F.protectedKeys={...M},!F.isActive&&W===null||!K&&!F.prevProp||Sr(K)||typeof K=="boolean")continue;const de=z0(F.prevProp,K);let O=de||E===h&&F.isActive&&!J&&U||C>P&&U,_=!1;const te=Array.isArray(K)?K:[K];let be=te.reduce(d(E),{});W===!1&&(be={});const{prevResolvedValues:pe={}}=F,ke={...pe,...be},Ie=se=>{O=!0,A.has(se)&&(_=!0,A.delete(se)),F.needsAnimating[se]=!0;const D=n.getValue(se);D&&(D.liveStyle=!1)};for(const se in ke){const D=be[se],Q=pe[se];if(M.hasOwnProperty(se))continue;let q=!1;cd(D)&&cd(Q)?q=!pf(D,Q):q=D!==Q,q?D!=null?Ie(se):A.add(se):D!==void 0&&A.has(se)?Ie(se):F.protectedKeys[se]=!0}F.prevProp=K,F.prevResolvedValues=be,F.isActive&&(M={...M,...be}),o&&n.blockInitialAnimation&&(O=!1);const me=J&&de;O&&(!me||_)&&y.push(...te.map(se=>{const D={type:E};if(typeof se=="string"&&o&&!me&&n.manuallyAnimateOnMount&&n.parent){const{parent:Q}=n,q=Rt(Q,se);if(Q.enteringChildren&&q){const{delayChildren:w}=q.transition||{};D.delay=Rh(Q.enteringChildren,n,w)}}return{animation:se,options:D}}))}if(A.size){const C={};if(typeof b.initial!="boolean"){const E=Rt(n,Array.isArray(b.initial)?b.initial[0]:b.initial);E&&E.transition&&(C.transition=E.transition)}A.forEach(E=>{const F=n.getBaseTarget(E),K=n.getValue(E);K&&(K.liveStyle=!0),C[E]=F??null}),y.push({animation:C})}let z=!!y.length;return o&&(b.initial===!1||b.initial===b.animate)&&!n.manuallyAnimateOnMount&&(z=!1),o=!1,z?t(y):Promise.resolve()}function g(h,b){if(s[h].isActive===b)return Promise.resolve();n.variantChildren?.forEach(y=>y.animationState?.setActive(h,b)),s[h].isActive=b;const f=c(h);for(const y in s)s[y].protectedKeys={};return f}return{animateChanges:c,setActive:g,setAnimateFunction:p,getState:()=>s,reset:()=>{s=Wp()}}}function z0(n,t){return typeof t=="string"?t!==n:Array.isArray(t)?!pf(t,n):!1}function Xn(n=!1){return{isActive:n,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Wp(){return{animate:Xn(!0),whileInView:Xn(),whileHover:Xn(),whileTap:Xn(),whileDrag:Xn(),whileFocus:Xn(),exit:Xn()}}function qp(n,t){n.min=t.min,n.max=t.max}function Ga(n,t){qp(n.x,t.x),qp(n.y,t.y)}function Up(n,t){n.translate=t.translate,n.scale=t.scale,n.originPoint=t.originPoint,n.origin=t.origin}const gf=1e-4,T0=1-gf,E0=1+gf,hf=.01,R0=0-hf,N0=0+hf;function da(n){return n.max-n.min}function G0(n,t,s){return Math.abs(n-t)<=s}function _p(n,t,s,o=.5){n.origin=o,n.originPoint=Re(t.min,t.max,n.origin),n.scale=da(s)/da(t),n.translate=Re(s.min,s.max,n.origin)-n.originPoint,(n.scale>=T0&&n.scale<=E0||isNaN(n.scale))&&(n.scale=1),(n.translate>=R0&&n.translate<=N0||isNaN(n.translate))&&(n.translate=0)}function Ni(n,t,s,o){_p(n.x,t.x,s.x,o?o.originX:void 0),_p(n.y,t.y,s.y,o?o.originY:void 0)}function Hp(n,t,s){n.min=s.min+t.min,n.max=n.min+da(t)}function O0(n,t,s){Hp(n.x,t.x,s.x),Hp(n.y,t.y,s.y)}function $p(n,t,s){n.min=t.min-s.min,n.max=n.min+da(t)}function xr(n,t,s){$p(n.x,t.x,s.x),$p(n.y,t.y,s.y)}function Qp(n,t,s,o,d){return n-=t,n=Ar(n,1/s,o),d!==void 0&&(n=Ar(n,1/d,o)),n}function B0(n,t=0,s=1,o=.5,d,p=n,c=n){if(Ha.test(t)&&(t=parseFloat(t),t=Re(c.min,c.max,t/100)-c.min),typeof t!="number")return;let g=Re(p.min,p.max,o);n===p&&(g-=t),n.min=Qp(n.min,t,s,g,d),n.max=Qp(n.max,t,s,g,d)}function Jp(n,t,[s,o,d],p,c){B0(n,t[s],t[o],t[d],t.scale,p,c)}const K0=["x","scaleX","originX"],V0=["y","scaleY","originY"];function Zp(n,t,s,o){Jp(n.x,t,K0,s?s.x:void 0,o?o.x:void 0),Jp(n.y,t,V0,s?s.y:void 0,o?o.y:void 0)}function Xp(n){return n.translate===0&&n.scale===1}function ff(n){return Xp(n.x)&&Xp(n.y)}function Yp(n,t){return n.min===t.min&&n.max===t.max}function F0(n,t){return Yp(n.x,t.x)&&Yp(n.y,t.y)}function eg(n,t){return Math.round(n.min)===Math.round(t.min)&&Math.round(n.max)===Math.round(t.max)}function kf(n,t){return eg(n.x,t.x)&&eg(n.y,t.y)}function ag(n){return da(n.x)/da(n.y)}function ng(n,t){return n.translate===t.translate&&n.scale===t.scale&&n.originPoint===t.originPoint}function Sa(n){return[n("x"),n("y")]}function W0(n,t,s){let o="";const d=n.x.translate/t.x,p=n.y.translate/t.y,c=s?.z||0;if((d||p||c)&&(o=`translate3d(${d}px, ${p}px, ${c}px) `),(t.x!==1||t.y!==1)&&(o+=`scale(${1/t.x}, ${1/t.y}) `),s){const{transformPerspective:b,rotate:f,rotateX:y,rotateY:A,skewX:M,skewY:P}=s;b&&(o=`perspective(${b}px) ${o}`),f&&(o+=`rotate(${f}deg) `),y&&(o+=`rotateX(${y}deg) `),A&&(o+=`rotateY(${A}deg) `),M&&(o+=`skewX(${M}deg) `),P&&(o+=`skewY(${P}deg) `)}const g=n.x.scale*t.x,h=n.y.scale*t.y;return(g!==1||h!==1)&&(o+=`scale(${g}, ${h})`),o||"none"}const bf=["TopLeft","TopRight","BottomLeft","BottomRight"],q0=bf.length,tg=n=>typeof n=="string"?parseFloat(n):n,ig=n=>typeof n=="number"||ee.test(n);function U0(n,t,s,o,d,p){d?(n.opacity=Re(0,s.opacity??1,_0(o)),n.opacityExit=Re(t.opacity??1,0,H0(o))):p&&(n.opacity=Re(t.opacity??1,s.opacity??1,o));for(let c=0;c<q0;c++){const g=`border${bf[c]}Radius`;let h=sg(t,g),b=sg(s,g);if(h===void 0&&b===void 0)continue;h||(h=0),b||(b=0),h===0||b===0||ig(h)===ig(b)?(n[g]=Math.max(Re(tg(h),tg(b),o),0),(Ha.test(b)||Ha.test(h))&&(n[g]+="%")):n[g]=b}(t.rotate||s.rotate)&&(n.rotate=Re(t.rotate||0,s.rotate||0,o))}function sg(n,t){return n[t]!==void 0?n[t]:n.borderRadius}const _0=yf(0,.5,mh),H0=yf(.5,.95,Ma);function yf(n,t,s){return o=>o<n?0:o>t?1:s(Ki(n,t,o))}function $0(n,t,s){const o=ia(n)?n:Ot(n);return o.start(qd("",o,t,s)),o.animation}function qi(n,t,s,o={passive:!0}){return n.addEventListener(t,s,o),()=>n.removeEventListener(t,s)}const Q0=(n,t)=>n.depth-t.depth;class J0{constructor(){this.children=[],this.isDirty=!1}add(t){Id(this.children,t),this.isDirty=!0}remove(t){Md(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Q0),this.isDirty=!1,this.children.forEach(t)}}function Z0(n,t){const s=la.now(),o=({timestamp:d})=>{const p=d-s;p>=t&&(En(o),n(p-t))};return De.setup(o,!0),()=>En(o)}function gr(n){return ia(n)?n.get():n}class X0{constructor(){this.members=[]}add(t){Id(this.members,t),t.scheduleRender()}remove(t){if(Md(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const s=this.members[this.members.length-1];s&&this.promote(s)}}relegate(t){const s=this.members.findIndex(d=>t===d);if(s===0)return!1;let o;for(let d=s;d>=0;d--){const p=this.members[d];if(p.isPresent!==!1){o=p;break}}return o?(this.promote(o),!0):!1}promote(t,s){const o=this.lead;if(t!==o&&(this.prevLead=o,this.lead=t,t.show(),o)){o.instance&&o.scheduleRender(),t.scheduleRender(),t.resumeFrom=o,s&&(t.resumeFrom.preserveOpacity=!0),o.snapshot&&(t.snapshot=o.snapshot,t.snapshot.latestValues=o.animationValues||o.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:d}=t.options;d===!1&&o.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:s,resumingFrom:o}=t;s.onExitComplete&&s.onExitComplete(),o&&o.options.onExitComplete&&o.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const hr={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Bl=["","X","Y","Z"],Y0=1e3;let eM=0;function Kl(n,t,s,o){const{latestValues:d}=t;d[n]&&(s[n]=d[n],t.setStaticValue(n,0),o&&(o[n]=0))}function vf(n){if(n.hasCheckedOptimisedAppear=!0,n.root===n)return;const{visualElement:t}=n.options;if(!t)return;const s=Bh(t);if(window.MotionHasOptimisedAnimation(s,"transform")){const{layout:d,layoutId:p}=n.options;window.MotionCancelOptimisedAnimation(s,"transform",De,!(d||p))}const{parent:o}=n;o&&!o.hasCheckedOptimisedAppear&&vf(o)}function Af({attachResizeListener:n,defaultParent:t,measureScroll:s,checkIsScrollRoot:o,resetTransform:d}){return class{constructor(c={},g=t?.()){this.id=eM++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(tM),this.nodes.forEach(oM),this.nodes.forEach(lM),this.nodes.forEach(iM)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=c,this.root=g?g.root||g:this,this.path=g?[...g.path,g]:[],this.parent=g,this.depth=g?g.depth+1:0;for(let h=0;h<this.path.length;h++)this.path[h].shouldResetTransform=!0;this.root===this&&(this.nodes=new J0)}addEventListener(c,g){return this.eventHandlers.has(c)||this.eventHandlers.set(c,new Dd),this.eventHandlers.get(c).add(g)}notifyListeners(c,...g){const h=this.eventHandlers.get(c);h&&h.notify(...g)}hasListeners(c){return this.eventHandlers.has(c)}mount(c){if(this.instance)return;this.isSVG=Jh(c)&&!n0(c),this.instance=c;const{layoutId:g,layout:h,visualElement:b}=this.options;if(b&&!b.current&&b.mount(c),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(h||g)&&(this.isLayoutDirty=!0),n){let f,y=0;const A=()=>this.root.updateBlockedByResize=!1;De.read(()=>{y=window.innerWidth}),n(c,()=>{const M=window.innerWidth;M!==y&&(y=M,this.root.updateBlockedByResize=!0,f&&f(),f=Z0(A,250),hr.hasAnimatedSinceResize&&(hr.hasAnimatedSinceResize=!1,this.nodes.forEach(lg)))})}g&&this.root.registerSharedNode(g,this),this.options.animate!==!1&&b&&(g||h)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:y,hasRelativeLayoutChanged:A,layout:M})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const P=this.options.transition||b.getDefaultTransition()||pM,{onLayoutAnimationStart:z,onLayoutAnimationComplete:C}=b.getProps(),E=!this.targetLayout||!kf(this.targetLayout,M),F=!y&&A;if(this.options.layoutRoot||this.resumeFrom||F||y&&(E||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const K={...Wd(P,"layout"),onPlay:z,onComplete:C};(b.shouldReduceMotion||this.options.layoutRoot)&&(K.delay=0,K.type=!1),this.startAnimation(K),this.setAnimationOrigin(f,F)}else y||lg(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=M})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const c=this.getStack();c&&c.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),En(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(dM),this.animationId++)}getTransformTemplate(){const{visualElement:c}=this.options;return c&&c.getProps().transformTemplate}willUpdate(c=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&vf(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let f=0;f<this.path.length;f++){const y=this.path[f];y.shouldResetTransform=!0,y.updateScroll("snapshot"),y.options.layoutRoot&&y.willUpdate(!1)}const{layoutId:g,layout:h}=this.options;if(g===void 0&&!h)return;const b=this.getTransformTemplate();this.prevTransformTemplateValue=b?b(this.latestValues,""):void 0,this.updateSnapshot(),c&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(rg);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(og);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(rM),this.nodes.forEach(aM),this.nodes.forEach(nM)):this.nodes.forEach(og),this.clearAllSnapshots();const g=la.now();Ye.delta=$a(0,1e3/60,g-Ye.timestamp),Ye.timestamp=g,Ye.isProcessing=!0,Dl.update.process(Ye),Dl.preRender.process(Ye),Dl.render.process(Ye),Ye.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,$d.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(sM),this.sharedNodes.forEach(uM)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,De.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){De.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!da(this.snapshot.measuredBox.x)&&!da(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let h=0;h<this.path.length;h++)this.path[h].updateScroll();const c=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected=_e(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:g}=this.options;g&&g.notify("LayoutMeasure",this.layout.layoutBox,c?c.layoutBox:void 0)}updateScroll(c="measure"){let g=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===c&&(g=!1),g&&this.instance){const h=o(this.instance);this.scroll={animationId:this.root.animationId,phase:c,isRoot:h,offset:s(this.instance),wasRoot:this.scroll?this.scroll.isRoot:h}}}resetTransform(){if(!d)return;const c=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,g=this.projectionDelta&&!ff(this.projectionDelta),h=this.getTransformTemplate(),b=h?h(this.latestValues,""):void 0,f=b!==this.prevTransformTemplateValue;c&&this.instance&&(g||Yn(this.latestValues)||f)&&(d(this.instance,b),this.shouldResetTransform=!1,this.scheduleRender())}measure(c=!0){const g=this.measurePageBox();let h=this.removeElementScroll(g);return c&&(h=this.removeTransform(h)),gM(h),{animationId:this.root.animationId,measuredBox:g,layoutBox:h,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:c}=this.options;if(!c)return _e();const g=c.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(hM))){const{scroll:b}=this.root;b&&(Tt(g.x,b.offset.x),Tt(g.y,b.offset.y))}return g}removeElementScroll(c){const g=_e();if(Ga(g,c),this.scroll?.wasRoot)return g;for(let h=0;h<this.path.length;h++){const b=this.path[h],{scroll:f,options:y}=b;b!==this.root&&f&&y.layoutScroll&&(f.wasRoot&&Ga(g,c),Tt(g.x,f.offset.x),Tt(g.y,f.offset.y))}return g}applyTransform(c,g=!1){const h=_e();Ga(h,c);for(let b=0;b<this.path.length;b++){const f=this.path[b];!g&&f.options.layoutScroll&&f.scroll&&f!==f.root&&Et(h,{x:-f.scroll.offset.x,y:-f.scroll.offset.y}),Yn(f.latestValues)&&Et(h,f.latestValues)}return Yn(this.latestValues)&&Et(h,this.latestValues),h}removeTransform(c){const g=_e();Ga(g,c);for(let h=0;h<this.path.length;h++){const b=this.path[h];if(!b.instance||!Yn(b.latestValues))continue;fd(b.latestValues)&&b.updateSnapshot();const f=_e(),y=b.measurePageBox();Ga(f,y),Zp(g,b.latestValues,b.snapshot?b.snapshot.layoutBox:void 0,f)}return Yn(this.latestValues)&&Zp(g,this.latestValues),g}setTargetDelta(c){this.targetDelta=c,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(c){this.options={...this.options,...c,crossfade:c.crossfade!==void 0?c.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Ye.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(c=!1){const g=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=g.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=g.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=g.isSharedProjectionDirty);const h=!!this.resumingFrom||this!==g;if(!(c||h&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:f,layoutId:y}=this.options;if(!this.layout||!(f||y))return;this.resolvedRelativeTargetAt=Ye.timestamp;const A=this.getClosestProjectingParent();A&&this.linkedParentVersion!==A.layoutVersion&&!A.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(A&&A.layout?this.createRelativeTarget(A,this.layout.layoutBox,A.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=_e(),this.targetWithTransforms=_e()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),O0(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Ga(this.target,this.layout.layoutBox),tf(this.target,this.targetDelta)):Ga(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,A&&!!A.resumingFrom==!!this.resumingFrom&&!A.options.layoutScroll&&A.target&&this.animationProgress!==1?this.createRelativeTarget(A,this.target,A.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||fd(this.parent.latestValues)||nf(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(c,g,h){this.relativeParent=c,this.linkedParentVersion=c.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=_e(),this.relativeTargetOrigin=_e(),xr(this.relativeTargetOrigin,g,h),Ga(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const c=this.getLead(),g=!!this.resumingFrom||this!==c;let h=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(h=!1),g&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(h=!1),this.resolvedRelativeTargetAt===Ye.timestamp&&(h=!1),h)return;const{layout:b,layoutId:f}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(b||f))return;Ga(this.layoutCorrected,this.layout.layoutBox);const y=this.treeScale.x,A=this.treeScale.y;p0(this.layoutCorrected,this.treeScale,this.path,g),c.layout&&!c.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(c.target=c.layout.layoutBox,c.targetWithTransforms=_e());const{target:M}=c;if(!M){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Up(this.prevProjectionDelta.x,this.projectionDelta.x),Up(this.prevProjectionDelta.y,this.projectionDelta.y)),Ni(this.projectionDelta,this.layoutCorrected,M,this.latestValues),(this.treeScale.x!==y||this.treeScale.y!==A||!ng(this.projectionDelta.x,this.prevProjectionDelta.x)||!ng(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",M))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(c=!0){if(this.options.visualElement?.scheduleRender(),c){const g=this.getStack();g&&g.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=zt(),this.projectionDelta=zt(),this.projectionDeltaWithTransform=zt()}setAnimationOrigin(c,g=!1){const h=this.snapshot,b=h?h.latestValues:{},f={...this.latestValues},y=zt();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!g;const A=_e(),M=h?h.source:void 0,P=this.layout?this.layout.source:void 0,z=M!==P,C=this.getStack(),E=!C||C.members.length<=1,F=!!(z&&!E&&this.options.crossfade===!0&&!this.path.some(mM));this.animationProgress=0;let K;this.mixTargetDelta=U=>{const W=U/1e3;dg(y.x,c.x,W),dg(y.y,c.y,W),this.setTargetDelta(y),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(xr(A,this.layout.layoutBox,this.relativeParent.layout.layoutBox),cM(this.relativeTarget,this.relativeTargetOrigin,A,W),K&&F0(this.relativeTarget,K)&&(this.isProjectionDirty=!1),K||(K=_e()),Ga(K,this.relativeTarget)),z&&(this.animationValues=f,U0(f,b,this.latestValues,W,F,E)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=W},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(c){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(En(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=De.update(()=>{hr.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Ot(0)),this.currentAnimation=$0(this.motionValue,[0,1e3],{...c,velocity:0,isSync:!0,onUpdate:g=>{this.mixTargetDelta(g),c.onUpdate&&c.onUpdate(g)},onStop:()=>{},onComplete:()=>{c.onComplete&&c.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const c=this.getStack();c&&c.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Y0),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const c=this.getLead();let{targetWithTransforms:g,target:h,layout:b,latestValues:f}=c;if(!(!g||!h||!b)){if(this!==c&&this.layout&&b&&xf(this.options.animationType,this.layout.layoutBox,b.layoutBox)){h=this.target||_e();const y=da(this.layout.layoutBox.x);h.x.min=c.target.x.min,h.x.max=h.x.min+y;const A=da(this.layout.layoutBox.y);h.y.min=c.target.y.min,h.y.max=h.y.min+A}Ga(g,h),Et(g,f),Ni(this.projectionDeltaWithTransform,this.layoutCorrected,g,f)}}registerSharedNode(c,g){this.sharedNodes.has(c)||this.sharedNodes.set(c,new X0),this.sharedNodes.get(c).add(g);const b=g.options.initialPromotionConfig;g.promote({transition:b?b.transition:void 0,preserveFollowOpacity:b&&b.shouldPreserveFollowOpacity?b.shouldPreserveFollowOpacity(g):void 0})}isLead(){const c=this.getStack();return c?c.lead===this:!0}getLead(){const{layoutId:c}=this.options;return c?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:c}=this.options;return c?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:c}=this.options;if(c)return this.root.sharedNodes.get(c)}promote({needsReset:c,transition:g,preserveFollowOpacity:h}={}){const b=this.getStack();b&&b.promote(this,h),c&&(this.projectionDelta=void 0,this.needsReset=!0),g&&this.setOptions({transition:g})}relegate(){const c=this.getStack();return c?c.relegate(this):!1}resetSkewAndRotation(){const{visualElement:c}=this.options;if(!c)return;let g=!1;const{latestValues:h}=c;if((h.z||h.rotate||h.rotateX||h.rotateY||h.rotateZ||h.skewX||h.skewY)&&(g=!0),!g)return;const b={};h.z&&Kl("z",c,b,this.animationValues);for(let f=0;f<Bl.length;f++)Kl(`rotate${Bl[f]}`,c,b,this.animationValues),Kl(`skew${Bl[f]}`,c,b,this.animationValues);c.render();for(const f in b)c.setStaticValue(f,b[f]),this.animationValues&&(this.animationValues[f]=b[f]);c.scheduleRender()}applyProjectionStyles(c,g){if(!this.instance||this.isSVG)return;if(!this.isVisible){c.visibility="hidden";return}const h=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,c.visibility="",c.opacity="",c.pointerEvents=gr(g?.pointerEvents)||"",c.transform=h?h(this.latestValues,""):"none";return}const b=this.getLead();if(!this.projectionDelta||!this.layout||!b.target){this.options.layoutId&&(c.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,c.pointerEvents=gr(g?.pointerEvents)||""),this.hasProjected&&!Yn(this.latestValues)&&(c.transform=h?h({},""):"none",this.hasProjected=!1);return}c.visibility="";const f=b.animationValues||b.latestValues;this.applyTransformsToTarget();let y=W0(this.projectionDeltaWithTransform,this.treeScale,f);h&&(y=h(f,y)),c.transform=y;const{x:A,y:M}=this.projectionDelta;c.transformOrigin=`${A.origin*100}% ${M.origin*100}% 0`,b.animationValues?c.opacity=b===this?f.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:f.opacityExit:c.opacity=b===this?f.opacity!==void 0?f.opacity:"":f.opacityExit!==void 0?f.opacityExit:0;for(const P in bd){if(f[P]===void 0)continue;const{correct:z,applyTo:C,isCSSVariable:E}=bd[P],F=y==="none"?f[P]:z(f[P],b);if(C){const K=C.length;for(let U=0;U<K;U++)c[C[U]]=F}else E?this.options.visualElement.renderState.vars[P]=F:c[P]=F}this.options.layoutId&&(c.pointerEvents=b===this?gr(g?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(c=>c.currentAnimation?.stop()),this.root.nodes.forEach(rg),this.root.sharedNodes.clear()}}}function aM(n){n.updateLayout()}function nM(n){const t=n.resumeFrom?.snapshot||n.snapshot;if(n.isLead()&&n.layout&&t&&n.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:o}=n.layout,{animationType:d}=n.options,p=t.source!==n.layout.source;d==="size"?Sa(f=>{const y=p?t.measuredBox[f]:t.layoutBox[f],A=da(y);y.min=s[f].min,y.max=y.min+A}):xf(d,t.layoutBox,s)&&Sa(f=>{const y=p?t.measuredBox[f]:t.layoutBox[f],A=da(s[f]);y.max=y.min+A,n.relativeTarget&&!n.currentAnimation&&(n.isProjectionDirty=!0,n.relativeTarget[f].max=n.relativeTarget[f].min+A)});const c=zt();Ni(c,s,t.layoutBox);const g=zt();p?Ni(g,n.applyTransform(o,!0),t.measuredBox):Ni(g,s,t.layoutBox);const h=!ff(c);let b=!1;if(!n.resumeFrom){const f=n.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:y,layout:A}=f;if(y&&A){const M=_e();xr(M,t.layoutBox,y.layoutBox);const P=_e();xr(P,s,A.layoutBox),kf(M,P)||(b=!0),f.options.layoutRoot&&(n.relativeTarget=P,n.relativeTargetOrigin=M,n.relativeParent=f)}}}n.notifyListeners("didUpdate",{layout:s,snapshot:t,delta:g,layoutDelta:c,hasLayoutChanged:h,hasRelativeLayoutChanged:b})}else if(n.isLead()){const{onExitComplete:s}=n.options;s&&s()}n.options.transition=void 0}function tM(n){n.parent&&(n.isProjecting()||(n.isProjectionDirty=n.parent.isProjectionDirty),n.isSharedProjectionDirty||(n.isSharedProjectionDirty=!!(n.isProjectionDirty||n.parent.isProjectionDirty||n.parent.isSharedProjectionDirty)),n.isTransformDirty||(n.isTransformDirty=n.parent.isTransformDirty))}function iM(n){n.isProjectionDirty=n.isSharedProjectionDirty=n.isTransformDirty=!1}function sM(n){n.clearSnapshot()}function rg(n){n.clearMeasurements()}function og(n){n.isLayoutDirty=!1}function rM(n){const{visualElement:t}=n.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),n.resetTransform()}function lg(n){n.finishAnimation(),n.targetDelta=n.relativeTarget=n.target=void 0,n.isProjectionDirty=!0}function oM(n){n.resolveTargetDelta()}function lM(n){n.calcProjection()}function dM(n){n.resetSkewAndRotation()}function uM(n){n.removeLeadSnapshot()}function dg(n,t,s){n.translate=Re(t.translate,0,s),n.scale=Re(t.scale,1,s),n.origin=t.origin,n.originPoint=t.originPoint}function ug(n,t,s,o){n.min=Re(t.min,s.min,o),n.max=Re(t.max,s.max,o)}function cM(n,t,s,o){ug(n.x,t.x,s.x,o),ug(n.y,t.y,s.y,o)}function mM(n){return n.animationValues&&n.animationValues.opacityExit!==void 0}const pM={duration:.45,ease:[.4,0,.1,1]},cg=n=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(n),mg=cg("applewebkit/")&&!cg("chrome/")?Math.round:Ma;function pg(n){n.min=mg(n.min),n.max=mg(n.max)}function gM(n){pg(n.x),pg(n.y)}function xf(n,t,s){return n==="position"||n==="preserve-aspect"&&!G0(ag(t),ag(s),.2)}function hM(n){return n!==n.root&&n.scroll?.wasRoot}const fM=Af({attachResizeListener:(n,t)=>qi(n,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),Vl={current:void 0},Lf=Af({measureScroll:n=>({x:n.scrollLeft,y:n.scrollTop}),defaultParent:()=>{if(!Vl.current){const n=new fM({});n.mount(window),n.setOptions({layoutScroll:!0}),Vl.current=n}return Vl.current},resetTransform:(n,t)=>{n.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:n=>window.getComputedStyle(n).position==="fixed"}),Pf=T.createContext({transformPagePoint:n=>n,isStatic:!1,reducedMotion:"never"});function kM(n=!0){const t=T.useContext(Sd);if(t===null)return[!0,null];const{isPresent:s,onExitComplete:o,register:d}=t,p=T.useId();T.useEffect(()=>{if(n)return d(p)},[n]);const c=T.useCallback(()=>n&&o&&o(p),[p,o,n]);return!s&&o?[!1,c]:[!0]}const wf=T.createContext({strict:!1}),gg={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let hg=!1;function bM(){if(hg)return;const n={};for(const t in gg)n[t]={isEnabled:s=>gg[t].some(o=>!!s[o])};Yh(n),hg=!0}function Sf(){return bM(),d0()}function yM(n){const t=Sf();for(const s in n)t[s]={...t[s],...n[s]};Yh(t)}const vM=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Lr(n){return n.startsWith("while")||n.startsWith("drag")&&n!=="draggable"||n.startsWith("layout")||n.startsWith("onTap")||n.startsWith("onPan")||n.startsWith("onLayout")||vM.has(n)}let If=n=>!Lr(n);function AM(n){typeof n=="function"&&(If=t=>t.startsWith("on")?!Lr(t):n(t))}try{AM(require("@emotion/is-prop-valid").default)}catch{}function xM(n,t,s){const o={};for(const d in n)d==="values"&&typeof n.values=="object"||(If(d)||s===!0&&Lr(d)||!t&&!Lr(d)||n.draggable&&d.startsWith("onDrag"))&&(o[d]=n[d]);return o}const Mr=T.createContext({});function LM(n,t){if(Ir(n)){const{initial:s,animate:o}=n;return{initial:s===!1||Wi(s)?s:void 0,animate:Wi(o)?o:void 0}}return n.inherit!==!1?t:{}}function PM(n){const{initial:t,animate:s}=LM(n,T.useContext(Mr));return T.useMemo(()=>({initial:t,animate:s}),[fg(t),fg(s)])}function fg(n){return Array.isArray(n)?n.join(" "):n}const eu=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Mf(n,t,s){for(const o in t)!ia(t[o])&&!of(o,s)&&(n[o]=t[o])}function wM({transformTemplate:n},t){return T.useMemo(()=>{const s=eu();return Xd(s,t,n),Object.assign({},s.vars,s.style)},[t])}function SM(n,t){const s=n.style||{},o={};return Mf(o,s,n),Object.assign(o,wM(n,t)),o}function IM(n,t){const s={},o=SM(n,t);return n.drag&&n.dragListener!==!1&&(s.draggable=!1,o.userSelect=o.WebkitUserSelect=o.WebkitTouchCallout="none",o.touchAction=n.drag===!0?"none":`pan-${n.drag==="x"?"y":"x"}`),n.tabIndex===void 0&&(n.onTap||n.onTapStart||n.whileTap)&&(s.tabIndex=0),s.style=o,s}const jf=()=>({...eu(),attrs:{}});function MM(n,t,s,o){const d=T.useMemo(()=>{const p=jf();return lf(p,t,uf(o),n.transformTemplate,n.style),{...p.attrs,style:{...p.style}}},[t]);if(n.style){const p={};Mf(p,n.style,n),d.style={...p,...d.style}}return d}const jM=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function au(n){return typeof n!="string"||n.includes("-")?!1:!!(jM.indexOf(n)>-1||/[A-Z]/u.test(n))}function CM(n,t,s,{latestValues:o},d,p=!1,c){const h=(c??au(n)?MM:IM)(t,o,d,n),b=xM(t,typeof n=="string",p),f=n!==T.Fragment?{...b,...h,ref:s}:{},{children:y}=t,A=T.useMemo(()=>ia(y)?y.get():y,[y]);return T.createElement(n,{...f,children:A})}function DM({scrapeMotionValuesFromProps:n,createRenderState:t},s,o,d){return{latestValues:zM(s,o,d,n),renderState:t()}}function zM(n,t,s,o){const d={},p=o(n,{});for(const A in p)d[A]=gr(p[A]);let{initial:c,animate:g}=n;const h=Ir(n),b=Xh(n);t&&b&&!h&&n.inherit!==!1&&(c===void 0&&(c=t.initial),g===void 0&&(g=t.animate));let f=s?s.initial===!1:!1;f=f||c===!1;const y=f?g:c;if(y&&typeof y!="boolean"&&!Sr(y)){const A=Array.isArray(y)?y:[y];for(let M=0;M<A.length;M++){const P=Ud(n,A[M]);if(P){const{transitionEnd:z,transition:C,...E}=P;for(const F in E){let K=E[F];if(Array.isArray(K)){const U=f?K.length-1:0;K=K[U]}K!==null&&(d[F]=K)}for(const F in z)d[F]=z[F]}}}return d}const Cf=n=>(t,s)=>{const o=T.useContext(Mr),d=T.useContext(Sd),p=()=>DM(n,t,o,d);return s?p():Uw(p)},TM=Cf({scrapeMotionValuesFromProps:Yd,createRenderState:eu}),EM=Cf({scrapeMotionValuesFromProps:cf,createRenderState:jf}),RM=Symbol.for("motionComponentSymbol");function NM(n,t,s){const o=T.useRef(s);T.useInsertionEffect(()=>{o.current=s});const d=T.useRef(null);return T.useCallback(p=>{p&&n.onMount?.(p),t&&(p?t.mount(p):t.unmount());const c=o.current;if(typeof c=="function")if(p){const g=c(p);typeof g=="function"&&(d.current=g)}else d.current?(d.current(),d.current=null):c(p);else c&&(c.current=p)},[t])}const Df=T.createContext({});function Ti(n){return n&&typeof n=="object"&&Object.prototype.hasOwnProperty.call(n,"current")}function GM(n,t,s,o,d,p){const{visualElement:c}=T.useContext(Mr),g=T.useContext(wf),h=T.useContext(Sd),b=T.useContext(Pf).reducedMotion,f=T.useRef(null);o=o||g.renderer,!f.current&&o&&(f.current=o(n,{visualState:t,parent:c,props:s,presenceContext:h,blockInitialAnimation:h?h.initial===!1:!1,reducedMotionConfig:b,isSVG:p}));const y=f.current,A=T.useContext(Df);y&&!y.projection&&d&&(y.type==="html"||y.type==="svg")&&OM(f.current,s,d,A);const M=T.useRef(!1);T.useInsertionEffect(()=>{y&&M.current&&y.update(s,h)});const P=s[Oh],z=T.useRef(!!P&&!window.MotionHandoffIsComplete?.(P)&&window.MotionHasOptimisedAnimation?.(P));return _w(()=>{y&&(M.current=!0,window.MotionIsMounted=!0,y.updateFeatures(),y.scheduleRenderMicrotask(),z.current&&y.animationState&&y.animationState.animateChanges())}),T.useEffect(()=>{y&&(!z.current&&y.animationState&&y.animationState.animateChanges(),z.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(P)}),z.current=!1),y.enteringChildren=void 0)}),y}function OM(n,t,s,o){const{layoutId:d,layout:p,drag:c,dragConstraints:g,layoutScroll:h,layoutRoot:b,layoutCrossfade:f}=t;n.projection=new s(n.latestValues,t["data-framer-portal-id"]?void 0:zf(n.parent)),n.projection.setOptions({layoutId:d,layout:p,alwaysMeasureLayout:!!c||g&&Ti(g),visualElement:n,animationType:typeof p=="string"?p:"both",initialPromotionConfig:o,crossfade:f,layoutScroll:h,layoutRoot:b})}function zf(n){if(n)return n.options.allowProjection!==!1?n.projection:zf(n.parent)}function Fl(n,{forwardMotionProps:t=!1,type:s}={},o,d){o&&yM(o);const p=s?s==="svg":au(n),c=p?EM:TM;function g(b,f){let y;const A={...T.useContext(Pf),...b,layoutId:BM(b)},{isStatic:M}=A,P=PM(b),z=c(b,M);if(!M&&ah){KM();const C=VM(A);y=C.MeasureLayout,P.visualElement=GM(n,z,A,d,C.ProjectionNode,p)}return l.jsxs(Mr.Provider,{value:P,children:[y&&P.visualElement?l.jsx(y,{visualElement:P.visualElement,...A}):null,CM(n,b,NM(z,P.visualElement,f),z,M,t,p)]})}g.displayName=`motion.${typeof n=="string"?n:`create(${n.displayName??n.name??""})`}`;const h=T.forwardRef(g);return h[RM]=n,h}function BM({layoutId:n}){const t=T.useContext(eh).id;return t&&n!==void 0?t+"-"+n:n}function KM(n,t){T.useContext(wf).strict}function VM(n){const t=Sf(),{drag:s,layout:o}=t;if(!s&&!o)return{};const d={...s,...o};return{MeasureLayout:s?.isEnabled(n)||o?.isEnabled(n)?d.MeasureLayout:void 0,ProjectionNode:d.ProjectionNode}}function FM(n,t){if(typeof Proxy>"u")return Fl;const s=new Map,o=(p,c)=>Fl(p,c,n,t),d=(p,c)=>o(p,c);return new Proxy(d,{get:(p,c)=>c==="create"?o:(s.has(c)||s.set(c,Fl(c,void 0,n,t)),s.get(c))})}const WM=(n,t)=>t.isSVG??au(n)?new S0(t):new v0(t,{allowProjection:n!==T.Fragment});class qM extends Nn{constructor(t){super(t),t.animationState||(t.animationState=D0(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Sr(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:s}=this.node.prevProps||{};t!==s&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let UM=0;class _M extends Nn{constructor(){super(...arguments),this.id=UM++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:s}=this.node.presenceContext,{isPresent:o}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===o)return;const d=this.node.animationState.setActive("exit",!t);s&&!t&&d.then(()=>{s(this.id)})}mount(){const{register:t,onExitComplete:s}=this.node.presenceContext||{};s&&s(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const HM={animation:{Feature:qM},exit:{Feature:_M}};function $i(n){return{point:{x:n.pageX,y:n.pageY}}}const $M=n=>t=>Qd(t)&&n(t,$i(t));function Gi(n,t,s,o){return qi(n,t,$M(s),o)}const Tf=({current:n})=>n?n.ownerDocument.defaultView:null,kg=(n,t)=>Math.abs(n-t);function QM(n,t){const s=kg(n.x,t.x),o=kg(n.y,t.y);return Math.sqrt(s**2+o**2)}const bg=new Set(["auto","scroll"]);class Ef{constructor(t,s,{transformPagePoint:o,contextWindow:d=window,dragSnapToOrigin:p=!1,distanceThreshold:c=3,element:g}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=M=>{this.handleScroll(M.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const M=ql(this.lastMoveEventInfo,this.history),P=this.startEvent!==null,z=QM(M.offset,{x:0,y:0})>=this.distanceThreshold;if(!P&&!z)return;const{point:C}=M,{timestamp:E}=Ye;this.history.push({...C,timestamp:E});const{onStart:F,onMove:K}=this.handlers;P||(F&&F(this.lastMoveEvent,M),this.startEvent=this.lastMoveEvent),K&&K(this.lastMoveEvent,M)},this.handlePointerMove=(M,P)=>{this.lastMoveEvent=M,this.lastMoveEventInfo=Wl(P,this.transformPagePoint),De.update(this.updatePoint,!0)},this.handlePointerUp=(M,P)=>{this.end();const{onEnd:z,onSessionEnd:C,resumeAnimation:E}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&E&&E(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const F=ql(M.type==="pointercancel"?this.lastMoveEventInfo:Wl(P,this.transformPagePoint),this.history);this.startEvent&&z&&z(M,F),C&&C(M,F)},!Qd(t))return;this.dragSnapToOrigin=p,this.handlers=s,this.transformPagePoint=o,this.distanceThreshold=c,this.contextWindow=d||window;const h=$i(t),b=Wl(h,this.transformPagePoint),{point:f}=b,{timestamp:y}=Ye;this.history=[{...f,timestamp:y}];const{onSessionStart:A}=s;A&&A(t,ql(b,this.history)),this.removeListeners=Ui(Gi(this.contextWindow,"pointermove",this.handlePointerMove),Gi(this.contextWindow,"pointerup",this.handlePointerUp),Gi(this.contextWindow,"pointercancel",this.handlePointerUp)),g&&this.startScrollTracking(g)}startScrollTracking(t){let s=t.parentElement;for(;s;){const o=getComputedStyle(s);(bg.has(o.overflowX)||bg.has(o.overflowY))&&this.scrollPositions.set(s,{x:s.scrollLeft,y:s.scrollTop}),s=s.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0,passive:!0}),window.addEventListener("scroll",this.onWindowScroll,{passive:!0}),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const s=this.scrollPositions.get(t);if(!s)return;const o=t===window,d=o?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},p={x:d.x-s.x,y:d.y-s.y};p.x===0&&p.y===0||(o?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=p.x,this.lastMoveEventInfo.point.y+=p.y):this.history.length>0&&(this.history[0].x-=p.x,this.history[0].y-=p.y),this.scrollPositions.set(t,d),De.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),En(this.updatePoint)}}function Wl(n,t){return t?{point:t(n.point)}:n}function yg(n,t){return{x:n.x-t.x,y:n.y-t.y}}function ql({point:n},t){return{point:n,delta:yg(n,Rf(t)),offset:yg(n,JM(t)),velocity:ZM(t,.1)}}function JM(n){return n[0]}function Rf(n){return n[n.length-1]}function ZM(n,t){if(n.length<2)return{x:0,y:0};let s=n.length-1,o=null;const d=Rf(n);for(;s>=0&&(o=n[s],!(d.timestamp-o.timestamp>ln(t)));)s--;if(!o)return{x:0,y:0};const p=Ia(d.timestamp-o.timestamp);if(p===0)return{x:0,y:0};const c={x:(d.x-o.x)/p,y:(d.y-o.y)/p};return c.x===1/0&&(c.x=0),c.y===1/0&&(c.y=0),c}function XM(n,{min:t,max:s},o){return t!==void 0&&n<t?n=o?Re(t,n,o.min):Math.max(n,t):s!==void 0&&n>s&&(n=o?Re(s,n,o.max):Math.min(n,s)),n}function vg(n,t,s){return{min:t!==void 0?n.min+t:void 0,max:s!==void 0?n.max+s-(n.max-n.min):void 0}}function YM(n,{top:t,left:s,bottom:o,right:d}){return{x:vg(n.x,s,d),y:vg(n.y,t,o)}}function Ag(n,t){let s=t.min-n.min,o=t.max-n.max;return t.max-t.min<n.max-n.min&&([s,o]=[o,s]),{min:s,max:o}}function ej(n,t){return{x:Ag(n.x,t.x),y:Ag(n.y,t.y)}}function aj(n,t){let s=.5;const o=da(n),d=da(t);return d>o?s=Ki(t.min,t.max-o,n.min):o>d&&(s=Ki(n.min,n.max-d,t.min)),$a(0,1,s)}function nj(n,t){const s={};return t.min!==void 0&&(s.min=t.min-n.min),t.max!==void 0&&(s.max=t.max-n.min),s}const yd=.35;function tj(n=yd){return n===!1?n=0:n===!0&&(n=yd),{x:xg(n,"left","right"),y:xg(n,"top","bottom")}}function xg(n,t,s){return{min:Lg(n,t),max:Lg(n,s)}}function Lg(n,t){return typeof n=="number"?n:n[t]||0}const ij=new WeakMap;class sj{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=_e(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:s=!1,distanceThreshold:o}={}){const{presenceContext:d}=this.visualElement;if(d&&d.isPresent===!1)return;const p=y=>{s?(this.stopAnimation(),this.snapToCursor($i(y).point)):this.pauseAnimation()},c=(y,A)=>{this.stopAnimation();const{drag:M,dragPropagation:P,onDragStart:z}=this.getProps();if(M&&!P&&(this.openDragLock&&this.openDragLock(),this.openDragLock=ZI(M),!this.openDragLock))return;this.latestPointerEvent=y,this.latestPanInfo=A,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Sa(E=>{let F=this.getAxisMotionValue(E).get()||0;if(Ha.test(F)){const{projection:K}=this.visualElement;if(K&&K.layout){const U=K.layout.layoutBox[E];U&&(F=da(U)*(parseFloat(F)/100))}}this.originPoint[E]=F}),z&&De.postRender(()=>z(y,A)),md(this.visualElement,"transform");const{animationState:C}=this.visualElement;C&&C.setActive("whileDrag",!0)},g=(y,A)=>{this.latestPointerEvent=y,this.latestPanInfo=A;const{dragPropagation:M,dragDirectionLock:P,onDirectionLock:z,onDrag:C}=this.getProps();if(!M&&!this.openDragLock)return;const{offset:E}=A;if(P&&this.currentDirection===null){this.currentDirection=rj(E),this.currentDirection!==null&&z&&z(this.currentDirection);return}this.updateAxis("x",A.point,E),this.updateAxis("y",A.point,E),this.visualElement.render(),C&&C(y,A)},h=(y,A)=>{this.latestPointerEvent=y,this.latestPanInfo=A,this.stop(y,A),this.latestPointerEvent=null,this.latestPanInfo=null},b=()=>Sa(y=>this.getAnimationState(y)==="paused"&&this.getAxisMotionValue(y).animation?.play()),{dragSnapToOrigin:f}=this.getProps();this.panSession=new Ef(t,{onSessionStart:p,onStart:c,onMove:g,onSessionEnd:h,resumeAnimation:b},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:f,distanceThreshold:o,contextWindow:Tf(this.visualElement),element:this.visualElement.current})}stop(t,s){const o=t||this.latestPointerEvent,d=s||this.latestPanInfo,p=this.isDragging;if(this.cancel(),!p||!d||!o)return;const{velocity:c}=d;this.startAnimation(c);const{onDragEnd:g}=this.getProps();g&&De.postRender(()=>g(o,d))}cancel(){this.isDragging=!1;const{projection:t,animationState:s}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:o}=this.getProps();!o&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),s&&s.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,s,o){const{drag:d}=this.getProps();if(!o||!ur(t,d,this.currentDirection))return;const p=this.getAxisMotionValue(t);let c=this.originPoint[t]+o[t];this.constraints&&this.constraints[t]&&(c=XM(c,this.constraints[t],this.elastic[t])),p.set(c)}resolveConstraints(){const{dragConstraints:t,dragElastic:s}=this.getProps(),o=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,d=this.constraints;t&&Ti(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&o?this.constraints=YM(o.layoutBox,t):this.constraints=!1,this.elastic=tj(s),d!==this.constraints&&o&&this.constraints&&!this.hasMutatedConstraints&&Sa(p=>{this.constraints!==!1&&this.getAxisMotionValue(p)&&(this.constraints[p]=nj(o.layoutBox[p],this.constraints[p]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:s}=this.getProps();if(!t||!Ti(t))return!1;const o=t.current,{projection:d}=this.visualElement;if(!d||!d.layout)return!1;const p=g0(o,d.root,this.visualElement.getTransformPagePoint());let c=ej(d.layout.layoutBox,p);if(s){const g=s(c0(c));this.hasMutatedConstraints=!!g,g&&(c=af(g))}return c}startAnimation(t){const{drag:s,dragMomentum:o,dragElastic:d,dragTransition:p,dragSnapToOrigin:c,onDragTransitionEnd:g}=this.getProps(),h=this.constraints||{},b=Sa(f=>{if(!ur(f,s,this.currentDirection))return;let y=h&&h[f]||{};c&&(y={min:0,max:0});const A=d?200:1e6,M=d?40:1e7,P={type:"inertia",velocity:o?t[f]:0,bounceStiffness:A,bounceDamping:M,timeConstant:750,restDelta:1,restSpeed:10,...p,...y};return this.startAxisValueAnimation(f,P)});return Promise.all(b).then(g)}startAxisValueAnimation(t,s){const o=this.getAxisMotionValue(t);return md(this.visualElement,t),o.start(qd(t,o,0,s,this.visualElement,!1))}stopAnimation(){Sa(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Sa(t=>this.getAxisMotionValue(t).animation?.pause())}getAnimationState(t){return this.getAxisMotionValue(t).animation?.state}getAxisMotionValue(t){const s=`_drag${t.toUpperCase()}`,o=this.visualElement.getProps(),d=o[s];return d||this.visualElement.getValue(t,(o.initial?o.initial[t]:void 0)||0)}snapToCursor(t){Sa(s=>{const{drag:o}=this.getProps();if(!ur(s,o,this.currentDirection))return;const{projection:d}=this.visualElement,p=this.getAxisMotionValue(s);if(d&&d.layout){const{min:c,max:g}=d.layout.layoutBox[s],h=p.get()||0;p.set(t[s]-Re(c,g,.5)+h)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:s}=this.getProps(),{projection:o}=this.visualElement;if(!Ti(s)||!o||!this.constraints)return;this.stopAnimation();const d={x:0,y:0};Sa(c=>{const g=this.getAxisMotionValue(c);if(g&&this.constraints!==!1){const h=g.get();d[c]=aj({min:h,max:h},this.constraints[c])}});const{transformTemplate:p}=this.visualElement.getProps();this.visualElement.current.style.transform=p?p({},""):"none",o.root&&o.root.updateScroll(),o.updateLayout(),this.resolveConstraints(),Sa(c=>{if(!ur(c,t,null))return;const g=this.getAxisMotionValue(c),{min:h,max:b}=this.constraints[c];g.set(Re(h,b,d[c]))})}addListeners(){if(!this.visualElement.current)return;ij.set(this.visualElement,this);const t=this.visualElement.current,s=Gi(t,"pointerdown",h=>{const{drag:b,dragListener:f=!0}=this.getProps(),y=h.target,A=y!==t&&Qh(y);b&&f&&!A&&this.start(h)}),o=()=>{const{dragConstraints:h}=this.getProps();Ti(h)&&h.current&&(this.constraints=this.resolveRefConstraints())},{projection:d}=this.visualElement,p=d.addEventListener("measure",o);d&&!d.layout&&(d.root&&d.root.updateScroll(),d.updateLayout()),De.read(o);const c=qi(window,"resize",()=>this.scalePositionWithinConstraints()),g=d.addEventListener("didUpdate",(({delta:h,hasLayoutChanged:b})=>{this.isDragging&&b&&(Sa(f=>{const y=this.getAxisMotionValue(f);y&&(this.originPoint[f]+=h[f].translate,y.set(y.get()+h[f].translate))}),this.visualElement.render())}));return()=>{c(),s(),p(),g&&g()}}getProps(){const t=this.visualElement.getProps(),{drag:s=!1,dragDirectionLock:o=!1,dragPropagation:d=!1,dragConstraints:p=!1,dragElastic:c=yd,dragMomentum:g=!0}=t;return{...t,drag:s,dragDirectionLock:o,dragPropagation:d,dragConstraints:p,dragElastic:c,dragMomentum:g}}}function ur(n,t,s){return(t===!0||t===n)&&(s===null||s===n)}function rj(n,t=10){let s=null;return Math.abs(n.y)>t?s="y":Math.abs(n.x)>t&&(s="x"),s}class oj extends Nn{constructor(t){super(t),this.removeGroupControls=Ma,this.removeListeners=Ma,this.controls=new sj(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ma}update(){const{dragControls:t}=this.node.getProps(),{dragControls:s}=this.node.prevProps||{};t!==s&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.endPanSession()}}const Pg=n=>(t,s)=>{n&&De.postRender(()=>n(t,s))};class lj extends Nn{constructor(){super(...arguments),this.removePointerDownListener=Ma}onPointerDown(t){this.session=new Ef(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Tf(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:s,onPan:o,onPanEnd:d}=this.node.getProps();return{onSessionStart:Pg(t),onStart:Pg(s),onMove:o,onEnd:(p,c)=>{delete this.session,d&&De.postRender(()=>d(p,c))}}}mount(){this.removePointerDownListener=Gi(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Ul=!1;class dj extends T.Component{componentDidMount(){const{visualElement:t,layoutGroup:s,switchLayoutGroup:o,layoutId:d}=this.props,{projection:p}=t;p&&(s.group&&s.group.add(p),o&&o.register&&d&&o.register(p),Ul&&p.root.didUpdate(),p.addEventListener("animationComplete",()=>{this.safeToRemove()}),p.setOptions({...p.options,onExitComplete:()=>this.safeToRemove()})),hr.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:s,visualElement:o,drag:d,isPresent:p}=this.props,{projection:c}=o;return c&&(c.isPresent=p,Ul=!0,d||t.layoutDependency!==s||s===void 0||t.isPresent!==p?c.willUpdate():this.safeToRemove(),t.isPresent!==p&&(p?c.promote():c.relegate()||De.postRender(()=>{const g=c.getStack();(!g||!g.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),$d.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:s,switchLayoutGroup:o}=this.props,{projection:d}=t;Ul=!0,d&&(d.scheduleCheckAfterUnmount(),s&&s.group&&s.group.remove(d),o&&o.deregister&&o.deregister(d))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Nf(n){const[t,s]=kM(),o=T.useContext(eh);return l.jsx(dj,{...n,layoutGroup:o,switchLayoutGroup:T.useContext(Df),isPresent:t,safeToRemove:s})}const uj={pan:{Feature:lj},drag:{Feature:oj,ProjectionNode:Lf,MeasureLayout:Nf}};function wg(n,t,s){const{props:o}=n;n.animationState&&o.whileHover&&n.animationState.setActive("whileHover",s==="Start");const d="onHover"+s,p=o[d];p&&De.postRender(()=>p(t,$i(t)))}class cj extends Nn{mount(){const{current:t}=this.node;t&&(this.unmount=XI(t,(s,o)=>(wg(this.node,o,"Start"),d=>wg(this.node,d,"End"))))}unmount(){}}class mj extends Nn{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ui(qi(this.node.current,"focus",()=>this.onFocus()),qi(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Sg(n,t,s){const{props:o}=n;if(n.current instanceof HTMLButtonElement&&n.current.disabled)return;n.animationState&&o.whileTap&&n.animationState.setActive("whileTap",s==="Start");const d="onTap"+(s==="End"?"":s),p=o[d];p&&De.postRender(()=>p(t,$i(t)))}class pj extends Nn{mount(){const{current:t}=this.node;t&&(this.unmount=a0(t,(s,o)=>(Sg(this.node,o,"Start"),(d,{success:p})=>Sg(this.node,d,p?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const vd=new WeakMap,_l=new WeakMap,gj=n=>{const t=vd.get(n.target);t&&t(n)},hj=n=>
334{n.forEach(gj)};function fj({root:n,...t}){const s=n||document;_l.has(s)||_l.set(s,{});const o=_l.get(s),d=JSON.stringify(t);return o[d]||(o[d]=new IntersectionObserver(hj,{root:n,...t})),o[d]}function kj(n,t,s){const o=fj(t);return vd.set(n,s),o.observe(n),()=>{vd.delete(n),o.unobserve(n)}}const bj={some:0,all:1};class yj extends Nn{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:s,margin:o,amount:d="some",once:p}=t,c={root:s?s.current:void 0,rootMargin:o,threshold:typeof d=="number"?d:bj[d]},g=h=>{const{isIntersecting:b}=h;if(this.isInView===b||(this.isInView=b,p&&!b&&this.hasEnteredView))return;b&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",b);const{onViewportEnter:f,onViewportLeave:y}=this.node.getProps(),A=b?f:y;A&&A(h)};return kj(this.node.current,c,g)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:s}=this.node;["amount","margin","root"].some(vj(t,s))&&this.startObserver()}unmount(){}}function vj({viewport:n={}},{viewport:t={}}={}){return s=>n[s]!==t[s]}const Aj={inView:{Feature:yj},tap:{Feature:pj},focus:{Feature:mj},hover:{Feature:cj}},xj={layout:{ProjectionNode:Lf,MeasureLayout:Nf}},Lj={...HM,...Aj,...uj,...xj},sn=FM(Lj,WM);function Pj(){const{t:n,translations:t}=Oe(),s=t.mission?.paragraphs||[];return l.jsx("section",{className:"py-16 lg:py-20 border-b responsive-section",children:l.jsxs("div",{className:"container mx-auto max-w-7xl px-6 lg:px-8",children:[l.jsxs("div",{className:"mb-8",children:[l.jsx("div",{className:"inline-block px-3 py-1.5 bg-blue-900/10 rounded border border-blue-900/20 mb-4",children:l.jsx("span",{className:"text-xs text-blue-900 font-medium uppercase tracking-wide",children:n("mission.badge")})}),l.jsx("h2",{className:"text-3xl lg:text-4xl font-semibold",children:n("mission.title")})]}),l.jsxs("div",{className:"flex flex-col lg:flex-row gap-8 lg:gap-12 items-stretch",children:[l.jsx("div",{className:"flex-1 space-y-4 text-base leading-relaxed text-foreground/90",children:s.map((o,d)=>l.jsx("p",{children:o},d))}),l.jsx("div",{className:"hidden lg:flex w-[300px] flex-shrink-0 items-center justify-center",children:l.jsx(wj,{label:n("mission.animation.label"),sublabel:n("mission.animation.sublabel")})})]})]})})}function wj({label:n,sublabel:t}){const s={x:50,y:50},o=[{radius:15,duration:4,electrons:2},{radius:25,duration:6,electrons:4},{radius:35,duration:8,electrons:6}];return l.jsxs("div",{className:"relative w-full h-full",children:[l.jsxs("svg",{className:"w-full h-full",viewBox:"0 0 100 100",children:[o.map((d,p)=>l.jsx(sn.circle,{cx:s.x,cy:s.y,r:d.radius,fill:"none",stroke:"#1e3a8a",strokeWidth:"0.15",opacity:"0.2",initial:{pathLength:0,opacity:0},animate:{pathLength:1,opacity:.2},transition:{duration:2,ease:"easeOut"}},`orbit-${p}`)),o.map((d,p)=>[...Array(d.electrons)].map((c,g)=>{const h=g/d.electrons*360;return l.jsx(sn.circle,{r:"1.2",fill:"#1e3a8a",initial:{cx:s.x+d.radius*Math.cos(h*Math.PI/180),cy:s.y+d.radius*Math.sin(h*Math.PI/180)},animate:{cx:[s.x+d.radius*Math.cos(h*Math.PI/180),s.x+d.radius*Math.cos((h+360)*Math.PI/180)],cy:[s.y+d.radius*Math.sin(h*Math.PI/180),s.y+d.radius*Math.sin((h+360)*Math.PI/180)]},transition:{duration:d.duration,repeat:1/0,ease:"linear",delay:g/d.electrons*d.duration}},`electron-${p}-${g}`)})),l.jsxs(sn.g,{children:[l.jsx(sn.circle,{cx:s.x,cy:s.y,r:"4",fill:"#1e3a8a",animate:{scale:[1,1.1,1]},transition:{duration:2,repeat:1/0,ease:"easeInOut"}}),l.jsx(sn.circle,{cx:s.x,cy:s.y,r:"4",fill:"none",stroke:"#1e3a8a",strokeWidth:"0.5",animate:{r:[4,8,12],opacity:[.6,.3,0]},transition:{duration:2,repeat:1/0,ease:"easeOut"}})]}),[0,120,240].map((d,p)=>{const g=s.x+20*Math.cos(d*Math.PI/180),h=s.y+20*Math.sin(d*Math.PI/180);return l.jsxs(sn.g,{children:[l.jsx(sn.line,{x1:s.x,y1:s.y,x2:g,y2:h,stroke:"#1e3a8a",strokeWidth:"0.4",initial:{pathLength:0,opacity:0},animate:{pathLength:1,opacity:[0,.4,.4,0]},transition:{duration:3,repeat:1/0,delay:p*1,ease:"easeInOut"}}),l.jsx(sn.circle,{cx:g,cy:h,r:"2.5",fill:"#1e3a8a",initial:{scale:0,opacity:0}
vendor: 10,634 bytes, line 334
334,animate:{scale:[0,1,1,0],opacity:[0,.8,.8,0]},transition:{duration:3,repeat:1/0,delay:p*1,ease:"easeInOut"}})]},`bond-${p}`)})]}),l.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:l.jsxs(sn.div,{className:"text-center",initial:{opacity:0},animate:{opacity:[0,1,1,.7]},transition:{duration:3,repeat:1/0,ease:"easeInOut"},children:[l.jsx("div",{className:"text-xs font-medium text-blue-900",children:n}),l.jsx("div",{className:"text-[10px] text-blue-900/60",children:t})]})})]})}const Sj=["/images/optimized/business-meeting.webp","/images/optimized/team-workspace.webp","/images/optimized/team-collaboration.webp","/images/optimized/professional-office.webp"];function Ij(){const{t:n,translations:t}=Oe(),s=t.businessProcess?.paragraphs||[],o=t.businessProcess?.cards||[];return l.jsx("section",{className:"py-16 border-b responsive-section",children:l.jsx("div",{className:"container mx-auto max-w-7xl px-4 responsive-section-inner",children:l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 items-start",children:[l.jsxs("div",{className:"flex flex-col justify-start",children:[l.jsx("h2",{className:"text-4xl font-bold text-foreground mb-4",children:n("businessProcess.title")}),l.jsx("p",{className:"text-2xl font-bold text-foreground mb-6",children:n("businessProcess.headline")}),l.jsx("div",{className:"space-y-4 text-base text-gray-600 leading-relaxed",children:s.map((d,p)=>l.jsx("p",{children:d},p))})]}),l.jsx("div",{className:"space-y-6",children:o.map((d,p)=>l.jsxs("div",{className:"bg-white rounded-lg overflow-hidden flex gap-4 p-4",children:[l.jsx("div",{className:"flex-shrink-0 w-24 h-24",children:l.jsx(sa,{src:Sj[p],alt:d.title,className:"w-full h-full object-cover rounded"})}),l.jsxs("div",{className:"flex-1 flex flex-col justify-center",children:[l.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:d.title}),l.jsx("p",{className:"text-sm text-gray-600 leading-relaxed",children:d.description})]})]},p))})]})})})}function Ig(n,t){if(typeof n=="function")return n(t);n!=null&&(n.current=t)}function Mj(...n){return t=>{let s=!1;const o=n.map(d=>{const p=Ig(d,t);return!s&&typeof p=="function"&&(s=!0),p});if(s)return()=>{for(let d=0;d<o.length;d++){const p=o[d];typeof p=="function"?p():Ig(n[d],null)}}}}var jj=Symbol.for("react.lazy"),Pr=Qb[" use ".trim().toString()];function Cj(n){return typeof n=="object"&&n!==null&&"then"in n}function Gf(n){return n!=null&&typeof n=="object"&&"$$typeof"in n&&n.$$typeof===jj&&"_payload"in n&&Cj(n._payload)}function nu(n){const t=Dj(n),s=T.forwardRef((o,d)=>{let{children:p,...c}=o;Gf(p)&&typeof Pr=="function"&&(p=Pr(p._payload));const g=T.Children.toArray(p),h=g.find(Tj);if(h){const b=h.props.children,f=g.map(y=>y===h?T.Children.count(b)>1?T.Children.only(null):T.isValidElement(b)?b.props.children:null:y);return l.jsx(t,{...c,ref:d,children:T.isValidElement(b)?T.cloneElement(b,void 0,f):null})}return l.jsx(t,{...c,ref:d,children:p})});return s.displayName=`${n}.Slot`,s}var Of=nu("Slot");function Dj(n){const t=T.forwardRef((s,o)=>{let{children:d,...p}=s;if(Gf(d)&&typeof Pr=="function"&&(d=Pr(d._payload)),T.isValidElement(d)){const c=Rj(d),g=Ej(p,d.props);return d.type!==T.Fragment&&(g.ref=o?Mj(o,c):c),T.cloneElement(d,g)}return T.Children.count(d)>1?T.Children.only(null):null});return t.displayName=`${n}.SlotClone`,t}var zj=Symbol("radix.slottable");function Tj(n){return T.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===zj}function Ej(n,t){const s={...t};for(const o in t){const d=n[o],p=t[o];/^on[A-Z]/.test(o)?d&&p?s[o]=(...g)=>{const h=p(...g);return d(...g),h}:d&&(s[o]=d):o==="style"?s[o]={...d,...p}:o==="className"&&(s[o]=[d,p].filter(Boolean).join(" "))}return{...n,...s}}function Rj(n){let t=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?n.ref:(t=Object.getOwnPropertyDescriptor(n,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning,s?n.props.ref:n.props.ref||n.ref)}const Mg=n=>typeof n=="boolean"?`${n}`:n===0?"0":n,jg=Kg,Bf=(n,t)=>s=>{var o;if(t?.variants==null)return jg(n,s?.class,s?.className);const{variants:d,defaultVariants:p}=t,c=Object.keys(d).map(b=>{const f=s?.[b],y=p?.[b];if(f===null)return null;const A=Mg(f)||Mg(y);return d[b][A]}),g=s&&Object.entries(s).reduce((b,f)=>{let[y,A]=f;return A===void 0||(b[y]=A),b},{}),h=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((b,f)=>{let{class:y,className:A,...M}=f;return Object.entries(M).every(P=>{let[z,C]=P;return Array.isArray(C)?C.includes({...p,...g}[z]):{...p,...g}[z]===C})?[...b,y,A]:b},[]);return jg(n,c,h,s?.class,s?.className)},Nj=Bf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9 rounded-md"}},defaultVariants:{variant:"default",size:"default"}});function ja({className:n,variant:t,size:s,asChild:o=!1,...d}){const p=o?Of:"button";return l.jsx(p,{"data-slot":"button",className:Ba(Nj({variant:t,size:s,className:n})),...d})}const Gj=Bf("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function Qi({className:n,variant:t,asChild:s=!1,...o}){const d=s?Of:"span";return l.jsx(d,{"data-slot":"badge",className:Ba(Gj({variant:t}),n),...o})}const Oi=[{id:"traffic-route-ai",number:"",title:{ja:"交éçµè·¯AI鏿ã·ã¹ãã ",en:"AI Transit Route Selection System",zh:"AI交éè·¯çº¿éæ©ç³»ç»",ko:"AI êµíµ ê²½ë¡ ì í ìì¤í
",es:"Sistema de Selección de Rutas de Transporte con IA",pt:"Sistema de Seleção de Rotas de Transporte com IA",de:"KI-System zur Auswahl von Verkehrsverbindungen",ms:"Sistem Pemilihan Laluan Pengangkutan AI",id:"Sistem Pemilihan Rute Transportasi AI",th:"ระà¸à¸ AI à¹à¸¥à¸·à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸"},subtitle:{ja:"ãã¬ã¼ã·ã¢ã®å
Œ
±äº¤éãã¤ãªããçµè·¯é¸æãµãã¼ã",en:"Route planning for public transport in Malaysia",zh:"è¿æ¥é©¬æ¥è¥¿äºå
Œ
±äº¤éï¼è¾
å©è·¯çº¿éæ©",ko:"ë§ë ì´ìì ëì¤êµíµ ê²½ë¡ ì í ì§ì",es:"Planificación de rutas de transporte público en Malasia",pt:"Planejamento de rotas de transporte público na Malásia",de:"Routenplanung für den öffentlichen Verkehr in Malaysia",ms:"Perancangan laluan pengangkutan awam di Malaysia",id:"Perencanaan rute transportasi umum di Malaysia",th:"วาà¸à¹à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸à¸ªà¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°à¹à¸à¸¡à¸²à¹à¸¥à¹à¸à¸µà¸¢"},description:{ja:"åºçºå°ã¨ç®çå°ãããã¹ã»ééãçµã¿åãããç§»åçµè·¯ãæ¤ç´¢ããå°çæå»ã»æè¦æéã»ä¹æåæ°ã§åè£ãæ¯è¼ã§ãã交éçµè·¯é¸æã·ã¹ãã ããã¹ã®ã¿ã»ééã®ã¿ã®çµãè¾¼ã¿ãè¿ãã®é§
ã»åçæã®æ¤ç´¢ãå¤è¨èªè¡¨ç¤ºã«å¯¾å¿ããæ¥å¸¸ã®ç§»åããæ
è¡ã¾ã§ç®çã«åã£ãã«ã¼ãé¸ã³ãæ¯æ´ãã¾ãã",en:"A transit route selection system that searches bus and train connections between an origin and destination and compares options by arrival time, journey duration, and transfers. Bus-only and train-only filters, nearby station and stop search, and a multilingual interface help users choose routes for everyday journeys and travel.",zh:"æ ¹æ®åºåå°åç®çå°æç´¢å
¬äº¤ä¸éè·¯ç»å路线ï¼å¹¶æå°è¾¾æ¶é´ãè¡ç¨æ¶é¿åæ¢ä¹æ¬¡æ°æ¯è¾æ¹æ¡ãæ¯æä»
å
¬äº¤ãä»
éè·¯çéãéè¿è½¦ç«æç´¢åå¤è¯è¨çé¢ï¼å¸®å©ç¨æ·ä¸ºæ¥å¸¸åºè¡åæ
è¡éæ©åéç路线ã",ko:"ì¶ë°ì§ì 목ì ì§ë¥¼ 기ì¤ì¼ë¡ ë²ì¤ì ì² ë를 ì¡°í©í ê²½ë¡ë¥¼ ê²ìíê³ ëì°© ìê°, ìì ìê°, íì¹ íìë¡ í보를 ë¹êµíë ìì¤í
ì
ëë¤. ë²ì¤ ì ì©Â·ì² ë ì ì© íí°, ì£¼ë³ ìê³¼ ì ë¥ì¥ ê²ì, ë¤êµì´ íë©´ì ì ê³µíì¬ ì¼ì ì´ëê³¼ ì¬íì ë§ë ê²½ë¡ ì íì ëìµëë¤.",es:"Sistema que busca conexiones de autobús y tren entre un origen y un destino y compara las opciones por hora de llegada, duración y transbordos. Los filtros de solo autobús o tren, la búsqueda de estaciones y paradas cercanas y una interfaz multilingüe facilitan la elección de rutas para desplazamientos diarios y viajes.",pt:"Sistema que busca conexões de ônibus e trem entre origem e destino e compara opções por horário de chegada, duração e número de baldeações. Filtros de apenas ônibus ou trem, busca de estações e paradas próximas e uma interface multilÃngue ajudam a escolher rotas para o dia a dia e viagens.",de:"Das System sucht Bus- und Bahnverbindungen zwischen Start und Ziel und vergleicht Optionen nach Ankunftszeit, Reisedauer und Umstiegen. Filter für reine Bus- oder Bahnverbindungen, die Suche nac
334h nahegelegenen Stationen und Haltestellen sowie eine mehrsprachige Oberfläche unterstützen die Routenwahl im Alltag und auf Reisen.",ms:"Sistem yang mencari gabungan laluan bas dan kereta api antara tempat bertolak dan destinasi serta membandingkan pilihan mengikut waktu ketibaan, tempoh perjalanan dan bilangan pertukaran. Penapis bas sahaja atau kereta api sahaja, carian stesen dan hentian berdekatan serta antara muka berbilang bahasa membantu pemilihan laluan untuk perjalanan harian dan percutian.",id:"Sistem yang mencari kombinasi rute bus dan kereta antara titik keberangkatan dan tujuan serta membandingkan pilihan berdasarkan waktu tiba, durasi perjalanan, dan jumlah perpindahan. Filter khusus bus atau kereta, pencarian stasiun dan halte terdekat, serta antarmuka multibahasa membantu memilih rute untuk perjalanan sehari-hari maupun wisata.",th:"ระà¸à¸à¸à¹à¸à¸«à¸²à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸µà¹à¸à¸ªà¸¡à¸à¸ªà¸²à¸à¸£à¸à¹à¸à¸¢à¸ªà¸²à¸£à¹à¸¥à¸°à¸£à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸¶à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸ à¸à¸£à¹à¸à¸¡à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸§à¸¥à¸²à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸§à¸¥à¸²à¸à¸¶à¸ à¹à¸¥à¸°à¸à¸³à¸à¸§à¸à¸à¸£à¸±à¹à¸à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸ªà¸²à¸¢ รà¸à¸à¸£à¸±à¸à¸à¸±à¸§à¸à¸£à¸à¸à¹à¸à¸à¸²à¸°à¸£à¸à¹à¸à¸¢à¸ªà¸²à¸£à¸«à¸£à¸·à¸à¸£à¸à¹à¸ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸ªà¸à¸²à¸à¸µà¹à¸¥à¸°à¸à¹à¸²à¸¢à¹à¸à¸¥à¹à¹à¸à¸µà¸¢à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา à¹à¸à¸·à¹à¸à¸à¹à¸§à¸¢à¹à¸¥à¸·à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸§à¸±à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸§"},techStack:{ja:["å
Œ
±äº¤éçµè·¯æ¤ç´¢","ãã¹ã»éé飿º","çµè·¯æ¯è¼","å¤è¨èªUI"],en:["Public Transit Routing","Bus & Rail Integration","Route Comparison","Multilingual UI"],zh:["å
Œ
±äº¤é路线æç´¢","å
¬äº¤ä¸éè·¯æ´å","路线æ¯è¾","å¤è¯è¨çé¢"],ko:["ëì¤êµíµ ê²½ë¡ ê²ì","ë²ì¤Â·ì² ë ì°ê³","ê²½ë¡ ë¹êµ","ë¤êµì´ UI"],es:["Rutas de Transporte Público","Integración de Autobús y Tren","Comparación de Rutas","Interfaz Multilingüe"],pt:["Rotas de Transporte Público","Integração de Ãnibus e Trem","Comparação de Rotas","Interface MultilÃngue"],de:["ÃPNV-Routenplanung","Bus- und Bahnanbindung","Routenvergleich","Mehrsprachige Oberfläche"],ms:["Laluan Pengangkutan Awam","Integrasi Bas dan Kereta Api","Perbandingan Laluan","Antara Muka Berbilang Bahasa"],id:["Rute Transportasi Umum","Integrasi Bus dan Kereta","Perbandingan Rute","Antarmuka Multibahasa"],th:["à¸à¹à¸à¸«à¸²à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸à¸ªà¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°","à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸£à¸à¹à¸à¸¢à¸ªà¸²à¸£à¹à¸¥à¸°à¸£à¸à¹à¸","à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸","หà¸à¹à¸²à¸à¸à¸«à¸¥à¸²à¸¢à¸ าษา"]},projectUrl:"https://trf.mychats.info/",imageSrc:"/images/traffic-route-ai.webp",videoSrc:"/videos/traffic-route-ai.mp4"},{id:"multilingual-assistant",number:"",title:{ja:"AIå¤è¨èªã¢ã·ã¹ã¿ã³ã",en:"AI Multilingual Assistant",zh:"AIå¤è¯è¨å©æ",ko:"AI ë¤êµì´ ì´ìì¤í´í¸",es:"Asistente Multilingue con IA",pt:"Assistente MultilÃngue com IA",th:"à¸à¸¹à¹à¸à¹à¸§à¸¢ AI หลายภาษา",ms:"Pembantu AI Pelbagai Bahasa",id:"Asisten AI Multibahasa",de:"KI-Mehrsprachiger Assistent"},description:{ja:"è¤æ°è¨èªã§ã®åãåããã«å¯¾å¿ããã¤ã³ããªã¸ã§ã³ããªãã£ããã¢ã·ã¹ã¿ã³ãã1,573ä»¶ã®ãã¯ãã«ã¤ã³ããã¯ã¹ãæ§ç¯ããæ¡ä»¶åå²ãNGã¯ã¼ããã£ã«ã¿ãªã³ã°ããã¼ã¯ã¼ãããªã¬ã¼ã«ããç²¾å¯ãªåçå¶å¾¡ãå®è£
ãã¾ãããæ¥æ¬èªã»è±èªã»ä¸å½èªãªã©å¤è¨èªã§ã®ã¦ã¼ã¶ã¼è³ªåã«å¯¾ããè¨èªæ¨ªæçãªã»ãã³ãã£ãã¯æ¤ç´¢ã«ããä¸è²«ããé«ç²¾åº¦ãªåçãçæãã¾ãã",en:"An intelligent chat assistant supporting multilingual inquiries. Built a vector index of 1,573 items with conditional branching, NG word filtering, and keyword-triggered precision response control. Generates consistent, high-accuracy answers to user questions in Japanese, English, Chinese, and other languages through cross-lingual semantic search.",zh:"æ¯æå¤è¯è¨æ¥è¯¢çæºè½è天婿ãæå»ºäº1,573个æ¡ç®çåéç´¢å¼ï¼å®ç°äºæ¡ä»¶åæ¯ãææè¯è¿æ»¤åå
³é®è¯è§¦åçç²¾ååçæ§å¶ãéè¿è·¨è¯è¨è¯ä¹æç´¢ï¼ä¸ºæ¥è¯ãè±è¯ã䏿çå¤è¯è¨ç¨æ·é®é¢ç
334æä¸è´çé«ç²¾åº¦åçã",ko:"ë¤êµì´ 문ì를 ì§ìíë ì§ë¥í ì±í
ì´ìì¤í´í¸. ì¡°ê±´ ë¶ê¸°, ê¸ì§ì´ íí°ë§, í¤ìë í¸ë¦¬ê±° ì ë° ìëµ ì ì´ë¥¼ ê°ì¶ 1,573ê° í목ì ë²¡í° ì¸ë±ì¤ë¥¼ 구ì¶íìµëë¤. ì¼ë³¸ì´, ìì´, ì¤êµì´ ë± ë¤êµì´ ì¬ì©ì ì§ë¬¸ì ëí´ êµì°¨ ì¸ì´ ì미 ê²ìì íµí´ ì¼ê´ëê³ ëì ì íëì ëµë³ì ìì±í©ëë¤.",es:"Un asistente de chat inteligente que admite consultas multilingües. Se construyó un Ãndice vectorial de 1,573 elementos con ramificación condicional, filtrado de palabras prohibidas y control de respuesta precisa activado por palabras clave. Genera respuestas consistentes y de alta precisión para preguntas de usuarios en japonés, inglés, chino y otros idiomas mediante búsqueda semántica multilingüe.",pt:"Um assistente de chat inteligente que suporta consultas multilÃngues. Construiu um Ãndice vetorial de 1.573 itens com ramificação condicional, filtragem de palavras proibidas e controle de resposta de precisão acionado por palavras-chave. Gera respostas consistentes e de alta precisão para perguntas de usuários em japonês, inglês, chinês e outros idiomas por meio de pesquisa semântica multilÃngue.",th:"à¸à¸¹à¹à¸à¹à¸§à¸¢à¹à¸à¸à¸à¸±à¸à¸à¸£à¸´à¸¢à¸°à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡à¸«à¸¥à¸²à¸¢à¸ าษา สรà¹à¸²à¸à¸à¸±à¸à¸à¸µà¹à¸§à¸à¹à¸à¸à¸£à¹ 1,573 รายà¸à¸²à¸£à¸à¸£à¹à¸à¸¡à¸à¸²à¸£à¹à¸¢à¸à¸ªà¸²à¸à¸²à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¹à¸ à¸à¸²à¸£à¸à¸£à¸à¸à¸à¸³à¸à¹à¸à¸à¸«à¹à¸²à¸¡ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¢à¸³à¹à¸à¸¢à¸à¸³à¸ªà¸³à¸à¸±à¸ สรà¹à¸²à¸à¸à¸³à¸à¸à¸à¸à¸µà¹à¸ªà¸¡à¹à¸³à¹à¸ªà¸¡à¸à¹à¸¥à¸°à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸³à¸à¸²à¸¡à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¹à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸ à¸à¸±à¸à¸à¸¤à¸© à¸
334ีภà¹à¸¥à¸°à¸ าษาà¸à¸·à¹à¸à¹ à¸à¹à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¸à¹à¸²à¸¡à¸ าษา",ms:"Pembantu sembang pintar yang menyokong pertanyaan pelbagai bahasa. Membina indeks vektor 1,573 item dengan percabangan bersyarat, penapisan perkataan terlarang, dan kawalan respons tepat yang dicetuskan kata kunci. Menjana jawapan yang konsisten dan tepat tinggi untuk soalan pengguna dalam bahasa Jepun, Inggeris, Cina dan bahasa lain melalui carian semantik silang bahasa.",id:"Asisten obrolan cerdas yang mendukung pertanyaan multibahasa. Membangun indeks vektor dari 1.573 item dengan percabangan kondisional, penyaringan kata terlarang, dan kontrol respons presisi yang dipicu kata kunci. Menghasilkan jawaban yang konsisten dan akurat tinggi untuk pertanyaan pengguna dalam bahasa Jepang, Inggris, Cina, dan bahasa lain melalui pencarian semantik lintas bahasa.",de:"Ein intelligenter Chat-Assistent, der mehrsprachige Anfragen unterstützt. Erstellung eines Vektorindexes mit 1.573 Elementen mit bedingter Verzweigung, Filterung verbotener Wörter und schlüsselwortgesteuerter Präzisionsantwortkontrolle. Generiert konsistente, hochpräzise Antworten auf Benutzerfragen in Japanisch, Englisch, Chinesisch und anderen Sprachen durch sprachübergreifende semantische Suche."},techStack:{ja:["RAG","Vector Search","å¤è¨èªEmbedding","LLM","æ¡ä»¶åå²ãã¸ãã¯"],en:["RAG","Vector Search","Multilingual Embedding","LLM","Conditional Logic"],zh:["RAG","åéæç´¢","å¤è¯è¨åµå
¥","LLM","æ¡ä»¶é»è¾"],ko:["RAG","ë²¡í° ê²ì","ë¤êµì´ ìë² ë©","LLM","ì¡°ê±´ ë¡ì§"],es:["RAG","Búsqueda Vectorial","Embedding Multilingüe","LLM","Lógica Condicional"],pt:["RAG","Busca Vetorial","Embedding MultilÃngue","LLM","Lógica Condicional"],th:["RAG","Vector Search","Multilingual Embedding","LLM","Conditional Logic"],ms:["RAG","Carian Vektor","Embedding Berbilang Bahasa","LLM","Logik Bersyarat"],id:["RAG","Pencarian Vektor","Embedding Multibahasa","LLM","Logika Kondisional"],de:["RAG","Vektorsuche","Mehrsprachiges Embedding","LLM","Bedingte Logik"]},projectUrl:"https://app.lllm.tech/",imageSrc:"/images/multilingual-assistant-ui.png"},{id:"weather-forecast",number:"",title:{ja:"æ°è±¡APIã«ããAIæ°è±¡äºæ¸¬",en:"AI Weather Forecasting with Weather APIs",zh:"åºäºæ°è±¡APIçAI天æ°é¢æµ",ko:"기ì API를 íì©í AI ë ì¨ ì측",es:"Pronóstico del Tiempo con IA mediante APIs Meteorológicas",pt:"Previsão do Tempo com IA usando APIs Meteorológicas",th:"à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸à¸²à¸à¸²à¸¨à¸à¹à¸§à¸¢ AI à¸à¹à¸²à¸ API สภาà¸à¸à¸²à¸à¸²à¸¨",ms:"Ramalan Cuaca AI dengan API Cuaca",id:"Prakiraan Cuaca AI dengan API Cuaca",de:"KI-Wettervorhersage mit Wetter-APIs"},description:{ja:"éå»ã®æ°è±¡ãã¼ã¿ãå¦ç¿ããç´è¿ã®æ°è±¡ç¶æ³ããªã¢ã«ã¿ã¤ã äºæ¸¬ããAIã·ã¹ãã ãéçºãæ°è±¡åºAPIãOpenWeatherMapçããåå¾ããéå»ãã¼ã¿ãLLMã§è§£æããæ¸©åº¦ãéæ°´ç¢ºçã風éãªã©ã®çæäºæ¸¬ãçæãã¾ããæç³»åãã¼ã¿ã®ãã¿ã¼ã³èªèã¨RAGã«ããéå»é¡ä¼¼ãã¿ã¼ã³æ¤ç´¢ãçµã¿åããã徿¥ã®çµ±è¨ã¢ãã«ãè£å®ããé«ç²¾åº¦ãªäºæ¸¬ãå®ç¾ãã¾ããã",en:"Developed an AI system that learns from historical weather data to predict real-time weather conditions. Analyzes past data from Japan Meteorological Agency API and OpenWeatherMap using LLM to generate short-term forecasts for temperature, precipitation probability, and wind speed. Achieved high-accuracy predictions by combining time-series pattern recognition with RAG-based retrieval of similar historical patterns, complementing traditional statistical models.",zh:"å¼åäºä¸ä¸ªä»å岿°è±¡æ°æ®ä¸å¦ä¹ çAIç³»ç»ï¼ç¨äºå®æ¶é¢æµå¤©æ°ç¶åµã使ç¨LLMåææ¥èªæ¥æ¬æ°è±¡å
APIåOpenWeatherMapçå岿°æ®ï¼çææ¸©åº¦ãéæ°´æ¦çåé£éççæé¢æµãéè¿ç»åæ¶é´åºå模å¼è¯å«ååºäºRAGçåå²ç¸ä¼¼æ¨¡å¼æ£ç´¢ï¼å®ç°äºé«ç²¾åº¦é¢æµï¼è¡¥å
äºä¼ ç»ç»è®¡æ¨¡åã",ko:"과거 기ì ë°ì´í°ë¥¼ íìµíì¬ ì¤ìê° ë ì¨ ìí©ì ì측íë AI ìì¤í
ì ê°ë°íìµëë¤. ì¼ë³¸ 기ìì² APIì OpenWeatherMapì 과거 ë°ì´í°ë¥¼ LLMì¼ë¡ ë¶ìíì¬ ê¸°ì¨, ê°ì íë¥ , íìì ë¨ê¸° ì보를 ìì±í©ëë¤. ìê³ì´ í¨í´ ì¸ìê³¼ RAG ê¸°ë° ì ì¬ ê³¼ê±° í¨í´ ê²ìì ê²°í©íì¬ ê¸°ì¡´ íµê³ 모ë¸ì ë³´ìíë ê³ ì ë° ì측ì ì¤ííìµëë¤.",es:"Desarrollamos un sistema de IA que aprende de datos meteorológicos históricos para predecir condiciones climáticas en tiempo real. Analiza datos pasados de la API de la Agencia Meteorológica de Japón y OpenWeatherMap usando LLM para generar pronósticos a corto plazo de temperatura, probabilidad de precipitación y velocidad del viento. Logró predicciones de alta precisión combinando reconocimiento de patrones de series temporales con recuperación basada en RAG de patrones históricos similares, complementando los modelos estadÃsticos tradicionales.",pt:"Desenvolvemos um sistema de IA que aprende com dados meteorológicos históricos para prever condições climáticas em tempo real. Analisa dados passados da API da Agência Meteorológica do Japão e OpenWeatherMap usando LLM para gerar previsões de curto prazo de temperatura, probabilidade de precipitação e velocidade do vento. Alcançou previsões de alta precisão combinando reconhecimento de padrões de séries temporais com recuperação baseada em RAG de padrões históricos similares, complementando modelos estatÃsticos tradicionais.",th:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸ AI à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸à¸à¸à¸µà¸à¹à¸à¸·à¹à¸à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸ªà¸ าà¸à¸à¸²à¸à¸²à¸¨à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹ วิà¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸µà¸à¸à¸²à¸ API à¸à¸à¸à¸à¸£à¸¡à¸à¸¸à¸à¸¸à¸à¸´à¸¢à¸¡à¸§à¸´à¸à¸¢à¸²à¸à¸µà¹à¸à¸¸à¹à¸à¹à¸¥à¸° OpenWeatherMap à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸¢à¸²à¸à¸£à¸à¹à¸£à¸°à¸¢à¸°à¸ªà¸±à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸à¸«à¸ ูมิ à¸à¸§à¸²à¸¡à¸à¹à¸²à¸à¸°à¹à¸à¹à¸à¸à¸à¸à¸à¸ à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸¥à¸¡ à¸à¸£à¸£à¸¥à¸¸à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¢à¸³à¸ªà¸¹à¸à¹à¸à¸¢à¸à¸ªà¸¡à¸à¸ªà¸²à¸à¸à¸²à¸£à¸à¸à¸à¸³à¸£à¸¹à¸à¹à¸à¸à¸à¸à¸¸à¸à¸£à¸¡à¹à¸§à¸¥à¸²à¸à¸±à¸à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸£à¸¹à¸à¹à¸à¸à¹à¸à¸à¸à¸µà¸à¸à¸µà¹à¸à¸¥à¹à¸²à¸¢à¸à¸±à¸à¹à¸à¸¢à¹à¸à¹ RAG à¸à¸¶à¹à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¡à¹à¸à¸¥à¸à¸²à¸à¸ªà¸à¸´à¸à¸´à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡",ms:"Membangunkan sistem AI yang belajar dari data cuaca sejarah untuk meramalkan keadaan cuaca masa nyata. Menganalisis data lepas dari API Agensi Meteorologi Jepun dan OpenWeatherMap menggunakan LLM untuk menjana ramalan
334jangka pendek suhu, kebarangkalian hujan, dan kelajuan angin. Mencapai ramalan ketepatan tinggi dengan menggabungkan pengecaman corak siri masa dengan pengambilan corak sejarah serupa berasaskan RAG, melengkapkan model statistik tradisional.",id:"Mengembangkan sistem AI yang belajar dari data cuaca historis untuk memprediksi kondisi cuaca secara real-time. Menganalisis data masa lalu dari API Badan Meteorologi Jepang dan OpenWeatherMap menggunakan LLM untuk menghasilkan prakiraan jangka pendek suhu, probabilitas hujan, dan kecepatan angin. Mencapai prediksi akurasi tinggi dengan menggabungkan pengenalan pola deret waktu dengan pengambilan pola historis serupa berbasis RAG, melengkapi model statistik tradisional.",de:"Entwicklung eines KI-Systems, das aus historischen Wetterdaten lernt, um Wetterbedingungen in Echtzeit vorherzusagen. Analysiert vergangene Daten von der japanischen Meteorologiebehörde-API und OpenWeatherMap mit LLM, um kurzfristige Vorhersagen für Temperatur, Niederschlagswahrscheinlichkeit und Windgeschwindigkeit zu erstellen. Erreichte hochpräzise Vorhersagen durch Kombination von Zeitreihen-Mustererkennung mit RAG-basiertem Abruf ähnlicher historischer Muster, die traditionelle statistische Modelle ergänzen."},techStack:{ja:["æ°è±¡API飿º","LLM","RAG","æç³»åãã¼ã¿è§£æ","ãªã¢ã«ã¿ã¤ã å¦ç"],en:["Weather API Integration","LLM","RAG","Time-Series Analysis","Real-Time Processing"],zh:["æ°è±¡APIéæ","LLM","RAG","æ¶é´åºååæ","宿¶å¤ç"],ko:["기ì API ì°ë","LLM","RAG","ìê³ì´ ë°ì´í° ë¶ì","ì¤ìê° ì²ë¦¬"],es:["Integración de API Meteorológica","LLM","RAG","Análisis de Series Temporales","Procesamiento en Tiempo Real"],pt:["Integração de API Meteorológica","LLM","RAG","Análise de Séries Temporais","Processamento em Tempo Real"],th:["à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ API สภาà¸à¸à¸²à¸à¸²à¸¨","LLM","RAG","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸à¸¸à¸à¸£à¸¡à¹à¸§à¸¥à¸²","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹"],ms:["Integrasi API Cuaca","LLM","RAG","Analisis Siri Masa","Pemprosesan Masa Nyata"],id:["Integrasi API Cuaca","LLM","RAG","Analisis Deret Waktu","Pemrosesan Real-Time"],de:["Wetter-API-Integration","LLM","RAG","Zeitreihenanalyse","Echtzeitverarbeitung"]},projectUrl:"https://tenki.info/",imageSrc:"/images/weather-forecast.jpg"},{id:"local-llm",number:"",title:{ja:"社å
ãµã¼ãã¼ï¼ãªã³ã㬠ãã¼ã«ã«LLM",en:"In-house Server / On-Prem Local LLM",zh:"å
鍿å¡å¨ / On-Prem Local LLM",ko:"ì¬ë´ ìë² / On-Prem Local LLM",es:"Servidor interno / On-Prem Local LLM",pt:"Servidor interno / On-Prem Local LLM",th:"à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸ / On-Prem Local LLM",ms:"Pelayan Dalaman / On-Prem Local LLM",id:"Server Internal / On-Prem Local LLM",de:"Interner Server / On-Prem Local LLM"},description:{ja:"ã客æ§ã®æ¥åã«åãããAIãã社å
ã§ãã使ããç¶æ
ã§ãå±ããã¾ããOpen WebUIãå
±éã®å
¥ãå£ã«æ®ããOllamaï¼MLXã«ããé«éæ¨è«ã¬ã¼ã³ã¨ãUIDãã¨ã«å®å
¨ã«åé¢ããããã¼ã¿é åãæ§ç¯ã社å
ããã¥ã¡ã³ãã¯è±èªåãè¾¼ã¿ Ã æ¥æ¬èªã¯ã¨ãªèªå翻訳ã®RAGã«åãè¾¼ã¿ããã¥ã¼ã¹è¦ç´ã»è³ææ´çã»ã«ã¼ãã³æ¥åãªã©ã®æ¥åã¹ãã«ãå®å
¨ã«ä¸¦èµ°ããã¾ããã¹ãã«å®è¡ç³»ã¯OpenClawã³ã³ããã¨ãã¦éé¢ããCloudflareã¨ãã¸ï¼ãã¼ã«ã«Nginxã®ä¸å±¤ã§å®ãè¨è¨ãã¢ãã«é¸å®ããã¹ãã«è¨è¨ãéç¨ããªã·ã¼ã¾ã§ä¸æ¬ã§æ¯æ´ãã御社å°ç¨ã®AIããå°å
¥ãããã®æ¥ãã使ãããå½¢ã§ç«ã¡ä¸ãã¾ãã",en:"We deliver AI tailored to your business operations, ready to use within your company, with Open WebUI as a common entry point, fast inference lanes with Ollama/MLX, and completely separated data domains for each UID. In-house documents are captured in a RAG with English embedding and automatic Japanese query translation, and business skills such as news summarization, document organization, and routine tasks are safely executed side by side. The skill execution system is isolated as an OpenClaw container and protected by three layers of Cloudflare edge and local Nginx. We provide comprehensive support for model selection, skill design, and operational policies, and start up your company's dedicated AI in a form that can be used from the day it is deployed.",zh:"æä»¬æä¾ä¸ºæ¨çä¸å¡è¿è¥é身å®å¶ç人工æºè½ï¼ä»¥å¼æ¾å¼ WebUI ä½ä¸ºéç¨å
¥å£ç¹ï¼ä½¿ç¨ Ollama/MLX å¿«éæ¨çééï¼å¹¶ä¸ºæ¯ä¸ª UID æä¾å®å
¨åç¦»çæ°æ®åï¼å¯å¨è´µå
¬å¸å
é¨éæ¶ä½¿ç¨ãå¨ RAG 䏿è·å
é¨ææ¡£ï¼å¹¶è¿è¡è±è¯åµå
¥åæ¥è¯èªå¨æ¥è¯¢ç¿»è¯ï¼åæ¶å®å
¨å°æ§è¡æ°é»æè¦ãææ¡£ç»ç»åæ¥å¸¸ä»»å¡çä¸å¡æè½ãæè½æ§è¡ç³»ç»ä½ä¸º OpenClaw 容å¨è¿è¡é离ï¼å¹¶åå°ä¸å± Cloudflare è¾¹ç¼åæ¬å° Nginx çä¿æ¤ãæä»¬ä¸ºæ¨¡åéæ©ãæè½è®¾è®¡åè¿è¡çç¥æä¾å
¨é¢æ¯æï¼å¹¶ä»¥é¨ç½²å½å¤©å³å¯ä½¿ç¨çå½¢å¼å¯å¨è´µå
¬å¸çä¸ç¨äººå·¥æºè½ã",ko:"ê°ë°©í WebUI를 ê³µíµ ì§ì
ì ì¼ë¡ ì¼ì íì¬ ë´ìì ë°ë¡ ì¬ì©í ì ìë ë¹ì¦ëì¤ ì´ì ë§ì¶¤í AI를 ì ê³µíë©°, Ollama/MLX를 íµí ë¹ ë¥¸ ì¶ë¡ ë ì¸, ê° UIDì ëí´ ìì í ë¶ë¦¬ë ë°ì´í° ëë©ì¸ì ì ê³µí©ëë¤. ì¬ë´ 문ìë ìì´ ìë² ë©ê³¼ ì¼ë³¸ì´ 쿼리 ìë ë²ì 기ë¥ì ê°ì¶ RAGë¡ ìº¡ì²ëë©°, ë´ì¤ ìì½, 문ì ì 리, ì¼ì ì
무ì ê°ì ë¹ì¦ëì¤ ì¤í¬ì´ ìì íê² ëëí ì¤íë©ëë¤. ì¤í¬ ì¤í ìì¤í
ì OpenClaw 컨í
ì´ëë¡ ê²©ë¦¬ëì´ ìì¼ë©° Cloudflare ìì§ ë° ë¡ì»¬ Nginxì 3ê³ì¸µì¼ë¡ ë³´í¸ë©ëë¤. ëª¨ë¸ ì í, ì¤í¬ ì¤ê³, ì´ì ì ì±
ë±ì ì¢
í©ì ì¼ë¡ ì§ìíë©°, ë°°í¬í ë ë¶í° ë°ë¡ ì¬ì©í ì ìë ííë¡ ê·ì¬ì ì ì© AI를 ê°ëí©ëë¤.",es:"Proporcionamos IA adaptada a sus operaciones empresariales, lista para usar en su empresa, con Open WebUI como punto de entrada común, vÃas de inferencia rápidas con Ollama/MLX y dominios de datos completamente separados para cada UID. Los documentos internos se capturan en un RAG con incrustación en inglés y traducción automática de consultas al japonés, y las habilidades empresariales como el resumen de noticias, la organización de documentos y las tareas rutinarias se ejecutan de forma segura codo con codo. El sistema de ejecución de habilidades está aislado como un contenedor OpenClaw y protegido por tres capas de Cloudflare edge y Nginx local. Proporcionamos asistencia completa para la selección de modelos, el diseño de habilidades y las polÃticas operativas, y ponemos en marcha la IA dedicada de su empresa de forma que pueda utilizarse desde el mismo dÃa de su despliegue.",pt:"Fornecemos IA adaptada à s suas operações comerciais, pronta para uso em sua empresa, com Open WebUI como ponto de entrada comum, pistas de inferência rápidas com Ollama/MLX e domÃnios de dados completamente separados para cada UID. Os documentos internos são capturados em um RAG com incorporação em inglês e tradução automática de consultas em japonês, e as habilidades de negócios, como resumo de notÃcias, organização de documentos e tarefas de rotina, são executadas com segurança lado a lado. O sistema de execução de habilidades é isolado como um contêiner OpenClaw e protegido por três camadas de borda Cloudflare e Nginx local. Fornecemos suporte abrangente para seleção de modelos, design de habilidades e polÃticas operacionais, e iniciamos a IA dedicada da sua empresa em um formato que pode ser usado desde o dia em que é implantado.",th:"à¹à¸£à¸²à¸ªà¹à¸à¸¡à¸à¸ AI à¸à¸µà¹à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸à¸±à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸£à¸à¸´à¸à¸à¸¸à¸ à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸ ายà¹à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸à¸à¸à¸¸à¸ à¸à¹à¸§à¸¢ Open WebUI à¹à¸à¹à¸à¸à¸¸à¸à¹à¸à¹à¸²à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¹à¸ à¸à¹à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸§à¸à¹à¸£à¹à¸§à¸à¹à¸§à¸¢ Ollama/MLX à¹à¸¥à¸°à¹à¸à¹à¸¡à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¢à¸à¸à¸à¸à¸à¸²à¸à¸à¸±à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸¥à¸° UID à¹à¸à¸à¸ªà¸²à¸£à¸ ายà¹à¸à¸à¸à¸à¹à¸à¸£à¸à¸°à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ RAG à¸à¸£à¹à¸à¸¡à¸
334ารà¸à¸±à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸©à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸¥à¸à¸³à¸à¸²à¸¡à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸¥à¸°à¸à¸±à¸à¸©à¸°à¸à¸²à¸à¸à¸¸à¸£à¸à¸´à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¹à¸²à¸§ à¸à¸²à¸£à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸ªà¸²à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸£à¸°à¸à¸³ à¸à¸°à¸à¸¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸§à¸à¸à¸¹à¹à¸à¸±à¸à¹à¸à¸£à¸°à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸±à¸à¸©à¸°à¸à¸¹à¸à¹à¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸£à¹ OpenClaw à¹à¸¥à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸²à¸¡à¸à¸±à¹à¸à¸à¸²à¸ Cloudflare edge à¹à¸¥à¸° Nginx à¸à¹à¸à¸à¸à¸´à¹à¸ à¹à¸£à¸²à¹à¸«à¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸à¸³à¸¥à¸à¸, à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸©à¸°, à¹à¸¥à¸°à¸à¹à¸¢à¸à¸²à¸¢à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸£à¸°à¸à¸ AI à¹à¸à¸à¸²à¸°à¸à¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¸¸à¸à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸±à¹à¸à¹à¸à¹à¸§à¸±à¸à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸",ms:"Kami menyediakan AI yang disesuaikan dengan operasi perniagaan anda, sedia untuk digunakan dalam syarikat anda, dengan Open WebUI sebagai titik kemasukan biasa, laluan inferens pantas dengan Ollama/MLX, dan domain data yang dipisahkan sepenuhnya untuk setiap UID. Dokumen dalaman dirakam dalam RAG dengan pemadatan Bahasa Inggeris dan terjemahan pertanyaan Jepun secara automatik, dan kemahiran perniagaan seperti ringkasan berita, pengaturan dokumen, dan tugas rutin dijalankan dengan selamat secara serentak. Sistem pelaksanaan kemahiran diasingkan sebagai kontena OpenClaw dan dilindungi oleh tiga lapisan edge Cloudflare serta Nginx tempatan. Kami menyediakan sokongan menyeluruh untuk pemilihan model, reka bentuk kemahiran, dan dasar operasi, dan memulakan AI khusus syarikat anda dalam bentuk yang boleh digunakan sejak hari ia dikerahkan.",id:"Kami memberikan AI yang disesuaikan dengan operasi bisnis Anda, siap digunakan di dalam perusahaan Anda, dengan Open WebUI sebagai titik masuk umum, jalur inferensi cepat dengan Ollama/MLX, dan domain data yang sepenuhnya terpisah untuk setiap UID. Dokumen internal ditangkap dalam RAG dengan penyematan bahasa Inggris dan terjemahan kueri bahasa Jepang otomatis, dan keterampilan bisnis seperti ringkasan berita, organisasi dokumen, dan tugas rutin dijalankan dengan aman secara berdampingan. Sistem eksekusi keterampilan diisolasi sebagai wadah OpenClaw dan dilindungi oleh tiga lapisan Cloudflare edge dan Nginx lokal. Kami menyediakan dukungan komprehensif untuk pemilihan model, desain keterampilan, dan kebijakan operasional, dan memulai AI khusus perusahaan Anda dalam bentuk yang dapat digunakan sejak hari pertama digunakan.",de:"Wir liefern auf Ihre Geschäftsabläufe zugeschnittene KI, die in Ihrem Unternehmen sofort einsatzbereit ist, mit Open WebUI als gemeinsamen Einstiegspunkt, schnellen Inferenzspuren mit Ollama/MLX und vollständig getrennten Datendomänen für jede UID. Interne Dokumente werden in einem RAG mit englischer Einbettung und automatischer japanischer Abfrageübersetzung erfasst, und Business Skills wie Nachrichtenzusammenfassung, Dokumentenorganisation und Routineaufgaben werden sicher nebeneinander ausgeführt. Das Skill-Ausführungssystem ist als OpenClaw-Container isoliert und durch drei Schichten von Cloudflare Edge und lokalem Nginx geschützt. Wir bieten umfassende Unterstützung bei der Modellauswahl, dem Skill-Design und den Betriebsrichtlinien und machen die dedizierte KI Ihres Unternehmens vom ersten Tag an einsatzfähig."},techStack:{ja:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],en:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],zh:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],ko:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],es:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],pt:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],th:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],ms:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],id:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"],de:["CUDA","MLX","Anemll","OpenClaw","Ollama","LangChain","LlamaIndex","Docker","Kubernetes"]},projectUrl:"https://lllm.tech/",imageSrc:"/images/local-llm.jpg"},{id:"orbital-prediction",number:"",title:{ja:"ææéè»éå°éäºæ¸¬ï¼AIï¼",en:"Interplanetary Transfer Window Prediction",zh:"è¡æé
转移çªå£é¢æµ",ko:"íì±ê° ì ì´ ìëì° ì측",es:"Predicción de Ventanas de Transferencia Interplanetaria",pt:"Previsão de Janelas de Transferência Interplanetária",th:"à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸£à¸à¹à¸²à¸¢à¹à¸à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹",ms:"Ramalan Tetingkap Pemindahan Antara Planet",id:"Prediksi Jendela Transfer Antarplanet",de:"Interplanetare Transferfenster-Vorhersage"},description:{ja:"NASA APIããææä½ç½®ãã¼ã¿ãè»éè¦ç´ ãéåãã©ã¡ã¼ã¿ãåå¾ããææéç§»åã®æé©ãªåºçºãã¤ã³ããè§£æããã·ã¹ãã ãéçºã
334ãã¼ãã³é·ç§»è»éãéåã¢ã·ã¹ããèæ
®ããè»éè¨ç®ãAPIã¨Pythonã§ç®å®ããæã¡ä¸ãã¦ã£ã³ãã¦ãæè¦æéãçæå¹çã表示ãã¾ããæè²æ©é¢ã»å®å®é¢é£ä¼æ¥åãã®ã·ãã¥ã¬ã¼ã·ã§ã³ãã¼ã«ã¨ãã¦æ´»ç¨ããã¦ãã¾ããâ»AIæ©è½ãç¾å¨å¤ãã¦ãã¾ããAPIã¨Pythonã§è¨ç®ä¸",en:"Developed a system that retrieves planetary position data, orbital elements, and gravity parameters from NASA APIs to analyze optimal departure points for interplanetary travel. Calculates trajectories considering Hohmann transfer orbits and gravity assists using APIs and Python, displaying launch windows, travel time, and fuel efficiency. Used as a simulation tool for educational institutions and space-related companies. *AI features currently disabled; calculations performed via API and Python.",zh:"å¼åäºä¸ä¸ªä»NASA APIè·åè¡æä½ç½®æ°æ®ã轨éè¦ç´ åéååæ°çç³»ç»ï¼ç¨äºåæè¡æé
æ
è¡çæä½³åºåç¹ã使ç¨APIåPython计ç®èèéæ¼è½¬ç§»è½¨éåéåè¾
å©çè½¨è¿¹ï¼æ¾ç¤ºåå°çªå£ãæ
è¡æ¶é´åçææçãä½ä¸ºæè²æºæåèªå¤©ç¸å
³å
¬å¸ç模æå·¥å
·ä½¿ç¨ã*AIåè½ç®åå·²ç¦ç¨ï¼éè¿APIåPythonè¿è¡è®¡ç®ã",ko:"NASA APIìì íì± ìì¹ ë°ì´í°, 궤ë ìì ë° ì¤ë ¥ 매ê°ë³ì를 ê²ìíì¬ íì±ê° ì¬íì ìµì ì¶ë° ì§ì ì ë¶ìíë ìì¤í
ì ê°ë°íìµëë¤. APIì Pythonì ì¬ì©íì¬ í¸ë§ ì ì´ ê¶¤ëì ì¤ë ¥ ì´ìì¤í¸ë¥¼ ê³ ë ¤í 궤ì ì ê³ì°íê³ ë°ì¬ ìëì°, ì´ë ìê° ë° ì°ë£ í¨ì¨ì íìí©ëë¤. êµì¡ ê¸°ê´ ë° ì°ì£¼ ê´ë ¨ 기ì
ì ì뮬ë ì´ì
ëêµ¬ë¡ ì¬ì©ë©ëë¤. *AI ê¸°ë¥ íì¬ ë¹íì±íë¨; APIì Pythonì¼ë¡ ê³ì° ìí ì¤.",es:"Desarrollamos un sistema que recupera datos de posición planetaria, elementos orbitales y parámetros gravitacionales de las APIs de la NASA para analizar puntos de partida óptimos para viajes interplanetarios. Calcula trayectorias considerando órbitas de transferencia de Hohmann y asistencias gravitacionales usando APIs y Python, mostrando ventanas de lanzamiento, tiempo de viaje y eficiencia de combustible. Usado como herramienta de simulación para instituciones educativas y empresas espaciales. *Funciones de IA actualmente deshabilitadas; cálculos realizados mediante API y Python.",pt:"Desenvolvemos um sistema que recupera dados de posição planetária, elementos orbitais e parâmetros gravitacionais das APIs da NASA para analisar pontos de partida ideais para viagens interplanetárias. Calcula trajetórias considerando órbitas de transferência de Hohmann e assistências gravitacionais usando APIs e Python, exibindo janelas de lançamento, tempo de viagem e eficiência de combustÃvel. Usado como ferramenta de simulação para instituições educacionais e empresas espaciais. *Recursos de IA atualmente desativados; cálculos realizados via API e Python.",th:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸³à¹à¸«à¸à¹à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸§à¸à¹à¸à¸à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹à¹à¸£à¸à¹à¸à¹à¸¡à¸à¹à¸§à¸à¸à¸²à¸ NASA API à¹à¸à¸·à¹à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸¸à¸à¸à¸à¸à¹à¸à¸´à¸à¸à¸²à¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸µà¹à¸ªà¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ à¸à¸³à¸à¸§à¸à¸§à¸´à¸à¸µà¹à¸à¸¢à¸à¸´à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¸à¸à¸£à¸à¹à¸²à¸¢à¹à¸à¸à¸®à¸à¸¡à¸±à¸à¸à¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¹à¸²à¸à¹à¸£à¸à¹à¸à¹à¸¡à¸à¹à¸§à¸à¹à¸à¸¢à¹à¸à¹ API à¹à¸¥à¸° Python à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸£à¸à¸¥à¹à¸à¸¢ à¹à¸§à¸¥à¸²à¹à¸à¸´à¸à¸à¸²à¸ à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸·à¹à¸à¹à¸à¸¥à¸´à¸ à¹à¸à¹à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸³à¸¥à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸ªà¸à¸²à¸à¸±à¸à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸²à¹à¸¥à¸°à¸à¸£à¸´à¸©à¸±à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¸±à¸à¸à¸§à¸à¸²à¸¨ *à¸à¸µà¹à¸à¸à¸£à¹ AI à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸; à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸²à¸ API à¹à¸¥à¸° Python",ms:"Membangunkan sistem yang mengambil data kedudukan planet, elemen orbit, dan parameter graviti dari API NASA untuk menganalisis titik berlepas optimum untuk perjalanan antara planet. Mengira trajektori mempertimbangkan orbit pemindahan Hohmann dan bantuan graviti menggunakan API dan Python, memaparkan tetingkap pelancaran, masa perjalanan, dan kecekapan bahan api. Digunakan sebagai alat simulasi untuk institusi pendidikan dan syarikat berkaitan angkasa. *Ciri AI kini dilumpuhkan; pengiraan dilakukan melalui API dan Python.",id:"Mengembangkan sistem yang mengambil data posisi planet, elemen orbit, dan parameter gravitasi dari NASA API untuk menganalisis titik keberangkatan optimal untuk perjalanan antarplanet. Menghitung lintasan dengan mempertimbangkan orbit transfer Hohmann dan bantuan gravitasi menggunakan API dan Python, menampilkan jendela peluncuran, waktu perjalanan, dan efisiensi bahan bakar. Digunakan sebagai alat simulasi untuk lembaga pendidikan dan perusahaan terkait luar angkasa. *Fitur AI saat ini dinonaktifkan; perhitungan dilakukan melalui API dan Python.",de:"Entwicklung eines Systems, das Planetenpositionsdaten, Orbitalelemente und Gravitationsparameter von NASA-APIs abruft, um optimale Abfahrtspunkte für interplanetare Reisen zu analysieren. Berechnet Trajektorien unter Berücksichtigung von Hohmann-Transferbahnen und Gravitationsassistenten mit APIs und Python, zeigt Startfenster, Reisezeit und Treibstoffeffizienz an. Wird als Simulationswerkzeug für Bildungseinrichtungen und raumfahrtbezogene Unternehmen verwendet. *KI-Funktionen derzeit deaktiviert; Berechnungen werden über API und Python durchgeführt."},techStack:{ja:["NASA API (Horizons, SPICE)","è»éåå¦è¨ç®","Python","ãã¼ã¿ãã¸ã¥ã¢ã©ã¤ã¼ã¼ã·ã§ã³"],en:["NASA API (Horizons, SPICE)","Orbital Mechanics","Python","Data Visualization"],zh:["NASA API (Horizons, SPICE)","轨éåå¦","Python","æ°æ®å¯è§å"],ko:["NASA API (Horizons, SPICE)","궤ë ìí","Python","ë°ì´í° ìê°í"],es:["NASA API (Horizons, SPICE)","Mecánica Orbital","Python","Visualización de Datos"],pt:["NASA API (Horizons, SPICE)","Mecânica Orbital","Python","Visualização de Dados"],th:["NASA API (Horizons, SPICE)","à¸à¸¥à¸¨à¸²à¸ªà¸à¸£à¹à¸§à¸à¹à¸à¸à¸£","Python","à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸ าà¸"],ms:["NASA API (Horizons, SPICE)","Mekanik Orbit","Python","Visualisasi Data"],id:["NASA API (Horizons, SPICE)","Mekanika Orbit","Python","Visualisasi Data"],de:["NASA API (Horizons, SPICE)","Orbitalmechanik","Python","Datenvisualisierung"]},projectUrl:"https://telet-ai.github.io/space-travel/",imageSrc:"/images/optimized/orbital-simulation.webp"},{id:"real-estate",number:"",title:{ja:"ä¸åç£ãã¼ã¿AIè§£æ",en:"Real Estate Data Analysis with AI",zh:"æ¿å°äº§æ°æ®AIåæ",ko:"ë¶ëì° ë°ì´í° AI ë¶ì",es:"Análisis de Datos Inmobiliarios con IA",pt:"Análise de Dados Imobiliários com IA",th:"à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸à¹à¸§à¸¢ AI",ms:"Analisis Data Hartanah dengan AI",id:"Analisis Data Properti dengan AI",de
334:"Immobiliendatenanalyse mit KI"},description:{ja:"ç¹å®å°åã®ä¸åç£æ
å ±ãWebã¹ã¯ã¬ã¤ãã³ã°ã§åéããLLMã¨Pythonã«ããé«åº¦ãªãã¼ã¿è§£æãè¡ãã·ã¹ãã ãéçºãç©ä»¶ä¾¡æ ¼ãåªå価ãç¯å¹´æ°ãé§
è·é¢ãªã©ã®å¤æ°ãæ½åºããä¾¡æ ¼ãã¬ã³ãåæãç¸å ´äºæ¸¬ãæè³åççã·ãã¥ã¬ã¼ã·ã§ã³ãèªåçæãã¾ããéæ§é åãªç©ä»¶èª¬ææãããLLMã§ç¹å¾´ãæ½åºããå®éãã¼ã¿ã¨çµã¿åãããç·åçãªå¸å ´åæãæä¾ãã¾ãããâ»ã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ï¼FULLãã¼ã¸ã§ã³ã¯å¥éæä¾ï¼",en:"Developed a system that collects real estate information for specific regions via web scraping and performs advanced data analysis using LLM and Python. Extracts variables such as property prices, price per tsubo, building age, and distance to stations, automatically generating price trend analysis, market forecasts, and investment ROI simulations. Also extracts features from unstructured property descriptions using LLM, providing comprehensive market analysis combined with quantitative data. *Currently available as second version (full version available separately).",zh:"å¼åäºä¸ä¸ªéè¿ç½ç»æåæ¶éç¹å®å°åºæ¿å°äº§ä¿¡æ¯å¹¶ä½¿ç¨LLMåPythonè¿è¡é«çº§æ°æ®åæçç³»ç»ãæåæ¿äº§ä»·æ ¼ãæ¯åªåä»·ã建çå¹´é¾åå°è½¦ç«è·ç¦»çåéï¼èªå¨çæä»·æ ¼è¶å¿åæãå¸åºé¢æµåæèµåæ¥ç模æãè¿ä½¿ç¨LLMä»éç»æåçæ¿äº§æè¿°ä¸æåç¹å¾ï¼ç»åå®éæ°æ®æä¾å
¨é¢çå¸åºåæã*ç®åä½ä¸ºç¬¬äºçæ¬åå¸ï¼å®æ´çæ¬å¦è¡æä¾ï¼ã",ko:"ì¹ ì¤í¬ëíì íµí´ í¹ì ì§ìì ë¶ëì° ì 보를 ìì§íê³ LLMê³¼ Pythonì ì¬ì©í ê³ ê¸ ë°ì´í° ë¶ìì ìííë ìì¤í
ì ê°ë°íìµëë¤. 물건 ê°ê²©, íë¹ ê°ê²©, 건물 ì°ì, ìê¹ì§ 거리 ë±ì ë³ì를 ì¶ì¶íì¬ ê°ê²© ì¶ì¸ ë¶ì, ìì¥ ì측, í¬ì ììµë¥ ì뮬ë ì´ì
ì ìë ìì±í©ëë¤. LLMì ì¬ì©íì¬ ë¹êµ¬ì¡°íë 물건 ì¤ëª
ììë í¹ì§ì ì¶ì¶íê³ ì ëì ë°ì´í°ì ê²°í©í ì¢
í©ì ì¸ ìì¥ ë¶ìì ì ê³µíìµëë¤. *íì¬ ë ë²ì§¸ ë²ì ì¼ë¡ ê³µê° ì¤(í ë²ì ì ë³ë ì ê³µ).",es:"Desarrollamos un sistema que recopila información inmobiliaria de regiones especÃficas mediante web scraping y realiza análisis de datos avanzados usando LLM y Python. Extrae variables como precios de propiedades, precio por tsubo, antigüedad del edificio y distancia a estaciones, generando automáticamente análisis de tendencias de precios, pronósticos de mercado y simulaciones de ROI de inversión. También extrae caracterÃsticas de descripciones de propiedades no estructuradas usando LLM, proporcionando análisis de mercado integral combinado con datos cuantitativos. *Actualmente disponible como segunda versión (versión completa disponible por separado).",pt:"Desenvolvemos um sistema que coleta informações imobiliárias de regiões especÃficas via web scraping e realiza análise de dados avançada usando LLM e Python. Extrai variáveis como preços de propriedades, preço por tsubo, idade do edifÃcio e distância até estações, gerando automaticamente análise de tendências de preços, previsões de mercado e simulações de ROI de investimento. Também extrai caracterÃsticas de descrições de propriedades não estruturadas usando LLM, fornecendo análise de mercado abrangente combinada com dados quantitativos. *Atualmente disponÃvel como segunda versão (versão completa disponÃvel separadamente).",th:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸ ูมิภาà¸à¹à¸à¸à¸²à¸°à¸à¹à¸²à¸ web scraping à¹à¸¥à¸°à¸à¸³à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¹à¸à¸ªà¸¹à¸à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸¥à¸° Python à¸à¸¶à¸à¸à¸±à¸§à¹à¸à¸£à¹à¸à¹à¸à¸£à¸²à¸à¸²à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹ ราà¸à¸²à¸à¹à¸à¸à¸²à¸£à¸²à¸à¹à¸¡à¸à¸£ à¸à¸²à¸¢à¸¸à¸à¸²à¸à¸²à¸£ à¹à¸¥à¸°à¸£à¸°à¸¢à¸°à¸à¸²à¸à¹à¸à¸¢à¸±à¸à¸ªà¸à¸²à¸à¸µ สรà¹à¸²à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸§à¹à¸à¹à¸¡à¸£à¸²à¸à¸² à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸¥à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸¥à¸à¸ ROI à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ ยัà¸à¸à¸¶à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸à¸ªà¸±à¸à¸«à¸²à¸£à¸´à¸¡à¸à¸£à¸±à¸à¸¢à¹à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸«à¹à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸¥à¸²à¸à¸à¸µà¹à¸à¸£à¸à¸à¸à¸¥à¸¸à¸¡à¸£à¸§à¸¡à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¸à¸à¸£à¸´à¸¡à¸²à¸ *มีà¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸ (à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¸¡à¸µà¹à¸«à¹à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸)",ms:"Membangunkan sistem yang mengumpul maklumat hartanah untuk kawasan tertentu melalui web scraping dan melakukan analisis data lanjutan menggunakan LLM dan Python. Mengekstrak pembolehubah seperti harga hartanah, harga per tsubo, umur bangunan, dan jarak ke stesen, menjana analisis trend harga, ramalan pasaran, dan simulasi ROI pelaburan secara automatik. Juga mengekstrak ciri dari perihalan hartanah tidak berstruktur menggunakan LLM, menyediakan analisis pasaran komprehensif digabungkan dengan data kuantitatif. *Kini tersedia sebagai versi kedua (versi penuh tersedia secara berasingan).",id:"Mengembangkan sistem yang mengumpulkan informasi properti untu
334k wilayah tertentu melalui web scraping dan melakukan analisis data lanjutan menggunakan LLM dan Python. Mengekstrak variabel seperti harga properti, harga per tsubo, usia bangunan, dan jarak ke stasiun, secara otomatis menghasilkan analisis tren harga, perkiraan pasar, dan simulasi ROI investasi. Juga mengekstrak fitur dari deskripsi properti tidak terstruktur menggunakan LLM, memberikan analisis pasar komprehensif dikombinasikan dengan data kuantitatif. *Saat ini tersedia sebagai versi kedua (versi lengkap tersedia secara terpisah).",de:"Entwicklung eines Systems, das Immobilieninformationen für bestimmte Regionen per Web-Scraping sammelt und erweiterte Datenanalysen mit LLM und Python durchführt. Extrahiert Variablen wie Immobilienpreise, Preis pro Tsubo, Gebäudealter und Entfernung zu Bahnhöfen und generiert automatisch Preistrend-Analysen, Marktprognosen und Investitions-ROI-Simulationen. Extrahiert auch Merkmale aus unstrukturierten Immobilienbeschreibungen mit LLM und bietet umfassende Marktanalysen kombiniert mit quantitativen Daten. *Derzeit als zweite Version verfügbar (Vollversion separat erhältlich)."},techStack:{ja:["Webã¹ã¯ã¬ã¤ãã³ã° (Scrapy, Playwright)","Python","Pandas","LLMè§£æ","ãã¼ã¿å¯è¦å"],en:["Web Scraping (Scrapy, Playwright)","Python","Pandas","LLM Analysis","Data Visualization"],zh:["ç½ç»æå (Scrapy, Playwright)","Python","Pandas","LLMåæ","æ°æ®å¯è§å"],ko:["ì¹ ì¤í¬ëí (Scrapy, Playwright)","Python","Pandas","LLM ë¶ì","ë°ì´í° ìê°í"],es:["Web Scraping (Scrapy, Playwright)","Python","Pandas","Análisis LLM","Visualización de Datos"],pt:["Web Scraping (Scrapy, Playwright)","Python","Pandas","Análise LLM","Visualização de Dados"],th:["Web Scraping (Scrapy, Playwright)","Python","Pandas","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM","à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸ าà¸"],ms:["Web Scraping (Scrapy, Playwright)","Python","Pandas","Analisis LLM","Visualisasi Data"],id:["Web Scraping (Scrapy, Playwright)","Python","Pandas","Analisis LLM","Visualisasi Data"],de:["Web Scraping (Scrapy, Playwright)","Python","Pandas","LLM-Analyse","Datenvisualisierung"]},projectUrl:"https://lookies.ai/",imageSrc:"/images/optimized/real-estate-dashboard.webp"},{id:"fortune-ai",number:"",title:{ja:"åæ±æ¨å½AIéå®ããã¼ã¸ã£ã¼",en:"AI Four Pillars Fortune Analysis Manager",zh:"AIåæ±æ¨å½è¿å¿åæç®¡çå¨",ko:"AI ì¬ì£¼ ì´ì¸ ë¶ì 매ëì ",es:"Gestor de Análisis de Fortuna de los Cuatro Pilares con IA",pt:"Gerenciador de Análise de Fortuna dos Quatro Pilares com IA",th:"ระà¸à¸à¸à¸±à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸§à¸à¸à¸°à¸à¸²à¸ªà¸µà¹à¹à¸ªà¸²à¸à¹à¸§à¸¢ AI",ms:"Pengurus Analisis Nasib Empat Tiang AI",id:"Manajer Analisis Keberuntungan Empat Pilar AI",de:"KI-Vier-Säulen-Schicksalsanalyse-Manager"},description:{ja:"çå¹´ææ¥ã»åºçæéã»åºçå°ããåæ±æ¨å½ï¼å½å¼ï¼ãç®åºããéå¢ã»ç¸æ§ã»é©è·ãªã©ãèªç¶è¨èªã§çæããAIéå®ã·ã¹ãã ã",en:"An AI fortune analysis system that calculates Four Pillars of Destiny (BaZi chart) from birth date, time, and location, generating natural language readings for fortune, compatibility, and career suitability.",zh:"ä¸ä¸ªAIè¿å¿åæç³»ç»ï¼æ ¹æ®åºçæ¥æãæ¶é´åå°ç¹è®¡ç®åæ±æ¨å½ï¼å
«åå½çï¼ï¼ä»¥èªç¶è¯è¨çæè¿å¿ãç¸æ§åèä¸éåæ§ç解读ã",ko:"ìë
ìì¼, ì¶ì ìê°, ì¶ìì§ë¡ë¶í° ì¬ì£¼íì를 ê³ì°íê³ ì´ì¸, ê¶í©, ì ì± ë±ì ìì°ì´ë¡ ìì±íë AI ì´ì¸ ë¶ì ìì¤í
ì
ëë¤.",es:"Un sistema de análisis de fortuna con IA que calcula los Cuatro Pilares del Destino (carta BaZi) a partir de la fecha, hora y lugar de nacimiento, generando lecturas en lenguaje natural sobre fortuna, compatibilidad y aptitud profesional.",pt:"Um sistema de análise de fortuna com IA que calcula os Quatro Pilares do Destino (carta BaZi) a partir da data, hora e local de nascimento, gerando leituras em linguagem natural sobre fortuna, compatibilidade e adequação profissional.",th:"ระà¸à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸§à¸à¸à¸°à¸à¸²à¸à¹à¸§à¸¢ AI à¸à¸µà¹à¸à¸³à¸à¸§à¸à¸ªà¸µà¹à¹à¸ªà¸²à¹à¸«à¹à¸à¸à¸°à¸à¸²à¸à¸£à¸£à¸¡ (à¹à¸à¸à¸ ูมิ BaZi) à¸à¸²à¸à¸§à¸±à¸à¹à¸à¸´à¸ à¹à¸§à¸¥à¸² à¹à¸¥à¸°à¸ªà¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸ สรà¹à¸²à¸à¸à¸³à¸à¸³à¸à¸²à¸¢à¹à¸à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸§à¸ à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹ à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸à¸à¸²à¸à¸µà¸",ms:"Sistem analisis nasib AI yang mengira Empat Tiang Takdir (carta BaZi) dari tarikh, masa, dan lokasi lahir, menjana bacaan bahasa semula jadi untuk nasib, keserasian, dan kesesuaian kerjaya.",id:"Sistem analisis keberuntungan AI yang menghitung Empat Pilar Takdir (bagan BaZi) dari tanggal, waktu, dan lokasi lahir, menghasilkan pembacaan bahasa alami untu
334k keberuntungan, kompatibilitas, dan kesesuaian karier.",de:"Ein KI-Schicksalsanalysesystem, das die Vier Säulen des Schicksals (BaZi-Diagramm) aus Geburtsdatum, -zeit und -ort berechnet und natürlichsprachliche Lesungen für Glück, Kompatibilität und Berufseignung erstellt."},paragraphs:{ja:["åæ±æ¨å½ï¼çå¹´ææ¥ã»åºçæéã»åºçå°ï¼ãå
ã«å人ã®éå¢ãæ§æ ¼ãAIã§è§£æããèªç¶è¨èªã§ãããããããã£ã¼ãããã¯ããéå®ã·ã¹ãã ãéçºãåºçå°ããã¿ã¤ã ã¾ã¼ã³ãèªåå¤å®ããçå¤ªé½æãç®åºãããã¨ã§æ£ç¢ºãªå½å¼è¨ç®ãå®ç¾ãã¾ããã","åæ±æ¨å½ã®å ãå¦ã«åºã¥ããã¸ãã¯ãPythonã§ææ°åããçµ±è¨ãã¼ã¿ã¨RAGï¼æ¤ç´¢æ¡å¼µçæï¼æ
å ±ãçµã¿åããããã¨ã§ãå½å¼è§£æã®ç²¾åº¦ãé«ãã¦ãã¾ãã","ç®åºãããå½å¼ãã¼ã¿ã¯ãLLMãèªç¶è¨èªã§ãããããã解説ãéå¢ã®æµãã対人é¢ä¿ã®ç¸æ§ãããªãã«é©ããè·æ¥ãªã©ããã¼ã½ãã©ã¤ãºãããéå®çµæãçæãã¾ããå°éã®å ã師ã«ç¸è«ããã¨ãã¨åæ§ã®ãæ·±ã¿ã®ããåçãå¾ããã¨ãã§ãã¾ãã","ç¾å¨ãã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ã§ããåºæ¬çãªå½å¼è§£æã¨éå¢éå®ãã試ãããã ãã¾ãããã詳細ãªåæã¨å¤è§çãªã¢ããã¤ã¹ãå«ããã«ãã¼ã¸ã§ã³ã¯ãå¥éãæä¾ãã¦ããã¾ãã"],en:["Developed a fortune analysis system that uses AI to analyze individual fortune and personality based on Four Pillars of Destiny (birth date, time, and location), providing easy-to-understand feedback in natural language. Achieved accurate BaZi chart calculation by automatically determining time zones from birthplace and computing true solar time.","The fortune-telling logic based on Four Pillars astrology is indexed in Python, combining statistical data with RAG (Retrieval-Augmented Generation) information to enhance the accuracy of chart analysis.","The calculated chart data is explained in natural language by the LLM, generating personalized fortune readings including life cycles, interpersonal compatibility, and suitable careers. Provides in-depth responses comparable to consulting a professional fortune teller.","Currently available as second version, offering basic chart analysis and fortune reading. A full version with more detailed analysis and multi-faceted advice is available separately."],zh:["å¼åäºä¸ä¸ªè¿å¿åæç³»ç»ï¼ä½¿ç¨AIåºäºåæ±æ¨å½ï¼åºçæ¥æãæ¶é´åå°ç¹ï¼åæä¸ªäººè¿å¿åæ§æ ¼ï¼ä»¥èªç¶è¯è¨æä¾æäºçè§£çåé¦ãéè¿èªå¨ä»åºçå°ç¡®å®æ¶åºå¹¶è®¡ç®çå¤ªé³æ¶ï¼å®ç°äºåç¡®çå
«åå½ç计ç®ã","åºäºåæ±å ææ¯çç®å½é»è¾å¨Pythonä¸è¢«ç´¢å¼åï¼ç»åç»è®¡æ°æ®åRAGï¼æ£ç´¢å¢å¼ºçæï¼ä¿¡æ¯æ¥æé«å½çåæçåç¡®æ§ã","计ç®åºçå½çæ°æ®ç±LLM以èªç¶è¯è¨è§£éï¼çæå
æ¬äººç卿ã人é
å
³ç³»ç¸æ§åéåèä¸å¨å
ç个æ§åè¿å¿è§£è¯»ãæä¾ä¸å¨è¯¢ä¸ä¸ç®å½å¸ç¸å½çæ·±å
¥åçã","ç®åä½ä¸ºç¬¬äºçæ¬æä¾ï¼æä¾åºæ¬çå½çåæåè¿å¿è§£è¯»ãå
嫿´è¯¦ç»åæå夿¹é¢å»ºè®®ç宿´çæ¬å¦è¡æä¾ã"],ko:["ì¬ì£¼íì(ìë
ìì¼, ì¶ì ìê°, ì¶ìì§)를 기ë°ì¼ë¡ AI를 ì¬ì©íì¬ ê°ì¸ì ì´ì¸ì ì±ê²©ì ë¶ìíê³ ìì°ì´ë¡ ì´í´í기 ì¬ì´ í¼ëë°±ì ì ê³µíë ì´ì¸ ë¶ì ìì¤í
ì ê°ë°íìµëë¤. ì¶ìì§ìì ìê°ë를 ìëì¼ë¡ ê²°ì íê³ ì§íìì를 ê³ì°íì¬ ì íí ì¬ì£¼ ê³ì°ì ì¤ííìµëë¤.","ì¬ì£¼ ì ì±ì ì 기ë°í ì´ì¸ ë¡ì§ì´ Pythonì¼ë¡ ì¸ë±ì±ëì´ íµê³ ë°ì´í°ì RAG(ê²ì ì¦ê° ìì±) ì 보를 ê²°í©íì¬ ì¬ì£¼ ë¶ìì ì íë를 ëììµëë¤.","ê³ì°ë ì¬ì£¼ ë°ì´í°ë LLMì´ ìì°ì´ë¡ ì¤ëª
íì¬ ì¸ì 주기, ëì¸ ê´ê³ ê¶í©, ì í©í ì§ì
ì í¬í¨í ê°ì¸íë ì´ì¸ í´ìì ìì±í©ëë¤. ì 문 ì ì ì¬ìê² ìë´íì ëì ë¹ì·í ê¹ì´ ìë ëµë³ì ì ê³µí©ëë¤.","íì¬ ë ë²ì§¸ ë²ì ì¼ë¡ ì ê³µëë©° 기본ì ì¸ ì¬ì£¼ ë¶ìê³¼ ì´ì¸ í´ìì ì´ì©í ì ììµëë¤. ë ìì¸í ë¶ìê³¼ ë¤ê°ì ì¸ ì¡°ì¸ì
334 í¬í¨í í ë²ì ì ë³ëë¡ ì ê³µë©ëë¤."],es:["Desarrollamos un sistema de análisis de fortuna que utiliza IA para analizar la fortuna y personalidad individual basándose en los Cuatro Pilares del Destino (fecha, hora y lugar de nacimiento), proporcionando retroalimentación fácil de entender en lenguaje natural. Logramos un cálculo preciso de la carta BaZi determinando automáticamente las zonas horarias desde el lugar de nacimiento y calculando el tiempo solar verdadero.","La lógica de adivinación basada en la astrologÃa de los Cuatro Pilares está indexada en Python, combinando datos estadÃsticos con información RAG (Generación Aumentada por Recuperación) para mejorar la precisión del análisis de la carta.","Los datos de la carta calculados son explicados en lenguaje natural por el LLM, generando lecturas de fortuna personalizadas incluyendo ciclos de vida, compatibilidad interpersonal y carreras adecuadas. Proporciona respuestas profundas comparables a consultar a un adivino profesional.","Actualmente disponible como segunda versión, ofreciendo análisis básico de carta y lectura de fortuna. Una versión completa con análisis más detallado y consejos multifacéticos está disponible por separado."],pt:["Desenvolvemos um sistema de análise de fortuna que usa IA para analisar a fortuna e personalidade individual com base nos Quatro Pilares do Destino (data, hora e local de nascimento), fornecendo feedback fácil de entender em linguagem natural. Alcançamos um cálculo preciso da carta BaZi determinando automaticamente os fusos horários a partir do local de nascimento e calculando o tempo solar verdadeiro.","A lógica de adivinhação baseada n
334a astrologia dos Quatro Pilares é indexada em Python, combinando dados estatÃsticos com informações RAG (Geração Aumentada por Recuperação) para melhorar a precisão da análise da carta.","Os dados da carta calculados são explicados em linguagem natural pelo LLM, gerando leituras de fortuna personalizadas incluindo ciclos de vida, compatibilidade interpessoal e carreiras adequadas. Fornece respostas aprofundadas comparáveis à consulta com um adivinho profissional.","Atualmente disponÃvel como segunda versão, oferecendo análise básica de carta e leitura de fortuna. Uma versão completa com análise mais detalhada e conselhos multifacetados está disponÃvel separadamente."],th:["à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸§à¸à¸à¸°à¸à¸²à¸à¸µà¹à¹à¸à¹ AI à¹à¸à¸·à¹à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸§à¸à¸à¸°à¸à¸²à¹à¸¥à¸°à¸à¸¸à¸à¸¥à¸´à¸à¸ าà¸à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸²à¸¡à¸ªà¸µà¹à¹à¸ªà¸²à¹à¸«à¹à¸à¸à¸°à¸à¸²à¸à¸£à¸£à¸¡ (วัà¸à¹à¸à¸´à¸ à¹à¸§à¸¥à¸² à¹à¸¥à¸°à¸ªà¸à¸²à¸à¸à¸µà¹) à¹à¸«à¹à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸µà¹à¹à¸à¹à¸²à¹à¸à¸à¹à¸²à¸¢à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´ à¸à¸£à¸£à¸¥à¸¸à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¹à¸à¸à¸ ูมิ BaZi à¸à¸µà¹à¹à¸¡à¹à¸à¸¢à¸³à¹à¸à¸¢à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸²à¸à¸ªà¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸¥à¸°à¸à¸³à¸à¸§à¸à¹à¸§à¸¥à¸²à¸ªà¸¸à¸£à¸´à¸¢à¸°à¸à¸µà¹à¹à¸à¹à¸à¸£à¸´à¸","à¸à¸£à¸£à¸à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸¢à¸à¸²à¸¡à¹à¸«à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹à¸ªà¸µà¹à¹à¸ªà¸²à¸à¸¹à¸à¸à¸±à¸à¸à¸³à¸à¸±à¸à¸à¸µà¹à¸ Python à¹à¸à¸¢à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸à¸´à¸à¸´à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ RAG (à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥) à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¢à¸³à¸à¸à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸à¸ ูมิ","à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸ ูมิà¸à¸µà¹à¸à¸³à¸à¸§à¸à¹à¸à¹à¸à¸°à¸à¸¹à¸à¸à¸à¸´à¸à¸²à¸¢à¹à¸à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¹à¸à¸¢ LLM สรà¹à¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸¢à¸à¸§à¸à¸à¸°à¸à¸²à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸£à¸§à¸¡à¸à¸¶à¸à¸§à¸±à¸à¸à¸±à¸à¸£à¸à¸µà¸§à¸´à¸ à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸¸à¸à¸à¸¥ à¹à¸¥à¸°à¸à¸²à¸à¸µà¸à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡ à¹à¸«à¹à¸à¸³à¸à¸à¸à¹à¸à¸´à¸à¸¥à¸¶à¸à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸²à¸à¸±à¸à¸à¸²à¸£à¸à¸£à¸¶à¸à¸©à¸²à¸«à¸¡à¸à¸à¸¹à¸¡à¸·à¸à¸à¸²à¸à¸µà¸","à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸¡à¸µà¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸ à¸à¸³à¹à¸ªà¸à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸à¸ ูมิà¸à¸·à¹à¸à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸¢à¸à¸§à¸à¸à¸°à¸à¸² à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¸à¸£à¹à¸à¸¡à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸§à¹à¸²à¹à¸¥à¸°à¸à¸³à¹à¸à¸°à¸à¸³à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸¡à¸µà¹à¸«à¹à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸"],ms:["Membangunkan sistem analisis nasib yang menggunakan AI untuk menganalisis nasib dan personaliti individu berdasarkan Empat Tiang Takdir (tarikh, masa, dan lokasi lahir), memberikan maklum balas mudah difahami dalam bahasa semula jadi. Mencapai pengiraan carta BaZi yang tepat dengan menentukan zon masa dari tempat lahir secara automatik dan mengira masa solar sebenar.","Logik ramalan berdasarkan astrologi Empat Tiang diindeks dalam Python, menggabungkan data statistik dengan maklumat RAG (Penjanaan Ditingkatkan Pengambilan) untuk meningkatkan ketepatan analisis carta.","Data carta yang dikira dijelaskan dalam bahasa semula jadi oleh LLM, menjana bacaan nasib yang diperibadikan termasuk kitaran hidup, keserasian interpersonal, dan kerjaya yang sesuai. Memberikan respons mendalam setanding dengan berunding dengan peramal profesional.","Kini tersedia sebagai versi kedua, menawarkan analisis carta asas dan bacaan nasib. Versi penuh dengan analisis lebih terperinci dan nasihat pelbagai aspek tersedia secara berasingan."],id:["Mengembangkan sistem analisis keberuntungan yang menggunakan AI untuk menganalisis keberuntungan dan kepribadian individu berdasarkan Empat Pilar Takdir (tanggal, waktu, dan lokasi lahir), memberikan umpan balik yang mudah dipahami dalam bahasa alami. Mencapai perhitungan bagan BaZi yang akurat dengan secara otomatis menentukan zona waktu dari tempat lahir dan menghitung waktu matahari sejati.","Logika ramalan berdasarkan astrologi Empat Pilar diindeks dalam Python, menggabungkan data statistik dengan informasi RAG (Retrieval-Augmented Generation) untuk meningkatkan akurasi analisis bagan.","Data bagan yang dihitung dijelaskan dalam bahasa alami oleh LLM, menghasilkan pembacaan keberuntungan yang dipersonalisasi termasuk siklus hidup, kompatibilitas interpersonal, dan karier yang cocok. Memberikan respons mendalam yang sebanding dengan berkonsultasi dengan peramal profesional.","Saat ini tersedia sebagai versi kedua, menawarkan analisis bagan dasar dan pembacaan keberuntungan. Versi lengkap dengan analisis lebih detail dan saran multi-segi tersedia secara terpisah."],de:["Entwicklung eines Schicksalsanalysesystems, das KI verwendet, um individuelles Schicksal und Persönlichkeit basierend auf den Vier Säulen des Schicksals (Geburtsdatum, -zeit und
334-ort) zu analysieren und leicht verständliches Feedback in natürlicher Sprache zu liefern. Erreichte genaue BaZi-Diagrammberechnung durch automatische Bestimmung der Zeitzonen vom Geburtsort und Berechnung der wahren Sonnenzeit.","Die Wahrsagelogik basierend auf der Vier-Säulen-Astrologie ist in Python indexiert und kombiniert statistische Daten mit RAG-Informationen (Retrieval-Augmented Generation), um die Genauigkeit der Diagrammanalyse zu verbessern.","Die berechneten Diagrammdaten werden vom LLM in natürlicher Sprache erklärt und generieren personalisierte Schicksalslesungen einschlieÃlich Lebenszyklen, zwischenmenschlicher Kompatibilität und geeigneter Karrieren. Liefert tiefgehende Antworten vergleichbar mit der Konsultation eines professionellen Wahrsagers.","Derzeit als zweite Version verfügbar, bietet grundlegende Diagrammanalyse und Schicksalslesung. Eine Vollversion mit detaillierterer Analyse und vielseitigen Ratschlägen ist separat erhältlich."]},techStack:{ja:["Python","天æAPI (Sunrise-Sunset, TimeZoneDB)","åæ±æ¨å½ãã¸ãã¯","LLM","座æ¨ã»æå»è¨ç®"],en:["Python","Astronomical API (Sunrise-Sunset, TimeZoneDB)","BaZi Logic","LLM","Coordinate/Time Calculation"],zh:["Python","天æAPI (Sunrise-Sunset, TimeZoneDB)","åæ±æ¨å½é»è¾","LLM","åæ /æ¶é´è®¡ç®"],ko:["Python","ì²ë¬¸ API (Sunrise-Sunset, TimeZoneDB)","ì¬ì£¼ ë¡ì§","LLM","ì¢í/ìê° ê³ì°"],es:["Python","API Astronómica (Sunrise-Sunset, TimeZoneDB)","Lógica BaZi","LLM","Cálculo de Coordenadas/Tiempo"],pt:["Python","API Astronômica (Sunrise-Sunset, TimeZoneDB)","Lógica BaZi","LLM","Cálculo de Coordenadas/Tempo"],th:["Python","API à¸à¸²à¸£à¸²à¸¨à¸²à¸ªà¸à¸£à¹ (Sunrise-Sunset, TimeZoneDB)","à¸à¸£à¸£à¸à¸° BaZi","LLM","à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸´à¸à¸±à¸/à¹à¸§à¸¥à¸²"],ms:["Python","API Astronomi (Sunrise-Sunset, TimeZoneDB)","Logik BaZi","LLM","Pengiraan Koordinat/Masa"],id:["Python","API Astronomi (Sunrise-Sunset, TimeZoneDB)","Logika BaZi","LLM","Perhitungan Koordinat/Waktu"],de:["Python","Astronomische API (Sunrise-Sunset, TimeZoneDB)","BaZi-Logik","LLM","Koordinaten-/Zeitberechnung"]},projectUrl:"https://lookies.ai/",imageSrc:"",noImage:!0},{id:"google-workspace",number:"",title:{ja:"Google Workspace AI飿º",en:"Google Workspace AI Integration",zh:"Google Workspace AIéæ",ko:"Google Workspace AI íµí©",es:"Integración de IA con Google Workspace",pt:"Integração de IA com Google Workspace",th:"à¸à¸²à¸£à¸£à¸§à¸¡ AI à¸à¸±à¸ Google Workspace",ms:"Integrasi AI Google Workspace",id:"Integrasi AI Google Workspace",de:"Google Workspace KI-Integration"},description:{ja:"Google Workspaceï¼GmailãDriveãCalendarãDocsãSheetsï¼ã¨LLMã飿ºããæ¥åãã¼ã¿ã®èªã¿è¾¼ã¿ã»ç·¨éã»èªåå¦çãè¡ãã·ã¹ãã ãéçºãã¡ã¼ã«å
容ã®è¦ç´ã»èªåè¿ä¿¡ä¸æ¸ãçæãDriveãã¡ã¤ã«ã®æ¤ç´¢ã»å
容解æãCalendarããã®ã¹ã±ã¸ã¥ã¼ã«æ½åºã¨èª¿æ´ææ¡ãªã©ãæ¥å¸¸æ¥åãAIãã¢ã·ã¹ããã¾ããOAuthèªè¨¼ã«ããå®å
¨ãªAPIæ¥ç¶ã¨ãMCPæºæ ã®ãã¼ã«è¨è¨ã«ãããAgentããã®èªå¾çãªWorkspaceæä½ãå®ç¾ãã¾ãããâ»ã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ï¼FULLãã¼ã¸ã§ã³ã¯å¥éæä¾ï¼",en:"Developed a system integrating Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) with LLM for reading, editing, and automated processing of business data. AI assists daily tasks including email summarization and auto-reply draft generation, Drive file search and content analysis, and schedule extraction from Calendar with adjustment suggestions. Achieved autonomous Workspace operations from Agents through secure OAuth-authenticated API connections and MCP-compliant tool design. *Currently available as second version (full version available separately).",zh:"å¼åäºä¸ä¸ªå°Google Workspaceï¼GmailãDriveãCalendarãDocsãSheetsï¼ä¸LLMéæçç³»ç»ï¼ç¨äºä¸å¡æ°æ®ç读åãç¼è¾åèªå¨å¤çãAIå婿¥å¸¸ä»»å¡ï¼å
æ¬é®ä»¶æè¦åèªå¨åå¤è稿çæãDriveæä»¶æç´¢åå
容åæã以åä»Calendaræåæ¥ç¨å¹¶æåºè°æ´å»ºè®®ãéè¿å®å
¨çOAuth认è¯APIè¿æ¥å符åMCPçå·¥å
·è®¾è®¡ï¼å®ç°äºAgentçèªä¸»Workspaceæä½ã*ç®åä½ä¸ºç¬¬äºçæ¬åå¸ï¼å®æ´çæ¬å¦è¡æä¾ï¼ã",ko:"Google Worksp
334ace(Gmail, Drive, Calendar, Docs, Sheets)ì LLMì ì°ëíì¬ ì
무 ë°ì´í°ì ì½ê¸°, í¸ì§, ìë ì²ë¦¬ë¥¼ ìííë ìì¤í
ì ê°ë°íìµëë¤. ì´ë©ì¼ ìì½ ë° ìë íì ì´ì ìì±, Drive íì¼ ê²ì ë° ì½í
ì¸ ë¶ì, Calendarìì ì¼ì ì¶ì¶ ë° ì¡°ì ì ì ë± ì¼ì ì
무를 AIê° ì§ìí©ëë¤. ìì í OAuth ì¸ì¦ API ì°ê²°ê³¼ MCP ì¤ì ë구 ì¤ê³ë¥¼ íµí´ Agentì ìì¨ì ì¸ Workspace ìì
ì ì¤ííìµëë¤. *íì¬ ë ë²ì§¸ ë²ì ì¼ë¡ ê³µê° ì¤(í ë²ì ì ë³ë ì ê³µ).",es:"Desarrollamos un sistema que integra Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) con LLM para lectura, edición y procesamiento automatizado de datos empresariales. La IA asiste tareas diarias incluyendo resumen de correos y generación de borradores de respuesta automática, búsqueda de archivos en Drive y análisis de contenido, y extracción de programación desde Calendar con sugerencias de ajuste. Logró operaciones autónomas de Workspace desde Agentes mediante conexiones API autenticadas con OAuth seguras y diseño de herramientas compatible con MCP. *Actualmente disponible como segunda versión (versión completa disponible por separado).",pt:"Desenvolvemos um sistema integrando Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) com LLM para leitura, edição e processamento automatizado de dados empresariais. A IA auxilia tarefas diárias incluindo resumo de e-mails e geração de rascunhos de resposta automática, pesquisa de arquivos no Drive e análise de conteúdo, e extração de agenda do Calendar com sugestões de ajuste. Alcançou operações autônomas do Workspace a partir de Agentes através de conexões API autenticadas com OAuth seguras e design de ferramentas compatÃvel com MCP. *Atualmente disponÃvel como segunda versão (versão completa disponÃvel separadamente).",th:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¸£à¸§à¸¡ Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) à¸à¸±à¸ LLM สำหรัà¸à¸à¸²à¸£à¸à¹à¸²à¸ à¹à¸à¹à¹à¸ à¹à¸¥à¸°à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¸à¸£à¸à¸´à¸ AI à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸§à¸±à¸à¸£à¸§à¸¡à¸à¸¶à¸à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¸µà¹à¸¡à¸¥à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸£à¹à¸²à¸à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸¥à¹ Drive à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸·à¹à¸à¸«à¸² à¹à¸¥à¸°à¸à¸²à¸£à¸à¸¶à¸à¸à¸³à¸«à¸à¸à¸à¸²à¸£à¸à¸²à¸ Calendar à¸à¸£à¹à¸à¸¡à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸ à¸à¸£à¸£à¸¥à¸¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£ Workspace à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸²à¸ Agents à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ API à¸à¸µà¹à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¹à¸§à¸¢ OAuth à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัยà¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸ MCP *มีà¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸ (à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¸¡à¸µà¹à¸«à¹à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸)",ms:"Membangunkan sistem yang menyepadukan Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) dengan LLM untuk membaca, mengedit, dan pemprosesan automatik data perniagaan. AI membantu tugas harian termasuk ringkasan e-mel dan penjanaan draf balasan automatik, carian fail Drive dan analisis kandungan, dan pengekstrakan jadual dari Calendar dengan cadangan penyesuaian. Mencapai operasi Workspace autonomi dari Ejen melalui sambungan API yang disahkan OAuth selamat dan reka bentuk alat yang mematuhi MCP. *Kini tersedia sebagai versi kedua (versi penuh tersedia secara berasingan).",id:"Mengembangkan sistem yang mengintegrasikan Google Workspace (Gmail, Drive, Calendar, Docs, Sheets) dengan LLM untuk membaca, mengedit, dan pemrosesan otomatis data bisnis. AI membantu tugas harian termasuk ringkasan email dan pembuatan draf balasan otomatis, pencarian file Drive dan analisis konten, dan ekstraksi jadwal dari Calendar dengan saran penyesuaian. Mencapai operasi Workspace otonom dari Agents melalui koneksi API yang diautentikasi OAuth yang aman dan desain alat yang sesuai MCP. *Saat ini tersedia sebagai versi kedua (versi lengkap tersedia secara terpisah).",de:"Entwicklung eines Systems, das Google Worksp
334ace (Gmail, Drive, Calendar, Docs, Sheets) mit LLM für das Lesen, Bearbeiten und automatische Verarbeiten von Geschäftsdaten integriert. KI unterstützt tägliche Aufgaben einschlieÃlich E-Mail-Zusammenfassung und automatische Antwort-Entwurfserstellung, Drive-Dateisuche und Inhaltsanalyse sowie Terminextraktion aus dem Kalender mit Anpassungsvorschlägen. Erreichte autonome Workspace-Operationen von Agenten durch sichere OAuth-authentifizierte API-Verbindungen und MCP-konformes Werkzeugdesign. *Derzeit als zweite Version verfügbar (Vollversion separat erhältlich)."},techStack:{ja:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],en:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],zh:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],ko:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],es:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],pt:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],th:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],ms:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],id:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"],de:["Google Workspace API","OAuth 2.0","LLM","MCP","LangChain Tools","FastAPI"]},projectUrl:"https://lookies.ai/",imageSrc:"/images/google-workspace.jpg"},{id:"world-news",number:"",title:{ja:"ä¸çNEWSå¤è¨èªå",en:"World News Multilingual Summarization",zh:"å
¨çæ°é»å¤è¯è¨æè¦",ko:"ì¸ê³ ë´ì¤ ë¤êµì´ ìì½",es:"Resumen Multilingüe de Noticias Mundiales",pt:"Resumo MultilÃngue de NotÃcias Mundiais",th:"à¸à¸²à¸£à¸ªà¸£à¸¸à¸à¸à¹à¸²à¸§à¹à¸¥à¸à¸«à¸¥à¸²à¸¢à¸ าษา",ms:"Ringkasan Berita Dunia Berbilang Bahasa",id:"Ringkasan Berita Dunia Multibahasa",de:"Mehrsprachige Weltübersichtszusammenfassung"},description:{ja:"ä¸çåå½ã®ãã¥ã¼ã¹ã½ã¼ã¹ãããªã¢ã«ã¿ã¤ã ã§è¨äºãåéããLLMã«ããå¤è¨èªç¿»è¨³ã»è¦ç´ã»ã«ãã´ãªåé¡ãè¡ãã·ã¹ãã éçºãè±èªãä¸å½èªããã©ã³ã¹èªãã¢ã©ãã¢èªãªã©å¤è¨èªã®åæè¨äºãæ¥æ¬èªã«ç¿»è¨³ãããããã¯å¥ã«æ´çãåç´ãªæ©æ¢°ç¿»è¨³ã§ã¯ãªããLLMã«ããæèçè§£ã«åºã¥ããèªç¶ãªç¿»è¨³ã¨ãè¨äºã®è¦ç¹ãæ½åºãããµããªã¼çæã«ãããå¹ççãªå½éãã¥ã¼ã¹ã¢ãã¿ãªã³ã°ãå®ç¾ãã¾ãããâ»ã»ã«ã³ããã¼ã¸ã§ã³ã¨ãã¦å
¬éä¸ï¼FULLãã¼ã¸ã§ã³ã¯å¥éæä¾ï¼",en:"Developed a system that collects articles in real-time from news sources worldwide, performing multilingual translation, summarization, and category classification using LLM. Translates original articles in English, Chinese, French, Arabic, and other languages into Japanese, organized by topic. Achieved efficient international news monitoring through natural translation based on LLM context understanding rather than simple machine translation, along with summary generation extracting key points. *Currently available as second version (full version available separately).",zh:"å¼åäºä¸ä¸ªä»å
¨çæ°é»æºå®æ¶æ¶éæç« çç³»ç»ï¼ä½¿ç¨LLMè¿è¡å¤è¯è¨ç¿»è¯ãæè¦ååç±»ãå°è±è¯ãä¸æãæ³è¯ãé¿æä¼¯è¯çå¤è¯è¨åææç« ç¿»è¯ææ¥è¯ï¼æä¸»é¢ç»ç»ãéè¿åºäºLLMä¸ä¸æçè§£çèªç¶ç¿»è¯èéç®åçæºå¨ç¿»è¯ï¼ä»¥åæåè¦ç¹çæè¦çæï¼å®ç°äºé«æçå½é
æ°é»çæ§ã*ç®åä½ä¸ºç¬¬äºçæ¬åå¸ï¼å®æ´çæ¬å¦è¡æä¾ï¼ã",ko:"ì ì¸ê³ ë´ì¤ ìì¤ìì 기ì¬ë¥¼ ì¤ìê°ì¼ë¡ ìì§íê³ LLMì ì¬ì©í ë¤êµì´ ë²ì, ìì½, ì¹´í
ê³ ë¦¬ ë¶ë¥ë¥¼ ìííë ìì¤í
ì ê°ë°íìµëë¤. ìì´, ì¤êµì´, íëì¤ì´, ìëì´ ë± ë¤êµì´ ì문 기ì¬ë¥¼ ì¼ë³¸ì´ë¡ ë²ìíì¬ ì£¼ì ë³ë¡ ì 리í©ëë¤. ë¨ìí ê¸°ê³ ë²ìì´ ìë LLM 문맥 ì´í´ì 기ë°í ìì°ì¤ë¬ì´ ë²ìê³¼ íµì¬ ìì ì ì¶ì¶í ìì½ ìì±ì íµí´ í¨ì¨ì ì¸ êµì ë´ì¤ 모ëí°ë§ì ì¤ííìµëë¤. *íì¬ ë ë²ì§¸ ë²ì ì¼ë¡ ê³µê° ì¤(í ë²ì ì ë³ë ì ê³µ).",es:"Desarrollamos un sistema que recopila artÃculos en tiempo real de fuentes de noticias de todo el mund
334o, realizando traducción multilingüe, resumen y clasificación por categorÃas usando LLM. Traduce artÃculos originales en inglés, chino, francés, árabe y otros idiomas al japonés, organizados por tema. Logró un monitoreo eficiente de noticias internacionales mediante traducción natural basada en comprensión contextual de LLM en lugar de traducción automática simple, junto con generación de resúmenes extrayendo puntos clave. *Actualmente disponible como segunda versión (versión completa disponible por separado).",pt:"Desenvolvemos um sistema que coleta artigos em tempo real de fontes de notÃcias em todo o mundo, realizando tradução multilÃngue, resumo e classificação por categorias usando LLM. Traduz artigos originais em inglês, chinês, francês, árabe e outros idiomas para japonês, organizados por tópico. Alcançou monitoramento eficiente de notÃcias internacionais através de tradução natural baseada na compreensão contextual do LLM em vez de tradução automática simples, junto com geração de resumos extraindo pontos-chave. *Atualmente disponÃvel como segunda versão (versão completa disponÃvel separadamente).",th:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸à¸µà¹à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¸à¸²à¸à¹à¸«à¸¥à¹à¸à¸à¹à¸²à¸§à¸à¸±à¹à¸§à¹à¸¥à¸ à¸à¸³à¸à¸²à¸£à¹à¸à¸¥à¸«à¸¥à¸²à¸¢à¸ าษา สรุภà¹à¸¥à¸°à¸à¸³à¹à¸à¸à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹à¹à¸à¸¢à¹à¸à¹ LLM à¹à¸à¸¥à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸±à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸© à¸
334ีภà¸à¸£à¸±à¹à¸à¹à¸¨à¸ª à¸à¸²à¸«à¸£à¸±à¸ à¹à¸¥à¸°à¸ าษาà¸à¸·à¹à¸à¹ à¹à¸à¹à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸ à¸à¸±à¸à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸«à¸±à¸§à¸à¹à¸ à¸à¸£à¸£à¸¥à¸¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸§à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸¢à¹à¸²à¸à¸¡à¸µà¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸à¸¥à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸à¸£à¸´à¸à¸à¸à¸à¸ LLM à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸à¹à¸§à¸¢à¹à¸à¸£à¸·à¹à¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢ à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸ªà¸£à¸¸à¸à¸à¸µà¹à¸à¸¶à¸à¸à¸£à¸°à¹à¸à¹à¸à¸ªà¸³à¸à¸±à¸ *มีà¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹à¸ªà¸à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸ (à¹à¸§à¸à¸£à¹à¸à¸±à¸à¹à¸à¹à¸¡à¸¡à¸µà¹à¸«à¹à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸)",ms:"Membangunkan sistem yang mengumpul artikel dalam masa nyata dari sumber berita di seluruh dunia, melaksanakan terjemahan berbilang bahasa, ringkasan, dan pengelasan kategori menggunakan LLM. Menterjemah artikel asal dalam bahasa Inggeris, Cina, Perancis, Arab, dan bahasa lain ke bahasa Jepun, disusun mengikut topik. Mencapai pemantauan berita antarabangsa yang cekap melalui terjemahan semula jadi berdasarkan pemahaman konteks LLM dan bukannya terjemahan mesin mudah, bersama dengan penjanaan ringkasan yang mengekstrak perkara utama. *Kini tersedia sebagai versi kedua (versi penuh tersedia secara berasingan).",id:"Mengembangkan sistem yang mengumpulkan artikel secara real-time dari sumber berita di seluruh dunia, melakukan terjemahan multibahasa, ringkasan, dan klasifikasi kategori menggunakan LLM. Menerjemahkan artikel asli dalam bahasa Inggris, Cina, Prancis, Arab, dan bahasa lain ke bahasa Jepang, diorganisir berdasarkan topik. Mencapai pemantauan berita internasional yang efisien melalui terjemahan alami berdasarkan pemahaman konteks LLM daripada terjemahan mesin sederhana, bersama dengan pembuatan ringkasan yang mengekstrak poin-poin kunci. *Saat ini tersedia sebagai versi kedua (versi lengkap tersedia secara terpisah).",de:"Entwicklung eines Systems, das Artikel in Echtzeit von Nachrichtenquellen weltweit sammelt und mehrsprachige Ãbersetzung, Zusammenfassung und Kategorisierung mit LLM durchführt. Ãbersetzt Originalartikel in Englisch, Chinesisch, Französisch, Arabisch und anderen Sprachen ins Japanische, organisiert nach Themen. Erreichte effizientes internationales Nachrichtenmonitoring durch natürliche Ãbersetzung basierend auf LLM-Kontextverständnis anstelle einfacher maschineller Ãbersetzung, zusammen mit Zusammenfassungsgenerierung, die Kernpunkte extrahiert. *Derzeit als zweite Version verfügbar (Vollversion separat erhältlich)."},techStack:{ja:["News API","RSSåé","LLM翻訳ã»è¦ç´","å¤è¨èªå¦ç","èªåã«ãã´ãªåé¡","宿ãããå¦ç"],en:["News API","RSS Collection","LLM Translation/Summarization","Multilingual Processing","Auto Category Classification","Scheduled Batch Processing"],zh:["News API","RSSæ¶é","LLMç¿»è¯/æè¦","å¤è¯è¨å¤ç","èªå¨åç±»","宿¶æ¹å¤ç"],ko:["News API","RSS ìì§","LLM ë²ì/ìì½","ë¤êµì´ ì²ë¦¬","ìë ì¹´í
ê³ ë¦¬ ë¶ë¥","ì 기 ë°°ì¹ ì²ë¦¬"],es:["News API","Recopilación RSS","Traducción/Resumen LLM","Procesamiento Multilingüe","Clasificación Automática de CategorÃas","Procesamiento por Lotes Programado"],pt:["News API","Coleta RSS","Tradução/Resumo LLM","Processamento MultilÃngue","Classificação Automática de Categorias","Processamento em Lote Programado"],th:["News API","à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡ RSS","à¸à¸²à¸£à¹à¸à¸¥/สรุภLLM","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸«à¸¥à¸²à¸¢à¸ าษา","à¸à¸²à¸£à¸à¸³à¹à¸à¸à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´","à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸à¹à¸à¸à¸à¹à¸à¸²à¸¡à¸à¸³à¸«à¸à¸à¹à¸§à¸¥à¸²"],ms:["News API","Pengumpulan RSS","Terjemahan/Ringkasan LLM","Pemprosesan Berbilang Bahasa","Pengelasan Kategori Automatik","Pemprosesan Kumpulan Berjadual"],id:["News API","Pengumpulan RSS","Terjemah
334an/Ringkasan LLM","Pemrosesan Multibahasa","Klasifikasi Kategori Otomatis","Pemrosesan Batch Terjadwal"],de:["News API","RSS-Sammlung","LLM-Ãbersetzung/Zusammenfassung","Mehrsprachige Verarbeitung","Automatische Kategorisierung","Geplante Stapelverarbeitung"]},projectUrl:"https://lookies.ai/",imageSrc:"/images/world-news.jpg"},{id:"security-monitoring",number:"",title:{ja:"ã»ãã¥ãªãã£ãã°ç£è¦AIããã¼ã¸ã£ã¼",en:"AI Security Log Monitoring Manager",zh:"AIå®å
¨æ¥å¿çæ§ç®¡çå¨",ko:"AI ë³´ì ë¡ê·¸ 모ëí°ë§ 매ëì ",es:"Gestor de Monitoreo de Logs de Seguridad con IA",pt:"Gerenciador de Monitoramento de Logs de Segurança com IA",th:"ระà¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡ Log à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¹à¸§à¸¢ AI",ms:"Pengurus Pemantauan Log Keselamatan AI",id:"Manajer Pemantauan Log Keamanan AI",de:"KI-Sicherheitsprotokoll-Ãberwachungsmanager"},description:{ja:"伿¥ã®ã»ãã¥ãªãã£ãã°ããªã¢ã«ã¿ã¤ã ç£è¦ããLLMã«ããé«åº¦ãªè
卿¤ç¥ã»åæãè¡ãã·ã¹ãã ãéçºããã¡ã¤ã¢ã¦ã©ã¼ã«ãIDS/IPSãèªè¨¼ãã°ãã¢ããªã±ã¼ã·ã§ã³ãã°ãªã©å¤æ§ãªãã°ã½ã¼ã¹ãPythonã¢ã¸ã¥ã¼ã«ã§åéã»è§£æããRAGã«èç©ãããéå»ã®æ»æãã¿ã¼ã³ãèå¼±æ§æ
å ±ãã¤ã³ã·ãã³ãäºä¾ã¨ç
§åãã¾ããç°å¸¸ãã¿ã¼ã³ãæ¤ç¥ããéã¯LLMãè
å¨ã¬ãã«ãå½±é¿ç¯å²ãæ¨å¥¨å¯¾å¿ãèªç¶è¨èªã§è§£èª¬ããæ
å½è
ã¸å³æã¢ã©ã¼ãéç¥ãåä¸ãã¿ã¼ã³ã®åçºæã¯èªåçã«é«åªå
度ã¢ã©ã¼ããçºå ±ããã¤ã³ã·ãã³ã対å¿ã®è¿
éåãå®ç¾ãã¾ããã",en:"Developed a system for real-time monitoring of enterprise security logs with advanced threat detection and analysis using LLM. Collects and analyzes diverse log sources including firewall, IDS/IPS, authentication logs, and application logs using Python modules, cross-referencing with past attack patterns, vulnerability information, and incident cases stored in RAG. When anomalous patterns are detected, the LLM explains threat level, scope of impact, and recommended responses in natural language with immediate alert notification to personnel. Automatically issues high-priority alerts upon recurrence of the same pattern, enabling faster incident response.",zh:"å¼åäºä¸ä¸ªä½¿ç¨LLMè¿è¡é«çº§å¨èæ£æµååæçä¼ä¸å®å
¨æ¥å¿å®æ¶çæ§ç³»ç»ã使ç¨Pythonæ¨¡åæ¶éååæå
æ¬é²ç«å¢ãIDS/IPSãè®¤è¯æ¥å¿ååºç¨ç¨åºæ¥å¿å¨å
çåç§æ¥å¿æºï¼ä¸åå¨å¨RAGä¸çè¿å»æ»å»æ¨¡å¼ãæ¼æ´ä¿¡æ¯åäºä»¶æ¡ä¾è¿è¡äº¤åå¼ç¨ã彿£æµå°å¼å¸¸æ¨¡å¼æ¶ï¼LLM以èªç¶è¯è¨è§£éå¨è级å«ãå½±åèå´å建议ååºï¼å¹¶å³æ¶åç¸å
³äººååéè¦æ¥éç¥ãå¨å䏿¨¡å¼å次åºç°æ¶èªå¨ååºé«ä¼å
çº§è¦æ¥ï¼å®ç°æ´å¿«çäºä»¶ååºã",ko:"LLMì ì¬ì©í ê³ ê¸ ìí íì§ ë° ë¶ìì¼ë¡ 기ì
ë³´ì ë¡ê·¸ë¥¼ ì¤ìê° ëª¨ëí°ë§íë ìì¤í
ì ê°ë°íìµëë¤. Python 모ëì ì¬ì©íì¬ ë°©íë²½, IDS/IPS, ì¸ì¦ ë¡ê·¸, ì í리ì¼ì´ì
ë¡ê·¸ë¥¼ í¬í¨í ë¤ìí ë¡ê·¸ ìì¤ë¥¼ ìì§ ë° ë¶ìíê³ RAGì ì ì¥ë 과거 공격 í¨í´, ì·¨ì½ì ì ë³´, ì¸ìëí¸ ì¬ë¡ì êµì°¨ 참조í©ëë¤. ì´ì í¨í´ì´ ê°ì§ëë©´ LLMì´ ìí ìì¤, ìí¥ ë²ì, ê¶ì¥ ëìì ìì°ì´ë¡ ì¤ëª
íê³ ë´ë¹ììê² ì¦ì ì림ì ì ì¡í©ëë¤. ëì¼ í¨í´ ì¬ë° ì ìëì¼ë¡ ê³ ì°ì ìì ì림ì ë°ì¡íì¬ ë¹ ë¥¸ ì¸ìëí¸ ëìì ì¤ííìµëë¤.",es:"Desarrollamos un sistema para monitoreo en tiempo real de logs de seguridad empresarial con detección y análisis avanzado de amenazas usando LLM. Recopila y analiza diversas fuentes de logs incluyendo firewall, IDS/IPS, logs de autenticación y logs de aplicaciones usando módulos Python, cruzando referencias con patrones de ataque pasados, información de vulnerabilidades y casos de incidentes almacenados en RAG. Cuando se detectan patrones anómalos, el LLM explica nivel de amenaza, alcance del impacto y respuestas recomendadas en lenguaje natural con notificación de alerta inmediata al personal. Emite automáticamente alertas de alta prioridad ante recurrencia del mismo patrón, permitiendo respuesta más rápida a incidentes.",pt:"Desenvolvemos um sistema para monitoramento em tempo real de logs de segurança empresarial com detecção e análise avançada de ameaças usando LLM. Coleta e analisa diversas fontes de logs incluindo firewall, IDS/IPS, logs de autenticação e logs de aplicação usando módulos Python, cruzando referências com padrões de ataque passados, informações de vulnerabilidades e casos de incidentes armazenados em RAG. Quando padrões anômalos são detectados, o LLM explica nÃvel de ameaça, escopo de impacto e respostas re
334comendadas em linguagem natural com notificação de alerta imediata ao pessoal. Emite automaticamente alertas de alta prioridade na recorrência do mesmo padrão, permitindo resposta mais rápida a incidentes.",th:"à¸à¸±à¸à¸à¸²à¸£à¸°à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸ log à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸à¸à¹à¸à¸£à¹à¸à¸à¹à¸£à¸µà¸¢à¸¥à¹à¸à¸¡à¹à¸à¸£à¹à¸à¸¡à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸±à¸à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¸ ัยà¸à¸¸à¸à¸à¸²à¸¡à¸à¸±à¹à¸à¸ªà¸¹à¸à¹à¸à¸¢à¹à¸à¹ LLM รวà¸à¸£à¸§à¸¡à¹à¸¥à¸°à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸«à¸¥à¹à¸ log à¸à¸µà¹à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸£à¸§à¸¡à¸à¸¶à¸à¹à¸à¸£à¹à¸§à¸à¸¥à¸¥à¹ IDS/IPS log à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸±à¸§à¸à¸ à¹à¸¥à¸° log à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¹à¸à¸¢à¹à¸à¹à¹à¸¡à¸à¸¹à¸¥ Python à¸à¹à¸²à¸à¸à¸´à¸à¹à¸à¸§à¹à¸à¸±à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸à¸à¸µà¸ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸à¸à¹à¸«à¸§à¹ à¹à¸¥à¸°à¸à¸£à¸à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¹à¹à¸ RAG à¹à¸¡à¸·à¹à¸à¸à¸£à¸§à¸à¸à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸´à¸à¸à¸à¸à¸´ LLM à¸à¸°à¸à¸à¸´à¸à¸²à¸¢à¸£à¸°à¸à¸±à¸à¸ ัยà¸à¸¸à¸à¸à¸²à¸¡ à¸à¸à¸à¹à¸à¸à¸à¸¥à¸à¸£à¸°à¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¸µà¹à¹à¸à¸°à¸à¸³à¹à¸à¹à¸à¸ าษาà¸à¸£à¸£à¸¡à¸à¸²à¸à¸´à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸±à¸à¸à¸µà¸à¹à¸à¸à¸¸à¸à¸¥à¸²à¸à¸£ à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸ªà¸¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸¡à¸·à¹à¸à¸£à¸¹à¸à¹à¸à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸à¹à¸³ à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸à¸à¸ªà¸à¸à¸à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¹à¹à¸£à¹à¸§à¸à¸¶à¹à¸",ms:"Membangunkan sistem untuk pemantauan masa nyata log keselamatan perusahaan dengan pengesanan dan analisis ancaman lanjutan menggunakan LLM. Mengumpul dan menganalisis pelbagai sumber log termasuk firewall, IDS/IPS, log pengesahan, dan log aplikasi menggunakan modul Python, merujuk silang dengan corak serangan lepas, maklumat kerentanan, dan kes insiden yang disimpan dalam RAG. Apabila corak anomali dikesan, LLM menerangkan tahap ancaman, skop impak, dan respons yang disyorkan dalam bahasa semula jadi dengan pemberitahuan amaran segera kepada kakitangan. Mengeluarkan amaran keutamaan tinggi secara automatik apabila corak sama berulang, membolehkan respons insiden lebih pantas.",id:"Mengembangkan sistem untuk pemantauan real-time log keamanan perusahaan dengan deteksi dan analisis ancaman canggih menggunakan LLM. Mengumpulkan dan menganalisis berbagai sumber log termasuk firewall, IDS/IPS, log autentikasi, dan log aplikasi menggunakan modul Python, mereferensikan silang dengan pola serangan masa lalu, informasi kerentanan, dan kasus insiden yang disimpan dalam RAG. Ketika pola anomali terdeteksi, LLM menjelaskan tingkat ancaman, cakupan dampak, dan respons yang direkomendasikan dalam bahasa alami dengan pemberitahuan peringatan segera kepada personel. Secara otomatis mengeluarkan peringatan prioritas tinggi saat pola yang sama terulang, memungkinkan respons insiden yang lebih cepat.",de:"Entwicklung eines Systems zur Echtzeit-Ãberwachung von Unternehmenssicherheitsprotokollen mit fortschrittlicher Bedrohungserkennung und -analyse mittels LLM. Sammelt und analysiert diverse Protokollquellen einschlieÃlich Firewall, IDS/IPS, Authentifizierungsprotokolle und Anwendungsprotokolle mit Python-Modulen und gleicht sie mit in RAG gespeicherten vergangenen Angriffsmustern, Schwachstelleninformationen und Vorfallsfällen ab. Bei Erkennung anomaler Muster erklärt das LLM Bedrohungsstufe, Auswirkungsbereich und empfohlene Reaktionen in natürlicher Sprache mit sofortiger Alarmbenachrichtigung an das Personal. Gibt bei Wiederholung desselben Musters automatisch Warnungen mit hoher Priorität aus und ermöglicht schnellere Vorfallsreaktion."},techStack:{ja:["Pythonç£è¦ã¢ã¸ã¥ã¼ã«","ãã°åé (Fluentd, Logstash)","RAG","è
å¨ãã¿ã¼ã³DB","LLMè§£æ","ã¢ã©ã¼ãéç¥ (Slack, PagerDuty)"],en:["Python Monitoring Module","Log Collection (Fluentd, Logstash)","RAG","Threat Pattern DB","LLM Analysis","Alert Notification (Slack, PagerDuty)"],zh:["Pythonçæ§æ¨¡å","æ¥å¿æ¶é (Fluentd, Logstash)","RAG","å¨èæ¨¡å¼æ°æ®åº","LLMåæ","åè¦éç¥ (Slack, PagerDuty)"],ko:["Python 모ëí°ë§ 모ë","ë¡ê·¸ ìì§ (Fluentd, Logstash)","RAG","ìí í¨í´ DB","LLM ë¶ì","ì림 íµì§ (Slack, PagerDuty)"],es:["Módulo de Monitoreo Python","Recopilación de Logs (Fluentd, Logstash)","RAG","BD de Patrones de Amenazas","Análisis
334LLM","Notificación de Alertas (Slack, PagerDuty)"],pt:["Módulo de Monitoramento Python","Coleta de Logs (Fluentd, Logstash)","RAG","DB de Padrões de Ameaças","Análise LLM","Notificação de Alertas (Slack, PagerDuty)"],th:["à¹à¸¡à¸à¸¹à¸¥à¸à¸£à¸§à¸à¸ªà¸à¸ Python","à¸à¸²à¸£à¸£à¸§à¸à¸£à¸§à¸¡ Log (Fluentd, Logstash)","RAG","à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸£à¸¹à¸à¹à¸à¸à¸ ัยà¸à¸¸à¸à¸à¸²à¸¡","à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ LLM","à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸ (Slack, PagerDuty)"],ms:["Modul Pemantauan Python","Pengumpulan Log (Fluentd, Logstash)","RAG","DB Corak Ancaman","Analisis LLM","Pemberitahuan Amaran (Slack, PagerDuty)"],id:["Modul Pemantauan Python","Pengumpulan Log (Fluentd, Logstash)","RAG","DB Pola Ancaman","Analisis LLM","Notifikasi Peringatan (Slack, PagerDuty)"],de:["Python-Ãberwachungsmodul","Log-Sammlung (Fluentd, Logstash)","RAG","Bedrohungsmuster-DB","LLM-Analyse","Alarmbenachrichtigung (Slack, PagerDuty)"]},projectUrl:null,imageSrc:"/images/security-log.jpg"}];Oi.map(n=>n.id);function Oj({src:n,poster:t,title:s}){const o=T.useRef(null),[d,p]=T.useState(()=>typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return T.useEffect(()=>{const c=window.matchMedia("(prefers-reduced-motion: reduce)"),g=()=>p(c.matches);return c.addEventListener("change",g),g(),()=>c.removeEventListener("change",g)},[]),T.useEffect(()=>{const c=o.current;c&&(d?c.pause():c.play().catch(()=>{}))},[d]),l.jsx("video",{ref:o,src:n,poster:t,"aria-label":s,className:"block w-full h-full object-contain",autoPlay:!d,muted:!0,loop:!d,playsInline:!0,controls:!0,controlsList:"nofullscreen nodownload noremoteplayback",disablePictureInPicture:!0,disableRemotePlayback:!0,preload:"metadata"})}function Bj({projectId:n}){const{t,language:s}=Oe(),o=s,d=Oi.map(c=>({...c,title:c.title[o],description:c.description[o],subtitle:c.subtitle?c.subtitle[o]:void 0,paragraphs:c.paragraphs?c.paragraphs[o]:void 0,techStack:c.techStack[o]})),p=c=>{const g=document.getElementById(c);g&&g.scrollIntoView({behavior:"smooth",block:"start"})};return T.useEffect(()=>{const g=window.location.hash.replace("#","")||n;g&&setTimeout(()=>{p(g)},100)},[n]),l.jsxs("div",{className:"bg-background",children:[l.jsxs("section",{className:"relative py-16 md:py-20 bg-gradient-to-br from-blue-900 to-blue-800 text-white overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 z-0",children:l.jsx(sa,{src:"/images/portfolio-cover.jpg",alt:"Portfolio Background",className:"w-full h-full object-cover opacity-20"})}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-900/80 to-blue-800/80 z-0"}),l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 text-center relative z-10",children:[l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-4",children:t("portfolio.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90 mb-8",children:t("portfolio.subtitle")}),l.jsx("div",{className:"flex flex-wrap justify-center gap-3 max-w-4xl mx-auto",children:d.map(c=>l.jsxs("button",{onClick:()=>p(c.id),className:"px-4 py-2 bg-white/10 hover:bg-white/20 rounded text-sm transition-colors",children:[c.number&&`${c.number}. `,c.title]},c.id))})]})]}),l.jsx("div",{className:"py-12 md:py-16",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4 space-y-8",children:d.map((c,g)=>{const h=g%2===1,b=c.id==="multilingual-assistant",f=c.id==="local-llm",y=f||c.id==="orbital-prediction";return l.jsx("section",{id:c.id,className:"scroll-mt-20 border-b pb-8 last:border-b-0",children:l.jsxs("div",{className:`grid gap-6 ${f?"md:items-stretch":"items-start"} ${c.noImage?"":"md:grid-cols-2"}`,children:[l.jsxs("div",{className:h?"md:order-2":"md:order-1",children:[l.jsxs("div",{className:"flex items-start gap-3 mb-2",children:[c.number&&l.jsx("span",{className:"text-2xl font-bold text-blue-900/30 min-w-[2.5rem]",children:c.number}),l.jsx("h2",{className:"text-xl font-bold",children:c.title})]}),c.subtitle&&l.jsx("p",{className:"text-sm font-semibold text-blue-900 mb-2 italic",children:c.subtitle}),c.paragraphs?l.jsx("div",{className:"space-y-2 mb-3",children:c.paragraphs.map((A,M)=>l.jsx("p",{className:"text-muted-foreground leading-relaxed text-sm",children:A},M))}):l.jsx("p",{className:"text-muted-foreground leading-relaxed mb-3 text-sm",children:c.description}),l.jsxs("div",{className:"mb-3",children:[l.jsx("h3",{className:"text-xs font-semibold text-muted-foreground mb-1.5",children:t("portfolio.techStackLabel")}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:c.techStack.map((A,M)=>l.jsx(Qi,{variant:"secondary",className:"bg-blue-900/5 text-blue-900 border-blue-900/10 text-xs px-2 py-0.5",children:A},M))})]}),c.projectUrl&&l.jsx(ja,{size:"sm",className:"bg-blue-900 hover:bg-blue-800 h-8 text-xs px-3",asChild:!0,children:l.jsxs("a",{href:c.projectUrl,target:"_blank",rel:"noopener noreferrer",children:[t("portfolio.viewProject"),l.jsx(rp,{className:"ml-1.5 w-3 h-3"})]})}),!c.projectUrl&&l.jsx("span",{className:"inline-block px-3 py-1 text-xs text-muted-foreground bg-muted/30 rounded",children:t("portfolio.privateProject")})]}),!c.noImage&&l.jsx("div",{className:h?"md:order-1":"md:order-2",children:l.jsx("div",{style:c.videoSrc?{width:200*720/606,maxWidth:"100%",marginInline:"auto"}:void 0,className:`w-full rounded-lg overflow-hidden bg-muted/30 flex items-center justify-center ${c.videoSrc?"h-[200px]":c.paragraphs?"h-auto min-h-[200px]":b?"aspect-[1214/857]":f?"h-[220px] md:h-full md:min-h-[300px]":"h-[200px]"}`,children:c.videoSrc?l.jsx(Oj,{src:c.videoSrc,poster:c.imageSrc,title:c.title}):c.isAnimation?l.jsx("div",{className:"w-full h-full bg-gradient-to-br from-blue-100 to-blue-50 flex items-center justify-center py-8",children:l.jsxs("div",{className:"text-center space-y-2 p-4",children:[l.jsx(uy,{className:"w-10 h-10 text-blue-900 mx-auto animate-pulse",strokeWidth:1.5}),l.jsx("p",{className:"text-xs text-muted-foreground",children:t("portfolio.visualizationLabel")})]})}):b?l.jsxs("svg",{viewBox:"0 0 1214 857",role:"img","aria-label":c.title,className:"block h-full w-full",preserveAspectRatio:"xMidYMid meet",children:[l.jsx("title",{children:c.title}),l.jsx("image",{href:c.imageSrc,width:"1214",height:"857",preserveAspectRatio:"xMidYMid slice"})]}):l.jsx(sa,{src:c.imageSrc,alt:c.title,className:`w-full h-full ${c.paragraphs?"object-contain max-h-[300px] py-4":y?"object-cover":"object-contain"}`})})})]})},c.id)})})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-4xl px-4 text-center",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-3",children:t("portfolio.cta.title")}),l.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed",children:t("portfolio.cta.description")}),l.jsxs(ja,{size:"lg",className:"text-base h-12 px-8 bg-blue-900 hover:bg-blue-800",children:[t("portfolio.cta.button"),l.jsx(rp,{className:"ml-2 w-4 h-4"})]})]})})]})}const Kj=[xd,Sy,Ay,ay];function Vj(){const{t:n,translations:t}=Oe(),s=t.story?.items||[];return l.jsx("section",{id:"story",className:"py-16 lg:py-20 border-b responsive-section",children:l.jsxs("div",{className:"container mx-auto max-w-7xl px-6 lg:px-8 responsive-section-inner",children:[l.jsxs("div",{className:"mb-8",children:[l.jsx("div",{className:"inline-block px-3 py-1.5 bg-blue-900/10 rounded border border-blue-900/20 mb-4",children:l.jsx("span",{className:"text-sm text-blue-900 font-medium uppercase tracking-wide",children:n("story.badge")})}),l.jsx("h2",{className:"text-3xl lg:text-4xl font-semibold",children:n("story.title")})]}),l.jsx("div",{className:"space-y-6",children:s.map((o,d)=>{const p=Kj[d]||xd;return l.jsxs("div",{className:"flex flex-col md:flex-row gap-4 md:gap-6 p-5",children:[l.jsxs("div",{className:"flex items-start gap-4 md:w-72 flex-shrink-0",children:[l.jsx("div",{className:"w-12 h-12 rounded-lg bg-blue-900/10 flex items-center justify-center flex-shrink-0",children:l.jsx(p,{className:"w-6 h-6 text-blue-900",strokeWidth:1.5})}),l.jsxs("div",{className:"md:hidden flex-1",children:[l.jsx("h3",{className:"text-lg font-semibold",children:o.title}),l.jsx("p",{className:"text-base text-blue-900/80",children:o.subtitle})]})]}),l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsxs("div",{className:"hidden md:block",children:[l.jsx("h3",{className:"text-lg font-semibold",children:o.title}),l.jsx("p",{className:"text-base text-blue-900/80",children:o.subtitle})]}),l.jsx("p",{className:"text-base leading-relaxed text-foreground
334/80",children:o.description})]})]},d)})})]})})}function Hl({className:n,type:t,...s}){return l.jsx("input",{type:t,"data-slot":"input",className:Ba("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base bg-input-background transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",n),...s})}function Fj({className:n,...t}){return l.jsx("textarea",{"data-slot":"textarea",className:Ba("resize-none border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-input-background px-3 py-2 text-base transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",n),...t})}Tg();var Wj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],qj=Wj.reduce((n,t)=>{const s=nu(`Primitive.${t}`),o=T.forwardRef((d,p)=>{const{asChild:c,...g}=d,h=c?s:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(h,{...g,ref:p})});return o.displayName=`Primitive.${t}`,{...n,[t]:o}},{}),Uj="Label",Kf=T.forwardRef((n,t)=>l.jsx(qj.label,{...n,ref:t,onMouseDown:s=>{s.target.closest("button, input, select, textarea")||(n.onMouseDown?.(s),!s.defaultPrevented&&s.detail>1&&s.preventDefault())}}));Kf.displayName=Uj;var _j=Kf;function cr({className:n,...t}){return l.jsx(_j,{"data-slot":"label",className:Ba("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",n),...t})}const Hj=!1,Cg="https://formspree.io/f/mqeenpoy";function $j(){const{t:n}=Oe(),t=!1,[s,o]=T.useState(!1),[d,p]=T.useState({name:"",email:"",subject:"",message:""}),[c,g]=T.useState(!1),[h,b]=T.useState(null),[f,y]=T.useState(null),[A,M]=T.useState(!1);T.useRef(null);const P=T.useRef(null),z="contact",C="contact-form",E=Hj,F=T.useCallback(()=>{},[f]);T.useEffect(()=>{if(s){const U=setTimeout(()=>{F()},100);return()=>clearTimeout(U)}},[s,F]),T.useEffect(()=>{const U=()=>{const W=window.location.hash;(W===`#${z}`||W===`#${C}`)&&(o(!0),requestAnimationFrame(()=>{const J=document.getElementById(C)||document.getElementById(z);J&&J.scrollIntoView({behavior:"smooth",block:"start"})}))};return U(),window.addEventListener("hashchange",U),()=>window.removeEventListener("hashchange",U)},[]),T.useEffect(()=>()=>{f&&window.turnstile&&window.turnstile.remove(f)},[f]);const K=async U=>{U.preventDefault(),g(!0);try{const W=P.current;if(!W)throw new Error("Form not found");const J=new FormData(W);J.append("_replyto",d.email);const de=await fetch(Cg,{method:"POST",headers:{Accept:"application/json"},body:J});if(de.ok)f&&window.turnstile&&window.turnstile.reset(f),b(null),window.location.href="/thank_you.html";else{const O=await de.text();let _="éä¿¡ã«å¤±æãã¾ãã";try{const te=JSON.parse(O);_=te?.error||te?.message||te?.errors?.[0]?.message||_}catch{}throw new Error(_)}}catch(W){f&&window.turnstile&&window.turnstile.reset(f),b(null);const J=W instanceof Error?W.message:"éä¿¡ã«å¤±æãã¾ãã";alert(`${J} 335ããä¸åº¦ã試ããã ããã`)}finally{g(!1)}};return l.jsx("section",{id:z,className:"py-16 md:py-20 bg-muted/30 scroll-mt-24 responsive-section",children:l.jsx("div",{id:C,className:"container mx-auto max-w-4xl px-4 scroll-mt-24",children:l.jsx(wd,{className:"border-0 shadow-lg",children:l.jsxs(Yg,{className:"p-8 md:p-10",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"text-xl mb-4",children:n("contact.title")}),l.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:n("contact.description")}),l.jsxs(ja,{size:"lg",className:"w-full",onClick:()=>o(!s),children:[s?l.jsx(gy,{className:"w-5 h-5 mr-2"}
335):l.jsx(my,{className:"w-5 h-5 mr-2"}),n(s?"contact.closeForm":"contact.openForm")]})]}),s&&l.jsxs("form",{ref:P,action:Cg,method:"POST",className:"mt-8 space-y-6",onSubmit:K,children:[l.jsx("input",{type:"text",name:"_gotcha",className:"hidden",tabIndex:-1,autoComplete:"off"}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs(cr,{htmlFor:"name",className:"text-sm font-semibold text-foreground",children:[n("contact.form.name")," ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Hl,{id:"name",name:"name",type:"text",value:d.name,onChange:U=>p({...d,name:U.target.value}),placeholder:n("contact.form.namePlaceholder"),className:"h-12 bg-background border-input",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs(cr,{htmlFor:"email",className:"text-sm font-semibold text-foreground",children:[n("contact.form.email")," ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Hl,{id:"email",name:"email",type:"email",value:d.email,onChange:U=>p({...d,email:U.target.value}),placeholder:n("contact.form.emailPlaceholder"),className:"h-12 bg-background border-input",required:!0})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs(cr,{htmlFor:"subject",className:"text-sm font-semibold text-foreground",children:[n("contact.form.subject")," ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Hl,{id:"subject",name:"subject",type:"text",value:d.subject,onChange:U=>p({...d,subject:U.target.value}),placeholder:n("contact.form.subjectPlaceholder"),className:"h-12 bg-background border-input",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs(cr,{htmlFor:"message",className:"text-sm font-semibold text-foreground",children:[n("contact.form.message")," ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Fj,{id:"message",name:"message",value:d.message,onChange:U=>p({...d,message:U.target.value}),placeholder:n("contact.form.messagePlaceholder"),className:"min-h-[150px] bg-background border-input",rows:6,required:!0})]}),E,l.jsx("div",{className:"pt-2",children:l.jsxs(ja,{type:"submit",size:"lg",className:"w-full h-12 text-base",disabled:c||E,children:[l.jsx(Gy,{className:"w-5 h-5 mr-2"}),n(c?"contact.form.submitting":"contact.form.submit")]})})]})]})})})})}const Qj="modulepreload",Jj=function(n){return"/"+n},Dg={},$l=function(t,s,o){let d=Promise.resolve();if(s&&s.length>0){let c=function(b){return Promise.all(b.map(f=>Promise.resolve(f).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const g=document.querySelector("meta[property=csp-nonce]"),h=g?.nonce||g?.getAttribute("nonce");d=c(s.map(b=>{if(b=Jj(b),b in Dg)return;Dg[b]=!0;const f=b.endsWith(".css"),y=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${b}"]${y}`))return;const A=document.createElement("link");if(A.rel=f?"stylesheet":Qj,f||(A.as="script"),A.crossOrigin="",A.href=b,h&&A.setAttribute("nonce",h),document.head.appendChild(A),f)return new Promise((M,P)=>{A.addEventListener("load",M),A.addEventListener("error",()=>P(new Error(`Unable to preload CSS for ${b}`)))})}))}function p(c){const g=new Event("vite:preloadError",{cancelable:!0});if(g.payload=c,window.dispatchEvent(g),!g.defaultPrevented)throw c}return d.then(c=>{for(const g of c||[])g.status==="rejected"&&p(g.reason);return t().catch(p)})},Zj=()=>{const n=Intl.DateTimeFormat().resolvedOptions().timeZone;return n.includes("Asia/Tokyo")||n.includes("Japan")?[138,36]:n.includes("Asia/Seoul")||n.includes("Korea")?[127,37]:n.includes("Asia/Shanghai")||n.includes("China")?[116,35]:n.includes("America/Ne
335w_York")||n.includes("America/Chicago")?[-95,40]:n.includes("America/Los_Angeles")?[-120,37]:n.includes("Europe")?[10,50]:n.includes("Asia/Singapore")||n.includes("Asia/Kuala_Lumpur")?[103,3]:[138,36]},Xj=new URL("/maptiler/",window.location.origin);function Yj(){const{t:n}=Oe(),t=T.useRef(null),[s,o]=T.useState(!0),[d,p]=T.useState("wind"),[c,g]=T.useState(null),[h,b]=T.useState(null),[f,y]=T.useState(!0),[A,M]=T.useState(0),P=T.useRef(!1),z=T.useRef(null),C=T.useRef({}),E=T.useRef(null),F=T.useRef(null),K=T.useRef(!0),U=1800,W=T.useCallback(_=>{console.log("[WeatherMap] Starting manual animation"),F.current&&clearInterval(F.current),typeof _.animateByFactor=="function"?(console.log("[WeatherMap] Using animateByFactor(0.5)"),_.animateByFactor(.5)):typeof _.animate=="function"?(console.log("[WeatherMap] Using animate(0.5)"),_.animate(.5)):console.warn("[WeatherMap] No animation method found on layer"),F.current=setInterval(()=>{if(!K.current){console.log("[WeatherMap] Animation paused");return}try{const te=_.getAnimationTime(),be=_.getAnimationEnd(),pe=_.getAnimationStart();let ke=te+U;ke>be&&(ke=pe,console.log("[WeatherMap] Animation looped back to start")),_.setAnimationTime(ke),z.current?.triggerRepaint&&z.current.triggerRepaint(),Date.now()%1e4<1e3&&console.log("[WeatherMap] Animation time:",ke,"Progress:",((ke-pe)/(be-pe)*100).toFixed(1)+"%");const Ie=_.getAnimationTimeDate(),me=_.getAnimationStartDate(),Le=_.getAnimationEndDate();if(me&&Le&&Ie){const se=Le.getTime()-me.getTime(),D=Ie.getTime()-me.getTime();M(D/se*100)}}catch(te){console.error("Animation step error:",te)}},1e3)},[]);T.useEffect(()=>P.current||!t.current?void 0:(P.current=!0,(async()=>{try{const te=await $l(()=>import("./maptiler-sdk-C0xmb5Ux.js"),__vite__mapDeps([0,1])),be=await $l(()=>import("./maptiler-weather-BhTpvdrl.js"),__vite__mapDeps([2,1]));await $l(()=>Promise.resolve({}),__vite__mapDeps([3])),te.config.apiKey="",te.config.telemetry=!1,te.config.session=!1,te.config.caching=!1;const pe=new URL("maps/satellite/style.json?proxy-style=2",Xj).toString(),ke=new te.Map({container:t.current,style:pe,center:Zj(),zoom:4,attributionControl:!1,navigationControl:!1,geolocateControl:!1,interactive:!1});z.current=ke;const Ie=setTimeout(()=>{console.log("Loading timeout - showing UI anyway"),o(!1)},5e3);ke.on("load",async()=>{console.log("Map loaded successfully"),clearTimeout(Ie),o(!1);try{const me=new be.WindLayer({opacity:.5}),Le=new be.TemperatureLayer({opacity:.5,colorramp:be.ColorRamp.builtin.TEMPERATURE}),se=new be.PrecipitationLayer({opacity:.5}),D=new be.RadarLayer({opacity:.5});C.current={wind:me,temperature:Le,precipitation:se,radar:D},ke.addLayer(me),E.current=me,console.log("Wind layer added");try{await me.onSourceReadyAsync(),console.log("Weather source ready (async)");const Q=me.getAnimationStartDate(),q=me.getAnimationEndDate();g(Q),b(q),console.log("Time range:",Q,"to",q),W(me)}catch(Q){console.error("Failed to initialize wind layer:",Q),me.on("sourceReady",()=>{console.log("Weather source ready (fallback event)");const q=me.getAnimationStartDate(),w=me.getAnimationEndDate();g(q),b(w),W(me)})}}catch(me){console.error("Error creating weather layers:",me)}}),ke.on("error",me=>{console.error("Map error:",me),clearTimeout(Ie),o(!1)})}catch(te){console.error("Error initializing map:",te),o(!1)}})(),()=>{F.current&&(clearInterval(F.current),F.current=null),z.current&&(z.current.remove(),z.current=null)}),[W]);const J=async _=>{if(!z.current)return;const te=z.current;F.current&&(clearInterval(F.current),F.current=null);const be=C.current[d];if(be)try{te.removeLayer(be.id)}catch{}const pe=C.current[_];if(pe){te.addLayer(pe),E.current=pe;try{await pe.onSourceReadyAsync(),console.log(`${_} layer source ready (async)`);const ke=pe.getAnimationStartDate(),Ie=pe.getAnimationEndDate();g(ke),b(Ie),W(pe)}catch(ke){console.error(`Failed to initialize ${_} layer:`,ke),pe.on("sourceReady",()=>{console.log(`${_} layer source ready (fallback event)`);const Ie=pe.getAnimationStartDate(),me=pe.getAnimationEndDate();g(Ie),b(me),W(pe)})}}p(_)};T.useCallback(()=>
335{if(!E.current)return;const _=!f;K.current=_,y(_)},[f]);const de=_=>{const te=_.getFullYear(),be=String(_.getMonth()+1).padStart(2,"0"),pe=String(_.getDate()).padStart(2,"0"),ke=String(_.getHours()).padStart(2,"0");return`${te}${be}${pe}/${ke}:30`},O=[{id:"wind",label:"Wind",icon:"ð¨"},{id:"precipitation",label:"Rain",icon:"ð§ï¸"},{id:"radar",label:"Radar",icon:"ð¡"}];return l.jsxs("div",{className:"weather-map",children:[l.jsx("div",{ref:t,className:"weather-map-canvas"}),s&&l.jsxs("div",{className:"weather-map-loading",children:[l.jsx("div",{className:"weather-map-spinner"}),l.jsx("p",{className:"weather-map-loading-text",children:n("weatherMap.loading")})]}),!s&&l.jsx("div",{className:"weather-controls",children:O.map(_=>l.jsx("button",{onClick:()=>J(_.id),title:_.label,className:d===_.id?"weather-layer-btn is-active":"weather-layer-btn",children:_.icon},_.id))}),!s&&l.jsxs("div",{className:"weather-ai-modal",children:[l.jsx("h3",{className:"weather-ai-title",children:n("weatherMap.title")}),l.jsx("p",{className:"weather-ai-text",children:n("weatherMap.subtitle")}),l.jsx("p",{className:"weather-ai-text",children:n("weatherMap.description1")}),l.jsx("p",{className:"weather-ai-text",children:n("weatherMap.description2")}),l.jsx("p",{className:"weather-ai-text weather-ai-text-last",children:n("weatherMap.description3")}),l.jsx("button",{className:"weather-refresh-btn",onClick:()=>window.location.reload(),children:n("weatherMap.refresh")})]}),!s&&l.jsxs("div",{className:"weather-timeline",children:[l.jsxs("div",{className:"weather-timeline-row",children:[l.jsx("progress",{className:"weather-progress",value:Math.max(0,Math.min(100,A)),max:100}),l.jsxs("div",{className:"weather-live",children:[l.jsx("span",{className:"weather-live-dot"}),"Live"]})]}),l.jsxs("div",{className:"weather-time-labels",children:[l.jsx("span",{children:de(new Date(Date.now()-2880*60*1e3))}),l.jsx("span",{className:"weather-time-now",children:de(new Date)}),l.jsx("span",{children:de(new Date(Date.now()+2880*60*1e3))})]})]})]})}function eC(){return l.jsx("section",{className:"border-b",children:l.jsx(Yj,{})})}var aC=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],nC=aC.reduce((n,t)=>{const s=nu(`Primitive.${t}`),o=T.forwardRef((d,p)=>{const{asChild:c,...g}=d,h=c?s:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(h,{...g,ref:p})});return o.displayName=`Primitive.${t}`,{...n,[t]:o}},{}),tC="Separator",zg="horizontal",iC=["horizontal","vertical"],Vf=T.forwardRef((n,t)=>{const{decorative:s,orientation:o=zg,...d}=n,p=sC(o)?o:zg,g=s?{role:"none"}:{"aria-orientation":p==="vertical"?p:void 0,role:"separator"};return l.jsx(nC.div,{"data-orientation":p,...g,...d,ref:t})});Vf.displayName=tC;function sC(n){return iC.includes(n)}var rC=Vf;function oC({className:n,orientation:t="horizontal",decorative:s=!0,...o}){return l.jsx(rC,{"data-slot":"separator-root",decorative:s,orientation:t,className:Ba("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",n),...o})}function Ua({onNavigate:n}){const{language:t,t:s}=Oe(),o=on(t,"about"),d=(h,b)=>{n&&(h.preventDefault(),n(b))},p=h=>{n&&(h.preventDefault(),n("privacy"))},c=h=>{n&&(h.preventDefault(),n("terms"))},g=h=>{n&&(h.preventDefault(),n("cookies"))};return l.jsx("footer",{className:"bg-[#0b1b3a] !bg-[#0b1b3a] text-white responsive-footer footer-bg",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 py-16 responsive-footer-inner",children:[l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-8 responsive-footer-grid",children:[l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center",children:[l.jsx("span",{className:"text-[22px] sm:text-2xl font-bold brand-accent",children:"( ;"}),l.jsx("span",{className:"text-2xl font-bold brand-underscore",children:"_"}),l.jsx("span",{className:"text-2xl font-bold text-white",children:s("footer.brand")})]}),l.jsx("div",{className:"text-sm text-white/80",children:s("footer.tagline")}),l.jsx("p",{className:"text-white/80",children:s("footer.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h3",{children:s("footer.sections.product.title")}),l.jsxs("div",{className:"space-y-2 text-white/80",children:[l.jsx("div",{children:l.jsx("a",{href:"#features",className:"hover:text-white transition-colors",children:s("footer.sections.product.features")})}),l.jsx("div",{children:l.jsx("a",{href:"#benefits",className:"hover:text-white transition-colors",children:s("footer.sections.product.benefits")})}),l.jsx("div",{children:l.jsx("a",{href:"#testimonials",className:"hover:text-white transition-colors",children:s("footer.sections.product.testimonials")})})]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h3",{children:s("footer.sections.services.title")}),l.jsxs("div",{className:"space-y-2 text-white/80",children:[l.jsx("div",{children:l.jsx("a",{href:"#agent-development",className:"hover:text-white transition-colors",onClick:h=>d(h,"agent-development"),children:s("footer.sections.services.agentDev")})}),l.jsx("div",{children:l.jsx("a",{href:"#on-premise-llm",className:"hover:text-white transition-colors",onClick:h=>d(h,"on-premise-llm"),children:s("footer.sections.services.onPremise")})}),l.jsx("div",{children:l.jsx("a",{href:"#vector-rag",className:"hover:text-white transition-colors",onClick:h=>d(h,"vector-rag"),children:s("footer.sections.services.vectorRag")})}),l.jsx("div",{children:l.jsx("a",{href:"#ai-app-development",className:"hover:text-white transition-colors",onClick:h=>d(h,"ai-app-development"),children:s("footer.sections.services.aiApp")})})]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h3",{children:l.jsx("a",{href:o,className:"hover:text-white transition-colors",onClick:h=>d(h,"about"),children:s("footer.sections.company.title")})}),l.jsxs("div",{className:"space-y-2 text-white/80",children:[l.jsx("div",{children:l.jsx("a",{href:o,className:"hover:text-white transition-colors",onClick:h=>d(h,"about"),children:s("footer.sections.company.about")})}),l.jsx("div",{children:l.jsx("a",{href:o,className:"hover:text-white transition-colors",onClick:h=>d(h,"about"),children:s("footer.sections.company.profile")})}),l.jsx("div",{children:l.jsx("a",{href:"#",className:"hover:text-white transition-colors",children:s("footer.sections.company.contact")})})]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h3",{children:s("footer.sections.process.title")}),l.jsxs("div",{className:"space-y-2 text-white/80",children:[l.jsx("div",{children:l.jsx("a",{href:"#",className:"hover:text-white transition-colors",children:s("footer.sections.process.hearing")})}),l.jsx("div",{children:l.jsx("a",{href:"#",className:"hover:text-white transition-colors",children:s("footer.sections.process.planning")})}),l.jsx("div",{children:l.jsx("a",{href:"#",className:"hover:text-white transition-colors",children:s("footer.sections.process.sampling")})}),l.jsx("div",{children:l.jsx("a",{href:"#",className:"hover:text-white transition-colors",children:s("footer.sections.process.development")})})]})]})]}
335),l.jsx(oC,{className:"my-8 bg-primary-foreground/20"}),l.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center space-y-4 md:space-y-0",children:[l.jsx("div",{className:"text-white/80 text-sm",children:s("footer.copyright")}),l.jsxs("div",{className:"flex space-x-6 text-sm text-white/80",children:[l.jsx("a",{href:on(t,"privacy"),className:"hover:text-white transition-colors",onClick:p,children:s("footer.legal.privacy")}),l.jsx("a",{href:on(t,"terms"),className:"hover:text-white transition-colors",onClick:c,children:s("footer.legal.terms")}),l.jsx("a",{href:on(t,"cookies"),className:"hover:text-white transition-colors",onClick:g,children:s("footer.legal.cookies")})]})]})]})})}function rn({children:n,onBack:t,onNavigate:s}){return l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsx(Og,{onNavigate:s}),l.jsx("main",{children:n})]})}function lC(){const{t:n}=Oe(),t=[{title:n("about.studios.tokyo.title"),description:n("about.studios.tokyo.address")}];return l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsxs("section",{className:"relative py-16 md:py-20 bg-gradient-to-br from-blue-900 to-blue-800 text-white overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 z-0",children:l.jsx(sa,{src:"/images/about-cover.jpg",alt:"About Us Background",className:"w-full h-full object-cover opacity-20"})}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-900/80 to-blue-800/80 z-0"}),l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 text-center relative z-10",children:[l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-4",children:n("about.hero.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90 max-w-3xl mx-auto",children:n("about.hero.subtitle")})]})]}),l.jsx("section",{className:"relative py-20 lg:py-32 overflow-hidden",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:n("about.story.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("about.story.content")})]}),l.jsx("div",{className:"relative",children:l.jsx("div",{className:"aspect-[4/3] rounded-lg overflow-hidden shadow-2xl",children:l.jsx(sa,{src:"/images/optimized/professional-office.webp",alt:"telet.ai Team",className:"w-full h-full object-cover"})})})]})})}),l.jsx("section",{className:"py-20 bg-muted/30",children:l.jsx("div",{className:"container mx-auto max-w-4xl px-4",children:l.jsxs("div",{className:"space-y-8",children:[l.jsxs("div",{className:"text-center space-y-3",children:[l.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl",children:n("about.representative.title")}),l.jsx("p",{className:"text-xl md:text-2xl text-primary font-semibold",children:n("about.representative.name")}),l.jsx("p",{className:"text-lg text-muted-foreground",children:n("about.representative.tagline")})]}),l.jsx("div",{className:"bg-background rounded-lg p-8 md:p-10 shadow-sm border border-border/50 space-y-6",children:n("about.representative.paragraphs").map((s,o)=>l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:s},o))})]})})}),l.jsx("section",{className:"py-20",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center space-y-4 mb-16",children:[l.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl",children:n("about.contact.title")}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-xl md:text-2xl font-semibold text-primary",children:n("about.contact.company")}),l.jsx("p",{className:"text-lg text-muted-foreground",children:n("about.contact.ceo")})]})]}),l.jsx("div",{className:"max-w-2xl mx-auto",children:t.map((s,o)=>l.jsx(wd,{className:"p-8",children:l.jsx("div",{className:"space-y-4",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-2xl mb-3",children:s.title}),l.jsx("p",{className:"text-muted-foreground leading-relaxed",children:s.description})]})})},o))}),l.jsx("div",{className:"text-center mt-12",children:l.jsxs("button",{className:"inline-flex items-center gap-2 px-10 py-4 bg-blue-900 text-white rounded-lg hover:bg-blue-800 transition-colors text-lg",children:[l.jsx(jy,{className:"w-5 h-5"}),n("about.contact.button")]})})]})})]})}function dC(){const{t:n}=Oe();return l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsxs("section",{className:"relative py-16 md:py-20 bg-gradient-to-br from-blue-900 to-blue-800 text-white overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 z-0",children:l.jsx(sa,{src:"/images/optimized/legal-document.webp",alt:"Privacy Policy Backgroun
335d",className:"w-full h-full object-cover opacity-20",lazy:!1})}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-900/80 to-blue-800/80 z-0"}),l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 text-center relative z-10",children:[l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-4",children:n("privacyPolicy.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90 max-w-3xl mx-auto",children:n("privacyPolicy.subtitle")})]})]}),l.jsx("section",{className:"py-20 lg:py-32",children:l.jsx("div",{className:"container mx-auto max-w-4xl px-4",children:l.jsxs("div",{className:"bg-background rounded-lg p-8 md:p-12 space-y-8",children:[l.jsx("div",{className:"text-center pb-6 border-b border-border",children:l.jsx("p",{className:"text-sm text-muted-foreground",children:n("privacyPolicy.lastUpdated")})}),l.jsx("div",{className:"space-y-4",children:l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.intro")})}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.collection.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.collection.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("privacyPolicy.sections.collection.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.purpose.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.purpose.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("privacyPolicy.sections.purpose.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.thirdParty.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.thirdParty.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("privacyPolicy.sections.thirdParty.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.security.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.security.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.email.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.email.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("privacyPolicy.sections.email.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.cookies.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.cookies.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.external.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.external.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("privacyPolicy.sections.external.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.changes.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.changes.description")})]}),l.jsxs("div",{className:"space-y-4 pt-6 border-t border-border",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("privacyPolicy.sections.contact.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("privacyPolicy.sections.contact.description")}),l.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 space-y-3",children:[l.jsx("p",{className:"text-lg font-semibold",children:n("privacyPolicy.sections.contact.company")}),l.jsx("a",{href:"#contact-form",className:"inline-flex items-center gap-2 text-primary hover:underline",children:n("privacyPolicy.sections.contact.contactLink")})]})]})]})})})]})}function uC(){const{t:n}=Oe();return l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsxs("section",{className:"relative py-16 md:py-20 bg-gradient-to-br from-blue-900 to-blue-800 text-white overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 z-0",children:l.jsx(sa,{src:"/images/optimized/legal-document.webp",alt:"Terms of Service Backgroun
335d",className:"w-full h-full object-cover opacity-20",lazy:!1})}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-900/80 to-blue-800/80 z-0"}),l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 text-center relative z-10",children:[l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-4",children:n("termsOfService.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90 max-w-3xl mx-auto",children:n("termsOfService.subtitle")})]})]}),l.jsx("section",{className:"py-20 lg:py-32",children:l.jsx("div",{className:"container mx-auto max-w-4xl px-4",children:l.jsxs("div",{className:"bg-background rounded-lg p-8 md:p-12 space-y-8",children:[l.jsx("div",{className:"text-center pb-6 border-b border-border",children:l.jsx("p",{className:"text-sm text-muted-foreground",children:n("termsOfService.lastUpdated")})}),l.jsx("div",{className:"space-y-4",children:l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.intro")})}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.scope.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.scope.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.prohibited.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.prohibited.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("termsOfService.sections.prohibited.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.disclaimer.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.disclaimer.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("termsOfService.sections.disclaimer.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.ip.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.ip.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.links.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.links.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.changes.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.changes.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.governingLaw.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.governingLaw.description")})]}),l.jsxs("div",{className:"space-y-4 pt-6 border-t border-border",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("termsOfService.sections.contact.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("termsOfService.sections.contact.description")}),l.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 space-y-3",children:[l.jsx("p",{className:"text-lg font-semibold",children:n("termsOfService.sections.contact.company")}),l.jsx("a",{href:"#contact-form",className:"inline-flex items-center gap-2 text-primary hover:underline",children:n("termsOfService.sections.contact.contactLink")})]})]})]})})})]})}function cC(){const{t:n}=Oe();return l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsxs("section",{className:"relative py-16 md:py-20 bg-gradient-to-br from-blue-900 to-blue-800 text-white overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 z-0",children:l.jsx(sa,{src:"/images/optimized/legal-document.webp",alt:"Cookie Policy Backgroun
335d",className:"w-full h-full object-cover opacity-20",lazy:!1})}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-900/80 to-blue-800/80 z-0"}),l.jsxs("div",{className:"container mx-auto max-w-6xl px-4 text-center relative z-10",children:[l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-4",children:n("cookiePolicy.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90 max-w-3xl mx-auto",children:n("cookiePolicy.subtitle")})]})]}),l.jsx("section",{className:"py-20 lg:py-32",children:l.jsx("div",{className:"container mx-auto max-w-4xl px-4",children:l.jsxs("div",{className:"bg-background rounded-lg p-8 md:p-12 space-y-8",children:[l.jsx("div",{className:"text-center pb-6 border-b border-border",children:l.jsx("p",{className:"text-sm text-muted-foreground",children:n("cookiePolicy.lastUpdated")})}),l.jsx("div",{className:"space-y-4",children:l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.intro")})}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.what.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.what.de
335scription")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.howWeUse.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.howWeUse.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("cookiePolicy.sections.howWeUse.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.googleAnalytics.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.googleAnalytics.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("cookiePolicy.sections.googleAnalytics.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.cloudflare.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.cloudflare.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("cookiePolicy.sections.cloudflare.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.noSpecialCookies.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.noSpecialCookies.description")})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.choices.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.choices.description")}),l.jsx("ul",{className:"list-disc list-inside space-y-2 text-base text-muted-foreground leading-relaxed ml-4",children:n("cookiePolicy.sections.choices.items").map((t,s)=>l.jsx("li",{children:t},s))})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.changes.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.changes.description")})]}),l.jsxs("div",{className:"space-y-4 pt-6 border-t border-border",children:[l.jsx("h2",{className:"text-2xl md:text-3xl",children:n("cookiePolicy.sections.contact.title")}),l.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:n("cookiePolicy.sections.contact.description")}),l.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 space-y-3",children:[l.jsx("p",{className:"text-lg font-semibold",children:n("cookiePolicy.sections.contact.company")}),l.jsx("a",{href:"#contact-form",className:"inline-flex items-center gap-2 text-primary hover:underline",children:n("cookiePolicy.sections.contact.contactLink")})]})]})]})})})]})}function _a({title:n="telet.ai - AI-Powered Solutions Platform",description:t="Transform your customer conversations with AI-powered call analytics. Get real-time insights, sentiment analysis, and performance tracking to improve your team's results.",image:s="https://telet.ai/images/ogp-telet-ai.jpg",url:o="https://telet.ai",jsonLd:d=null}){const{language:p}=Oe(),c=g=>{switch(g){case"ja":return"ja_JP";case"en":return"en_US";case"zh":return"zh_CN";case"ko":return"ko_KR";case"th":return"th_TH";case"ms":return"ms_MY";case"id":return"id_ID";case"pt":return"pt_PT";case"es":return"es_ES";case"de":return"de_DE";default:return"en_US"}};return T.useEffect(()=>{const g=Bi(new URL(window.location.href)),h=Ml(p,g.page,g.project);document.title=n;const b=["og:title","og:description","og:image","og:url","og:locale","og:type","twitter:card","twitter:title","twitter:description","twitter:image","description"];b.forEach(C=>{const E=document.querySelector(`meta[property="${C}"]`)||document.querySelector(`meta[name="${C}"]`);E&&E.remove()}),[{name:"description",content:t},{property:"og:title",content:n},{property:"og:description",content:t},{property:"og:image",content:s},{property:"og:url",content:h},{property:"og:locale",content:c(p)},{property:"og:type",content:"website"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:n},{name:"twitter:description",content:t},{name:"twitter:image",content:s}
335].forEach(({name:C,property:E,content:F})=>{const K=document.createElement("meta");C&&K.setAttribute("name",C),E&&K.setAttribute("property",E),K.setAttribute("content",F),document.head.appendChild(K)});let y=document.querySelector('link[rel="canonical"]');y||(y=document.createElement("link"),y.setAttribute("rel","canonical"),document.head.appendChild(y)),y.setAttribute("href",h),document.querySelectorAll('link[rel="alternate"][hreflang]').forEach(C=>C.remove()),Object.keys(Jl).forEach(C=>{const E=document.createElement("link");E.setAttribute("rel","alternate"),E.setAttribute("hreflang",C),E.setAttribute("href",Ml(C,g.page,g.project)),document.head.appendChild(E)});const A=document.createElement("link");A.setAttribute("rel","alternate"),A.setAttribute("hreflang","x-default"),A.setAttribute("href",Ml("ja",g.page,g.project)),document.head.appendChild(A);const M="telet-jsonld",P=g.page==="portfolio"?Array.from(document.querySelectorAll('script[type="application/ld+json"]:not([id])')):[];P.forEach(C=>C.remove());const z=document.getElementById(M);if(z&&z.remove(),d){const C=document.createElement("script");C.id=M,C.type="application/ld+json",C.textContent=JSON.stringify(d),document.head.appendChild(C)}return()=>{P.forEach(C=>document.head.appendChild(C)),b.forEach(C=>{const E=document.querySelector(`meta[property="${C}"]`)||document.querySelector(`meta[name="${C}"]`);E&&E.remove()})}},[n,t,s,o,d,p]),null}function mC({onContactClick:n}){const{t}=Oe(),s=t("agentDevelopment.hero.badges"),o=t("agentDevelopment.summary.paragraphs"),d=t("agentDevelopment.features.items"),p=t("agentDevelopment.techStack.categories");return l.jsxs("div",{children:[l.jsx("section",{className:"relative bg-background",children:l.jsxs("div",{className:"relative h-[350px] md:h-[420px] overflow-hidden",children:[l.jsx(sa,{src:"https://plus.unsplash.com/premium_photo-1764691397085-d3b3ccf3e33a?q=80&w=1332&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",alt:"AI Infrastructure",className:"w-full h-full object-cover"}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-900/50 via-blue-900/30 to-transparent"}),l.jsx("div",{className:"absolute inset-0 flex items-center",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"max-w-2xl space-y-4 text-white",children:[l.jsx("div",{className:"flex gap-2 flex-wrap",children:s.map((c,g)=>l.jsx(Qi,{variant:"secondary",className:"bg-white/20 text-white border-0",children:c},g))}),l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight",children:t("agentDevelopment.hero.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90",children:t("agentDevelopment.hero.description")})]})})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-10 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4 lg:col-span-7",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("agentDevelopment.mission.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:l.jsx("p",{children:t("agentDevelopment.mission.description")})})]}),l.jsx("div",{className:"rounded-lg overflow-hidden lg:col-span-3",children:l.jsx(sa,{src:"/images/agent-dev-service.jpg",alt:t("agentDevelopment.mission.imageAlt"),className:"w-full h-full object-cover"})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"space-y-4",children:[l.jsx("div",{className:"flex flex-col md:flex-row md:items-start md:gap-6",children:l.jsx("h2",{className:"text-3xl md:text-4xl md:whitespace-nowrap",children:t("agentDevelopment.summary.title")})}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:o.map((c,g)=>l.jsx("p",{children:c},g))})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("agentDevelopment.features.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("agentDevelopment.features.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:d.map((c,g)=>{const h=[Gt,Ly,Ng,Tn],b=h[g%h.length];return l.jsx("div",{className:"bg-white p-6 rounded-lg space-y-2",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded bg-blue-900/5 flex items-center justify-center flex-shrink-0 mt-1",children:l.jsx(b,{className:"w-5 h-5 text-blue-900",strokeWidth:1.5})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("h3",{className:"font-semibold mb-2",children:c.title}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c.description})]})]})},g)})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("agentDevelopment.techStack.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("agentDevelopment.techStack.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-8 mb-8",children:Object.entries(p).map(([c,g])=>l.jsxs("div",{children:[l.jsx("h3",{className:"mb-3 text-sm text-muted-foreground uppercase tracking-wide",children:g.title}),l.jsx("ul",{className:"space-y-1.5 text-sm",children:g.items.map((h,b)=>l.jsxs("li",{children:["⢠",h]},b))})]},c))}),l.jsxs("div",{className:"bg-white p-6 rounded-lg",children:[l.jsx("h3",{className:"font-semibold mb-3",children:t("agentDevelopment.techStack.updateNote.title")}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t("agentDevelopment.techStack.updateNote.description")})]})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsxs("div",{className:"container mx-auto max-w-4xl px-4 text-center",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-3",children:t("agentDevelopment.cta.title")}),l.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed whitespace-pre-line",children:t("agentDevelopment.cta.description")}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[l.jsxs(ja,{size:"lg",className:"text-base h-12 px-8 bg-blue-900 hover:bg-blue-800",onClick:n,children:[t("agentDevelopment.cta.primaryButton"),l.jsx(wr,{className:"ml-2 w-4 h-4"})]}),l.jsx(ja,{size:"lg",variant:"outline",className:"text-base h-12 px-8 border-blue-900 text-blue-900 hover:bg-blue-900/5",onClick:n,children:t("agentDevelopment.cta.secondaryButton")})]})]})})]})}function pC({onContactClick:n}){const{t}=Oe(),s=t("onPremiseLLM.hero.badges"),o=t("onPremiseLLM.mission.paragraphs"),d=t("onPremiseLLM.summary.paragraphs"),p=t("onPremiseLLM.summary.icons"),c=t("onPremiseLLM.features.items"),g=t("onPremiseLLM.techStack.categories"),h=[tt,Gt,Nt,Tn];return l.jsxs("div",{children:[l.jsx("section",{className:"relative bg-background",children:l.jsxs("div",{className:"relative h-[350px] md:h-[420px] overflow-hidden",children:[l.jsx(sa,{src:"/images/optimized/onpremise-llm-hero.webp",alt:"On-Premise LLM Server",className:"w-full h-full object-cover",lazy:!1}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-900/50 via-blue-900/30 to-transparent"}),l.jsx("div",{className:"absolute inset-0 flex items-center",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"max-w-2xl space-y-4 text-white",children:[l.jsx("div",{className:"flex gap-2 flex-wrap",children:s.map((b,f)=>l.jsx(Qi,{variant:"secondary",className:"bg-white/20 text-white border-0",children:b},f))}),l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight",children:t("onPremiseLLM.hero.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90",children:t("onPremiseLLM.hero.description")})]})})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-10 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4 lg:col-span-7",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("onPremiseLLM.mission.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:o.map((b,f)=>l.jsx("p",{children:b},f))})]}),l.jsx("div",{className:"rounded-lg overflow-hidden lg:col-span-3",children:l.jsx(sa,{src:"/images/onpremise-llm-cover.jpg",alt:t("onPremiseLLM.mission.title"),className:"w-full h-full object-cover"})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("onPremiseLLM.summary.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:d.map((b,f)=>l.jsx("p",{children:b},f))})]}),l.jsx("div",{className:"flex items-center justify-center",children:l.jsx("div",{className:"grid grid-cols-2 gap-4",children:p.map((b,f)=>{const y=h[f%h.length],A=b.label.split(` 336`);return l.jsxs("div",{className:"flex flex-col items-center justify-center p-6 bg-muted/30 rounded-lg",children:[l.jsx(y,{className:"w-12 h-12 text-blue-900 mb-2",strokeWidth:1.5}),l.jsx("span",{className:"text-sm text-center text-muted-foreground",children:A.map((M,P)=>l.jsxs("span",{children:[M,P<A.length-1&&l.jsx("br",{})]},P))})]},f)})})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("onPremiseLLM.features.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("onPremiseLLM.features.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:c.map((b,f)=>
336{const y=[Tn,Gt,Ng,tt],A=y[f%y.length];return l.jsx("div",{className:"bg-white p-6 rounded-lg space-y-2",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded bg-blue-900/5 flex items-center justify-center flex-shrink-0 mt-1",children:l.jsx(A,{className:"w-5 h-5 text-blue-900",strokeWidth:1.5})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("h3",{className:"font-semibold mb-2",children:b.title}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:b.description})]})]})},f)})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("onPremiseLLM.techStack.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("onPremiseLLM.techStack.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8 mb-8",children:Object.entries(g).map(([b,f])=>l.jsxs("div",{children:[l.jsx("h3",{className:"mb-3 text-sm text-muted-foreground uppercase tracking-wide",children:f.title}),l.jsx("ul",{className:"space-y-1.5 text-sm",children:f.items.map((y,A)=>l.jsxs("li",{children:["⢠",y]},A))})]},b))}),l.jsxs("div",{className:"bg-white p-6 rounded-lg",children:[l.jsx("h3",{className:"font-semibold mb-3",children:t("onPremiseLLM.techStack.updateNote.title")}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t("onPremiseLLM.techStack.updateNote.description")})]})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsxs("div",{className:"container mx-auto max-w-4xl px-4 text-center",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-3",children:t("onPremiseLLM.cta.title")}),l.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed whitespace-pre-line",children:t("onPremiseLLM.cta.description")}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[l.jsxs(ja,{size:"lg",className:"text-base h-12 px-8 bg-blue-900 hover:bg-blue-800",onClick:n,children:[t("onPremiseLLM.cta.primaryButton"),l.jsx(wr,{className:"ml-2 w-4 h-4"})]}),l.jsx(ja,{size:"lg",variant:"outline",className:"text-base h-12 px-8 border-blue-900 text-blue-900 hover:bg-blue-900/5",onClick:n,children:t("onPremiseLLM.cta.secondaryButton")})]})]})})]})}function gC({onContactClick:n}){const{t}=Oe(),s=t("vectorRAG.hero.badges"),o=t("vectorRAG.mission.paragraphs"),d=t("vectorRAG.summary.paragraphs"),p=t("vectorRAG.summary.icons"),c=t("vectorRAG.features.items"),g=t("vectorRAG.techStack.categories"),h=[tt,Gt,Nt,Tn];return l.jsxs("div",{children:[l.jsx("section",{className:"relative bg-background",children:l.jsxs("div",{className:"relative h-[350px] md:h-[420px] overflow-hidden",children:[l.jsx(sa,{src:"/images/optimized/vector-rag-code.webp",alt:"Vector RAG Architecture",className:"w-full h-full object-cover",lazy:!1}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-900/50 via-blue-900/30 to-transparent"}),l.jsx("div",{className:"absolute inset-0 flex items-center",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"max-w-2xl space-y-4 text-white",children:[l.jsx("div",{className:"flex gap-2 flex-wrap",children:s.map((b,f)=>l.jsx(Qi,{variant:"secondary",className:"bg-white/20 text-white border-0",children:b},f))}),l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight",children:t("vectorRAG.hero.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90",children:t("vectorRAG.hero.description")})]})})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-10 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4 lg:col-span-7",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("vectorRAG.mission.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:o.map((b,f)=>l.jsx("p",{children:b},f))})]}),l.jsx("div",{className:"rounded-lg overflow-hidden lg:col-span-3",children:l.jsx(sa,{src:"/images/optimized/vector-rag-cover.webp",alt:t("vectorRAG.mission.imageAlt"),className:"w-full h-full object-cover"})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("vectorRAG.summary.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:d.map((b,f)=>l.jsx("p",{children:b},f))})]}),l.jsx("div",{className:"flex items-center justify-center",children:l.jsx("div",{className:"grid grid-cols-2 gap-4",children:p.map((b,f)=>{const y=h[f%h.length],A=b.label.split(` 337`);return l.jsxs("div",{className:"flex flex-col items-center justify-center p-6 bg-muted/30 rounded-lg",children:[l.jsx(y,{className:"w-12 h-12 text-blue-900 mb-2",strokeWidth:1.5}),l.jsx("span",{className:"text-sm text-center text-muted-foreground",children:A.map((M,P)=>l.jsxs("span",{children:[M,P<A.length-1&&l.jsx("br",{})]},P))})]},f)})})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("vectorRAG.features.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("vectorRAG.features.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:c.map((b,f)=>
337{const y=[tt,Nt,Gt,Tn],A=y[f%y.length];return l.jsx("div",{className:"bg-white p-6 rounded-lg space-y-2",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded bg-blue-900/5 flex items-center justify-center flex-shrink-0 mt-1",children:l.jsx(A,{className:"w-5 h-5 text-blue-900",strokeWidth:1.5})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("h3",{className:"font-semibold mb-2",children:b.title}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:b.description})]})]})},f)})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("vectorRAG.techStack.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("vectorRAG.techStack.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-8 mb-8",children:Object.entries(g).map(([b,f])=>l.jsxs("div",{children:[l.jsx("h3",{className:"mb-3 text-sm text-muted-foreground uppercase tracking-wide",children:f.title}),l.jsx("ul",{className:"space-y-1.5 text-sm",children:f.items.map((y,A)=>l.jsxs("li",{children:["⢠",y]},A))})]},b))}),l.jsxs("div",{className:"bg-white p-6 rounded-lg",children:[l.jsx("h3",{className:"font-semibold mb-3",children:t("vectorRAG.techStack.updateNote.title")}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t("vectorRAG.techStack.updateNote.description")})]})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsxs("div",{className:"container mx-auto max-w-4xl px-4 text-center",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-3",children:t("vectorRAG.cta.title")}),l.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed whitespace-pre-line",children:t("vectorRAG.cta.description")}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[l.jsxs(ja,{size:"lg",className:"text-base h-12 px-8 bg-blue-900 hover:bg-blue-800",onClick:n,children:[t("vectorRAG.cta.primaryButton"),l.jsx(wr,{className:"ml-2 w-4 h-4"})]}),l.jsx(ja,{size:"lg",variant:"outline",className:"text-base h-12 px-8 border-blue-900 text-blue-900 hover:bg-blue-900/5",onClick:n,children:t("vectorRAG.cta.secondaryButton")})]})]})})]})}function hC({onContactClick:n}){const{t}=Oe(),s=t("aiAppDevelopment.hero.badges"),o=t("aiAppDevelopment.mission.paragraphs"),d=t("aiAppDevelopment.summary.paragraphs"),p=t("aiAppDevelopment.summary.icons"),c=t("aiAppDevelopment.features.items"),g=t("aiAppDevelopment.techStack.categories"),h=[Nt,tt,Hy,Wy];return l.jsxs("div",{children:[l.jsx("section",{className:"relative bg-background",children:l.jsxs("div",{className:"relative h-[350px] md:h-[420px] overflow-hidden",children:[l.jsx("img",{src:"/images/ai-app-cover.jpg",alt:"AI Application Development",className:"w-full h-full object-cover",style:{transform:"scaleX(-1)"}}),l.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-900/80 via-blue-900/60 to-blue-900/30"}),l.jsx("div",{className:"absolute inset-0 flex items-center",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"max-w-2xl space-y-4 text-white bg-blue-900/70 backdrop-blur-sm p-6 md:p-8 rounded-lg",children:[l.jsx("div",{className:"flex gap-2 flex-wrap",children:s.map((b,f)=>l.jsx(Qi,{variant:"secondary",className:"bg-white/20 text-white border-0",children:b},f))}),l.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight",children:t("aiAppDevelopment.hero.title")}),l.jsx("p",{className:"text-lg md:text-xl text-white/90",children:t("aiAppDevelopment.hero.description")})]})})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-10 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4 lg:col-span-7",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("aiAppDevelopment.mission.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:o.map((b,f)=>l.jsx("p",{children:b},f))})]}),l.jsx("div",{className:"rounded-lg overflow-hidden lg:col-span-3",children:l.jsx(sa,{src:"/images/optimized/ai-app-mission.webp",alt:t("aiAppDevelopment.mission.title"),className:"w-full h-full object-cover"})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsx("div",{className:"container mx-auto max-w-6xl px-4",children:l.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-center",children:[l.jsxs("div",{className:"space-y-4",children:[l.jsx("h2",{className:"text-3xl md:text-4xl",children:t("aiAppDevelopment.summary.title")}),l.jsx("div",{className:"space-y-3 text-muted-foreground leading-relaxed",children:d.map((b,f)=>l.jsx("p",{children:b},f))})]}),l.jsx("div",{className:"flex items-center justify-center",children:l.jsx("div",{className:"grid grid-cols-2 gap-4",children:p.map((b,f)=>{const y=h[f%h.length],A=b.label.split(` 338`);return l.jsxs("div",{className:"flex flex-col items-center justify-center p-6 bg-muted/30 rounded-lg",children:[l.jsx(y,{className:"w-12 h-12 text-blue-900 mb-2",strokeWidth:1.5}),l.jsx("span",{className:"text-sm text-center text-muted-foreground",children:A.map((M,P)=>l.jsxs("span",{children:[M,P<A.length-1&&l.jsx("br",{})]},P))})]},f)})})})]})})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("aiAppDevelopment.features.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("aiAppDevelopment.features.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:c.map((b,f)=>{const y=[tt,Gt,Nt,Tn],A=y[f%y.length];return l.jsx("div",{className:"bg-white p-6 rounded-lg space-y-2",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded bg-blue-900/5 flex items-center justify-center flex-shrink-0 mt-1",children:l.jsx(A,{className:"w-5 h-5 text-blue-900",strokeWidth:1.5})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("h3",{className:"font-semibold mb-2",children:b.title}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:b.description})]})]})},f)})})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-muted/30",children:l.jsxs("div",{className:"container mx-auto max-w-6xl px-4",children:[l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-2",children:t("aiAppDevelopment.techStack.title")}),l.jsx("p",{className:"text-muted-foreground",children:t("aiAppDevelopment.techStack.subtitle")})]}),l.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-8 mb-8",children:Object.entries(g).map(([b,f])=>l.jsxs("div",{children:[l.jsx("h3",{className:"mb-3 text-sm text-muted-foreground uppercase tracking-wide",children:f.title}),l.jsx("ul",{className:"space-y-1.5 text-sm",children:f.items.map((y,A)=>l.jsxs("li",{children:["⢠",y]},A))})]},b))}),l.jsxs("div",{className:"bg-white p-6 rounded-lg",children:[l.jsx("h3",{className:"font-semibold mb-3",children:t("aiAppDevelopment.techStack.updateNote.title")}),l.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t("aiAppDevelopment.techStack.updateNote.description")})]})]})}),l.jsx("section",{className:"py-12 md:py-14 bg-white",children:l.jsxs("div",{className:"container mx-auto max-w-4xl px-4 text-center",children:[l.jsx("h2",{className:"text-3xl md:text-4xl mb-3",children:t("aiAppDevelopment.cta.title")}),l.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed whitespace-pre-line",children:t("aiAppDevelopment.cta.description")}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[l.jsxs(ja,{size:"lg",className:"text-base h-12 px-8 bg-blue-900 hover:bg-blue-800",onClick:n,children:[t("aiAppDevelopment.cta.primaryButton"),l.jsx(wr,{className:"ml-2 w-4 h-4"})]}),l.jsx(ja,{size:"lg",variant:"outline",className:"text-base h-12 px-8 border-blue-900 text-blue-900 hover:bg-blue-900/5",onClick:n,children:t("aiAppDevelopment.cta.secondaryButton")})]})]})})]})}function fC(){const{language:n,t,translations:s}=Oe(),o=Bi(new URL(window.location.href)),[d,p]=T.useState(o.page),[c,g]=T.useState(o.page==="portfolio"&&Oi.some(P=>P.id===o.project)?o.project:null),h=P=>{window.history.pushState({},"",on(n,P.page||"home",P.project||null))},b=()=>{const P=Bi(new URL(window.location.href)),z=P.page,C=z==="portfolio"&&Oi.some(E=>E.id===P.project)?P.project:null;p(z),g(C)};T.useEffect(()=>{},[]),T.useEffect(()=>{b();const P=()=>b();return window.addEventListener("popstate",P),()=>window.removeEventListener("popstate",P)},[]);const f=P=>{p(P),window.scrollTo(0,0),h({page:P,project:null})},y=P=>{g(P),p("portfolio"),window.scrollTo(0,0),h({page:"portfolio",project:P})},A=()=>{p("home"),g(null),window.scrollTo(0,0),h({page:"home",project:null})},M=()=>{p("home"),g(null),h({page:"home",project:null}),setTimeout(()=>{const P=document.getElementById("contact-form");P&&P.scrollIntoView({behavior:"smooth"})},100)};if(d==="about")return l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.about.title"),description:t("seo.about.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),children:[l.jsx(lC,{}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]});if(d==="privacy")return l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.privacy.title"),description:t("seo.privacy.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),children:[l.jsx(dC,{}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]});if(d==="terms")return l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.terms.title"),description:t("seo.terms.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),children:[l.jsx(uC,{}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]});if(d==="cookies")return l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.cookies.title"),description:t("seo.cookies.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),children:[l.jsx(cC,{}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]});if(d==="portfolio"){const P=c&&Oi.find(te=>
338te.id===c)||null,z=t("header.nav.portfolio"),C=P?t(`portfolio.projects.${P.id}.title`):"",E=P?`${C} - ${t("seo.portfolio.title")}`:t("seo.portfolio.title"),F=t(P?`portfolio.projects.${P.id}.description`:"seo.portfolio.description"),K=String(F).replace(/\s+/g," ").trim(),U=Array.from(K),W=U.length>180?`${U.slice(0,177).join("")}â¦`:K,J=(te,be)=>`https://telet.ai${on(te,"portfolio",be||null)}`,de=J(n),O=P?J(n,P.id):de,_=P?{"@context":"https://schema.org","@type":"WebPage","@id":O,url:O,name:C,description:F,inLanguage:n,isPartOf:{"@type":"CollectionPage",name:z,url:de}}:{"@context":"https://schema.org","@type":"ItemList",name:z,itemListElement:Object.entries(s.portfolio.projects).map(([te,be],pe)=>({"@type":"ListItem",position:pe+1,name:be.title,url:J(n,te)}))};return l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:E,description:W,jsonLd:_}),l.jsxs(rn,{onBack:A,onNavigate:te=>f(te),children:[l.jsx(Bj,{projectId:c}),l.jsx(Ua,{onNavigate:te=>f(te)})]})]})}return d==="agent-development"?l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.agentDevelopment.title"),description:t("seo.agentDevelopment.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),onContactClick:M,children:[l.jsx(mC,{onContactClick:M}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]}):d==="on-premise-llm"?l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.onPremiseLLM.title"),description:t("seo.onPremiseLLM.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),onContactClick:M,children:[l.jsx(pC,{onContactClick:M}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]}):d==="vector-rag"?l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.vectorRAG.title"),description:t("seo.vectorRAG.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),onContactClick:M,children:[l.jsx(gC,{onContactClick:M}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]}):d==="ai-app-development"?l.jsxs(l.Fragment,{children:[l.jsx(_a,{title:t("seo.aiAppDevelopment.title"),description:t("seo.aiAppDevelopment.description")}),l.jsxs(rn,{onBack:A,onNavigate:P=>f(P),onContactClick:M,children:[l.jsx(hC,{onContactClick:M}),l.jsx(Ua,{onNavigate:P=>f(P)})]})]}):l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsx(_a,{title:t("seo.home.title"),description:t("seo.home.description")}),l.jsx(Og,{onNavigate:P=>f(P)}),l.jsxs("main",{children:[l.jsx(HP,{}),l.jsx(Pj,{}),l.jsx(JP,{onServiceClick:f}),l.jsx(eC,{}),l.jsx(qw,{onNavigateToPortfolio:y}),l.jsx(Ij,{}),l.jsx(Vj,{}),l.jsx($j,{})]}),l.jsx(Ua,{onNavigate:P=>f(P)})]})}Hb.createRoot(document.getElementById("root")).render(l.jsx(UP,{children:l.jsx(fC,{})}));export{Bb as g};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.