|
19 | 19 | use Cortex\LLM\Data\Messages\UserMessage; |
20 | 20 | use Cortex\Tasks\Enums\StructuredOutputMode; |
21 | 21 | use Cortex\LLM\Data\Messages\AssistantMessage; |
| 22 | +use Cortex\LLM\Data\Messages\Content\TextContent; |
22 | 23 | use OpenAI\Responses\Chat\CreateResponse as ChatCreateResponse; |
23 | 24 | use OpenAI\Responses\Chat\CreateStreamedResponse as ChatCreateStreamedResponse; |
24 | 25 |
|
|
44 | 45 | ->and($result->rawResponse)->toBeArray()->not->toBeEmpty() |
45 | 46 | ->and($result->generations)->toHaveCount(1) |
46 | 47 | ->and($result->generation->message)->toBeInstanceOf(AssistantMessage::class) |
47 | | - ->and($result->generation->message->content)->toBe('I am doing well, thank you for asking!'); |
| 48 | + ->and($result->generation->message->text())->toBe('I am doing well, thank you for asking!'); |
48 | 49 | }); |
49 | 50 |
|
50 | 51 | test('it can stream', function (): void { |
|
152 | 153 | new UserMessage('Tell me about a person'), |
153 | 154 | ]); |
154 | 155 |
|
155 | | - expect($result->generation->message->content) |
156 | | - ->toBe('{"name":"John Doe","age":30}'); |
| 156 | + expect($result->generation->message->text()) |
| 157 | + ->toBe('{"name":"John Doe","age":30}') |
| 158 | + ->and($result->generation->message->content()) |
| 159 | + ->toBeArray() |
| 160 | + ->toContainOnlyInstancesOf(TextContent::class); |
157 | 161 |
|
158 | 162 | expect($result->generation->parsedOutput)->toBe([ |
159 | 163 | 'name' => 'John Doe', |
@@ -373,8 +377,11 @@ enum Sentiment: string |
373 | 377 | new UserMessage('Tell me a joke'), |
374 | 378 | ]); |
375 | 379 |
|
376 | | - expect($result->generation->message->content) |
377 | | - ->toBe('{"setup":"Why did the scarecrow win an award?","punchline":"Because he was outstanding in his field!"}'); |
| 380 | + expect($result->generation->message->text()) |
| 381 | + ->toBe('{"setup":"Why did the scarecrow win an award?","punchline":"Because he was outstanding in his field!"}') |
| 382 | + ->and($result->generation->message->content()) |
| 383 | + ->toBeArray() |
| 384 | + ->toContainOnlyInstancesOf(TextContent::class); |
378 | 385 | }); |
379 | 386 |
|
380 | 387 | test('it can set temperature and max tokens', function (): void { |
|
0 commit comments