docs/content/Tools/basics.mdx
import { Callout } from 'nextra/components'; import Image from 'next/image'; import { ToolCards } from '../../components/ToolCards';
DocsGPT Tools are powerful extensions that significantly enhance the capabilities of your DocsGPT application. They allow DocsGPT to move beyond its core function of retrieving information from your documents and enable it to perform actions, interact with external data sources, and integrate with other services. You can find and configure available tools within the "Tools" section of the DocsGPT application settings in the user interface.
Purpose: The primary purpose of Tools is to bridge the gap between understanding a user's request (natural language processing by the LLM) and executing a tangible action. This could involve fetching live data from the web, sending notifications, running code snippets, querying databases, or interacting with third-party APIs.
LLM as an Orchestrator: The Large Language Model (LLM) at the heart of DocsGPT is designed to act as an intelligent orchestrator. Based on your query and the declared capabilities of the available tools (defined in their metadata), the LLM decides if a tool is needed, which tool to use, and what parameters to pass to it.
Action-Oriented Interactions: Tools enable more dynamic and action-oriented interactions. For example:
DocsGPT includes a suite of pre-built tools designed to expand its capabilities out-of-the-box. Below is an overview of the currently available tools.
<ToolCards items={[ { title: 'API Tool', link: '/Tools/api-tool', description: 'A highly flexible tool that allows DocsGPT to interact with virtually any API without needing to write custom Python code.' }, { title: 'Brave Search Tool', link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/brave.py', description: 'Enables DocsGPT to perform real-time web and image searches using the Brave Search API for up-to-date information.' }, { title: 'Cryptoprice Tool', link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/cryptoprice.py', description: 'Fetches the current price of specified cryptocurrencies.' }, { title: 'Ntfy Tool', link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/ntfy.py', description: 'Allows DocsGPT to send push notifications to Ntfy.sh channels, ideal for alerts and updates.' }, { title: 'PostgreSQL Tool', link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/postgres.py', description: 'Provides capabilities to connect to a PostgreSQL database, execute SQL queries, and retrieve schema information.' }, { title: 'Read Webpage Tool', // Renamed from Scraper Tool link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/read_webpage.py', description: 'Enables DocsGPT to fetch and extract (scrape) textual content from specified web page URLs.' }, { title: 'Telegram Tool', link: 'https://github.com/arc53/DocsGPT/blob/main/application/agents/tools/telegram.py', description: 'Allows DocsGPT to send messages or images to Telegram chats via a Telegram Bot.' } ]} />
Interacting with tools in DocsGPT is designed to be intuitive:
Natural Language Interaction: As a user, you typically interact with DocsGPT using natural language queries or commands. The LLM within DocsGPT analyzes your input to determine if a specific task can or should be handled by one of the available and configured tools.
Configuration in UI:
Prompt Engineering for Tools: While the LLM aims to intelligently use tools, for more complex or reliable agent-like behaviors, you might need to customize the system prompts. Modifying the prompt can guide the LLM on when and how to prioritize or chain tools to achieve specific outcomes, especially if you're building an agent designed to perform a certain sequence of actions every time. For more on this, see Customising Prompts.
Understanding the basics of DocsGPT Tools opens up many possibilities:
[Developing Custom Tools](/Tools/creating-a-tool) (placeholder for now).[Agents section/tab concept - link to be added once available].By harnessing the power of Tools, you can transform DocsGPT into a more versatile and proactive assistant tailored to your unique workflows.