|
321 | 321 | "source": [
|
322 | 322 | "async Task<float[]> ToEmbedding(string text) {\n",
|
323 | 323 | " GeneratedEmbeddings<Embedding<float>> embeddings = await generator\n",
|
324 |
| - " .GenerateAsync(text, new EmbeddingGenerationOptions{\n", |
325 |
| - " AdditionalProperties = new AdditionalPropertiesDictionary{\n", |
326 |
| - " {\"dimensions\", textEmeddingDimension}\n", |
327 |
| - " }\n", |
| 324 | + " .GenerateAsync([text], new EmbeddingGenerationOptions{\n", |
| 325 | + " Dimensions = textEmeddingDimension\n", |
328 | 326 | " });\n",
|
329 | 327 | "\n",
|
330 | 328 | " return embeddings.First().Vector.ToArray();\n",
|
331 | 329 | "}\n",
|
332 | 330 | "\n",
|
| 331 | + "async Task<IEnumerable<float[]>> ToEmbeddings(IEnumerable<string> items) {\n", |
| 332 | + " GeneratedEmbeddings<Embedding<float>> embeddings = await generator\n", |
| 333 | + " .GenerateAsync(items, new EmbeddingGenerationOptions{\n", |
| 334 | + " Dimensions = textEmeddingDimension\n", |
| 335 | + " });\n", |
| 336 | + "\n", |
| 337 | + " return embeddings.Select(x => x.Vector.ToArray());\n", |
| 338 | + "}\n", |
| 339 | + "\n", |
333 | 340 | "var embedding = await ToEmbedding(\"The quick brown fox jumps over the lazy dog\");\n",
|
334 | 341 | "display($\"Dimensions length = {embedding.Length}\");\n"
|
335 | 342 | ]
|
|
354 | 361 | },
|
355 | 362 | "outputs": [],
|
356 | 363 | "source": [
|
357 |
| - "foreach(var book in books)\n", |
| 364 | + "var embeddings = (await ToEmbedding(books.Select(x => x.Title))).ToArray();\n", |
| 365 | + "for(var i = 0; i < embeddings.Length; i++)\n", |
358 | 366 | "{\n",
|
359 |
| - " book.TitleVector = await ToEmbedding(book.Title);\n", |
| 367 | + " books[i].TitleVector = embeddings[i];\n", |
360 | 368 | "}"
|
361 | 369 | ]
|
362 | 370 | },
|
|
0 commit comments