File tree 1 file changed +31
-0
lines changed
1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -281,6 +281,37 @@ it('can generate structured response', function () {
281
281
});
282
282
```
283
283
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
+
284
315
## Assertions
285
316
286
317
PrismFake provides several helpful assertion methods:
You can’t perform that action at this time.
0 commit comments