Skip to content

Commit cf34de6

Browse files
committed
Allow to pass additional instructions to the AI model
1 parent 5edcc60 commit cf34de6

4 files changed

Lines changed: 25 additions & 2 deletions

File tree

src/Services/InfoProviderSystem/Providers/AIInfoExtractor.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@ private function buildSystemPrompt(): string
233233
$tmp .= "\n\nThe response must be in ". Languages::getName($this->settings->outputLanguage, 'en') ." language. Translate texts if needed.";
234234
}
235235

236+
if ($this->settings->additionalInstructions) {
237+
$tmp .= "\n\nAdditional instructions:\n" . $this->settings->additionalInstructions;
238+
}
239+
236240
return $tmp;
237241
}
238242

src/Settings/InfoProviderSystem/AIExtractorSettings.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
use Jbtronics\SettingsBundle\Settings\SettingsTrait;
3434
use Symfony\AI\Platform\Capability;
3535
use Symfony\Component\Form\Extension\Core\Type\LanguageType;
36+
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
3637
use Symfony\Component\Translation\TranslatableMessage as TM;
3738
use Symfony\Component\Validator\Constraints\Language;
3839

@@ -64,4 +65,9 @@ class AIExtractorSettings
6465
formType: LanguageType::class,
6566
)]
6667
public ?string $outputLanguage = null;
68+
69+
#[SettingsParameter(label: new TM("settings.ips.ai_extractor.additional_instructions"), description: new TM("settings.ips.ai_extractor.additional_instructions.description"),
70+
formType: TextareaType::class,
71+
)]
72+
public ?string $additionalInstructions = null;
6773
}

src/Settings/InfoProviderSystem/InfoProviderSettings.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ class InfoProviderSettings
4040
#[EmbeddedSettings]
4141
public ?GenericWebProviderSettings $genericWebProvider = null;
4242

43+
#[EmbeddedSettings]
44+
public ?AIExtractorSettings $aiExtractor = null;
45+
4346
#[EmbeddedSettings]
4447
public ?DigikeySettings $digikey = null;
4548

@@ -76,6 +79,4 @@ class InfoProviderSettings
7679
#[EmbeddedSettings]
7780
public ?CanopySettings $canopy = null;
7881

79-
#[EmbeddedSettings]
80-
public ?AIExtractorSettings $aiExtractor = null;
8182
}

translations/messages.en.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13127,5 +13127,17 @@ Buerklin-API Authentication server:
1312713127
<target>By default, the providers returns information in the same language as the website. With that option you can ask the AI to translate it for you. Might only work with certain models.</target>
1312813128
</segment>
1312913129
</unit>
13130+
<unit id="CAeeZlL" name="settings.ips.ai_extractor.additional_instructions">
13131+
<segment>
13132+
<source>settings.ips.ai_extractor.additional_instructions</source>
13133+
<target>Additional instructions</target>
13134+
</segment>
13135+
</unit>
13136+
<unit id=".UaUMk1" name="settings.ips.ai_extractor.additional_instructions.description">
13137+
<segment>
13138+
<source>settings.ips.ai_extractor.additional_instructions.description</source>
13139+
<target>The additional instructions will be appended to the system prompt.</target>
13140+
</segment>
13141+
</unit>
1313013142
</file>
1313113143
</xliff>

0 commit comments

Comments
 (0)