Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions agentrun/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@
SandboxClient,
Template,
)
# Tool
from agentrun.tool import Tool as ToolResource
from agentrun.tool import ToolClient as ToolResourceClient
from agentrun.tool import ToolControlAPI as ToolResourceControlAPI
# ToolSet
from agentrun.toolset import ToolSet, ToolSetClient
from agentrun.utils.config import Config
Expand Down Expand Up @@ -247,6 +251,10 @@
"AioSandbox",
"CustomSandbox",
"Template",
######## Tool ########
"ToolResource",
"ToolResourceClient",
"ToolResourceControlAPI",
######## ToolSet ########
"ToolSetClient",
"ToolSet",
Expand Down
11 changes: 10 additions & 1 deletion agentrun/integration/agentscope/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,20 @@
提供 AgentRun 模型与沙箱工具的 AgentScope 适配入口。 / 提供 AgentRun 模型with沙箱工具的 AgentScope 适配入口。
"""

from .builtin import knowledgebase_toolset, model, sandbox_toolset, toolset
from .builtin import (
knowledgebase_toolset,
model,
sandbox_toolset,
skill_tools,
tool_resource,
toolset,
)

__all__ = [
"model",
"toolset",
"sandbox_toolset",
"knowledgebase_toolset",
"tool_resource",
"skill_tools",
]
36 changes: 36 additions & 0 deletions agentrun/integration/agentscope/builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,13 @@
from agentrun.integration.builtin import model as _model
from agentrun.integration.builtin import ModelArgs
from agentrun.integration.builtin import sandbox_toolset as _sandbox_toolset
from agentrun.integration.builtin import skill_tools as _skill_tools
from agentrun.integration.builtin import tool_resource as _tool_resource
from agentrun.integration.builtin import toolset as _toolset
from agentrun.integration.utils.tool import Tool
from agentrun.model import ModelProxy, ModelService
from agentrun.sandbox import TemplateType
from agentrun.tool.tool import Tool as ToolResourceType
from agentrun.toolset import ToolSet
from agentrun.utils.config import Config

Expand Down Expand Up @@ -50,6 +53,24 @@ def toolset(
)


def tool_resource(
name: Union[str, ToolResourceType],
*,
prefix: Optional[str] = None,
modify_tool_name: Optional[Callable[[Tool], Tool]] = None,
filter_tools_by_name: Optional[Callable[[str], bool]] = None,
config: Optional[Config] = None,
) -> List[Any]:
"""将 ToolResource 封装为 AgentScope 工具列表。 / AgentScope Built-in ToolResource Integration"""

ts = _tool_resource(input=name, config=config)
return ts.to_agentscope(
prefix=prefix,
modify_tool_name=modify_tool_name,
filter_tools_by_name=filter_tools_by_name,
)


def sandbox_toolset(
template_name: str,
*,
Expand Down Expand Up @@ -86,3 +107,18 @@ def knowledgebase_toolset(
modify_tool_name=modify_tool_name,
filter_tools_by_name=filter_tools_by_name,
)


def skill_tools(
name: Optional[Union[str, List[str]]] = None,
*,
skills_dir: str = ".skills",
prefix: Optional[str] = None,
config: Optional[Config] = None,
) -> List[Any]:
"""将 Skill 封装为 AgentScope 工具列表。 / AgentScope Built-in Skill Integration"""

ts = _skill_tools(name=name, skills_dir=skills_dir, config=config)
return ts.to_agentscope(
prefix=prefix,
)
4 changes: 4 additions & 0 deletions agentrun/integration/builtin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,16 @@
from .knowledgebase import knowledgebase_toolset
from .model import model, ModelArgs
from .sandbox import sandbox_toolset
from .skill import skill_tools
from .tool_resource import tool_resource
from .toolset import toolset

__all__ = [
"model",
"ModelArgs",
"toolset",
"tool_resource",
"sandbox_toolset",
"knowledgebase_toolset",
"skill_tools",
]
16 changes: 16 additions & 0 deletions agentrun/integration/builtin/skill.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""内置 Skill 集成函数 / Built-in Skill Integration Functions

提供快速创建 Skill 工具集对象的便捷函数。
Provides convenient functions for quickly creating Skill toolset objects.
"""

