File tree 8 files changed +124
-66
lines changed
8 files changed +124
-66
lines changed Original file line number Diff line number Diff line change 9
9
"ext-iconv" : " *" ,
10
10
"codewithkyrian/chromadb-php" : " ^0.3.0" ,
11
11
"league/commonmark" : " ^2.6" ,
12
- "php-llm/llm-chain" : " ^0.10" ,
13
- "php-llm/llm-chain-bundle" : " ^0.9" ,
12
+ "php-llm/llm-chain-bundle" : " ^0.11" ,
14
13
"phpdocumentor/reflection-docblock" : " ^5.5" ,
15
14
"phpstan/phpdoc-parser" : " ^1.33" ,
16
15
"runtime/frankenphp-symfony" : " ^0.2.0" ,
Original file line number Diff line number Diff line change @@ -41,12 +41,12 @@ public function submitMessage(string $message): void
41
41
{
42
42
$ messages = $ this ->loadMessages ();
43
43
44
- $ messages[] = Message::ofUser ($ message );
44
+ $ messages-> add ( Message::ofUser ($ message) );
45
45
$ response = $ this ->chain ->call ($ messages );
46
46
47
47
assert ($ response instanceof TextResponse);
48
48
49
- $ messages[] = Message::ofAssistant ($ response ->getContent ());
49
+ $ messages-> add ( Message::ofAssistant ($ response ->getContent () ));
50
50
51
51
$ this ->saveMessages ($ messages );
52
52
}
Original file line number Diff line number Diff line change 4
4
5
5
namespace App \Blog ;
6
6
7
- use PhpLlm \LlmChain \Model \Message \MessageBag ;
7
+ use PhpLlm \LlmChain \Model \Message \MessageInterface ;
8
8
use Symfony \UX \LiveComponent \Attribute \AsLiveComponent ;
9
9
use Symfony \UX \LiveComponent \Attribute \LiveAction ;
10
10
use Symfony \UX \LiveComponent \Attribute \LiveArg ;
@@ -20,9 +20,12 @@ public function __construct(
20
20
) {
21
21
}
22
22
23
- public function getMessages (): MessageBag
23
+ /**
24
+ * @return MessageInterface[]
25
+ */
26
+ public function getMessages (): array
24
27
{
25
- return $ this ->chat ->loadMessages ()->withoutSystemMessage ();
28
+ return $ this ->chat ->loadMessages ()->withoutSystemMessage ()-> getMessages () ;
26
29
}
27
30
28
31
#[LiveAction]
Original file line number Diff line number Diff line change @@ -24,8 +24,9 @@ public function __construct(
24
24
25
25
public function loadMessages (): MessageBag
26
26
{
27
- $ default = new MessageBag ();
28
- $ default [] = Message::forSystem ('Please answer the users question based on Wikipedia and provide a link to the article. ' );
27
+ $ default = new MessageBag (
28
+ Message::forSystem ('Please answer the users question based on Wikipedia and provide a link to the article. ' )
29
+ );
29
30
30
31
return $ this ->requestStack ->getSession ()->get (self ::SESSION_KEY , $ default );
31
32
}
@@ -34,12 +35,12 @@ public function submitMessage(string $message): void
34
35
{
35
36
$ messages = $ this ->loadMessages ();
36
37
37
- $ messages[] = Message::ofUser ($ message );
38
+ $ messages-> add ( Message::ofUser ($ message) );
38
39
$ response = $ this ->chain ->call ($ messages );
39
40
40
41
assert ($ response instanceof TextResponse);
41
42
42
- $ messages[] = Message::ofAssistant ($ response ->getContent ());
43
+ $ messages-> add ( Message::ofAssistant ($ response ->getContent () ));
43
44
44
45
$ this ->saveMessages ($ messages );
45
46
}
Original file line number Diff line number Diff line change 4
4
5
5
namespace App \Wikipedia ;
6
6
7
- use PhpLlm \LlmChain \Model \Message \MessageBag ;
7
+ use PhpLlm \LlmChain \Model \Message \MessageInterface ;
8
8
use Symfony \UX \LiveComponent \Attribute \AsLiveComponent ;
9
9
use Symfony \UX \LiveComponent \Attribute \LiveAction ;
10
10
use Symfony \UX \LiveComponent \Attribute \LiveArg ;
@@ -20,9 +20,12 @@ public function __construct(
20
20
) {
21
21
}
22
22
23
- public function getMessages (): MessageBag
23
+ /**
24
+ * @return MessageInterface[]
25
+ */
26
+ public function getMessages (): array
24
27
{
25
- return $ this ->wikipedia ->loadMessages ()->withoutSystemMessage ();
28
+ return $ this ->wikipedia ->loadMessages ()->withoutSystemMessage ()-> getMessages () ;
26
29
}
27
30
28
31
#[LiveAction]
You can’t perform that action at this time.
0 commit comments