Skip to content

Commit

Permalink
disallow empty tools
Browse files Browse the repository at this point in the history
  • Loading branch information
axiomofjoy committed Feb 3, 2025
1 parent 95ffc51 commit 77a77f8
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
5 changes: 4 additions & 1 deletion src/phoenix/server/api/helpers/prompts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,12 @@ class PromptFunctionToolV1(PromptModel):
extra_parameters: dict[str, Any]


PromptTool: TypeAlias = Annotated[Union[PromptFunctionToolV1], Field(..., discriminator="type")]


class PromptToolsV1(PromptModel):
type: Literal["tools-v1"]
tools: list[Annotated[Union[PromptFunctionToolV1], Field(..., discriminator="type")]]
tools: Annotated[list[PromptTool], Field(..., min_length=1)]


class PromptOpenAIJSONSchema(PromptModel):
Expand Down
12 changes: 10 additions & 2 deletions src/phoenix/server/api/mutations/prompt_mutations.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,11 @@ async def create_chat_prompt(
input_prompt_version = input.prompt_version
tool_definitions = [tool.definition for tool in input_prompt_version.tools]
try:
tools = normalize_tools(tool_definitions, input_prompt_version.model_provider)
tools = (
normalize_tools(tool_definitions, input_prompt_version.model_provider)
if tool_definitions
else None
)
template = to_pydantic_prompt_chat_template_v1(input_prompt_version.template)
output_schema = (
normalize_output_schema(
Expand Down Expand Up @@ -139,7 +143,11 @@ async def create_chat_prompt_version(
input_prompt_version = input.prompt_version
tool_definitions = [tool.definition for tool in input.prompt_version.tools]
try:
tools = normalize_tools(tool_definitions, input.prompt_version.model_provider)
tools = (
normalize_tools(tool_definitions, input_prompt_version.model_provider)
if tool_definitions
else None
)
template = to_pydantic_prompt_chat_template_v1(input.prompt_version.template)
output_schema = (
normalize_output_schema(
Expand Down

0 comments on commit 77a77f8

Please sign in to comment.