Skip to content

Commit 3655afd

Browse files
committed
Some review adjustments
1 parent 0409956 commit 3655afd

File tree

8 files changed

+25
-24
lines changed

8 files changed

+25
-24
lines changed

examples/image-generator-dall-e-2.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@
1313
}
1414

1515
$platform = PlatformFactory::create($_ENV['OPENAI_API_KEY']);
16-
$llm = new DallE(DallE::DALL_E_2);
1716

1817
$response = $platform->request(
19-
model: $llm,
18+
model: new DallE(),
2019
input: 'A cartoon-style elephant with a long trunk and large ears.',
21-
options: ['response_format' => 'url', 'n' => 2],
20+
options: [
21+
'version' => DallE::DALL_E_2, // Utilize Dall-E 2 version
22+
'response_format' => 'url', // Generate response as URL
23+
'n' => 2, // Generate multiple images for example
24+
],
2225
);
2326

2427
foreach ($response->getContent() as $index => $image) {

examples/image-generator-dall-e-3.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
use PhpLlm\LlmChain\Bridge\OpenAI\DallE;
4-
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ImagesResponse;
4+
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ImageResponse;
55
use PhpLlm\LlmChain\Bridge\OpenAI\PlatformFactory;
66
use PhpLlm\LlmChain\Model\Response\AsyncResponse;
77
use Symfony\Component\Dotenv\Dotenv;
@@ -15,19 +15,20 @@
1515
}
1616

1717
$platform = PlatformFactory::create($_ENV['OPENAI_API_KEY']);
18-
$llm = new DallE(DallE::DALL_E_3);
1918

2019
$response = $platform->request(
21-
model: $llm,
20+
model: new DallE(),
2221
input: 'A cartoon-style elephant with a long trunk and large ears.',
23-
options: ['response_format' => 'url', 'n' => 1],
22+
options: [
23+
'version' => DallE::DALL_E_3, // Utilize Dall-E 3 version
24+
],
2425
);
2526

2627
if ($response instanceof AsyncResponse) {
2728
$response = $response->unwrap();
2829
}
2930

30-
assert($response instanceof ImagesResponse);
31+
assert($response instanceof ImageResponse);
3132

3233
echo 'Revised Prompt: '.$response->revisedPrompt.PHP_EOL.PHP_EOL;
3334

src/Bridge/OpenAI/DallE.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@
1414
/** @param array<string, mixed> $options The default options for the model usage */
1515
public function __construct(
1616
private string $version = self::DALL_E_2,
17-
private array $options = [
18-
'response_format' => 'url',
19-
'n' => 1,
20-
],
17+
private array $options = [],
2118
) {
2219
}
2320

src/Bridge/OpenAI/DallE/ImagesResponse.php renamed to src/Bridge/OpenAI/DallE/ImageResponse.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use PhpLlm\LlmChain\Model\Response\ResponseInterface;
88

9-
class ImagesResponse implements ResponseInterface
9+
class ImageResponse implements ResponseInterface
1010
{
1111
/** @var list<Base64Image|UrlImage> */
1212
private readonly array $images;

src/Bridge/OpenAI/DallE/ModelClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,6 @@ public function convert(HttpResponse $response, array $options = []): LlmRespons
6161
$images[] = new Base64Image($image['b64_json']);
6262
}
6363

64-
return new ImagesResponse($image['revised_prompt'] ?? null, ...$images);
64+
return new ImageResponse($image['revised_prompt'] ?? null, ...$images);
6565
}
6666
}

tests/Bridge/OpenAI/DallE/ImagesResponseTest.php renamed to tests/Bridge/OpenAI/DallE/ImageResponseTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,25 @@
55
namespace PhpLlm\LlmChain\Tests\Bridge\OpenAI\DallE;
66

77
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\Base64Image;
8-
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ImagesResponse;
8+
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ImageResponse;
99
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\UrlImage;
1010
use PHPUnit\Framework\Attributes\CoversClass;
1111
use PHPUnit\Framework\Attributes\Small;
1212
use PHPUnit\Framework\Attributes\Test;
1313
use PHPUnit\Framework\Attributes\UsesClass;
1414
use PHPUnit\Framework\TestCase;
1515