from typing import List, Optional, Union

from agentrun.integration.utils.skill_loader import skill_tools as _skill_tools
from agentrun.integration.utils.tool import CommonToolSet
from agentrun.utils.config import Config

# Re-export for convenience
skill_tools = _skill_tools

__all__ = ["skill_tools"]
48 changes: 48 additions & 0 deletions agentrun/integration/builtin/tool_resource.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"""内置 ToolResource 集成函数 / Built-in ToolResource Integration Functions

提供快速创建通用工具集对象的便捷函数(基于新版 Tool 模块)。
Provides convenient functions for quickly creating common toolset objects (based on new Tool module).
"""

from typing import Optional, Union

from agentrun.integration.utils.tool import CommonToolSet
from agentrun.tool.client import ToolClient
from agentrun.tool.tool import Tool as ToolResourceType
from agentrun.utils.config import Config


def tool_resource(
input: Union[str, ToolResourceType], config: Optional[Config] = None
) -> CommonToolSet:
"""将 ToolResource 封装为通用工具集 / Wrap ToolResource as CommonToolSet

支持从工具名称或 ToolResource 实例创建通用工具集。
Supports creating CommonToolSet from tool name or ToolResource instance.

Args:
input: 工具名称或 ToolResource 实例 / Tool name or ToolResource instance
config: 配置对象 / Configuration object

Returns:
CommonToolSet: 通用工具集实例 / CommonToolSet instance

Examples:
>>> # 从工具名称创建 / Create from tool name
>>> ts = tool_resource("my-tool")
>>>
>>> # 从 ToolResource 实例创建 / Create from ToolResource instance
>>> tool = ToolClient().get(name="my-tool")
>>> ts = tool_resource(tool)
>>>
>>> # 转换为 LangChain 工具 / Convert to LangChain tools
>>> lc_tools = ts.to_langchain()
"""

resource = (
input
if isinstance(input, ToolResourceType)
else ToolClient().get(name=input, config=config)
)

return CommonToolSet.from_agentrun_tool(resource, config=config)
10 changes: 9 additions & 1 deletion agentrun/integration/crewai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@
CrewAI 与 LangChain 兼容,因此直接复用 LangChain 的转换逻辑。 / CrewAI with LangChain 兼容,因此直接复用 LangChain 的转换逻辑。
"""

from .builtin import knowledgebase_toolset, model, sandbox_toolset
from .builtin import (
knowledgebase_toolset,
model,
sandbox_toolset,
skill_tools,
tool_resource,
)

__all__ = [
"model",
"sandbox_toolset",
"knowledgebase_toolset",
"tool_resource",
"skill_tools",
]
36 changes: 36 additions & 0 deletions agentrun/integration/crewai/builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,13 @@
from agentrun.integration.builtin import model as _model
from agentrun.integration.builtin import ModelArgs
from agentrun.integration.builtin import sandbox_toolset as _sandbox_toolset
from agentrun.integration.builtin import skill_tools as _skill_tools
from agentrun.integration.builtin import tool_resource as _tool_resource
from agentrun.integration.builtin import toolset as _toolset
from agentrun.integration.utils.tool import Tool
from agentrun.model import ModelProxy, ModelService
from agentrun.sandbox import TemplateType
from agentrun.tool.tool import Tool as ToolResourceType
from agentrun.toolset import ToolSet
from agentrun.utils.config import Config

Expand Down Expand Up @@ -50,6 +53,24 @@ def toolset(
)


def tool_resource(
name: Union[str, ToolResourceType],
*,
prefix: Optional[str] = None,
modify_tool_name: Optional[Callable[[Tool], Tool]] = None,
filter_tools_by_name: Optional[Callable[[str], bool]] = None,
config: Optional[Config] = None,
) -> List[Any]:
"""将 ToolResource 封装为 CrewAI 工具列表。 / CrewAI Built-in ToolResource Integration"""

ts = _tool_resource(input=name, config=config)
return ts.to_crewai(
prefix=prefix,
modify_tool_name=modify_tool_name,
filter_tools_by_name=filter_tools_by_name,
)


def sandbox_toolset(
template_name: str,
*,
Expand Down Expand Up @@ -86,3 +107,18 @@ def knowledgebase_toolset(
modify_tool_name=modify_tool_name,
filter_tools_by_name=filter_tools_by_name,
)


def skill_tools(
name: Optional[Union[str, List[str]]] = None,
*,
skills_dir: str = ".skills",
prefix: Optional[str] = None,
config: Optional[Config] = None,
) -> List[Any]:
"""将 Skill 封装为 CrewAI 工具列表。 / CrewAI Built-in Skill Integration"""

ts = _skill_tools(name=name, skills_dir=skills_dir, config=config)
return ts.to_crewai(
prefix=prefix,
)
11 changes: 10 additions & 1 deletion agentrun/integration/google_adk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,20 @@
提供与 Google Agent Development Kit 的模型与沙箱工具集成。 / 提供with Google Agent Development Kit 的模型with沙箱工具集成。
"""

