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
- Не нужно писать с нуля