Web Tools

This page covers the server-side configuration for built-in web tools.

Use this together with Tools for request examples.


Supported web tools

Built-in web tools include:

  • web_search_v1
  • web_fetch_v1
  • /v1/tools/web-search
  • /v1/tools/web-fetch

web_extract_v1 remains accepted as a legacy alias for web_fetch_v1.


How to install

Install requirements:

  • private-gpt[tool-web-scraping]
  • or private-gpt[tools]
  • or private-gpt[core]

After installing or updating Playwright, download the required browsers:

$playwright install

Settings reference

Enable web fetch

web_fetch_v1 and /v1/tools/web-fetch require web_fetch.enabled: true.

1web_fetch:
2 enabled: true
3 timeout_seconds: 15

web_search_v1 and /v1/tools/web-search require both web fetch and web search, plus a configured provider.

1web_fetch:
2 enabled: true
3
4web_search:
5 enabled: true
6 provider: brave
7 processor: best_links
8 num_links: 20
9 mode_quality: fast
10 cached: false
11 context_token: 0
12
13brave:
14 api_key: ${PGPT_BRAVE_API_KEY:}
15 rate_limit: 1

web_search depends on web fetching, so web_fetch.enabled must also be true.


Settings

SettingDescription
web_fetch.enabledEnables URL fetching and text extraction.
web_fetch.timeout_secondsTimeout for fetching a page.
web_search.enabledEnables web search.
web_search.providerSearch provider. Current built-in options are brave and mock.
web_search.processorPost-processing strategy for results.
web_search.num_linksMaximum number of fetched search results.
web_search.mode_qualityPreset that controls the fast vs accurate parameter block.
web_search.cachedEnables caching for repeated searches.
web_search.context_tokenOptional token budget used by the result processor. 0 disables the limit.
brave.api_keyBrave Search API key. Required when using provider: brave.
brave.rate_limitMinimum seconds between Brave API requests.