2 lines
6.5 KiB
Java
2 lines
6.5 KiB
Java
|
|
import{d as $,f as ee,e as L,ah as f,aC as le,as as R,aF as t,k as e,au as a,ar as ae,F as te,aD as ne,av as se,H as _,u as n,aJ as m,aK as p}from"./vue-vendor-C7Zq48Yl.js";import{f as ie}from"./index-BI6CMai0.js";import{h as A,o as oe}from"./antd-vue-vendor-BPnV8VqP.js";import{s as ce}from"./_plugin-vue_export-helper-CHgC5LLL-lGy7RumW.js";import"./vxe-table-vendor-B88kchpX.js";var ue=Object.defineProperty,re=Object.defineProperties,de=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,me=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,G=(d,s,i)=>s in d?ue(d,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):d[s]=i,D=(d,s)=>{for(var i in s||(s={}))me.call(s,i)&&G(d,i,s[i]);if(K)for(var i of K(s))pe.call(s,i)&&G(d,i,s[i]);return d},ve=(d,s)=>re(d,de(s));const fe={class:"model-params-popover"},ye={class:"setting-item"},he={style:{width:"100%","text-align":"right"}},ge={class:"setting-item"},ke={class:"label"},be={class:"setting-item"},Pe={class:"label"},_e={class:"setting-item"},xe={class:"label"},qe={class:"setting-item"},we={class:"label"},je={class:"setting-item"},Oe={class:"label"},ze={class:"setting-item"},Ie={class:"label"},Ue=$({__name:"LLMModelSelect",props:{model:{type:Object,required:!0}},emits:["update:model"],setup(d,{emit:s}){const i=d,J=s,[,q,B]=h("temperature",{min:.1,max:1,step:.1},.7),[,w,E]=h("topP",{min:.1,max:1,step:.1},.7),[,j,F]=h("presencePenalty",{min:-2,max:2,step:.1},0),[,O,M]=h("frequencyPenalty",{min:-2,max:2,step:.1},0),[,z,S]=h("maxTokens",{min:1,max:16e3,step:1},520),[,I,T]=h("timeout",{min:1,step:1,max:3600},60),H=[{name:"创意",icon:"fxemoji:star",params:{temperature:.8,topP:.9,presencePenalty:.1,frequencyPenalty:.1,timeout:60}},{name:"平衡",icon:"noto:balance-scale",params:{temperature:.5,topP:.8,presencePenalty:.2,frequencyPenalty:.3,timeout:60}},{name:"精确",icon:"twemoji:direct-hit",params:{temperature:.2,topP:.7,presencePenalty:.5,frequencyPenalty:.5,timeout:60}}];function Q(c){const l=H[c];if(!l)return;const o=A(i.model);o.params=D(D({},oe(o.params,...Object.keys(l.params))),l.params),C(o)}const y={temperature:"值越大,回复内容越赋有多样性创造性、随机性;设为0根据事实回答,希望得到精准答案应该降低该参数;日常聊天建议0.5-0.8。",topP:"值越小,Ai生成的内容越单调也越容易理解;值越大,Ai回复的词汇围越大,越多样化。",presencePenalty:"值越大,越能够让Ai更好地控制新话题的引入,建议微调或不变。",frequencyPenalty:"值越大,越能够让Ai更好地避免重复之前说过的话,建议微调或不变。",maxTokens:"设置Ai最大回复内容大小,会影响返回结果的长度。普通聊天建议500-800;短文生成建议800-2000;代码生成建议2000-3600;长文生成建议4000左右(或选择长回复模型)",timeout:"等待AI响应的最长时间,单位为秒。"},U=ee([]);function V(){ie.get({url:"/sys/dict/getDictItems/airag_model%20where%20model_type%20=%20'LLM'%20and%20activate_flag%20=%201,name,id"}).then(c=>{U.value=c,U.value.unshift({label:"请选择模型",value:""})})}V();function W(c,l){const o=A(i.model);o.modeId=c,o.params.model=c?l.label:"",C(o)}function C(c){J("update:model",c)}function h(c,l,o){const r=X(c),v=L({get:()=>r.value!=null,set:x=>r.value=x?o:null});return[r,v,L(()=>ve(D({},l),{value:r.value,size:"small",disabled:!v.value,"onUpdate:value":x=>r.value=x}))]}function X(c){return L({get:()=>i.model.params[c],set:l=>{const o=A(i.model);o.params[c]=l,C(o)}})}return(c,l)=>{const o=f("a-select"),r=f("Icon"),v=f("a-space"),x=f("a-select-option"),g=f("a-tooltip"),k=f("a-switch"),b=f("a-slider"),P=f("a-input-number"),Y=f("a-button"),Z=f("a-popover");return R(),le(v,null,{default:t(()=>[e(o,{value:d.model.modeId,options:U.value,style:{width:"520px"},onChange:W},null,8,["value","options"]),e(Z,{trigger:"click",placement:"bottomRight"},{content:t(()=>[a("div",fe,[a("div",ye,[a("div",he,[e(o,{value:"加载预设",style:{width:"96px"},size:"small",onChange:Q},{default:t(()=>[(R(),ae(te,null,ne(H,(u,N)=
|