base.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """
  2. 基础工具适配器 - 第三方工具适配接口
  3. 职责:
  4. 1. 定义统一的适配器接口
  5. 2. 处理工具执行上下文的转换
  6. 3. 统一返回值格式
  7. """
  8. from abc import ABC, abstractmethod
  9. from typing import Any, Callable, Dict
  10. from cyber_agent.tools.models import ToolResult, ToolContext
  11. class ToolAdapter(ABC):
  12. """工具适配器基类"""
  13. @abstractmethod
  14. async def adapt_execute(
  15. self,
  16. tool_func: Callable,
  17. args: Dict[str, Any],
  18. context: ToolContext
  19. ) -> ToolResult:
  20. """
  21. 适配第三方工具的执行
  22. Args:
  23. tool_func: 原始工具函数/对象
  24. args: 工具参数
  25. context: 我们的上下文对象
  26. Returns:
  27. ToolResult: 统一的返回格式
  28. """
  29. pass
  30. @abstractmethod
  31. def adapt_schema(self, original_schema: Dict) -> Dict:
  32. """
  33. 适配工具 Schema 到我们的格式
  34. Args:
  35. original_schema: 原始工具的 Schema
  36. Returns:
  37. 适配后的 Schema(OpenAI Tool Schema 格式)
  38. """
  39. pass
  40. def extract_memory(self, result: Any) -> str:
  41. """
  42. 从结果中提取长期记忆摘要
  43. Args:
  44. result: 工具执行结果
  45. Returns:
  46. 记忆摘要字符串
  47. """
  48. return ""