diff --git a/Directory.Packages.props b/Directory.Packages.props
index 875f181..99d9a19 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -4,7 +4,7 @@
true
8.6.0
8.2.0
- 9.0.0-preview.9.24507.7
+ 9.0.0-preview.9.24525.1
@@ -18,11 +18,11 @@
+
-
@@ -34,10 +34,10 @@
-
-
-
-
+
+
+
+
diff --git a/seeddata/DataGenerator/Generators/TicketThreadGenerator.cs b/seeddata/DataGenerator/Generators/TicketThreadGenerator.cs
index 5ac08da..6062fd5 100644
--- a/seeddata/DataGenerator/Generators/TicketThreadGenerator.cs
+++ b/seeddata/DataGenerator/Generators/TicketThreadGenerator.cs
@@ -164,16 +164,17 @@ private class AssistantTools(IEmbeddingGenerator> embed
{
// Obviously it would be more performant to chunk and embed each manual only once, but this is simpler for now
var chunks = SplitIntoChunks(manual.MarkdownText, 200).ToList();
- var embeddings = await embedder.GenerateAsync(chunks);
- var candidates = chunks.Zip(embeddings);
- var queryEmbedding = (await embedder.GenerateAsync(query)).Single();
-
- var closest = candidates
- .Select(c => new { Text = c.First, Similarity = TensorPrimitives.CosineSimilarity(c.Second.Vector.Span, queryEmbedding.Vector.Span) })
- .OrderByDescending(c => c.Similarity)
- .Take(3)
- .Where(c => c.Similarity > 0.6f)
- .ToList();
+
+ var candidates = await embedder.GenerateAndZipAsync(chunks);
+ var queryEmbedding = await embedder.GenerateEmbeddingAsync(query);
+
+ var closest =
+ candidates
+ .Select(c => new { Text = c.Value, Similarity = TensorPrimitives.CosineSimilarity(c.Embedding.Vector.Span, queryEmbedding.Vector.Span) })
+ .OrderByDescending(c => c.Similarity)
+ .Take(3)
+ .Where(c => c.Similarity > 0.6f)
+ .ToList();
if (closest.Any())
{
diff --git a/src/Backend/Api/AssistantApi.cs b/src/Backend/Api/AssistantApi.cs
index ab1131e..e5fcd94 100644
--- a/src/Backend/Api/AssistantApi.cs
+++ b/src/Backend/Api/AssistantApi.cs
@@ -1,4 +1,5 @@
using System.ComponentModel;
+using System.Runtime.InteropServices;
using System.Text;
using System.Text.Json;
using System.Text.RegularExpressions;
@@ -105,24 +106,28 @@ public async Task