feat: add test connection for edit spec (#239)
This commit is contained in:
parent
fa881d4450
commit
dbb6bb275f
|
@ -5,6 +5,7 @@ import pandas as pd
|
||||||
import yaml
|
import yaml
|
||||||
from ktem.app import BasePage
|
from ktem.app import BasePage
|
||||||
from ktem.utils.file import YAMLNoDateSafeLoader
|
from ktem.utils.file import YAMLNoDateSafeLoader
|
||||||
|
from theflow.utils.modules import deserialize
|
||||||
|
|
||||||
from .manager import embedding_models_manager
|
from .manager import embedding_models_manager
|
||||||
|
|
||||||
|
@ -237,7 +238,7 @@ class EmbeddingManagement(BasePage):
|
||||||
|
|
||||||
self.btn_test_connection.click(
|
self.btn_test_connection.click(
|
||||||
self.check_connection,
|
self.check_connection,
|
||||||
inputs=[self.selected_emb_name],
|
inputs=[self.selected_emb_name, self.edit_spec],
|
||||||
outputs=[self.connection_logs],
|
outputs=[self.connection_logs],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -330,14 +331,20 @@ class EmbeddingManagement(BasePage):
|
||||||
|
|
||||||
return btn_delete, btn_delete_yes, btn_delete_no
|
return btn_delete, btn_delete_yes, btn_delete_no
|
||||||
|
|
||||||
def check_connection(self, selected_emb_name):
|
def check_connection(self, selected_emb_name, selected_spec):
|
||||||
log_content: str = ""
|
log_content: str = ""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
log_content += f"- Testing model: {selected_emb_name}<br>"
|
log_content += f"- Testing model: {selected_emb_name}<br>"
|
||||||
yield log_content
|
yield log_content
|
||||||
|
|
||||||
emb = embedding_models_manager.get(selected_emb_name)
|
# Parse content & init model
|
||||||
|
info = deepcopy(embedding_models_manager.info()[selected_emb_name])
|
||||||
|
|
||||||
|
# Parse content & create dummy embedding
|
||||||
|
spec = yaml.load(selected_spec, Loader=YAMLNoDateSafeLoader)
|
||||||
|
info["spec"].update(spec)
|
||||||
|
|
||||||
|
emb = deserialize(info["spec"], safe=False)
|
||||||
|
|
||||||
if emb is None:
|
if emb is None:
|
||||||
raise Exception(f"Can not found model: {selected_emb_name}")
|
raise Exception(f"Can not found model: {selected_emb_name}")
|
||||||
|
|
|
@ -5,6 +5,7 @@ import pandas as pd
|
||||||
import yaml
|
import yaml
|
||||||
from ktem.app import BasePage
|
from ktem.app import BasePage
|
||||||
from ktem.utils.file import YAMLNoDateSafeLoader
|
from ktem.utils.file import YAMLNoDateSafeLoader
|
||||||
|
from theflow.utils.modules import deserialize
|
||||||
|
|
||||||
from .manager import llms
|
from .manager import llms
|
||||||
|
|
||||||
|
@ -59,7 +60,9 @@ class LLMManagement(BasePage):
|
||||||
self.connection_logs = gr.HTML("Logs")
|
self.connection_logs = gr.HTML("Logs")
|
||||||
|
|
||||||
with gr.Column(scale=1):
|
with gr.Column(scale=1):
|
||||||
self.btn_test_connection = gr.Button("Test")
|
self.btn_test_connection = gr.Button(
|
||||||
|
"Test",
|
||||||
|
)
|
||||||
|
|
||||||
with gr.Row(visible=False) as self._selected_panel_btn:
|
with gr.Row(visible=False) as self._selected_panel_btn:
|
||||||
with gr.Column():
|
with gr.Column():
|
||||||
|
@ -233,7 +236,7 @@ class LLMManagement(BasePage):
|
||||||
|
|
||||||
self.btn_test_connection.click(
|
self.btn_test_connection.click(
|
||||||
self.check_connection,
|
self.check_connection,
|
||||||
inputs=[self.selected_llm_name],
|
inputs=[self.selected_llm_name, self.edit_spec],
|
||||||
outputs=[self.connection_logs],
|
outputs=[self.connection_logs],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -326,14 +329,21 @@ class LLMManagement(BasePage):
|
||||||
|
|
||||||
return btn_delete, btn_delete_yes, btn_delete_no
|
return btn_delete, btn_delete_yes, btn_delete_no
|
||||||
|
|
||||||
def check_connection(self, selected_llm_name: str):
|
def check_connection(self, selected_llm_name: str, selected_spec):
|
||||||
log_content: str = ""
|
log_content: str = ""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
log_content += f"- Testing model: {selected_llm_name}<br>"
|
log_content += f"- Testing model: {selected_llm_name}<br>"
|
||||||
yield log_content
|
yield log_content
|
||||||
|
|
||||||
llm = llms.get(key=selected_llm_name, default=None)
|
# Parse content & init model
|
||||||
|
info = deepcopy(llms.info()[selected_llm_name])
|
||||||
|
|
||||||
|
# Parse content & create dummy embedding
|
||||||
|
spec = yaml.load(selected_spec, Loader=YAMLNoDateSafeLoader)
|
||||||
|
info["spec"].update(spec)
|
||||||
|
|
||||||
|
llm = deserialize(info["spec"], safe=False)
|
||||||
|
|
||||||
if llm is None:
|
if llm is None:
|
||||||
raise Exception(f"Can not found model: {selected_llm_name}")
|
raise Exception(f"Can not found model: {selected_llm_name}")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user