跳转到主要内容

ag_kit.tools

ag_kit.tools 包提供了一套全面的工具系统,使AI Agent能够通过统一且类型安全的接口与外部世界交互。

可用工具

安装

pip install ag-kit

核心架构

所有工具都实现了标准化的BaseTool接口以确保一致性和类型安全:
from typing import Any, Dict
from pydantic import BaseModel

class BaseTool:
    """所有工具的基类"""
    
    name: str
    description: str
    
    async def execute(self, input_data: Dict[str, Any]) -> ToolResult:
        """使用给定输入执行工具"""
        pass
每次工具执行都会返回带有全面错误处理的结构化结果:
from typing import Optional, Literal

class ToolResult(BaseModel):
    """标准化工具执行结果"""
    
    success: bool
    data: Optional[Any] = None
    error: Optional[str] = None
    error_type: Optional[Literal["validation", "execution", "permission", "network"]] = None
    execution_time: Optional[float] = None

快速开始

from ag_kit.tools import CodeExecutor, FileSystemTool

# 代码执行
executor = CodeExecutor()
result = await executor.execute({
    "code": "print('Hello, World!')"
})

print(result.data["output"])  # Hello, World!

# 文件操作
fs_tool = FileSystemTool(base_path="/project")
content = await fs_tool.execute({
    "operation": "read",
    "path": "config.json"
})

关键特性

  • 类型安全:完整的Pydantic支持与模式验证
  • 安全性:路径验证、输入清理和沙箱执行
  • 可扩展性:通过基础工具类轻松创建自定义工具
  • 性能:带超时控制和资源管理的异步操作
  • 错误处理:带有详细上下文的结构化错误类型

工具分类

文件系统工具

完整的文件和目录操作,包括读写、编辑、搜索和模式匹配。了解更多→

代码执行工具

通过沙箱或本地选项安全执行Python代码。了解更多→

命令行工具

在适当隔离和环境控制下执行Shell命令。了解更多→

框架适配器

实现AG-Kit工具与LangChain、LlamaIndex等流行AI框架的无缝双向转换。了解更多→

MCP集成

通过模型上下文协议实现双向集成,连接外部MCP服务器并暴露AG-Kit工具。了解更多→

自定义工具

为特定用例构建专用工具的框架。了解更多→

后续步骤

集成资源