add new configs
This commit is contained in:
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Agent;
|
||||
|
||||
use App\Commerce\ShopSearchService;
|
||||
use App\Config\AgentRunnerConfig;
|
||||
use App\Context\ContextService;
|
||||
use App\Context\UrlAnalyzer;
|
||||
use App\Infrastructure\OllamaClient;
|
||||
@@ -28,6 +29,7 @@ final readonly class AgentRunner
|
||||
private CommerceIntentLite $commerceIntentLite,
|
||||
private OllamaClient $ollamaClient,
|
||||
private LoggerInterface $agentLogger,
|
||||
private AgentRunnerConfig $agentRunnerConfig,
|
||||
private bool $debug,
|
||||
private bool $logPrompt,
|
||||
private bool $logContext,
|
||||
@@ -84,30 +86,12 @@ final readonly class AgentRunner
|
||||
|
||||
if ($commerceIntent === CommerceIntentLite::PRODUCT_SEARCH || $commerceIntent === CommerceIntentLite::ADVISORY_PRODUCT_SEARCH) {
|
||||
//PreOptimize swag search query
|
||||
$promptSwagSearch = '
|
||||
Erzeuge aus dem folgenden Nutzereingabetext einen kurzen Suchtext für die Shopware-6-Suche.
|
||||
|
||||
Regeln:
|
||||
- Gib nur den finalen Suchtext aus.
|
||||
- erstelle immer die singular form von den relevanten Suchbegriffen
|
||||
- Keine Einleitung, keine Erklärung, keine Anführungszeichen.
|
||||
- Verwende nur die shop relevanten Suchbegriffe für eine Shopsuche aus dem Nutzereingabetext.
|
||||
- Maximal 6 Suchbegriffe, besser weniger.
|
||||
- Entferne Füllwörter, Höflichkeitsformen und irrelevante Wörter.
|
||||
- Erhalte Produktnamen, Marken, Modellnummern und zusammengesetzte Begriffe exakt, wenn sie relevant sind.
|
||||
- Zahlen, die zu einem Produktnamen oder Modell gehören (zb Indikator 300 oder Testomat 808), müssen erhalten bleiben.
|
||||
- Trenne die Begriffe nur durch Leerzeichen.
|
||||
|
||||
Ausgabeformat:
|
||||
Keyword1 Keyword2 Keyword3
|
||||
|
||||
Nutzereingabetext: ' . $prompt . '
|
||||
';
|
||||
$promptSwagSearch = $this->agentRunnerConfig->getShopPrompt($prompt);
|
||||
|
||||
//Reset thinkSuppressor
|
||||
$this->thinkSuppressor->reset();
|
||||
|
||||
yield $this->systemMsg("Ich optimere die Shopanfrage...", "think");
|
||||
yield $this->systemMsg("Ich optimere die Recherche...", "think");
|
||||
|
||||
//Call ai for optimized swag query
|
||||
foreach ($this->ollamaClient->stream($promptSwagSearch) as $swagToken) {
|
||||
@@ -125,7 +109,7 @@ final readonly class AgentRunner
|
||||
$swagFullOutPut .= $swagCleanToken;
|
||||
}
|
||||
|
||||
yield $this->systemMsg("Ich rufe Shopdaten ab (type: " . $commerceIntent . ")", "think");
|
||||
yield $this->systemMsg("Ich rufe Recherchedaten ab (type: " . $commerceIntent . ")", "think");
|
||||
|
||||
//Search in swag by ai optimized query
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user