mirror of
https://github.com/ParisNeo/lollms-webui.git
synced 2024-12-20 04:47:55 +00:00
new version 6.6
This commit is contained in:
parent
09a345a14e
commit
42550cb526
@ -522,8 +522,8 @@ class LoLLMsAPPI(LollmsApplication):
|
|||||||
ASCIIColors.error(f'Client {request.sid} requested cancelling generation')
|
ASCIIColors.error(f'Client {request.sid} requested cancelling generation')
|
||||||
terminate_thread(self.connections[client_id]['generation_thread'])
|
terminate_thread(self.connections[client_id]['generation_thread'])
|
||||||
ASCIIColors.error(f'Client {request.sid} canceled generation')
|
ASCIIColors.error(f'Client {request.sid} canceled generation')
|
||||||
self.cancel_gen = False
|
|
||||||
self.busy=False
|
self.busy=False
|
||||||
|
|
||||||
@socketio.on('get_personality_files')
|
@socketio.on('get_personality_files')
|
||||||
def get_personality_files(data):
|
def get_personality_files(data):
|
||||||
client_id = request.sid
|
client_id = request.sid
|
||||||
@ -589,8 +589,7 @@ class LoLLMsAPPI(LollmsApplication):
|
|||||||
"error":"Couldn't receive file: "+str(ex)
|
"error":"Couldn't receive file: "+str(ex)
|
||||||
}, room=client_id
|
}, room=client_id
|
||||||
)
|
)
|
||||||
self.close_message(client_id)
|
self.close_message(client_id)
|
||||||
|
|
||||||
|
|
||||||
@self.socketio.on('cancel_text_generation')
|
@self.socketio.on('cancel_text_generation')
|
||||||
def cancel_text_generation(data):
|
def cancel_text_generation(data):
|
||||||
@ -628,6 +627,7 @@ class LoLLMsAPPI(LollmsApplication):
|
|||||||
@self.socketio.on('generate_text')
|
@self.socketio.on('generate_text')
|
||||||
def handle_generate_text(data):
|
def handle_generate_text(data):
|
||||||
client_id = request.sid
|
client_id = request.sid
|
||||||
|
self.cancel_gen = False
|
||||||
ASCIIColors.info(f"Text generation requested by client: {client_id}")
|
ASCIIColors.info(f"Text generation requested by client: {client_id}")
|
||||||
if self.busy:
|
if self.busy:
|
||||||
self.socketio.emit("busy", {"message":"I am busy. Come back later."}, room=client_id)
|
self.socketio.emit("busy", {"message":"I am busy. Come back later."}, room=client_id)
|
||||||
@ -782,12 +782,10 @@ class LoLLMsAPPI(LollmsApplication):
|
|||||||
# Start the text generation task in a separate thread
|
# Start the text generation task in a separate thread
|
||||||
task = self.socketio.start_background_task(target=generate_text)
|
task = self.socketio.start_background_task(target=generate_text)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@socketio.on('generate_msg')
|
@socketio.on('generate_msg')
|
||||||
def generate_msg(data):
|
def generate_msg(data):
|
||||||
client_id = request.sid
|
client_id = request.sid
|
||||||
|
self.cancel_gen = False
|
||||||
self.connections[client_id]["generated_text"]=""
|
self.connections[client_id]["generated_text"]=""
|
||||||
self.connections[client_id]["cancel_generation"]=False
|
self.connections[client_id]["cancel_generation"]=False
|
||||||
self.connections[client_id]["continuing"]=False
|
self.connections[client_id]["continuing"]=False
|
||||||
@ -833,6 +831,7 @@ class LoLLMsAPPI(LollmsApplication):
|
|||||||
@socketio.on('generate_msg_from')
|
@socketio.on('generate_msg_from')
|
||||||
def generate_msg_from(data):
|
def generate_msg_from(data):
|
||||||
client_id = request.sid
|
client_id = request.sid
|
||||||
|
self.cancel_gen = False
|
||||||
self.connections[client_id]["continuing"]=False
|
self.connections[client_id]["continuing"]=False
|
||||||
self.connections[client_id]["first_chunk"]=True
|
self.connections[client_id]["first_chunk"]=True
|
||||||
|
|
||||||
@ -853,6 +852,7 @@ class LoLLMsAPPI(LollmsApplication):
|
|||||||
@socketio.on('continue_generate_msg_from')
|
@socketio.on('continue_generate_msg_from')
|
||||||
def handle_connection(data):
|
def handle_connection(data):
|
||||||
client_id = request.sid
|
client_id = request.sid
|
||||||
|
self.cancel_gen = False
|
||||||
self.connections[client_id]["continuing"]=True
|
self.connections[client_id]["continuing"]=True
|
||||||
self.connections[client_id]["first_chunk"]=True
|
self.connections[client_id]["first_chunk"]=True
|
||||||
|
|
||||||
|
2
app.py
2
app.py
@ -14,7 +14,7 @@ __github__ = "https://github.com/ParisNeo/lollms-webui"
|
|||||||
__copyright__ = "Copyright 2023, "
|
__copyright__ = "Copyright 2023, "
|
||||||
__license__ = "Apache 2.0"
|
__license__ = "Apache 2.0"
|
||||||
|
|
||||||
__version__ ="6.5"
|
__version__ ="6.6"
|
||||||
|
|
||||||
main_repo = "https://github.com/ParisNeo/lollms-webui.git"
|
main_repo = "https://github.com/ParisNeo/lollms-webui.git"
|
||||||
import os
|
import os
|
||||||
|
1
mPLUG-Owl
Submodule
1
mPLUG-Owl
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 7f1d5f8148a0c9ea224548dfe0a72a823cdd2eae
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
web/dist/index.html
vendored
4
web/dist/index.html
vendored
@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>LoLLMS WebUI - Welcome</title>
|
<title>LoLLMS WebUI - Welcome</title>
|
||||||
<script type="module" crossorigin src="/assets/index-fa3b8c0d.js"></script>
|
<script type="module" crossorigin src="/assets/index-95fccc16.js"></script>
|
||||||
<link rel="stylesheet" href="/assets/index-c6ea07c5.css">
|
<link rel="stylesheet" href="/assets/index-d3bc1609.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
@ -41,25 +41,18 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
formattedJson() {
|
formattedJson() {
|
||||||
console.log(typeof this.jsonData)
|
|
||||||
if (typeof this.jsonData==='string'){
|
if (typeof this.jsonData==='string'){
|
||||||
let jsonData = JSON.stringify(JSON.parse(this.jsonData), null, '\t').replace(/\n/g, '<br>')
|
let jsonData = JSON.stringify(JSON.parse(this.jsonData), null, '\t').replace(/\n/g, '<br>')
|
||||||
console.log(jsonData)
|
|
||||||
console.log(this.jsonFormText)
|
|
||||||
return jsonData;
|
return jsonData;
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
let jsonData = JSON.stringify(this.jsonData, null, '\t').replace(/\n/g, '<br>')
|
let jsonData = JSON.stringify(this.jsonData, null, '\t').replace(/\n/g, '<br>')
|
||||||
console.log(jsonData)
|
|
||||||
console.log(this.jsonFormText)
|
|
||||||
return jsonData;
|
return jsonData;
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isObject() {
|
isObject() {
|
||||||
console.log(typeof this.jsonData)
|
|
||||||
console.log(this.jsonData)
|
|
||||||
return typeof this.jsonData === 'object' && this.jsonData !== null;
|
return typeof this.jsonData === 'object' && this.jsonData !== null;
|
||||||
},
|
},
|
||||||
isContentPresent() {
|
isContentPresent() {
|
||||||
|
242
web/src/main.js
242
web/src/main.js
@ -44,7 +44,10 @@ export const store = createStore({
|
|||||||
extensionsZoo:null,
|
extensionsZoo:null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
|
setIsReady(state, ready) {
|
||||||
|
state.ready = ready;
|
||||||
|
},
|
||||||
setIsConnected(state, isConnected) {
|
setIsConnected(state, isConnected) {
|
||||||
state.isConnected = isConnected;
|
state.isConnected = isConnected;
|
||||||
},
|
},
|
||||||
@ -208,6 +211,8 @@ export const store = createStore({
|
|||||||
}
|
}
|
||||||
let mountedPersArr = []
|
let mountedPersArr = []
|
||||||
// console.log('perrs listo',this.state.personalities)
|
// console.log('perrs listo',this.state.personalities)
|
||||||
|
const indicesToRemove = [];
|
||||||
|
console.log("Personalities", this.state.personalities)
|
||||||
for (let i = 0; i < this.state.config.personalities.length; i++) {
|
for (let i = 0; i < this.state.config.personalities.length; i++) {
|
||||||
const full_path_item = this.state.config.personalities[i]
|
const full_path_item = this.state.config.personalities[i]
|
||||||
const parts = full_path_item.split(':')
|
const parts = full_path_item.split(':')
|
||||||
@ -226,9 +231,21 @@ export const store = createStore({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
indicesToRemove.push(i)
|
||||||
console.log("Couldn't load personality : ",full_path_item)
|
console.log("Couldn't load personality : ",full_path_item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Remove the broken personalities using the collected indices
|
||||||
|
for (let i = indicesToRemove.length - 1; i >= 0; i--) {
|
||||||
|
console.log("Removing personality : ",this.state.config.personalities[indicesToRemove[i]])
|
||||||
|
this.state.config.personalities.splice(indicesToRemove[i], 1);
|
||||||
|
|
||||||
|
if(this.state.config.active_personality_id>indicesToRemove[i]){
|
||||||
|
this.state.config.active_personality_id -= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("Personalities", this.state.personalities)
|
||||||
|
|
||||||
console.log("Mounted personalities : ", mountedPersArr)
|
console.log("Mounted personalities : ", mountedPersArr)
|
||||||
commit('setMountedPersArr', mountedPersArr);
|
commit('setMountedPersArr', mountedPersArr);
|
||||||
|
|
||||||
@ -250,6 +267,50 @@ export const store = createStore({
|
|||||||
}
|
}
|
||||||
|
|
||||||
commit('setModelsArr',modelsArr)
|
commit('setModelsArr',modelsArr)
|
||||||
|
// Returns array of model filenames which are = to name of models zoo entry
|
||||||
|
for (let i = 0; i < this.state.modelsArr.length; i++) {
|
||||||
|
const customModel = this.state.modelsArr[i]
|
||||||
|
let index = this.state.models_zoo.findIndex(x => x.name == customModel)
|
||||||
|
if(index==-1){
|
||||||
|
// The customModel is not directly in the model zoo, so check its variants
|
||||||
|
for (let j = 0; j < this.state.models_zoo.length; j++) {
|
||||||
|
let v = this.state.models_zoo[j]["variants"]
|
||||||
|
if(v!=undefined){
|
||||||
|
index = v.findIndex(x => x.name == customModel);
|
||||||
|
if(index!=-1){
|
||||||
|
index=j
|
||||||
|
console.log(`Found ${customModel} at index ${index}`)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index == -1) {
|
||||||
|
let newModelEntry = {}
|
||||||
|
newModelEntry.name = customModel
|
||||||
|
newModelEntry.icon = ""
|
||||||
|
newModelEntry.isCustomModel = true
|
||||||
|
newModelEntry.isInstalled = true
|
||||||
|
this.state.models_zoo.push(newModelEntry)
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.state.models_zoo[index].isInstalled=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.state.models_zoo.sort((a, b) => {
|
||||||
|
if (a.isInstalled && !b.isInstalled) {
|
||||||
|
return -1; // a is installed, b is not installed, so a comes first
|
||||||
|
} else if (!a.isInstalled && b.isInstalled) {
|
||||||
|
return 1; // b is installed, a is not installed, so b comes first
|
||||||
|
} else {
|
||||||
|
return 0; // both models are either installed or not installed, maintain their original order
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
async refreshExtensionsZoo({ commit }) {
|
async refreshExtensionsZoo({ commit }) {
|
||||||
let extensionsZoo = await api_get_req("list_extensions")
|
let extensionsZoo = await api_get_req("list_extensions")
|
||||||
@ -317,103 +378,57 @@ export const store = createStore({
|
|||||||
|
|
||||||
},
|
},
|
||||||
async refreshModelsZoo({ commit }) {
|
async refreshModelsZoo({ commit }) {
|
||||||
console.log(`REFRESHING models using sorting ${this.state.sort_type}`)
|
|
||||||
this.state.refreshingModelsList=true;
|
this.state.refreshingModelsList=true;
|
||||||
axios.get('/get_available_models')
|
const response = await axios.get('/get_available_models');
|
||||||
.then(response => {
|
let models_zoo = response.data
|
||||||
console.log("HERE WE GO")
|
models_zoo = models_zoo.filter(model => model.variants && model.variants.length>0);
|
||||||
let models_zoo = response.data
|
console.log(`REFRESHING models using sorting ${this.state.sort_type}`)
|
||||||
models_zoo = models_zoo.filter(model => model.variants && model.variants.length>0);
|
if(models_zoo.length>1){
|
||||||
console.log("models_zoo")
|
if(this.state.sort_type==0){ // Sort by date
|
||||||
console.log(models_zoo)
|
|
||||||
if(this.state.sort_type==0){ // Sort by date
|
|
||||||
models_zoo.sort((a, b) => {
|
|
||||||
const dateA = new Date(a.last_commit_time);
|
|
||||||
const dateB = new Date(b.last_commit_time);
|
|
||||||
|
|
||||||
// Compare the date objects to sort by last_commit_time
|
|
||||||
return dateB - dateA;
|
|
||||||
});
|
|
||||||
} else if(this.state.sort_type==1){ // Sort by rank
|
|
||||||
models_zoo.sort((a, b) => {
|
|
||||||
// Compare the date objects to sort by last_commit_time
|
|
||||||
return b.rank - a.rank;
|
|
||||||
});
|
|
||||||
|
|
||||||
} else if(this.state.sort_type==2){ // Sort by name
|
|
||||||
models_zoo.sort((a, b) => a.name.localeCompare(b.name))
|
|
||||||
} else if(this.state.sort_type==3){ // Sort by name
|
|
||||||
models_zoo.sort((a, b) => a.name.localeCompare(b.name))
|
|
||||||
}
|
|
||||||
// models_zoo.sort((a, b) => a.name.localeCompare(b.name))
|
|
||||||
|
|
||||||
// Returns array of model filenames which are = to name of models zoo entry
|
|
||||||
for (let i = 0; i < this.state.modelsArr.length; i++) {
|
|
||||||
const customModel = this.state.modelsArr[i]
|
|
||||||
let index = models_zoo.findIndex(x => x.name == customModel)
|
|
||||||
if(index==-1){
|
|
||||||
// The customModel is not directly in the model zoo, so check its variants
|
|
||||||
for (let j = 0; j < models_zoo.length; j++) {
|
|
||||||
let v = models_zoo[j]["variants"]
|
|
||||||
if(v!=undefined){
|
|
||||||
index = v.findIndex(x => x.name == customModel);
|
|
||||||
if(index!=-1){
|
|
||||||
index=j
|
|
||||||
console.log(`Found ${customModel} at index ${index}`)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (index == -1) {
|
|
||||||
let newModelEntry = {}
|
|
||||||
newModelEntry.name = customModel
|
|
||||||
newModelEntry.icon = ""
|
|
||||||
newModelEntry.isCustomModel = true
|
|
||||||
newModelEntry.isInstalled = true
|
|
||||||
models_zoo.push(newModelEntry)
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
models_zoo[index].isInstalled=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
console.log("models_zoo")
|
|
||||||
models_zoo.sort((a, b) => {
|
models_zoo.sort((a, b) => {
|
||||||
if (a.isInstalled && !b.isInstalled) {
|
const dateA = new Date(a.last_commit_time);
|
||||||
return -1; // a is installed, b is not installed, so a comes first
|
const dateB = new Date(b.last_commit_time);
|
||||||
} else if (!a.isInstalled && b.isInstalled) {
|
|
||||||
return 1; // b is installed, a is not installed, so b comes first
|
// Compare the date objects to sort by last_commit_time
|
||||||
} else {
|
return dateB - dateA;
|
||||||
return 0; // both models are either installed or not installed, maintain their original order
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
console.log("Sorted")
|
||||||
models_zoo.forEach(model => {
|
} else if(this.state.sort_type==1){ // Sort by rank
|
||||||
if (model.name == this.state.config["model_name"]) {
|
models_zoo.sort((a, b) => {
|
||||||
model.selected = true;
|
// Compare the date objects to sort by last_commit_time
|
||||||
}
|
return b.rank - a.rank;
|
||||||
else{
|
});
|
||||||
model.selected = false;
|
|
||||||
}
|
} else if(this.state.sort_type==2){ // Sort by name
|
||||||
});
|
models_zoo.sort((a, b) => a.name.localeCompare(b.name))
|
||||||
console.log("models_zoo")
|
} else if(this.state.sort_type==3){ // Sort by name
|
||||||
console.log(models_zoo)
|
models_zoo.sort((a, b) => a.name.localeCompare(b.name))
|
||||||
|
}
|
||||||
|
// models_zoo.sort((a, b) => a.name.localeCompare(b.name))
|
||||||
|
console.log("Sorted")
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
console.log("No sorting needed");
|
||||||
|
}
|
||||||
|
|
||||||
commit('setModelsZoo', models_zoo)
|
|
||||||
this.state.refreshingModelsList=false;
|
console.log("models_zoo")
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
console.log(error.message, 'fetchModels');
|
models_zoo.forEach(model => {
|
||||||
this.state.refreshingModelsList=false;
|
if (model.name == this.state.config["model_name"]) {
|
||||||
});
|
model.selected = true;
|
||||||
},
|
}
|
||||||
|
else{
|
||||||
|
model.selected = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
commit('setModelsZoo', models_zoo)
|
||||||
|
this.state.refreshingModelsList=false;
|
||||||
|
console.log("models_zoo")
|
||||||
|
console.log(this.state.models_zoo)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
async function api_get_req(endpoint) {
|
async function api_get_req(endpoint) {
|
||||||
@ -432,29 +447,28 @@ async function api_get_req(endpoint) {
|
|||||||
let actionsExecuted = false;
|
let actionsExecuted = false;
|
||||||
|
|
||||||
app.mixin({
|
app.mixin({
|
||||||
created() {
|
async created() {
|
||||||
if (!actionsExecuted) {
|
if (!actionsExecuted) {
|
||||||
actionsExecuted = true;
|
actionsExecuted = true;
|
||||||
console.log("Calling")
|
console.log("Calling")
|
||||||
this.$store.dispatch('refreshConfig').then(async () => {
|
await this.$store.dispatch('refreshConfig');
|
||||||
console.log("recovered config : ${}");
|
console.log("recovered config : ${}");
|
||||||
await this.$store.dispatch('getVersion');
|
await this.$store.dispatch('getVersion');
|
||||||
console.log("recovered version");
|
console.log("recovered version");
|
||||||
this.$store.dispatch('refreshBindings');
|
await this.$store.dispatch('refreshBindings');
|
||||||
|
|
||||||
this.$store.dispatch('refreshDiskUsage');
|
await this.$store.dispatch('refreshDiskUsage');
|
||||||
this.$store.dispatch('refreshRamUsage');
|
await this.$store.dispatch('refreshRamUsage');
|
||||||
this.$store.dispatch('refreshVramUsage');
|
await this.$store.dispatch('refreshVramUsage');
|
||||||
this.$store.dispatch('refreshModelsZoo');
|
await this.$store.dispatch('refreshExtensionsZoo');
|
||||||
this.$store.dispatch('refreshExtensionsZoo');
|
await this.$store.dispatch('refreshModelsZoo');
|
||||||
this.$store.dispatch('refreshModels');
|
await this.$store.dispatch('refreshModels');
|
||||||
|
|
||||||
await this.$store.dispatch('refreshPersonalitiesZoo')
|
await this.$store.dispatch('refreshPersonalitiesZoo')
|
||||||
this.$store.dispatch('refreshMountedPersonalities');
|
await this.$store.dispatch('refreshMountedPersonalities');
|
||||||
|
this.$store.state.ready = true;
|
||||||
this.$store.state.ready = true
|
console.log("store status = ", this.$store.state.ready);
|
||||||
console.log("done loading data")
|
console.log("done loading data")
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -1584,8 +1584,10 @@ export default {
|
|||||||
|
|
||||||
console.log("Waiting to be ready")
|
console.log("Waiting to be ready")
|
||||||
while (this.$store.state.ready === false) {
|
while (this.$store.state.ready === false) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 100)); // Wait for 100ms
|
await new Promise((resolve) => setTimeout(resolve, 100)); // Wait for 100ms
|
||||||
}
|
console.log(this.$store.state.ready)
|
||||||
|
}
|
||||||
|
console.log("Ready")
|
||||||
// Constructor
|
// Constructor
|
||||||
this.setPageTitle()
|
this.setPageTitle()
|
||||||
await this.list_discussions()
|
await this.list_discussions()
|
||||||
|
@ -1465,7 +1465,7 @@
|
|||||||
:class="configFile.active_personality_id == configFile.personalities.indexOf(item.full_path) ? 'border-secondary' : 'border-transparent z-0'"
|
:class="configFile.active_personality_id == configFile.personalities.indexOf(item.full_path) ? 'border-secondary' : 'border-transparent z-0'"
|
||||||
:title="item.name">
|
:title="item.name">
|
||||||
</button>
|
</button>
|
||||||
<button @click.stop="onPersonalityMount(item)">
|
<button @click.stop="unmountPersonality (item)">
|
||||||
|
|
||||||
<span
|
<span
|
||||||
class="hidden group-hover:block top-0 left-7 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent"
|
class="hidden group-hover:block top-0 left-7 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent"
|
||||||
@ -2120,10 +2120,10 @@ export default {
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
feather.replace()
|
feather.replace()
|
||||||
})
|
})
|
||||||
while (this.$store.state.ready === false) {
|
while (this.isReady === false) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 100)); // Wait for 100ms
|
await new Promise((resolve) => setTimeout(resolve, 100)); // Wait for 100ms
|
||||||
}
|
}
|
||||||
|
console.log("Ready")
|
||||||
if (this.configFile.model_name) {
|
if (this.configFile.model_name) {
|
||||||
this.isModelSelected = true
|
this.isModelSelected = true
|
||||||
}
|
}
|
||||||
@ -2407,7 +2407,10 @@ export default {
|
|||||||
axios.post("/add_reference_to_local_model",{"path": this.reference_path}).then((resp)=>{
|
axios.post("/add_reference_to_local_model",{"path": this.reference_path}).then((resp)=>{
|
||||||
if(resp.status){
|
if(resp.status){
|
||||||
this.$refs.toast.showToast("Reference created", 4, true)
|
this.$refs.toast.showToast("Reference created", 4, true)
|
||||||
this.$store.dispatch('refreshModels');
|
this.$store.dispatch('refreshModelsZoo').then(resp=>{
|
||||||
|
this.$store.dispatch('refreshModels');
|
||||||
|
console.log("Models refreshed")
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.$refs.toast.showToast("Couldn't create reference", 4, false)
|
this.$refs.toast.showToast("Couldn't create reference", 4, false)
|
||||||
@ -2542,7 +2545,11 @@ export default {
|
|||||||
model_object.uninstalling = false;
|
model_object.uninstalling = false;
|
||||||
socket.off('install_progress', progressListener);
|
socket.off('install_progress', progressListener);
|
||||||
this.showProgress = false;
|
this.showProgress = false;
|
||||||
this.$store.dispatch('refreshModelsZoo');
|
this.$store.dispatch('refreshModelsZoo').then(resp=>{
|
||||||
|
this.$store.dispatch('refreshModels');
|
||||||
|
console.log("Models refreshed")
|
||||||
|
});
|
||||||
|
|
||||||
this.modelsFiltered = this.models
|
this.modelsFiltered = this.models
|
||||||
this.$refs.toast.showToast("Model:\n" + model_object.model.name + "\nwas uninstalled!", 4, true)
|
this.$refs.toast.showToast("Model:\n" + model_object.model.name + "\nwas uninstalled!", 4, true)
|
||||||
this.$store.dispatch('refreshDiskUsage');
|
this.$store.dispatch('refreshDiskUsage');
|
||||||
@ -2578,13 +2585,6 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.configFile.binding_name != binding_object.binding.folder) {
|
if (this.configFile.binding_name != binding_object.binding.folder) {
|
||||||
|
|
||||||
// disabled for now
|
|
||||||
// if (binding_object.binding.folder === 'backend_template' || binding_object.binding.folder === 'binding_template') {
|
|
||||||
// this.$refs.toast.showToast("Cannot select template", 4, false)
|
|
||||||
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
this.update_binding(binding_object.binding.folder)
|
this.update_binding(binding_object.binding.folder)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2891,13 +2891,14 @@ export default {
|
|||||||
console.log("updated model")
|
console.log("updated model")
|
||||||
this.configFile.model_name = null
|
this.configFile.model_name = null
|
||||||
this.$store.dispatch('refreshConfig');
|
this.$store.dispatch('refreshConfig');
|
||||||
this.$store.dispatch('refreshModelsZoo');
|
this.$store.dispatch('refreshModelsZoo').then(resp=>{
|
||||||
this.$refs.toast.showToast("Binding changed.", 4, true)
|
this.$store.dispatch('refreshModels');
|
||||||
|
console.log("Models refreshed")
|
||||||
|
});
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
|
this.$refs.toast.showToast("Binding changed.", 4, true)
|
||||||
});
|
});
|
||||||
//this.fetchMainConfig();
|
|
||||||
//this.fetchBindings();
|
|
||||||
//this.fetchModels();
|
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
feather.replace()
|
feather.replace()
|
||||||
@ -3323,6 +3324,12 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
isReady:{
|
||||||
|
|
||||||
|
get() {
|
||||||
|
return this.$store.state.ready;
|
||||||
|
},
|
||||||
|
},
|
||||||
isModelsLoading:{
|
isModelsLoading:{
|
||||||
get() {
|
get() {
|
||||||
return this.$store.state.isModelsLoading;
|
return this.$store.state.isModelsLoading;
|
||||||
|
Loading…
Reference in New Issue
Block a user