mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-10 03:28:53 +00:00
pass function tool description for databricks provider
Signed-off-by: frankzye1 <frankzye@qq.com>
This commit is contained in:
parent
fc62f75e04
commit
75a7b39700
3 changed files with 38 additions and 5 deletions
|
|
@ -170,12 +170,17 @@ class DatabricksConfig(DatabricksBase, OpenAILikeChatConfig, AnthropicConfig):
|
|||
if tool is None:
|
||||
return None
|
||||
|
||||
kwags = {
|
||||
"name":tool["name"],
|
||||
"parameters":cast(dict, tool.get("input_schema") or {})
|
||||
}
|
||||
|
||||
if tool.get("description"):
|
||||
kwags["description"] = tool.get("description")
|
||||
|
||||
return DatabricksTool(
|
||||
type="function",
|
||||
function=DatabricksFunction(
|
||||
name=tool["name"],
|
||||
parameters=cast(dict, tool.get("input_schema") or {}),
|
||||
),
|
||||
function=DatabricksFunction(**kwags),
|
||||
)
|
||||
|
||||
def _map_openai_to_dbrx_tool(self, model: str, tools: List) -> List[DatabricksTool]:
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ AllDatabricksContentValues = Union[str, List[AllDatabricksContentListValues]]
|
|||
|
||||
class DatabricksFunction(TypedDict, total=False):
|
||||
name: Required[str]
|
||||
description: dict
|
||||
description: dict | str
|
||||
parameters: dict
|
||||
strict: bool
|
||||
|
||||
|
|
|
|||
|
|
@ -90,3 +90,31 @@ def test_transform_choices_without_signature():
|
|||
thinking_block = choices[0].message.thinking_blocks[0]
|
||||
assert thinking_block["type"] == "thinking"
|
||||
assert thinking_block["thinking"] == "i'm thinking without signature."
|
||||
|
||||
def test_convert_anthropic_tool_to_databricks_tool_with_description():
|
||||
config = DatabricksConfig()
|
||||
anthropic_tool = {
|
||||
"name": "test_tool",
|
||||
"description": "test description",
|
||||
"input_schema": {"type": "object", "properties": {"test": {"type": "string"}}}
|
||||
}
|
||||
|
||||
databricks_tool = config.convert_anthropic_tool_to_databricks_tool(anthropic_tool)
|
||||
|
||||
assert databricks_tool is not None
|
||||
assert databricks_tool["type"] == "function"
|
||||
assert databricks_tool["function"]["description"] == "test description"
|
||||
|
||||
|
||||
def test_convert_anthropic_tool_to_databricks_tool_without_description():
|
||||
config = DatabricksConfig()
|
||||
anthropic_tool = {
|
||||
"name": "test_tool",
|
||||
"input_schema": {"type": "object", "properties": {"test": {"type": "string"}}}
|
||||
}
|
||||
|
||||
databricks_tool = config.convert_anthropic_tool_to_databricks_tool(anthropic_tool)
|
||||
|
||||
assert databricks_tool is not None
|
||||
assert databricks_tool["type"] == "function"
|
||||
assert databricks_tool["function"].get("description") is None
|
||||
Loading…
Add table
Reference in a new issue