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 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 ""