Урок 07

Provider Tools: WebSearch и WebFetch

Провайдеры предоставляют встроенные инструменты, которые не нужно писать самому.

WebSearch

Поиск в интернете:

use Laravel\Ai\Providers\Tools\WebSearch;

public function tools(): iterable
{
    return [
        (new WebSearch)->max(5)->allow(['laravel.com', 'github.com']),
    ];
}
  • max(5) — максимум 5 результатов
  • allow() — только эти домены

WebFetch

Загрузка URL:

use Laravel\Ai\Providers\Tools\WebFetch;

public function tools(): iterable
{
    return [
        new WebFetch,
    ];
}

Агент может загрузить страницу по URL и проанализировать.

FileSearch

use Laravel\Ai\Providers\Tools\FileSearch;

public function tools(): iterable
{
    return [
        new FileSearch(stores: ['store_id']),
    ];
}

Комбинация

public function tools(): iterable
{
    return [
        new LookupOrder,                          // свой
        new WebSearch,                            // встроенный
        new FileSearch(stores: ['manuals']),     // встроенный
    ];
}

Можно смешивать свои и встроенные.

Когда использовать

  • WebSearch — актуальная информация из интернета
  • WebFetch — анализ конкретной страницы
  • FileSearch — поиск по загруженным документам
  • Свои Tools — доступ к данным приложения

Итоги

  • WebSearch для интернета
  • WebFetch для URL
  • FileSearch для файлов
  • Смешивай со своими Tools
  • Не нужно писать с нуля