mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-12 04:50:39 +00:00
chore: standardize tool group not found error (#2986)
# What does this PR do? 1. Creates a new `ToolGroupNotFoundError` class 2. Implements the new class where appropriate Relates to #2379 Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
This commit is contained in:
parent
55a2694c80
commit
05cfa213b6
2 changed files with 13 additions and 2 deletions
|
@ -40,3 +40,13 @@ class DatasetNotFoundError(ValueError):
|
||||||
def __init__(self, dataset_name: str) -> None:
|
def __init__(self, dataset_name: str) -> None:
|
||||||
message = f"Dataset '{dataset_name}' not found. Use client.datasets.list() to list available datasets."
|
message = f"Dataset '{dataset_name}' not found. Use client.datasets.list() to list available datasets."
|
||||||
super().__init__(message)
|
super().__init__(message)
|
||||||
|
|
||||||
|
|
||||||
|
class ToolGroupNotFoundError(ValueError):
|
||||||
|
"""raised when Llama Stack cannot find a referenced tool group"""
|
||||||
|
|
||||||
|
def __init__(self, toolgroup_name: str) -> None:
|
||||||
|
message = (
|
||||||
|
f"Tool group '{toolgroup_name}' not found. Use client.toolgroups.list() to list available tool groups."
|
||||||
|
)
|
||||||
|
super().__init__(message)
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from llama_stack.apis.common.content_types import URL
|
from llama_stack.apis.common.content_types import URL
|
||||||
|
from llama_stack.apis.common.errors import ToolGroupNotFoundError
|
||||||
from llama_stack.apis.tools import ListToolGroupsResponse, ListToolsResponse, Tool, ToolGroup, ToolGroups
|
from llama_stack.apis.tools import ListToolGroupsResponse, ListToolsResponse, Tool, ToolGroup, ToolGroups
|
||||||
from llama_stack.core.datatypes import ToolGroupWithOwner
|
from llama_stack.core.datatypes import ToolGroupWithOwner
|
||||||
from llama_stack.log import get_logger
|
from llama_stack.log import get_logger
|
||||||
|
@ -87,7 +88,7 @@ class ToolGroupsRoutingTable(CommonRoutingTableImpl, ToolGroups):
|
||||||
async def get_tool_group(self, toolgroup_id: str) -> ToolGroup:
|
async def get_tool_group(self, toolgroup_id: str) -> ToolGroup:
|
||||||
tool_group = await self.get_object_by_identifier("tool_group", toolgroup_id)
|
tool_group = await self.get_object_by_identifier("tool_group", toolgroup_id)
|
||||||
if tool_group is None:
|
if tool_group is None:
|
||||||
raise ValueError(f"Tool group '{toolgroup_id}' not found")
|
raise ToolGroupNotFoundError(toolgroup_id)
|
||||||
return tool_group
|
return tool_group
|
||||||
|
|
||||||
async def get_tool(self, tool_name: str) -> Tool:
|
async def get_tool(self, tool_name: str) -> Tool:
|
||||||
|
@ -125,7 +126,7 @@ class ToolGroupsRoutingTable(CommonRoutingTableImpl, ToolGroups):
|
||||||
async def unregister_toolgroup(self, toolgroup_id: str) -> None:
|
async def unregister_toolgroup(self, toolgroup_id: str) -> None:
|
||||||
tool_group = await self.get_tool_group(toolgroup_id)
|
tool_group = await self.get_tool_group(toolgroup_id)
|
||||||
if tool_group is None:
|
if tool_group is None:
|
||||||
raise ValueError(f"Tool group {toolgroup_id} not found")
|
raise ToolGroupNotFoundError(toolgroup_id)
|
||||||
await self.unregister_object(tool_group)
|
await self.unregister_object(tool_group)
|
||||||
|
|
||||||
async def shutdown(self) -> None:
|
async def shutdown(self) -> None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue