Files
onboard/app/Ai/Agents/RouterAgent.php
brusnitsyn a9e032f658 Добавлен сервис AI
Добавлен ai агент для формирования и проверки статистики
Добавлен ai агент для поддержки
2026-07-20 16:58:21 +09:00

56 lines
2.1 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Ai\Agents;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Contracts\Conversational;
use Laravel\Ai\Contracts\HasTools;
use Laravel\Ai\Contracts\Tool;
use Laravel\Ai\Messages\Message;
use Laravel\Ai\Promptable;
use Stringable;
class RouterAgent implements Agent, Conversational, HasTools
{
use Promptable;
/**
* Get the instructions that the agent should follow.
*/
public function instructions(): Stringable|string
{
return 'Ты — маршрутизатор запросов в системе медицинской статистики.
Твоя задача — определить, к какой категории относится вопрос пользователя:
1. "stats" если вопрос касается показателей работы отделений: загрузка, койко-дни, операции, поступления, выбытия, предоперационные дни, сравнения, тренды.
2. "support" если вопрос касается работы с системой, инструкций, регламентов, ошибок, как что-то сделать.
3. "other" если вопрос не относится ни к статистике, ни к поддержке (например, общие вопросы, приветствия).
Ответ должен быть строго в формате JSON:
{"route": "stats", "confidence": 0.95, "reason": "вопрос про загрузку отделения"}
Оценивай уверенность (confidence) от 0 до 1. Если сомневаешься, выбери наиболее вероятный маршрут.
Отвечай только JSON.';
}
/**
* Get the list of messages comprising the conversation so far.
*
* @return Message[]
*/
public function messages(): iterable
{
return [];
}
/**
* Get the tools available to the agent.
*
* @return Tool[]
*/
public function tools(): iterable
{
return [];
}
}