mirror of
https://github.com/open-webui/open-webui
synced 2025-06-26 18:26:48 +00:00
refac
This commit is contained in:
@@ -117,15 +117,39 @@ const decodeTextChunk = (data) => {
|
||||
|
||||
const extractCharacter = (json) => {
|
||||
function getTrimmedValue(json, keys) {
|
||||
return keys.map((key) => json[key]).find((value) => value && value.trim());
|
||||
return keys
|
||||
.map((key) => {
|
||||
const keyParts = key.split('.');
|
||||
let value = json;
|
||||
for (const part of keyParts) {
|
||||
if (value && value[part] != null) {
|
||||
value = value[part];
|
||||
} else {
|
||||
value = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return value && value.trim();
|
||||
})
|
||||
.find((value) => value);
|
||||
}
|
||||
|
||||
const name = getTrimmedValue(json, ['char_name', 'name']);
|
||||
const summary = getTrimmedValue(json, ['personality', 'title']);
|
||||
const personality = getTrimmedValue(json, ['char_persona', 'description']);
|
||||
const scenario = getTrimmedValue(json, ['world_scenario', 'scenario']);
|
||||
const greeting = getTrimmedValue(json, ['char_greeting', 'greeting', 'first_mes']);
|
||||
const examples = getTrimmedValue(json, ['example_dialogue', 'mes_example', 'definition']);
|
||||
const name = getTrimmedValue(json, ['char_name', 'name', 'data.name']);
|
||||
const summary = getTrimmedValue(json, ['personality', 'title', 'data.description']);
|
||||
const personality = getTrimmedValue(json, ['char_persona', 'description', 'data.personality']);
|
||||
const scenario = getTrimmedValue(json, ['world_scenario', 'scenario', 'data.scenario']);
|
||||
const greeting = getTrimmedValue(json, [
|
||||
'char_greeting',
|
||||
'greeting',
|
||||
'first_mes',
|
||||
'data.first_mes'
|
||||
]);
|
||||
const examples = getTrimmedValue(json, [
|
||||
'example_dialogue',
|
||||
'mes_example',
|
||||
'definition',
|
||||
'data.mes_example'
|
||||
]);
|
||||
|
||||
return { name, summary, personality, scenario, greeting, examples };
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user