mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-21 16:05:19 +08:00
fix(assistant): align resource tools with application services
This commit is contained in:
@@ -253,7 +253,8 @@ class AssistantService:
|
||||
await self._save(context, conversation, 'running')
|
||||
try:
|
||||
result = await execute_tool(self.ap, context, func['name'], json.loads(func['arguments'] or '{}'))
|
||||
except Exception:
|
||||
except Exception as exc:
|
||||
self.ap.logger.warning('Management assistant tool %s failed (%s)', func['name'], type(exc).__name__)
|
||||
self._append_result(
|
||||
conversation,
|
||||
call,
|
||||
|
||||
@@ -89,13 +89,18 @@ async def execute_tool(ap, context, name: str, arguments: dict):
|
||||
args = validate_call(context, name, arguments).model_dump(mode='json')
|
||||
if name == 'list_resources':
|
||||
readers = {
|
||||
'models': ap.model_service.get_llm_models,
|
||||
'embedding_models': ap.model_service.get_embedding_models,
|
||||
'models': ap.llm_model_service.get_llm_models,
|
||||
'embedding_models': ap.embedding_models_service.get_embedding_models,
|
||||
'pipelines': ap.pipeline_service.get_pipelines,
|
||||
'knowledge_bases': ap.knowledge_service.get_knowledge_bases,
|
||||
'knowledge_engines': ap.knowledge_service.list_knowledge_engines,
|
||||
}
|
||||
return redact_secrets(await readers[args['kind']](context))
|
||||
resources = await readers[args['kind']](context)
|
||||
if args['kind'] != 'knowledge_engines':
|
||||
# Lists discover resources; get_pipeline / get_knowledge_schema supply configuration details.
|
||||
fields = ('uuid', 'name', 'description', 'abilities', 'knowledge_engine_plugin_id')
|
||||
resources = [{key: item[key] for key in fields if key in item} for item in resources]
|
||||
return {'total': len(resources), 'items': redact_secrets(resources)}
|
||||
if name == 'get_pipeline':
|
||||
return await ap.pipeline_service.get_pipeline(context, args['pipeline_uuid'])
|
||||
if name == 'get_knowledge_schema':
|
||||
|
||||
Reference in New Issue
Block a user