Improve LLMs and Embedding models resources experience (#21)

* Fix inconsistent default values
* Disallow LLM's empty name. Handle LLM creation error on UI
This commit is contained in:
Duc Nguyen (john)
2024-04-11 07:50:53 +07:00
committed by GitHub
parent f3e82b2e70
commit 3ed50b0f10
3 changed files with 21 additions and 6 deletions

View File

@@ -140,8 +140,17 @@ class LLMManager:
def add(self, name: str, spec: dict, default: bool):
"""Add a new model to the pool"""
if not name:
raise ValueError("Name must not be empty")
try:
with Session(engine) as session:
if default:
# turn all models to non-default
session.query(LLMTable).update({"default": False})
session.commit()
item = LLMTable(name=name, spec=spec, default=default)
session.add(item)
session.commit()
@@ -164,6 +173,9 @@ class LLMManager:
def update(self, name: str, spec: dict, default: bool):
"""Update a model in the pool"""
if not name:
raise ValueError("Name must not be empty")
try:
with Session(engine) as session:

View File

@@ -140,7 +140,7 @@ class LLMManagement(BasePage):
self.create_llm,
inputs=[self.name, self.llm_choices, self.spec, self.default],
outputs=None,
).then(self.list_llms, inputs=None, outputs=[self.llm_list],).then(
).success(self.list_llms, inputs=None, outputs=[self.llm_list]).success(
lambda: ("", None, "", False, self.spec_desc_default),
outputs=[
self.name,
@@ -229,7 +229,7 @@ class LLMManagement(BasePage):
llms.add(name, spec=spec, default=default)
gr.Info(f"LLM {name} created successfully")
except Exception as e:
gr.Error(f"Failed to create LLM {name}: {e}")
raise gr.Error(f"Failed to create LLM {name}: {e}")
def list_llms(self):
"""List the LLMs"""