added BrowserbaseLoadTool

This commit is contained in:
Mish Ushakov
2024-04-17 13:36:21 +00:00
parent 031fe500fb
commit b80dd1ca8b
4 changed files with 53 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
from .tools.base_tool import BaseTool, Tool, tool
from .tools import (
BrowserbaseLoadTool,
CodeDocsSearchTool,
CSVSearchTool,
DirectorySearchTool,

View File

@@ -1,3 +1,4 @@
from .browserbase_load_tool.browserbase_load_tool import BrowserbaseLoadTool
from .code_docs_search_tool.code_docs_search_tool import CodeDocsSearchTool
from .csv_search_tool.csv_search_tool import CSVSearchTool
from .directory_search_tool.directory_search_tool import DirectorySearchTool

View File

@@ -0,0 +1,29 @@
# BrowserbaseLoadTool
## Description
[Browserbase](https://browserbase.com) is a serverless platform for running headless browsers, it offers advanced debugging, session recordings, stealth mode, integrated proxies and captcha solving.
## Installation
- Get an API key from [browserbase.com](https://browserbase.com) and set it in environment variables (`BROWSERBASE_KEY`).
- Install the [Browserbase SDK](http://github.com/browserbase/python-sdk) along with `crewai[tools]` package:
```
pip install browserbase 'crewai[tools]'
```
## Example
Utilize the BrowserbaseLoadTool as follows to allow your agent to load websites:
```python
from crewai_tools import BrowserbaseLoadTool
tool = BrowserbaseLoadTool()
```
## Arguments
- `api_key`: Optional. Specifies Browserbase API key. Defaults is the `BROWSERBASE_KEY` environment variable.
- `text_content`: Optional. Load pages as readable text. Default is `False`.

View File

@@ -0,0 +1,21 @@
import os
from crewai_tools import BaseTool
from typing import Union
class BrowserbaseLoadTool(BaseTool):
name: str = "Browserbase web load tool"
description: str = "Load webpages in a headless browser using Browserbase and return the contents"
def __init__(self, api_key: str = os.environ["BROWSERBASE_KEY"], text_content: bool = False):
try:
from browserbase import Browserbase
except ImportError:
raise ImportError(
"`browserbase` package not found, please run `pip install browserbase`"
)
self.browserbase = Browserbase(api_key=api_key)
self.text_content = text_content
def _run(self, url: str):
return self.browserbase.load_url(url, text_content=self.text_content)