from .builtin import knowledgebase_toolset, model, sandbox_toolset, toolset
from .builtin import (
knowledgebase_toolset,
model,
sandbox_toolset,
skill_tools,
tool_resource,
toolset,
)

__all__ = [
"model",
"toolset",
"sandbox_toolset",
"knowledgebase_toolset",
"tool_resource",
"skill_tools",
]
36 changes: 36 additions & 0 deletions agentrun/integration/google_adk/builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,13 @@
from agentrun.integration.builtin import model as _model
from agentrun.integration.builtin import ModelArgs
from agentrun.integration.builtin import sandbox_toolset as _sandbox_toolset
from agentrun.integration.builtin import skill_tools as _skill_tools
from agentrun.integration.builtin import tool_resource as _tool_resource
from agentrun.integration.builtin import toolset as _toolset
from agentrun.integration.utils.tool import Tool
from agentrun.model import ModelProxy, ModelService
from agentrun.sandbox import TemplateType
from agentrun.tool.tool import Tool as ToolResourceType
from agentrun.toolset import ToolSet
from agentrun.utils.config import Config

Expand Down Expand Up @@ -50,6 +53,24 @@ def toolset(
)


def tool_resource(
name: Union[str, ToolResourceType],
*,
prefix: Optional[str] = None,
modify_tool_name: Optional[Callable[[Tool], Tool]] = None,
filter_tools_by_name: Optional[Callable[[str], bool]] = None,
config: Optional[Config] = None,
) -> List[Any]:
"""将 ToolResource 封装为 Google ADK 工具列表。 / Google ADK Built-in ToolResource Integration"""

ts = _tool_resource(input=name, config=config)
return ts.to_google_adk(
prefix=prefix,
modify_tool_name=modify_tool_name,
filter_tools_by_name=filter_tools_by_name,
)


def sandbox_toolset(
template_name: str,
*,
Expand Down Expand Up @@ -86,3 +107,18 @@ def knowledgebase_toolset(
modify_tool_name=modify_tool_name,
filter_tools_by_name=filter_tools_by_name,
)


def skill_tools(
name: Optional[Union[str, List[str]]] = None,
*,
skills_dir: str = ".skills",
prefix: Optional[str] = None,
config: Optional[Config] = None,
) -> List[Any]:
"""将 Skill 封装为 Google ADK 工具列表。 / Google ADK Built-in Skill Integration"""

ts = _skill_tools(name=name, skills_dir=skills_dir, config=config)
return ts.to_google_adk(
prefix=prefix,
)
11 changes: 10 additions & 1 deletion agentrun/integration/langchain/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,21 @@
AgentRunConverter,
) # 向后兼容

from .builtin import knowledgebase_toolset, model, sandbox_toolset, toolset
from .builtin import (
knowledgebase_toolset,
model,
sandbox_toolset,
skill_tools,
tool_resource,
toolset,
)

__all__ = [
"AgentRunConverter",
"model",
"toolset",
"sandbox_toolset",
"knowledgebase_toolset",
"tool_resource",
"skill_tools",
]
Loading
Loading