28 lines
1.8 KiB
Markdown
28 lines
1.8 KiB
Markdown
# Web Fetch Tool
|
|
|
|
This document describes the `web_fetch` tool.
|
|
|
|
## `web_fetch`
|
|
|
|
- **Purpose:** Processes content from one or more URLs (up to 20) embedded in a prompt. This tool is ideal for tasks that require summarizing, comparing, or extracting specific information from web pages.
|
|
- **Arguments:**
|
|
- `prompt` (string, required): A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content. For example: `"Summarize https://example.com/article and extract key points from https://another.com/data"`. The prompt must contain at least one URL starting with `http://` or `https://`.
|
|
- **Behavior:**
|
|
- The tool will first ask for confirmation before fetching any URLs.
|
|
- It attempts to process URLs through the Gemini API's `urlContext` tool first.
|
|
- If the Gemini API cannot access a URL (e.g., it's on `localhost`, a private network, or behind a firewall), the tool will fall back to fetching the content directly from the local machine.
|
|
- The tool can fetch content from `localhost` and private network addresses via this fallback mechanism.
|
|
- The tool formats the response, including source attribution with citations where possible, and returns it to the user.
|
|
- **Examples:**
|
|
- Summarizing a single article:
|
|
```
|
|
web_fetch(prompt="Can you summarize the main points of https://example.com/news/latest")
|
|
```
|
|
- Comparing two articles:
|
|
```
|
|
web_fetch(prompt="What are the differences in the conclusions of these two papers: https://arxiv.org/abs/2401.0001 and https://arxiv.org/abs/2401.0002?")
|
|
```
|
|
- **Important Notes:**
|
|
- This tool relies on the Gemini API's ability to access and process the given URLs.
|
|
- The quality of the output depends on the clarity of the instructions in the prompt.
|