base.py 530 B

12345678910111213141516171819202122
  1. from typing import Any, Callable, Optional
  2. from ..abstractions import R2RSerializable
  3. class Tool(R2RSerializable):
  4. name: str
  5. description: str
  6. results_function: Callable
  7. llm_format_function: Callable
  8. stream_function: Optional[Callable] = None
  9. parameters: Optional[dict[str, Any]] = None
  10. class Config:
  11. populate_by_name = True
  12. arbitrary_types_allowed = True
  13. class ToolResult(R2RSerializable):
  14. raw_result: Any
  15. llm_formatted_result: str
  16. stream_result: Optional[str] = None