Skip to content

Commit bb662ec

Browse files
docs: testing.md to add Embeddings (#280)
1 parent b06e47b commit bb662ec

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

docs/core-concepts/testing.md

+31
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,37 @@ it('can generate structured response', function () {
281281
});
282282
```
283283

284+
## Testing Embeddings
285+
286+
```
287+
use Prism\Prism\Prism;
288+
use Prism\Prism\Enums\Provider;
289+
use Prism\Prism\ValueObjects\Embedding;
290+
use Prism\Prism\ValueObjects\EmbeddingsUsage;
291+
use Prism\Prism\Embeddings\Response as EmbeddingsResponse;
292+
293+
it('can generate embeddings', function () {
294+
$fakeResponse = new EmbeddingsResponse(
295+
embeddings: [new Embedding(array_fill(0, 1536, 0.1))],
296+
usage: new EmbeddingsUsage(
297+
tokens: 10,
298+
)
299+
);
300+
301+
Prism::fake([$fakeResponse]);
302+
303+
$response = Prism::embeddings()
304+
->using(Provider::OpenAI, 'text-embedding-3-small')
305+
->fromInput('Test content for embedding generation.')
306+
->generate();
307+
308+
expect($response->embeddings)->toHaveCount(1)
309+
->and($response->embeddings[0]->embedding)
310+
->toBeArray()
311+
->toHaveCount(1536);
312+
});
313+
```
314+
284315
## Assertions
285316

286317
PrismFake provides several helpful assertion methods:

0 commit comments

Comments
 (0)