> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# base • AI Agent SDK

> Base classes for PraisonAI Agent tools.

# base

AI Agent

Base classes for PraisonAI Agent tools.

This module provides the foundation for creating tools that can be used by agents.
External developers can create plugins by subclassing BaseTool.

Usage:

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import BaseTool

class MyTool(BaseTool):
    name = "my_tool"
    description = "Does something useful"

    def run(self, query: str) -> str:
        return f"Result for {query}"
```

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.tools import base
```

## Classes

> [card] [ToolValidationError](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/ToolValidationError.md)
>
> Raised when a tool fails validation.

> [card] [ToolResult](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/ToolResult.md)
>
> Wrapper for tool execution results.

> [card] [BaseTool](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/BaseTool.md)
>
> Abstract base class for all PraisonAI tools.

## Functions

> [card] [resolve\_model\_output()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/resolve_model_output.md)
>
> Return a tool result's own compact, model-facing view, or `None`.

> [card] [multimodal\_content()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/multimodal_content.md)
>
> Convenience factory for building a multimodal ToolResult.

> [card] [text\_part()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/text_part.md)
>
> Build a text content part.

> [card] [image\_part()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/image_part.md)
>
> Build an image content part from raw bytes/base64 or a URL/data URI.

> [card] [file\_part()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/file_part.md)
>
> Build a generic file content part from raw bytes/base64 or a URL.

> [card] [validate\_tool()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/validate_tool.md)
>
> Validate any tool-like object.

> [card] [validate\_tool\_schema\_consistency()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/validate_tool_schema_consistency.md)
>
> Validate a list of tools for schema consistency with OpenAI format.

> [card] [get\_sorted\_tool\_schemas()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/get_sorted_tool_schemas.md)
>
> Get tool schemas sorted by function name for deterministic ordering.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.