diff --git a/LLama.Examples/Examples/GetEmbeddings.cs b/LLama.Examples/Examples/GetEmbeddings.cs index 35de82eb..9eab7c07 100644 --- a/LLama.Examples/Examples/GetEmbeddings.cs +++ b/LLama.Examples/Examples/GetEmbeddings.cs @@ -6,21 +6,38 @@ namespace LLama.Examples.Examples { public static void Run() { + Console.ForegroundColor = ConsoleColor.White; Console.Write("Please input your model path: "); var modelPath = Console.ReadLine(); - var @params = new ModelParams(modelPath); + Console.ForegroundColor = ConsoleColor.DarkGray; + var @params = new ModelParams(modelPath) { EmbeddingMode = true }; using var weights = LLamaWeights.LoadFromFile(@params); var embedder = new LLamaEmbedder(weights, @params); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine( + """ + This example displays embeddings from a text prompt. + Embeddings are numerical codes that represent information like words, images, or concepts. + These codes capture important relationships between those objects, + like how similar words are in meaning or how close images are visually. + This allows machine learning models to efficiently understand and process complex data. + Embeddings of a text in LLM is sometimes useful, for example, to train other MLP models. + """); // NOTE: this description was AI generated + while (true) { + Console.ForegroundColor = ConsoleColor.White; Console.Write("Please input your text: "); Console.ForegroundColor = ConsoleColor.Green; var text = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.White; - Console.WriteLine(string.Join(", ", embedder.GetEmbeddings(text))); + float[] embeddings = embedder.GetEmbeddings(text).Result; + Console.WriteLine($"Embeddings contain {embeddings.Length:N0} floating point values:"); + Console.ForegroundColor = ConsoleColor.DarkGray; + Console.WriteLine(string.Join(", ", embeddings.Take(20)) + ", ..."); Console.WriteLine(); } } diff --git a/docs/Examples/GetEmbeddings.md b/docs/Examples/GetEmbeddings.md index e827271f..56c0b995 100644 --- a/docs/Examples/GetEmbeddings.md +++ b/docs/Examples/GetEmbeddings.md @@ -14,7 +14,8 @@ public class GetEmbeddings { Console.Write("Please input your model path: "); string modelPath = Console.ReadLine(); - var embedder = new LLamaEmbedder(new ModelParams(modelPath)); + var modelParams = new ModelParams(modelPath) { EmbeddingMode = true }; + var embedder = new LLamaEmbedder(modelParams); while (true) {