diff --git a/public/_be501c44-234b-456c-83d8-30a7c60e68ca.jpg b/public/_be501c44-234b-456c-83d8-30a7c60e68ca.jpg new file mode 100644 index 00000000..ada1c7f4 Binary files /dev/null and b/public/_be501c44-234b-456c-83d8-30a7c60e68ca.jpg differ diff --git a/src/lang/cn.ts b/src/lang/cn.ts index eb3e5237..f018dd42 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -299,7 +299,7 @@ export const languageChinese = { "loadDataFromAccount": "从帐户加载数据", "saveCurrentDataToAccount": "将当前数据保存到帐户", "chatAssumed": "", - "proxyAPIKey": "代理API密钥/密码", + "proxyAPIKey": "API密钥/密码", "proxyRequestModel": "代理请求模型", "officialWiki": "官方Wiki", "officialWikiDesc": "RisuAI的官方Wiki,随意查看。", diff --git a/src/lang/de.ts b/src/lang/de.ts index 8a7948eb..ffab1c6e 100644 --- a/src/lang/de.ts +++ b/src/lang/de.ts @@ -329,8 +329,8 @@ export const languageGerman = { loadDataFromAccount: "Daten aus dem Konto laden", saveCurrentDataToAccount: "Aktuelle Daten im Konto speichern", chatAssumed: "", - proxyAPIKey: "Proxy-Schlüssel/Passwort", - proxyRequestModel: "Proxy-Anforderungsmodell", + proxyAPIKey: "Schlüssel/Passwort", + proxyRequestModel: "Anforderungsmodell", officialWiki: "Offizielles Wiki", officialWikiDesc: "Offizielles Wiki für RisuAI. Schauen Sie doch gerne bei uns vorbei", officialDiscord: "Offizieller Discord", diff --git a/src/lang/en.ts b/src/lang/en.ts index 92722f12..a2fadca7 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -117,6 +117,7 @@ export const languageEnglish = { requestretrys: "This option is used to set the number of request retrys when request fails.", emotionPrompt: "This option is used to set the prompt that is used to detect emotion. if it is blank, it will use the default prompt.", removePunctuationHypa: "If enabled, it will remove punctuation before executing HypaMemory.", + additionalParams: "Additional parameters that would be added to the request body. if you want to exclude some parameters, you can put `{{none}}` to the value. if you want to add a header instead of body, you can put `header::` in front of the key like `header::Authorization`.", }, setup: { chooseProvider: "Choose AI Provider", @@ -364,7 +365,7 @@ export const languageEnglish = { saveCurrentDataToAccount: "Save Current Data to Account", chatAssumed: "", proxyAPIKey: "Proxy Key/Password", - proxyRequestModel: "Proxy Request Model", + proxyRequestModel: "Request Model", officialWiki: "Official Wiki", officialWikiDesc: "Official Wiki for RisuAI. feel free to see.", officialDiscord: "Official Discord", @@ -473,7 +474,7 @@ export const languageEnglish = { depthPrompt: "Depth Prompt", largePortrait: "Portrait", lorePlus: "LoreBook+", - reverseProxyOobaMode: "Reverse Proxy Ooba Mode", + reverseProxyOobaMode: "Ooba Mode", joinMultiUserRoom: "Join MultiUser Room", exactTokens: "Exact Tokens", fixedTokens: "Approximate Tokens", @@ -547,4 +548,6 @@ export const languageEnglish = { outputTokens: "Output Tokens", tokenWarning: "Token caculation can be inaccurate. it is recommended to use it as a reference.", log: "Log", + popularityLevelDesc: "Popularity increases with downloads, etc. to estimate, 3.7 popularity is about 1 downloads.", + additionalParams: "Additional Parameters", } \ No newline at end of file diff --git a/src/lang/ko.ts b/src/lang/ko.ts index e32c212d..b3219bfb 100644 --- a/src/lang/ko.ts +++ b/src/lang/ko.ts @@ -300,8 +300,8 @@ export const languageKorean = { loadDataFromAccount: "계정에서 데이터 불러오기", saveCurrentDataToAccount: "계정에 데이터 현재 덮어쓰기", chatAssumed: "", - proxyAPIKey: "프록시 키/패스워드", - proxyRequestModel: "프록시 요청 모델", + proxyAPIKey: "키/패스워드", + proxyRequestModel: "요청 모델", officialWiki: "공식 위키", officialWikiDesc: "리스AI의 공식 위키. 자유롭게 보세요.", officialDiscord: "공식 디스코드", diff --git a/src/lang/vi.ts b/src/lang/vi.ts index d3cda032..c5446148 100644 --- a/src/lang/vi.ts +++ b/src/lang/vi.ts @@ -300,7 +300,7 @@ export const LanguageVietnamese = { "loadDataFromAccount": "Tải dữ liệu từ tài khoản", "saveCurrentDataToAccount": "Lưu dữ liệu hiện tại vào tài khoản", "chatAssumed": "--", - "proxyAPIKey": "Khóa proxy/Mật khẩu", + "proxyAPIKey": "Khóa/Mật khẩu", "proxyRequestModel": "Mô hình yêu cầu proxy", "officialWiki": "Wiki chính thức", "officialWikiDesc": "Wiki chính thức của RisuAI. cứ thoải mái xem nhé.", diff --git a/src/lib/Setting/Pages/BotSettings.svelte b/src/lib/Setting/Pages/BotSettings.svelte index 9a806757..5b8540e0 100644 --- a/src/lib/Setting/Pages/BotSettings.svelte +++ b/src/lib/Setting/Pages/BotSettings.svelte @@ -159,7 +159,7 @@ {/if} {#if $DataBase.aiModel === 'reverse_proxy' || $DataBase.subModel === 'reverse_proxy'} - {language.forceReplaceUrl} URL + URL {language.proxyAPIKey} @@ -577,6 +577,46 @@ + {#if $DataBase.aiModel === 'reverse_proxy'} + + + + + + + + {#if $DataBase.bias.length === 0} + +
{language.noData}
+ + {/if} + {#each $DataBase.additionalParams as additionalParams, i} + + + + + + {/each} +
{language.key}{language.value} + +
+ + + + + +
+
+ {/if} + {#if !$DataBase.promptTemplate}
diff --git a/src/lib/UI/ModelList.svelte b/src/lib/UI/ModelList.svelte index c78a0f64..1955cc17 100644 --- a/src/lib/UI/ModelList.svelte +++ b/src/lib/UI/ModelList.svelte @@ -67,7 +67,7 @@ {/if} - + {#if $DataBase.tpo && isTauri} {#if showUnrec} diff --git a/src/lib/UI/Realm/RealmPopUp.svelte b/src/lib/UI/Realm/RealmPopUp.svelte index 359a5c51..4cf59ceb 100644 --- a/src/lib/UI/Realm/RealmPopUp.svelte +++ b/src/lib/UI/Realm/RealmPopUp.svelte @@ -7,6 +7,7 @@ import { DataBase } from "src/ts/storage/database"; import RealmLicense from "./RealmLicense.svelte"; import MultiLangDisplay from "../GUI/MultiLangDisplay.svelte"; + import { tooltip } from "src/ts/gui/tooltip"; export let openedData:hubType @@ -35,7 +36,7 @@ {/each}
- + {language.popularityLevel.replace('{}', openedData.download.toString())}
diff --git a/src/lib/UI/Title.svelte b/src/lib/UI/Title.svelte index 3681b813..cf2a2649 100644 --- a/src/lib/UI/Title.svelte +++ b/src/lib/UI/Title.svelte @@ -15,6 +15,12 @@ if( today.getMonth() === 3 && today.getDate() === 1){ specialDay = 'aprilFool' } + if( today.getMonth() === 3 && today.getDate() === 14){ + specialDay = 'anniversary' + } + if( today.getMonth() === 9 && today.getDate() === 31){ + specialDay = 'halloween' + } let iconAnimation = 0 let clicks = 0 let score = 0 diff --git a/src/ts/model/names.ts b/src/ts/model/names.ts index 43169ac6..089ba87a 100644 --- a/src/ts/model/names.ts +++ b/src/ts/model/names.ts @@ -52,7 +52,7 @@ export function getModelName(name:string){ case "novellist damsel": return "NovelList Damsel" case 'reverse_proxy': - return "Reverse Proxy" + return "Custom (OpenAI-compatible)" case 'openrouter': return "OpenRouter" case 'gptvi4_1106': @@ -144,6 +144,12 @@ export function getModelShortName(model:string){ return split[split.length-1] } } + if(model.startsWith('reverse_proxy')){ + return 'Custom' + } + if(model.startsWith('oaicomp')){ + return 'Custom' + } return getModelName(model) } \ No newline at end of file diff --git a/src/ts/process/memory/termMemory.ts b/src/ts/process/memory/termMemory.ts new file mode 100644 index 00000000..e9d96a04 --- /dev/null +++ b/src/ts/process/memory/termMemory.ts @@ -0,0 +1,28 @@ +import type { OpenAIChat } from ".."; +import { HypaProcesser } from "./hypamemory"; + +export async function termMemory(chats:OpenAIChat[]){ + const processer = new HypaProcesser('MiniLM') + processer.addText(chats.map(chat=>chat.content)) + + let scoredResults:{[key:string]:number} + for(let i=1;i<5;i++){ + const chat = chats[chats.length-i] + if(!chat?.content){ + continue + } + const scoredArray = (await processer.similaritySearchScored(chat.content)).map((result) => { + return [result[0],result[1]/i] as [string,number] + }) + for(const scored of scoredArray){ + if(scoredResults[scored[0]]){ + scoredResults[scored[0]] += scored[1] + }else{ + scoredResults[scored[0]] = scored[1] + } + } + } + const result = Object.entries(scoredResults).sort((a,b)=>a[1]-b[1]) + return result.map(([content,score])=>(content)).join('\n\n') + +} \ No newline at end of file diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index 869ce04f..beca2cd1 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -606,6 +606,43 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model' } } + if(raiModel === 'reverse_proxy'){ + const additionalParams = db.additionalParams + for(let i=0;i