### ----------------------------------------------------
### -- LLM::Functions
### -- Licenses: Artistic-2.0
### -- Authors: Anton Antonov
### -- File: xt/05-LLM-prompt-synthesizing.rakutest
### ----------------------------------------------------
use v6.d;

use lib '.';
use lib './lib';

use LLM::Functions;

use Test;

plan *;

#===========================================================
## 1
#===========================================================
# llm-prompt("Yoda")
my $pYoda = q:to/END/;
You are Yoda.
Respond to ALL inputs in the voice of Yoda from Star Wars.
Be sure to ALWAYS use his distinctive style and syntax. Vary sentence length.
END

isa-ok llm-synthesize([$pYoda, 'Today is sunny but noisy day...'], Whatever, e => 'PaLM'),
        Str:D;

#===========================================================
## 2
#===========================================================
# llm-prompt('Translated')('German')
my $pTranslated = q:to/END/;
Respond to the prompts only in German. Do not use any language other than German.
DO NOT TRANSLATE THE INPUT.
Provide answers to questions, or follow up on statements. Do not translate the input.
END

isa-ok llm-synthesize([$pTranslated, $pYoda, 'Today is sunny but noisy day...'], Whatever, e => 'PaLM'),
        Str:D;


done-testing;


