23 lines
821 B
PHP
23 lines
821 B
PHP
<?php
|
|
|
|
namespace app\common\service\ai;
|
|
|
|
class AiAssistantRetriever
|
|
{
|
|
public static function retrieve(AiAssistantTrace $trace, int $userId, int $sessionId): AiAssistantTrace
|
|
{
|
|
$context = AiAssistantContextService::build($trace->originalMessage, $userId, $sessionId, $trace->plan);
|
|
$webNewsItems = AiAssistantWebNewsRetriever::retrieve($trace->originalMessage, $trace->plan, $trace->historyMessages);
|
|
|
|
$trace->retrievals = [
|
|
'knowledge_hits' => $context['knowledge_hits'] ?? [],
|
|
'match_items' => $context['match_items'] ?? [],
|
|
'crypto_items' => $context['crypto_items'] ?? [],
|
|
'web_news_items' => $webNewsItems,
|
|
];
|
|
$trace->hasContext = !empty($context['has_context']) || !empty($webNewsItems);
|
|
|
|
return $trace;
|
|
}
|
|
}
|