fix(ui): improve agent debug and model test feedback

This commit is contained in:
Hyu
2026-09-03 14:51:01 +08:00
parent be0214cf4d
commit 7c64756203
7 changed files with 137 additions and 50 deletions
@@ -1,10 +1,14 @@
import quart
from langbot.pkg.provider.modelmgr import errors as provider_errors
from ....authz import Permission, has_permission
from ....context import RequestContext
from ... import group
MODEL_TEST_ERROR_CODE = 'model_test_failed'
@group.group_class('models/llm', '/api/v1/provider/models/llm')
class LLMModelsRouterGroup(group.RouterGroup):
async def initialize(self) -> None:
@@ -96,7 +100,14 @@ class LLMModelsRouterGroup(group.RouterGroup):
permission=Permission.PROVIDER_SECRET_MANAGE,
)
async def _(model_uuid: str, request_context: RequestContext) -> str:
await self.ap.llm_model_service.test_llm_model(request_context, model_uuid, await quart.request.json)
try:
await self.ap.llm_model_service.test_llm_model(
request_context,
model_uuid,
await quart.request.json,
)
except (provider_errors.RequesterError, ValueError) as exc:
return self.http_status(400, MODEL_TEST_ERROR_CODE, str(exc))
return self.success()
@@ -191,9 +202,14 @@ class EmbeddingModelsRouterGroup(group.RouterGroup):
permission=Permission.PROVIDER_SECRET_MANAGE,
)
async def _(model_uuid: str, request_context: RequestContext) -> str:
await self.ap.embedding_models_service.test_embedding_model(
request_context, model_uuid, await quart.request.json
)
try:
await self.ap.embedding_models_service.test_embedding_model(
request_context,
model_uuid,
await quart.request.json,
)
except (provider_errors.RequesterError, ValueError) as exc:
return self.http_status(400, MODEL_TEST_ERROR_CODE, str(exc))
return self.success()
@@ -288,5 +304,12 @@ class RerankModelsRouterGroup(group.RouterGroup):
permission=Permission.PROVIDER_SECRET_MANAGE,
)
async def _(model_uuid: str, request_context: RequestContext) -> str:
await self.ap.rerank_models_service.test_rerank_model(request_context, model_uuid, await quart.request.json)
try:
await self.ap.rerank_models_service.test_rerank_model(
request_context,
model_uuid,
await quart.request.json,
)
except (provider_errors.RequesterError, ValueError) as exc:
return self.http_status(400, MODEL_TEST_ERROR_CODE, str(exc))
return self.success()