Skip to content

Commit c5ddaeb

Browse files
author
Piotr Stachaczynski
committed
cleanup
1 parent 1c6c742 commit c5ddaeb

File tree

6 files changed

+23
-31
lines changed

6 files changed

+23
-31
lines changed

src/MaIN.Services/Services/LLMService/Memory/Embeddings/LLamaEmbedderOwn.cs renamed to src/MaIN.Services/Services/LLMService/Memory/Embeddings/LLamaEmbedderMaINClone.cs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@ namespace MaIN.Services.Services.LLMService.Memory.Embeddings;
1010
using LLama.Abstractions;
1111
using LLama.Exceptions;
1212
using LLama.Native;
13-
using Microsoft.Extensions.AI;
1413
using Microsoft.Extensions.Logging;
15-
using static System.Net.Mime.MediaTypeNames;
1614

1715
/// <summary>
18-
/// Generate high dimensional embedding vectors from text
16+
/// Generate high dimensional embedding vectors from text, Clone in MaIN.NET
1917
/// </summary>
20-
public sealed partial class LLamaEmbedderOwn
18+
public sealed class LLamaEmbedderMaINClone
2119
: IDisposable
2220
{
2321
public LLamaWeights _weights;
@@ -41,7 +39,7 @@ public sealed partial class LLamaEmbedderOwn
4139
/// <param name="weights"></param>
4240
/// <param name="params"></param>
4341
/// <param name="logger"></param>
44-
public LLamaEmbedderOwn(LLamaWeights weights, IContextParams @params, ILogger? logger = null)
42+
public LLamaEmbedderMaINClone(LLamaWeights weights, IContextParams @params, ILogger? logger = null)
4543
{
4644
if (@params.UBatchSize != @params.BatchSize)
4745
throw new ArgumentException("For non-causal models, batch size must be equal to ubatch size", nameof(@params));
@@ -63,7 +61,7 @@ public void Dispose()
6361

6462
/// <summary>
6563
/// Get high dimensional embedding vectors for the given text. Depending on the pooling type used when constructing
66-
/// this <see cref="LLamaEmbedderOwn"/> this may return an embedding vector per token, or one single embedding vector for the entire string.
64+
/// this <see cref="LLamaEmbedderMaINClone"/> this may return an embedding vector per token, or one single embedding vector for the entire string.
6765
/// </summary>
6866
/// <remarks>Embedding vectors are not normalized, consider using one of the extensions in <see cref="SpanNormalizationExtensions"/>.</remarks>
6967
/// <param name="input"></param>
@@ -86,10 +84,6 @@ public async Task<IReadOnlyList<float[]>> GetEmbeddings(string input, Cancellati
8684
if (tokens.Length > Context.ContextSize)
8785
throw new ArgumentException($"Embedding prompt is longer than the context window ({tokens.Length} > {Context.ContextSize})", nameof(input));
8886

89-
// clear previous kv_cache values
90-
//Context.NativeHandle.KvCacheClear();
91-
92-
// Check if we should cancel the work, just before doing anything expensive (encode/decode)
9387
cancellationToken.ThrowIfCancellationRequested();
9488

9589
// Evaluate prompt in batch-size chunks
@@ -142,9 +136,7 @@ public async Task<IReadOnlyList<float[]>> GetEmbeddings(string input, Cancellati
142136
{
143137
embedding.EuclideanNormalization();
144138
}
145-
146-
//Context.Dispose();
147-
139+
148140
return (results, tokens.Length);
149141
}
150142
}

src/MaIN.Services/Services/LLMService/Memory/Embeddings/LLamaEmbeddingGenOwn.cs renamed to src/MaIN.Services/Services/LLMService/Memory/Embeddings/LLamaSharpTextEmbeddingMaINClone.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,26 @@
1010
namespace LLamaSharp.KernelMemory
1111
{
1212
/// <summary>
13-
/// Provides text embedding generation for LLamaSharp.
13+
/// Provides text embedding generation for LLamaSharp. - Clone in MaIN.Package to support embeddings in custom manner
1414
/// </summary>
15-
public sealed class LLamaSharpTextEmbeddingOwn
15+
public sealed class LLamaSharpTextEmbeddingMaINClone
1616
: ITextEmbeddingGenerator, IDisposable
1717
{
1818
private LLamaWeights? _weights;
1919
private readonly bool _ownsWeights;
2020

21-
public readonly LLamaEmbedderOwn _embedder;
21+
public readonly LLamaEmbedderMaINClone _embedder;
2222
private readonly bool _ownsEmbedder;
2323
public ModelParams? @params;
2424

2525
/// <inheritdoc/>
2626
public int MaxTokens { get; }
2727

2828
/// <summary>
29-
/// Initializes a new instance of the <see cref="LLamaSharpTextEmbeddingOwn"/> class.
29+
/// Initializes a new instance of the <see cref="LLamaSharpTextEmbeddingMaINClone"/> class.
3030
/// </summary>
3131
/// <param name="config">The configuration for LLamaSharp.</param>
32-
public LLamaSharpTextEmbeddingOwn(LLamaSharpConfig config)
32+
public LLamaSharpTextEmbeddingMaINClone(LLamaSharpConfig config)
3333
{
3434
MaxTokens = (int?)config.ContextSize ?? 2048;
3535

@@ -47,17 +47,17 @@ public LLamaSharpTextEmbeddingOwn(LLamaSharpConfig config)
4747
};
4848

4949
_weights = LLamaWeights.LoadFromFile(@params);
50-
_embedder = new LLamaEmbedderOwn(_weights, @params);
50+
_embedder = new LLamaEmbedderMaINClone(_weights, @params);
5151
_ownsWeights = true;
5252
_ownsEmbedder = true;
5353
}
5454

5555
/// <summary>
56-
/// Initializes a new instance of the <see cref="LLamaSharpTextEmbeddingOwn"/> class from reused weights.
56+
/// Initializes a new instance of the <see cref="LLamaSharpTextEmbeddingMaINClone"/> class from reused weights.
5757
/// </summary>
5858
/// <param name="config">The configuration for LLamaSharp.</param>
5959
/// <param name="weights">A LLamaWeights object.</param>
60-
public LLamaSharpTextEmbeddingOwn(LLamaSharpConfig config, LLamaWeights weights)
60+
public LLamaSharpTextEmbeddingMaINClone(LLamaSharpConfig config, LLamaWeights weights)
6161
{
6262
MaxTokens = (int?)config.ContextSize ?? 2048;
6363

@@ -74,16 +74,16 @@ public LLamaSharpTextEmbeddingOwn(LLamaSharpConfig config, LLamaWeights weights)
7474
PoolingType = LLamaPoolingType.Mean,
7575
};
7676
_weights = weights;
77-
_embedder = new LLamaEmbedderOwn(_weights, @params);
77+
_embedder = new LLamaEmbedderMaINClone(_weights, @params);
7878
_ownsWeights = true;
7979
_ownsEmbedder = true;
8080
}
8181

8282
/// <summary>
83-
/// Initializes a new instance of the <see cref="LLamaSharpTextEmbeddingOwn"/> class from reused embedder.
83+
/// Initializes a new instance of the <see cref="LLamaSharpTextEmbeddingMaINClone"/> class from reused embedder.
8484
/// </summary>
8585
/// <param name="embedder">A LLamaEmbedder object.</param>
86-
public LLamaSharpTextEmbeddingOwn(LLamaEmbedderOwn embedder)
86+
public LLamaSharpTextEmbeddingMaINClone(LLamaEmbedderMaINClone embedder)
8787
{
8888
_embedder = embedder;
8989
}

src/MaIN.Services/Services/LLMService/Memory/IMemoryFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace MaIN.Services.Services.LLMService.Memory;
99
public interface IMemoryFactory
1010
{
1111
[Experimental("KMEXP00")]
12-
(IKernelMemory km, LLamaSharpTextEmbeddingOwn generator, LlamaSharpTextGen textGenerator)
12+
(IKernelMemory km, LLamaSharpTextEmbeddingMaINClone generator, LlamaSharpTextGen textGenerator)
1313
CreateMemoryWithModel(string modelsPath, LLamaWeights llmModel, string modelName,
1414
MemoryParams memoryParams);
1515
IKernelMemory CreateMemoryWithOpenAi(string openAiKey, MemoryParams memoryParams);

src/MaIN.Services/Services/LLMService/Memory/KernelMemoryLlamaExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public static IKernelMemoryBuilder WithLLamaSharpTextGeneration(
4646

4747
public static IKernelMemoryBuilder WithLLamaSharpTextEmbeddingOwnGeneration(
4848
this IKernelMemoryBuilder builder,
49-
LLamaSharpTextEmbeddingOwn textEmbeddingGenerator)
49+
LLamaSharpTextEmbeddingMaINClone textEmbeddingGenerator)
5050
{
5151
builder.AddSingleton((ITextEmbeddingGenerator) textEmbeddingGenerator);
5252
builder.AddIngestionEmbeddingGenerator(textEmbeddingGenerator);

src/MaIN.Services/Services/LLMService/Memory/MemoryFactory.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace MaIN.Services.Services.LLMService.Memory;
1515
public class MemoryFactory() : IMemoryFactory
1616
{
1717
[Experimental("KMEXP00")]
18-
public (IKernelMemory km, LLamaSharpTextEmbeddingOwn generator, LlamaSharpTextGen textGenerator)
18+
public (IKernelMemory km, LLamaSharpTextEmbeddingMaINClone generator, LlamaSharpTextGen textGenerator)
1919
CreateMemoryWithModel(string modelsPath,
2020
LLamaWeights model,
2121
string modelName,
@@ -90,7 +90,7 @@ private string ResolvePath(string modelsPath)
9090
return path;
9191
}
9292

93-
private static LLamaSharpTextEmbeddingOwn ConfigureGeneratorOptions(string embeddingModelPath,
93+
private static LLamaSharpTextEmbeddingMaINClone ConfigureGeneratorOptions(string embeddingModelPath,
9494
string modelPath, MemoryParams memoryParams)
9595
{
9696
var inferenceParams = new InferenceParams
@@ -113,7 +113,7 @@ private static LLamaSharpTextEmbeddingOwn ConfigureGeneratorOptions(string embed
113113
};
114114

115115
var weights = LLamaWeights.LoadFromFile(parameters);
116-
return new LLamaSharpTextEmbeddingOwn(config, weights);
116+
return new LLamaSharpTextEmbeddingMaINClone(config, weights);
117117
}
118118

119119
private static SearchClientConfig ConfigureSearchOptions(MemoryParams memoryParams)

src/MaIN.Services/Services/LLMService/Memory/MemoryService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private static async Task PreprocessAvailableDocuments(ChatMemoryOptions options
125125

126126
private void PostImport(ITextEmbeddingGenerator? memoryGenerator)
127127
{
128-
if (memoryGenerator is LLamaSharpTextEmbeddingOwn llamaGenerator)
128+
if (memoryGenerator is LLamaSharpTextEmbeddingMaINClone llamaGenerator)
129129
{
130130
llamaGenerator._embedder.Context.Dispose();
131131
llamaGenerator._embedder.isContextDisposed = true;
@@ -134,7 +134,7 @@ private void PostImport(ITextEmbeddingGenerator? memoryGenerator)
134134

135135
private void PreImport(ITextEmbeddingGenerator? memoryGenerator)
136136
{
137-
if (memoryGenerator is LLamaSharpTextEmbeddingOwn { _embedder.isContextDisposed: true } llamaGenerator)
137+
if (memoryGenerator is LLamaSharpTextEmbeddingMaINClone { _embedder.isContextDisposed: true } llamaGenerator)
138138
{
139139
llamaGenerator._embedder.Context = llamaGenerator
140140
._embedder

0 commit comments

Comments
 (0)