16-
#[CoversClass(ImagesResponse::class)]
16+
#[CoversClass(ImageResponse::class)]
1717
#[UsesClass(Base64Image::class)]
1818
#[UsesClass(UrlImage::class)]
1919
#[Small]
20-
final class ImagesResponseTest extends TestCase
20+
final class ImageResponseTest extends TestCase
2121
{
2222
#[Test]
2323
public function itCreatesImagesResponse(): void
2424
{
2525
$base64Image = new Base64Image('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==');
26-
$generatedImagesResponse = new ImagesResponse(null, $base64Image);
26+
$generatedImagesResponse = new ImageResponse(null, $base64Image);
2727

2828
self::assertNull($generatedImagesResponse->revisedPrompt);
2929
self::assertCount(1, $generatedImagesResponse->getContent());
@@ -34,7 +34,7 @@ public function itCreatesImagesResponse(): void
3434
public function itCreatesImagesResponseWithRevisedPrompt(): void
3535
{
3636
$base64Image = new Base64Image('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==');
37-
$generatedImagesResponse = new ImagesResponse('revised prompt', $base64Image);
37+
$generatedImagesResponse = new ImageResponse('revised prompt', $base64Image);
3838

3939
self::assertSame('revised prompt', $generatedImagesResponse->revisedPrompt);
4040
self::assertCount(1, $generatedImagesResponse->getContent());
@@ -47,7 +47,7 @@ public function itIsCreatableWithMultipleImages(): void
4747
$image1 = new UrlImage('https://example');
4848
$image2 = new UrlImage('https://example2');
4949

50-
$generatedImagesResponse = new ImagesResponse(null, $image1, $image2);
50+
$generatedImagesResponse = new ImageResponse(null, $image1, $image2);
5151

5252
self::assertCount(2, $generatedImagesResponse->getContent());
5353
self::assertSame($image1, $generatedImagesResponse->getContent()[0]);

tests/Bridge/OpenAI/DallE/ModelClientTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use PhpLlm\LlmChain\Bridge\OpenAI\DallE;
88
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\Base64Image;
9-
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ImagesResponse;
9+
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ImageResponse;
1010
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\ModelClient;
1111
use PhpLlm\LlmChain\Bridge\OpenAI\DallE\UrlImage;
1212
use PHPUnit\Framework\Attributes\CoversClass;
@@ -25,7 +25,7 @@
2525
#[UsesClass(HttpClientInterface::class)]
2626
#[UsesClass(UrlImage::class)]
2727
#[UsesClass(Base64Image::class)]
28-
#[UsesClass(ImagesResponse::class)]
28+
#[UsesClass(ImageResponse::class)]
2929
#[Small]
3030
final class ModelClientTest extends TestCase
3131
{
@@ -86,7 +86,7 @@ public function itIsConvertingTheResponseWithRevisedPrompt(): void
8686
$modelClient = new ModelClient(new MockHttpClient(), 'sk-api-key');
8787
$response = $modelClient->convert($httpResponse, ['response_format' => 'b64_json']);
8888

89-
self::assertInstanceOf(ImagesResponse::class, $response);
89+
self::assertInstanceOf(ImageResponse::class, $response);
9090
self::assertCount(1, $response->getContent());
9191
self::assertInstanceOf(Base64Image::class, $response->getContent()[0]);
9292
self::assertSame($emptyPixel, $response->getContent()[0]->encodedImage);

tests/Bridge/OpenAI/DallETest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function itCreatesDallEWithDefaultSettings(): void
2020
$dallE = new DallE();
2121

2222
self::assertSame(DallE::DALL_E_2, $dallE->getVersion());
23-
self::assertSame(['response_format' => 'url', 'n' => 1], $dallE->getOptions());
23+
self::assertSame([], $dallE->getOptions());
2424
}
2525

2626
#[Test]

0 commit comments

Comments
 (0)