discourse-ai/spec/lib/modules/ai_bot/tools
Sam fb81307c59
FEATURE: web browsing tool (#548)
This pull request makes several improvements and additions to the GitHub-related tools and personas in the `discourse-ai` repository:

1. It adds the `WebBrowser` tool to the  `Researcher` persona, allowing the AI to visit web pages, retrieve HTML content, extract the main content, and convert it to plain text.

2. It updates the `GithubFileContent`, `GithubPullRequestDiff`, and `GithubSearchCode` tools to handle HTTP responses more robustly (introducing size limits). 

3. It refactors the `send_http_request` method in the `Tool` class to follow redirects when specified, and to read the response body in chunks to avoid memory issues with large responses. (only for WebBrowser)

4. It updates the system prompt for the `Researcher` persona to provide more detailed guidance on when to use Google search vs web browsing, and how to optimize tool usage and reduce redundant requests.

5. It adds a new `web_browser_spec.rb` file with tests for the `WebBrowser` tool, covering various scenarios like handling different HTML structures and following redirects.
2024-03-28 16:01:58 +11:00
..
dall_e_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
db_schema_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
discourse_meta_search_spec.rb FEATURE: Add vision support to AI personas (Claude 3) (#546) 2024-03-27 14:30:11 +11:00
github_file_content_spec.rb FEATURE: Add GitHub Helper AI Bot persona and tools (#513) 2024-03-08 06:37:23 +11:00
github_pull_request_diff_spec.rb FEATURE: Share conversations with AI via a URL (#521) 2024-03-12 16:51:41 +11:00
github_search_code_spec.rb FEATURE: Add GitHub Helper AI Bot persona and tools (#513) 2024-03-08 06:37:23 +11:00
google_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
image_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
list_categories_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
list_tags_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
random_picker_spec.rb FEATURE: mentionable personas and random picker tool, context limits (#466) 2024-02-15 16:37:59 +11:00
read_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
search_settings_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
search_spec.rb FEATURE: new Discourse Helper persona (#473) 2024-02-19 14:52:12 +11:00
setting_context_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
summarize_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
time_spec.rb UX: Validations to LLM-backed features (except AI Bot) (#436) 2024-01-29 16:04:25 -03:00
web_browser_spec.rb FEATURE: web browsing tool (#548) 2024-03-28 16:01:58 +11:00