From e8a1794839eeaa2d65ddd87b59be960a0c984fdf Mon Sep 17 00:00:00 2001
From: Rinne <AsakusaRinne@gmail.com>
Date: Wed, 29 May 2024 03:23:12 +0800
Subject: [PATCH 1/2] refactor: the directory structure.

---
 .github/prepare_release.sh                    |  10 +-
 .github/workflows/benchmark.yml               |  14 +-
 .github/workflows/main.yml                    |   2 +-
 .github/workflows/release-minor.yml           |   8 +-
 .github/workflows/release-patch.yml           |   8 +-
 LLamaSharp.sln                                | 359 +++++++++---------
 README.md                                     |   6 +-
 .../LLama.Examples}/Assets/alpaca.txt         |   0
 .../LLama.Examples}/Assets/chat-with-bob.json |   0
 .../LLama.Examples}/Assets/chat-with-bob.txt  |   0
 .../Assets/chat-with-kunkun-chinese.json      |   0
 .../Assets/chat-with-kunkun-chinese.txt       |   0
 .../Assets/chat-with-vicuna-v0.txt            |   0
 .../Assets/chat-with-vicuna-v1.txt            |   0
 .../LLama.Examples}/Assets/chat.txt           |   0
 .../LLama.Examples}/Assets/dan.txt            |   0
 .../LLama.Examples}/Assets/json.gbnf          |   0
 .../LLama.Examples}/Assets/reason-act.txt     |   0
 .../Assets/sample-KM-Readme.pdf               | Bin
 .../Assets/sample-SK-Readme.pdf               | Bin
 .../LLama.Examples}/ExampleRunner.cs          |   0
 .../Examples/BatchedExecutorFork.cs           |   0
 .../Examples/BatchedExecutorGuidance.cs       |   0
 .../Examples/BatchedExecutorRewind.cs         |   0
 .../Examples/BatchedExecutorSaveAndLoad.cs    |   0
 .../Examples/ChatChineseGB2312.cs             |   0
 .../Examples/ChatSessionStripRoleName.cs      |   0
 .../Examples/ChatSessionWithHistory.cs        |   0
 .../Examples/ChatSessionWithRestart.cs        |   0
 .../Examples/ChatSessionWithRoleName.cs       |   0
 .../Examples/CodingAssistant.cs               |   0
 .../LLama.Examples}/Examples/GetEmbeddings.cs |   0
 .../Examples/GrammarJsonResponse.cs           |   0
 .../Examples/InstructModeExecute.cs           |   0
 .../Examples/InteractiveModeExecute.cs        |   0
 .../LLama.Examples}/Examples/KernelMemory.cs  |   0
 .../Examples/KernelMemorySaveAndLoad.cs       |   0
 .../Examples/LLama3ChatSession.cs             |   0
 .../Examples/LlavaInteractiveModeExecute.cs   |   0
 .../Examples/LoadAndSaveSession.cs            |   0
 .../Examples/LoadAndSaveState.cs              |   0
 .../LLama.Examples}/Examples/QuantizeModel.cs |   0
 .../Examples/SemanticKernelChat.cs            |   0
 .../Examples/SemanticKernelMemory.cs          |   0
 .../Examples/SemanticKernelPrompt.cs          |   0
 .../LLama.Examples}/Examples/SpeechChat.cs    |   0
 .../Examples/StatelessModeExecute.cs          |   0
 .../Examples/TalkToYourself.cs                |   0
 .../Extensions/IAsyncEnumerableExtensions.cs  |   0
 .../LLama.Examples}/LLama.Examples.csproj     |  12 +-
 .../LLama.Examples}/Program.cs                |   0
 .../LLama.Examples}/UserSettings.cs           |   0
 .../LLama.Web}/Async/AsyncGuard.cs            |   0
 .../LLama.Web}/Async/AsyncLock.cs             |   0
 .../LLama.Web}/Common/ISessionConfig.cs       |   0
 .../LLama.Web}/Common/InferenceOptions.cs     |   0
 .../LLama.Web}/Common/LLamaExecutorType.cs    |   0
 .../LLama.Web}/Common/LLamaOptions.cs         |   0
 .../LLama.Web}/Common/ModelLoadType.cs        |   0
 .../LLama.Web}/Common/ModelOptions.cs         |   0
 .../LLama.Web}/Common/ServiceResult.cs        |   0
 .../LLama.Web}/Common/SessionConfig.cs        |   0
 .../Common/SessionConnectionStatus.cs         |   0
 .../LLama.Web}/Extensions.cs                  |   0
 .../LLama.Web}/Hubs/ISessionClient.cs         |   0
 .../LLama.Web}/Hubs/SessionConnectionHub.cs   |   0
 .../LLama.Web}/LLama.Web.csproj               |   4 +-
 .../LLama.Web}/Models/LLamaModel.cs           |   0
 .../LLama.Web}/Models/ModelSession.cs         |   0
 .../LLama.Web}/Models/TokenModel.cs           |   0
 .../LLama.Web}/Pages/Error.cshtml             |   0
 .../LLama.Web}/Pages/Error.cshtml.cs          |   0
 .../LLama.Web}/Pages/Index.cshtml             |   0
 .../LLama.Web}/Pages/Index.cshtml.cs          |   0
 .../Pages/Shared/_ChatTemplates.cshtml        |   0
 .../LLama.Web}/Pages/Shared/_Layout.cshtml    |   0
 .../Pages/Shared/_Layout.cshtml.css           |   0
 .../Pages/Shared/_Parameters.cshtml           |   0
 .../Shared/_ValidationScriptsPartial.cshtml   |   0
 .../LLama.Web}/Pages/_ViewImports.cshtml      |   0
 .../LLama.Web}/Pages/_ViewStart.cshtml        |   0
 {LLama.Web => samples/LLama.Web}/Program.cs   |   0
 {LLama.Web => samples/LLama.Web}/README.md    |   0
 .../LLama.Web}/Services/IModelService.cs      |   0
 .../Services/IModelSessionService.cs          |   0
 .../LLama.Web}/Services/ModelLoaderService.cs |   0
 .../LLama.Web}/Services/ModelService.cs       |   0
 .../Services/ModelSessionService.cs           |   0
 .../LLama.Web}/appsettings.Development.json   |   0
 .../LLama.Web}/appsettings.json               |   0
 {LLama.Web => samples/LLama.Web}/libman.json  |   0
 .../LLama.Web}/wwwroot/css/site.css           |   0
 .../LLama.Web}/wwwroot/favicon.ico            | Bin
 .../wwwroot/fonts/Roboto-Regular.ttf          | Bin
 .../LLama.Web}/wwwroot/image/llama-sharp.png  | Bin
 .../LLama.Web}/wwwroot/image/loading.gif      | Bin
 .../wwwroot/js/sessionConnectionChat.js       |   0
 .../LLama.Web}/wwwroot/js/site.js             |   0
 .../LLama.Web}/wwwroot/js/theme.js            |   0
 .../jquery-validation-unobtrusive/LICENSE.txt |   0
 .../jquery.validate.unobtrusive.js            |   0
 .../jquery.validate.unobtrusive.min.js        |   0
 .../wwwroot/lib/jquery-validation/LICENSE.md  |   0
 .../dist/additional-methods.js                |   0
 .../dist/additional-methods.min.js            |   0
 .../jquery-validation/dist/jquery.validate.js |   0
 .../dist/jquery.validate.min.js               |   0
 .../lib/jquery.unobtrusive-ajax.min.js        |   0
 .../LLama.Web}/wwwroot/lib/jquery/jquery.js   |   0
 .../wwwroot/lib/jquery/jquery.min.js          |   0
 .../wwwroot/lib/jquery/jquery.min.map         |   0
 .../wwwroot/lib/jquery/jquery.slim.js         |   0
 .../wwwroot/lib/jquery/jquery.slim.min.js     |   0
 .../wwwroot/lib/jquery/jquery.slim.min.map    |   0
 .../wwwroot/lib/mustache/mustache.js          |   0
 .../wwwroot/lib/signalr/signalr.min.js        |   0
 .../Controllers/ChatController.cs             |   0
 .../LLama.WebAPI}/LLama.WebAPI.csproj         |   4 +-
 .../LLama.WebAPI}/Models/SendMessageInput.cs  |   0
 .../LLama.WebAPI}/Program.cs                  |  64 ++--
 .../Services/StatefulChatService.cs           |   0
 .../Services/StatelessChatService.cs          |   0
 .../appsettings.Development.json              |  16 +-
 .../LLama.WebAPI}/appsettings.json            |   0
 .../NativeLibraryAutoDownloadExtension.cs     |   0
 .../LLama.Experimental.csproj                 |   0
 .../Native/AutoDownloadedLibraries.cs         |   0
 .../Native/NativeLibraryDownloader.cs         |   0
 .../Native/SelectingPolicyWithAutoDownload.cs |   0
 .../LLama.KernelMemory}/BuilderExtensions.cs  |   0
 .../LLamaSharp.KernelMemory.csproj            |   0
 .../LLamaSharpTextEmbeddingGenerator.cs       |   0
 .../LLama.KernelMemory}/LlamaSharpConfig.cs   |   0
 .../LlamaSharpTextGenerator.cs                |   0
 .../ChatCompletion/ChatRequestSettings.cs     |   0
 .../ChatRequestSettingsConverter.cs           |   0
 .../ChatCompletion/HistoryTransform.cs        |   0
 .../LLamaSharpChatCompletion.cs               |   0
 .../LLama.SemanticKernel}/ExtensionMethods.cs |   0
 .../LLamaSharp.SemanticKernel.csproj          |   0
 .../LLamaSharpPromptExecutionSettings.cs      |   0
 ...maSharpPromptExecutionSettingsConverter.cs |   0
 .../LLama.SemanticKernel}/README.md           |   0
 .../LLamaSharpTextCompletion.cs               |   0
 .../LLamaSharpEmbeddingGeneration.cs          |   0
 .../LLama}/Abstractions/IContextParams.cs     |   0
 .../LLama}/Abstractions/IHistoryTransform.cs  |   0
 .../LLama}/Abstractions/IInferenceParams.cs   |   0
 .../LLama}/Abstractions/ILLamaExecutor.cs     |   0
 .../LLama}/Abstractions/ILLamaParams.cs       |   0
 .../LLama}/Abstractions/IModelParams.cs       |   0
 .../LLama}/Abstractions/INativeLibrary.cs     |   0
 .../INativeLibrarySelectingPolicy.cs          |   0
 .../Abstractions/ITextStreamTransform.cs      |   0
 .../LLama}/Abstractions/ITextTransform.cs     |   0
 {LLama => src/LLama}/AntipromptProcessor.cs   |   0
 {LLama => src/LLama}/AssemblyAttributes.cs    |   0
 .../LLama}/Batched/BatchedExecutor.cs         |   0
 {LLama => src/LLama}/Batched/Conversation.cs  |   0
 .../LLama}/Batched/ConversationExtensions.cs  |   0
 {LLama => src/LLama}/Batched/Exceptions.cs    |   0
 .../LLama}/Batched/LLamaContextExtensions.cs  |   0
 {LLama => src/LLama}/ChatSession.cs           |   0
 {LLama => src/LLama}/Common/ChatHistory.cs    |   0
 {LLama => src/LLama}/Common/FixedSizeQueue.cs |   0
 .../LLama}/Common/InferenceParams.cs          |   0
 {LLama => src/LLama}/Common/ModelParams.cs    |   0
 .../LLama}/Common/PolymorphicJSONConverter.cs |   0
 .../Exceptions/GrammarFormatExceptions.cs     |   0
 .../LLama}/Exceptions/RuntimeError.cs         |   0
 .../LLama}/Extensions/DictionaryExtensions.cs |   0
 .../LLama}/Extensions/EncodingExtensions.cs   |   0
 .../Extensions/IContextParamsExtensions.cs    |   0
 .../Extensions/IEnumerableExtensions.cs       |   0
 .../Extensions/IModelParamsExtensions.cs      |   0
 .../Extensions/IReadOnlyListExtensions.cs     |   0
 .../Extensions/KeyValuePairExtensions.cs      |   0
 .../LLama}/Extensions/ListExtensions.cs       |   0
 {LLama => src/LLama}/GlobalSuppressions.cs    |   0
 .../LLama}/Grammars/GBNFGrammarParser.cs      |   0
 {LLama => src/LLama}/Grammars/Grammar.cs      |   0
 {LLama => src/LLama}/Grammars/GrammarRule.cs  |   0
 {LLama => src/LLama}/LLamaContext.cs          |   0
 {LLama => src/LLama}/LLamaEmbedder.cs         |   0
 {LLama => src/LLama}/LLamaExecutorBase.cs     |   0
 {LLama => src/LLama}/LLamaInstructExecutor.cs |   0
 {LLama => src/LLama}/LLamaInteractExecutor.cs |   0
 {LLama => src/LLama}/LLamaQuantizer.cs        |   0
 .../LLama}/LLamaSharp.Runtime.targets         |   0
 {LLama => src/LLama}/LLamaSharp.csproj        |   2 +-
 .../LLama}/LLamaStatelessExecutor.cs          |   0
 {LLama => src/LLama}/LLamaTemplate.cs         |   0
 {LLama => src/LLama}/LLamaTransforms.cs       |   0
 {LLama => src/LLama}/LLamaWeights.cs          |   0
 {LLama => src/LLama}/LLavaWeights.cs          |   0
 {LLama => src/LLama}/Native/DecodeResult.cs   |   0
 {LLama => src/LLama}/Native/GGMLType.cs       |   0
 {LLama => src/LLama}/Native/GPUSplitMode.cs   |   0
 .../LLama}/Native/GroupDisposable.cs          |   0
 {LLama => src/LLama}/Native/LLamaBatch.cs     |   0
 {LLama => src/LLama}/Native/LLamaBeamView.cs  |   0
 .../LLama}/Native/LLamaBeamsState.cs          |   0
 .../LLama}/Native/LLamaChatMessage.cs         |   0
 .../LLama}/Native/LLamaContextParams.cs       |   0
 {LLama => src/LLama}/Native/LLamaFtype.cs     |   0
 .../LLama}/Native/LLamaGrammarElement.cs      |   0
 .../LLama}/Native/LLamaKvCacheView.cs         |   0
 {LLama => src/LLama}/Native/LLamaLogLevel.cs  |   0
 .../Native/LLamaModelMetadataOverride.cs      |   0
 .../LLama}/Native/LLamaModelParams.cs         | 212 +++++------
 .../LLama}/Native/LLamaModelQuantizeParams.cs |   0
 .../LLama}/Native/LLamaNativeBatch.cs         |   0
 .../LLama}/Native/LLamaPoolingType.cs         |   0
 {LLama => src/LLama}/Native/LLamaPos.cs       |   0
 {LLama => src/LLama}/Native/LLamaRopeType.cs  |   0
 {LLama => src/LLama}/Native/LLamaSeqId.cs     |   0
 {LLama => src/LLama}/Native/LLamaTimings.cs   |   0
 {LLama => src/LLama}/Native/LLamaToken.cs     |   0
 {LLama => src/LLama}/Native/LLamaTokenData.cs |   0
 .../LLama}/Native/LLamaTokenDataArray.cs      |   0
 {LLama => src/LLama}/Native/LLamaTokenType.cs |   0
 .../LLama}/Native/LLamaVocabPreType.cs        |   0
 {LLama => src/LLama}/Native/LLamaVocabType.cs |   0
 .../LLama}/Native/LLavaImageEmbed.cs          |   0
 .../DefaultNativeLibrarySelectingPolicy.cs    |   0
 .../LLama}/Native/Load/NativeLibraryConfig.cs |   0
 .../Native/Load/NativeLibraryFromPath.cs      |   0
 .../Native/Load/NativeLibraryMetadata.cs      |   0
 .../LLama}/Native/Load/NativeLibraryUtils.cs  |   0
 .../Native/Load/NativeLibraryWithAvx.cs       |   0
 .../Native/Load/NativeLibraryWithCuda.cs      |   0
 .../Load/NativeLibraryWithMacOrFallback.cs    |   0
 .../LLama}/Native/Load/SystemInfo.cs          |   0
 .../Native/Load/UnknownNativeLibrary.cs       |   0
 .../LLama}/Native/NativeApi.BeamSearch.cs     |   0
 .../LLama}/Native/NativeApi.Grammar.cs        |   0
 .../LLama}/Native/NativeApi.LLava.cs          |   0
 {LLama => src/LLama}/Native/NativeApi.Load.cs |   0
 .../LLama}/Native/NativeApi.Quantize.cs       |   0
 .../LLama}/Native/NativeApi.Sampling.cs       |   0
 {LLama => src/LLama}/Native/NativeApi.cs      |   0
 .../LLama}/Native/NativeLogConfig.cs          |   0
 .../LLama}/Native/RopeScalingType.cs          |   0
 .../LLama}/Native/SafeLLamaContextHandle.cs   |   0
 .../LLama}/Native/SafeLLamaGrammarHandle.cs   |   0
 .../LLama}/Native/SafeLLamaHandleBase.cs      |   0
 .../LLama}/Native/SafeLlamaModelHandle.cs     |   0
 .../Native/SafeLlavaImageEmbedHandle.cs       |   0
 .../LLama}/Native/SafeLlavaModelHandle.cs     |   0
 .../LLama}/Native/llama_vocab_pre_type.cs     |   0
 .../LLama}/Sampling/BaseSamplingPipeline.cs   |   0
 .../Sampling/DefaultSamplingPipeline.cs       |   0
 .../LLama}/Sampling/GreedySamplingPipeline.cs |   0
 .../LLama}/Sampling/ISamplingPipeline.cs      |   0
 .../Sampling/Mirostat2SamplingPipeline.cs     |   0
 .../Sampling/MirostatSamplingPipeline.cs      |   0
 {LLama => src/LLama}/StreamingTokenDecoder.cs |   0
 {LLama => src/LLama}/Usings.cs                |   0
 .../build/LLamaSharp.Backend.Cpu.nuspec       |   0
 .../build/LLamaSharp.Backend.Cuda11.nuspec    |   0
 .../build/LLamaSharp.Backend.Cuda12.nuspec    |   0
 .../build/LLamaSharp.Backend.OpenCL.nuspec    |   0
 .../runtimes/build/LLamaSharpBackend.props    |   0
 .../LLama}/runtimes/build/icon512.png         | Bin
 .../LLama}/runtimes/build/temp.csproj         |   0
 .../LLama}/runtimes/deps/avx/libllama.dll     | Bin
 .../LLama}/runtimes/deps/avx/libllama.so      | Bin
 .../runtimes/deps/avx/libllava_shared.so      | Bin
 .../LLama}/runtimes/deps/avx/llama.dll        | Bin
 .../LLama}/runtimes/deps/avx/llava_shared.dll | Bin
 .../LLama}/runtimes/deps/avx2/libllama.dll    | Bin
 .../LLama}/runtimes/deps/avx2/libllama.so     | Bin
 .../runtimes/deps/avx2/libllava_shared.so     | Bin
 .../LLama}/runtimes/deps/avx2/llama.dll       | Bin
 .../runtimes/deps/avx2/llava_shared.dll       | Bin
 .../LLama}/runtimes/deps/avx512/libllama.dll  | Bin
 .../LLama}/runtimes/deps/avx512/libllama.so   | Bin
 .../runtimes/deps/avx512/libllava_shared.so   | Bin
 .../LLama}/runtimes/deps/avx512/llama.dll     | Bin
 .../runtimes/deps/avx512/llava_shared.dll     | Bin
 .../LLama}/runtimes/deps/clblast/clblast.dll  | Bin
 .../LLama}/runtimes/deps/clblast/libllama.so  | Bin
 .../runtimes/deps/clblast/libllava_shared.so  | Bin
 .../LLama}/runtimes/deps/clblast/llama.dll    | Bin
 .../runtimes/deps/clblast/llava_shared.dll    | Bin
 .../LLama}/runtimes/deps/cu11.7.1/libllama.so | Bin
 .../runtimes/deps/cu11.7.1/libllava_shared.so | Bin
 .../LLama}/runtimes/deps/cu11.7.1/llama.dll   | Bin
 .../runtimes/deps/cu11.7.1/llava_shared.dll   | Bin
 .../LLama}/runtimes/deps/cu12.1.0/libllama.so | Bin
 .../runtimes/deps/cu12.1.0/libllava_shared.so | Bin
 .../LLama}/runtimes/deps/cu12.1.0/llama.dll   | Bin
 .../runtimes/deps/cu12.1.0/llava_shared.dll   | Bin
 .../LLama}/runtimes/deps/libllama.dll         | Bin
 .../LLama}/runtimes/deps/libllama.so          | Bin
 .../LLama}/runtimes/deps/libllava_shared.so   | Bin
 {LLama => src/LLama}/runtimes/deps/llama.dll  | Bin
 .../LLama}/runtimes/deps/llava_shared.dll     | Bin
 .../runtimes/deps/osx-arm64/ggml-metal.metal  |   0
 .../runtimes/deps/osx-arm64/libllama.dylib    | Bin
 .../deps/osx-arm64/libllava_shared.dylib      | Bin
 .../runtimes/deps/osx-x64/libllama.dylib      | Bin
 .../deps/osx-x64/libllava_shared.dylib        | Bin
 .../Assets/TextCompletionPrompts.txt          |   0
 .../Assets/extreme-ironing-taxi-610x427.jpg   | Bin
 .../LLama.Benchmark}/Assets/models.txt        |   0
 .../LLama.Benchmark}/Common.cs                |   0
 .../LLama.Benchmark}/Constants.cs             |   0
 .../LLama.Benchmark}/LLama.Benchmark.csproj   |   4 +-
 .../LLamaExecutorBenchmark/Prefill.cs         |   0
 .../LLama.Benchmark}/Program.cs               |   0
 .../LLama.Unittest}/AssemblyAttributes.cs     |   0
 .../LLama.Unittest}/BasicTest.cs              |   0
 .../LLama.Unittest}/BeamTests.cs              |   0
 .../LLama.Unittest}/Constants.cs              |   0
 .../DictionaryExtensionsTests.cs              |   0
 .../EncodingExtensionsTests.cs                |   0
 .../LLama.Unittest}/FixedSizeQueueTests.cs    |   0
 .../LLama.Unittest}/GrammarParserTest.cs      |   0
 .../LLama.Unittest}/GrammarTest.cs            |   0
 .../IEnumerableExtensionsTests.cs             |   0
 .../IReadOnlyListExtensionsTests.cs           |   0
 .../KeyValuePairExtensionsTests.cs            |   0
 .../LLama.Unittest}/LLama.Unittest.csproj     |   8 +-
 .../LLama.Unittest}/LLamaContextTests.cs      |   0
 .../LLama.Unittest}/LLamaEmbedderTests.cs     |   0
 .../LLama.Unittest}/LLavaWeightsTests.cs      |   0
 .../LLama.Unittest}/MemoryDisposalTests.cs    |   0
 .../Models/extreme-ironing-taxi-610x427.jpg   | Bin
 .../LLama.Unittest}/ModelsParamsTests.cs      |   0
 .../ChatRequestSettingsConverterTests.cs      |   0
 .../ChatRequestSettingsTests.cs               |   0
 .../SemanticKernel/ExtensionMethodsTests.cs   |   0
 .../LLamaSharpChatCompletionTests.cs          |   0
 .../LLamaSharpTextCompletionTests.cs          |   0
 .../LLama.Unittest}/StatelessExecutorTest.cs  |   0
 .../StreamingTextDecoderTests.cs              |   0
 .../LLama.Unittest}/TemplateTests.cs          |   0
 .../LLama.Unittest}/TextTransformTests.cs     |   0
 .../LLama.Unittest}/TokenTests.cs             |   0
 .../LLama.Unittest}/Usings.cs                 |   0
 341 files changed, 375 insertions(+), 358 deletions(-)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/alpaca.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat-with-bob.json (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat-with-bob.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat-with-kunkun-chinese.json (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat-with-kunkun-chinese.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat-with-vicuna-v0.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat-with-vicuna-v1.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/chat.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/dan.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/json.gbnf (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/reason-act.txt (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/sample-KM-Readme.pdf (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Assets/sample-SK-Readme.pdf (100%)
 rename {LLama.Examples => samples/LLama.Examples}/ExampleRunner.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/BatchedExecutorFork.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/BatchedExecutorGuidance.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/BatchedExecutorRewind.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/BatchedExecutorSaveAndLoad.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/ChatChineseGB2312.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/ChatSessionStripRoleName.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/ChatSessionWithHistory.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/ChatSessionWithRestart.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/ChatSessionWithRoleName.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/CodingAssistant.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/GetEmbeddings.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/GrammarJsonResponse.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/InstructModeExecute.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/InteractiveModeExecute.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/KernelMemory.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/KernelMemorySaveAndLoad.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/LLama3ChatSession.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/LlavaInteractiveModeExecute.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/LoadAndSaveSession.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/LoadAndSaveState.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/QuantizeModel.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/SemanticKernelChat.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/SemanticKernelMemory.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/SemanticKernelPrompt.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/SpeechChat.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/StatelessModeExecute.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Examples/TalkToYourself.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/Extensions/IAsyncEnumerableExtensions.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/LLama.Examples.csproj (87%)
 rename {LLama.Examples => samples/LLama.Examples}/Program.cs (100%)
 rename {LLama.Examples => samples/LLama.Examples}/UserSettings.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Async/AsyncGuard.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Async/AsyncLock.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/ISessionConfig.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/InferenceOptions.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/LLamaExecutorType.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/LLamaOptions.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/ModelLoadType.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/ModelOptions.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/ServiceResult.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/SessionConfig.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Common/SessionConnectionStatus.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Extensions.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Hubs/ISessionClient.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Hubs/SessionConnectionHub.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/LLama.Web.csproj (79%)
 rename {LLama.Web => samples/LLama.Web}/Models/LLamaModel.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Models/ModelSession.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Models/TokenModel.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Error.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Error.cshtml.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Index.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Index.cshtml.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Shared/_ChatTemplates.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Shared/_Layout.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Shared/_Layout.cshtml.css (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Shared/_Parameters.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/Shared/_ValidationScriptsPartial.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/_ViewImports.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Pages/_ViewStart.cshtml (100%)
 rename {LLama.Web => samples/LLama.Web}/Program.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/README.md (100%)
 rename {LLama.Web => samples/LLama.Web}/Services/IModelService.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Services/IModelSessionService.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Services/ModelLoaderService.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Services/ModelService.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/Services/ModelSessionService.cs (100%)
 rename {LLama.Web => samples/LLama.Web}/appsettings.Development.json (100%)
 rename {LLama.Web => samples/LLama.Web}/appsettings.json (100%)
 rename {LLama.Web => samples/LLama.Web}/libman.json (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/css/site.css (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/favicon.ico (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/fonts/Roboto-Regular.ttf (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/image/llama-sharp.png (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/image/loading.gif (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/js/sessionConnectionChat.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/js/site.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/js/theme.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation/LICENSE.md (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation/dist/additional-methods.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation/dist/additional-methods.min.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation/dist/jquery.validate.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery.unobtrusive-ajax.min.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery/jquery.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery/jquery.min.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery/jquery.min.map (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery/jquery.slim.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery/jquery.slim.min.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/jquery/jquery.slim.min.map (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/mustache/mustache.js (100%)
 rename {LLama.Web => samples/LLama.Web}/wwwroot/lib/signalr/signalr.min.js (100%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/Controllers/ChatController.cs (100%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/LLama.WebAPI.csproj (86%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/Models/SendMessageInput.cs (100%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/Program.cs (95%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/Services/StatefulChatService.cs (100%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/Services/StatelessChatService.cs (100%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/appsettings.Development.json (93%)
 rename {LLama.WebAPI => samples/LLama.WebAPI}/appsettings.json (100%)
 rename {LLama.Experimental => src/LLama.Experimental}/Extensions/NativeLibraryAutoDownloadExtension.cs (100%)
 rename {LLama.Experimental => src/LLama.Experimental}/LLama.Experimental.csproj (100%)
 rename {LLama.Experimental => src/LLama.Experimental}/Native/AutoDownloadedLibraries.cs (100%)
 rename {LLama.Experimental => src/LLama.Experimental}/Native/NativeLibraryDownloader.cs (100%)
 rename {LLama.Experimental => src/LLama.Experimental}/Native/SelectingPolicyWithAutoDownload.cs (100%)
 rename {LLama.KernelMemory => src/LLama.KernelMemory}/BuilderExtensions.cs (100%)
 rename {LLama.KernelMemory => src/LLama.KernelMemory}/LLamaSharp.KernelMemory.csproj (100%)
 rename {LLama.KernelMemory => src/LLama.KernelMemory}/LLamaSharpTextEmbeddingGenerator.cs (100%)
 rename {LLama.KernelMemory => src/LLama.KernelMemory}/LlamaSharpConfig.cs (100%)
 rename {LLama.KernelMemory => src/LLama.KernelMemory}/LlamaSharpTextGenerator.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/ChatCompletion/ChatRequestSettings.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/ChatCompletion/ChatRequestSettingsConverter.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/ChatCompletion/HistoryTransform.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/ChatCompletion/LLamaSharpChatCompletion.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/ExtensionMethods.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/LLamaSharp.SemanticKernel.csproj (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/LLamaSharpPromptExecutionSettings.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/LLamaSharpPromptExecutionSettingsConverter.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/README.md (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/TextCompletion/LLamaSharpTextCompletion.cs (100%)
 rename {LLama.SemanticKernel => src/LLama.SemanticKernel}/TextEmbedding/LLamaSharpEmbeddingGeneration.cs (100%)
 rename {LLama => src/LLama}/Abstractions/IContextParams.cs (100%)
 rename {LLama => src/LLama}/Abstractions/IHistoryTransform.cs (100%)
 rename {LLama => src/LLama}/Abstractions/IInferenceParams.cs (100%)
 rename {LLama => src/LLama}/Abstractions/ILLamaExecutor.cs (100%)
 rename {LLama => src/LLama}/Abstractions/ILLamaParams.cs (100%)
 rename {LLama => src/LLama}/Abstractions/IModelParams.cs (100%)
 rename {LLama => src/LLama}/Abstractions/INativeLibrary.cs (100%)
 rename {LLama => src/LLama}/Abstractions/INativeLibrarySelectingPolicy.cs (100%)
 rename {LLama => src/LLama}/Abstractions/ITextStreamTransform.cs (100%)
 rename {LLama => src/LLama}/Abstractions/ITextTransform.cs (100%)
 rename {LLama => src/LLama}/AntipromptProcessor.cs (100%)
 rename {LLama => src/LLama}/AssemblyAttributes.cs (100%)
 rename {LLama => src/LLama}/Batched/BatchedExecutor.cs (100%)
 rename {LLama => src/LLama}/Batched/Conversation.cs (100%)
 rename {LLama => src/LLama}/Batched/ConversationExtensions.cs (100%)
 rename {LLama => src/LLama}/Batched/Exceptions.cs (100%)
 rename {LLama => src/LLama}/Batched/LLamaContextExtensions.cs (100%)
 rename {LLama => src/LLama}/ChatSession.cs (100%)
 rename {LLama => src/LLama}/Common/ChatHistory.cs (100%)
 rename {LLama => src/LLama}/Common/FixedSizeQueue.cs (100%)
 rename {LLama => src/LLama}/Common/InferenceParams.cs (100%)
 rename {LLama => src/LLama}/Common/ModelParams.cs (100%)
 rename {LLama => src/LLama}/Common/PolymorphicJSONConverter.cs (100%)
 rename {LLama => src/LLama}/Exceptions/GrammarFormatExceptions.cs (100%)
 rename {LLama => src/LLama}/Exceptions/RuntimeError.cs (100%)
 rename {LLama => src/LLama}/Extensions/DictionaryExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/EncodingExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/IContextParamsExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/IEnumerableExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/IModelParamsExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/IReadOnlyListExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/KeyValuePairExtensions.cs (100%)
 rename {LLama => src/LLama}/Extensions/ListExtensions.cs (100%)
 rename {LLama => src/LLama}/GlobalSuppressions.cs (100%)
 rename {LLama => src/LLama}/Grammars/GBNFGrammarParser.cs (100%)
 rename {LLama => src/LLama}/Grammars/Grammar.cs (100%)
 rename {LLama => src/LLama}/Grammars/GrammarRule.cs (100%)
 rename {LLama => src/LLama}/LLamaContext.cs (100%)
 rename {LLama => src/LLama}/LLamaEmbedder.cs (100%)
 rename {LLama => src/LLama}/LLamaExecutorBase.cs (100%)
 rename {LLama => src/LLama}/LLamaInstructExecutor.cs (100%)
 rename {LLama => src/LLama}/LLamaInteractExecutor.cs (100%)
 rename {LLama => src/LLama}/LLamaQuantizer.cs (100%)
 rename {LLama => src/LLama}/LLamaSharp.Runtime.targets (100%)
 rename {LLama => src/LLama}/LLamaSharp.csproj (97%)
 rename {LLama => src/LLama}/LLamaStatelessExecutor.cs (100%)
 rename {LLama => src/LLama}/LLamaTemplate.cs (100%)
 rename {LLama => src/LLama}/LLamaTransforms.cs (100%)
 rename {LLama => src/LLama}/LLamaWeights.cs (100%)
 rename {LLama => src/LLama}/LLavaWeights.cs (100%)
 rename {LLama => src/LLama}/Native/DecodeResult.cs (100%)
 rename {LLama => src/LLama}/Native/GGMLType.cs (100%)
 rename {LLama => src/LLama}/Native/GPUSplitMode.cs (100%)
 rename {LLama => src/LLama}/Native/GroupDisposable.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaBatch.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaBeamView.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaBeamsState.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaChatMessage.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaContextParams.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaFtype.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaGrammarElement.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaKvCacheView.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaLogLevel.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaModelMetadataOverride.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaModelParams.cs (96%)
 rename {LLama => src/LLama}/Native/LLamaModelQuantizeParams.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaNativeBatch.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaPoolingType.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaPos.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaRopeType.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaSeqId.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaTimings.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaToken.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaTokenData.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaTokenDataArray.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaTokenType.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaVocabPreType.cs (100%)
 rename {LLama => src/LLama}/Native/LLamaVocabType.cs (100%)
 rename {LLama => src/LLama}/Native/LLavaImageEmbed.cs (100%)
 rename {LLama => src/LLama}/Native/Load/DefaultNativeLibrarySelectingPolicy.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryConfig.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryFromPath.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryMetadata.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryUtils.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryWithAvx.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryWithCuda.cs (100%)
 rename {LLama => src/LLama}/Native/Load/NativeLibraryWithMacOrFallback.cs (100%)
 rename {LLama => src/LLama}/Native/Load/SystemInfo.cs (100%)
 rename {LLama => src/LLama}/Native/Load/UnknownNativeLibrary.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.BeamSearch.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.Grammar.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.LLava.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.Load.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.Quantize.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.Sampling.cs (100%)
 rename {LLama => src/LLama}/Native/NativeApi.cs (100%)
 rename {LLama => src/LLama}/Native/NativeLogConfig.cs (100%)
 rename {LLama => src/LLama}/Native/RopeScalingType.cs (100%)
 rename {LLama => src/LLama}/Native/SafeLLamaContextHandle.cs (100%)
 rename {LLama => src/LLama}/Native/SafeLLamaGrammarHandle.cs (100%)
 rename {LLama => src/LLama}/Native/SafeLLamaHandleBase.cs (100%)
 rename {LLama => src/LLama}/Native/SafeLlamaModelHandle.cs (100%)
 rename {LLama => src/LLama}/Native/SafeLlavaImageEmbedHandle.cs (100%)
 rename {LLama => src/LLama}/Native/SafeLlavaModelHandle.cs (100%)
 rename {LLama => src/LLama}/Native/llama_vocab_pre_type.cs (100%)
 rename {LLama => src/LLama}/Sampling/BaseSamplingPipeline.cs (100%)
 rename {LLama => src/LLama}/Sampling/DefaultSamplingPipeline.cs (100%)
 rename {LLama => src/LLama}/Sampling/GreedySamplingPipeline.cs (100%)
 rename {LLama => src/LLama}/Sampling/ISamplingPipeline.cs (100%)
 rename {LLama => src/LLama}/Sampling/Mirostat2SamplingPipeline.cs (100%)
 rename {LLama => src/LLama}/Sampling/MirostatSamplingPipeline.cs (100%)
 rename {LLama => src/LLama}/StreamingTokenDecoder.cs (100%)
 rename {LLama => src/LLama}/Usings.cs (100%)
 rename {LLama => src/LLama}/runtimes/build/LLamaSharp.Backend.Cpu.nuspec (100%)
 rename {LLama => src/LLama}/runtimes/build/LLamaSharp.Backend.Cuda11.nuspec (100%)
 rename {LLama => src/LLama}/runtimes/build/LLamaSharp.Backend.Cuda12.nuspec (100%)
 rename {LLama => src/LLama}/runtimes/build/LLamaSharp.Backend.OpenCL.nuspec (100%)
 rename {LLama => src/LLama}/runtimes/build/LLamaSharpBackend.props (100%)
 rename {LLama => src/LLama}/runtimes/build/icon512.png (100%)
 rename {LLama => src/LLama}/runtimes/build/temp.csproj (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx/libllama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx2/libllama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx2/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx2/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx2/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx2/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx512/libllama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx512/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx512/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx512/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/avx512/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/clblast/clblast.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/clblast/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/clblast/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/clblast/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/clblast/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu11.7.1/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu11.7.1/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu11.7.1/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu11.7.1/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu12.1.0/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu12.1.0/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu12.1.0/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/cu12.1.0/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/libllama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/libllama.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/libllava_shared.so (100%)
 rename {LLama => src/LLama}/runtimes/deps/llama.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/llava_shared.dll (100%)
 rename {LLama => src/LLama}/runtimes/deps/osx-arm64/ggml-metal.metal (100%)
 rename {LLama => src/LLama}/runtimes/deps/osx-arm64/libllama.dylib (100%)
 rename {LLama => src/LLama}/runtimes/deps/osx-arm64/libllava_shared.dylib (100%)
 rename {LLama => src/LLama}/runtimes/deps/osx-x64/libllama.dylib (100%)
 rename {LLama => src/LLama}/runtimes/deps/osx-x64/libllava_shared.dylib (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/Assets/TextCompletionPrompts.txt (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/Assets/extreme-ironing-taxi-610x427.jpg (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/Assets/models.txt (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/Common.cs (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/Constants.cs (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/LLama.Benchmark.csproj (85%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/LLamaExecutorBenchmark/Prefill.cs (100%)
 rename {LLama.Benchmark => test/LLama.Benchmark}/Program.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/AssemblyAttributes.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/BasicTest.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/BeamTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/Constants.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/DictionaryExtensionsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/EncodingExtensionsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/FixedSizeQueueTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/GrammarParserTest.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/GrammarTest.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/IEnumerableExtensionsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/IReadOnlyListExtensionsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/KeyValuePairExtensionsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/LLama.Unittest.csproj (91%)
 rename {LLama.Unittest => test/LLama.Unittest}/LLamaContextTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/LLamaEmbedderTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/LLavaWeightsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/MemoryDisposalTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/Models/extreme-ironing-taxi-610x427.jpg (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/ModelsParamsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/SemanticKernel/ChatRequestSettingsConverterTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/SemanticKernel/ChatRequestSettingsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/SemanticKernel/ExtensionMethodsTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/SemanticKernel/LLamaSharpChatCompletionTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/SemanticKernel/LLamaSharpTextCompletionTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/StatelessExecutorTest.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/StreamingTextDecoderTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/TemplateTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/TextTransformTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/TokenTests.cs (100%)
 rename {LLama.Unittest => test/LLama.Unittest}/Usings.cs (100%)

diff --git a/.github/prepare_release.sh b/.github/prepare_release.sh
index 1db3bf443..0cd4dd14b 100755
--- a/.github/prepare_release.sh
+++ b/.github/prepare_release.sh
@@ -22,8 +22,8 @@ fi
 
 mkdir ./temp;
 mkdir ./temp/runtimes;
-cp ./LLama/runtimes ./temp -R;
-cp ./LLama/runtimes/build/*.* ./temp/;
+cp ./src/LLama/runtimes ./temp -R;
+cp ./src/LLama/runtimes/build/*.* ./temp/;
 
 # get the current version
 cd temp;
@@ -65,9 +65,9 @@ fi
 
 cd ..
 # pack the main package
-dotnet pack ./LLama/LLamaSharp.csproj -c Release -o ./temp/ /p:PackageVersion=$updated_version /p:Version=$updated_version;
-dotnet pack ./LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj -c Release -o ./temp/ /p:PackageVersion=$updated_version /p:Version=$updated_version;
-dotnet pack ./LLama.KernelMemory/LLamaSharp.KernelMemory.csproj -c Release -o ./temp/ /p:PackageVersion=$updated_version /p:Version=$updated_version;
+dotnet pack ./src/LLama/LLamaSharp.csproj -c Release -o ./temp/ /p:PackageVersion=$updated_version /p:Version=$updated_version;
+dotnet pack ./src/LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj -c Release -o ./temp/ /p:PackageVersion=$updated_version /p:Version=$updated_version;
+dotnet pack ./src/LLama.KernelMemory/LLamaSharp.KernelMemory.csproj -c Release -o ./temp/ /p:PackageVersion=$updated_version /p:Version=$updated_version;
 
 # pack the backends
 cd temp
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index c7fde9a35..4d73ea55b 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -54,7 +54,7 @@ jobs:
         apt-get install -y python3.10 python3-pip
         python3 --version
         pip install huggingface_hub
-        python3 .github/download_models.py --model-dir ${{ matrix.modeldir }} --model-list LLama.Benchmark/Assets/models.txt --endpoint https://hf-mirror.com
+        python3 .github/download_models.py --model-dir ${{ matrix.modeldir }} --model-list test/LLama.Benchmark/Assets/models.txt --endpoint https://hf-mirror.com
 
     - name: Clear package cache
       run: dotnet clean LLamaSharp.sln && dotnet nuget locals all --clear
@@ -63,10 +63,10 @@ jobs:
     - name: Build
       run: | 
         dotnet clean
-        dotnet build LLama/LLamaSharp.csproj -c Release --no-restore
-        dotnet build LLama.Benchmark/LLama.Benchmark.csproj -c Release --no-restore
+        dotnet build src/LLama/LLamaSharp.csproj -c Release --no-restore
+        dotnet build test/LLama.Benchmark/LLama.Benchmark.csproj -c Release --no-restore
     - name: Run benchmark test
-      run: dotnet run --project LLama.Benchmark/LLama.Benchmark.csproj -c Release --anyCategories LLama
+      run: dotnet run --project test/LLama.Benchmark/LLama.Benchmark.csproj -c Release --anyCategories LLama
     - name: Upload artifacts
       if: always()
       uses: actions/upload-artifact@v3
@@ -105,10 +105,10 @@ jobs:
     - name: Build
       run: | 
         dotnet clean
-        dotnet build LLama/LLamaSharp.csproj -c Release --no-restore
-        dotnet build LLama.Benchmark/LLama.Benchmark.csproj -c Release --no-restore
+        dotnet build src/LLama/LLamaSharp.csproj -c Release --no-restore
+        dotnet build test/LLama.Benchmark/LLama.Benchmark.csproj -c Release --no-restore
     - name: Run benchmark test
-      run: dotnet run --project LLama.Benchmark/LLama.Benchmark.csproj -c Release --anyCategories LLama
+      run: dotnet run --project test/LLama.Benchmark/LLama.Benchmark.csproj -c Release --anyCategories LLama
     - name: Upload artifacts
       if: always()
       uses: actions/upload-artifact@v3
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index fc716e55a..31f63e1e2 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,7 +36,7 @@ jobs:
       uses: actions/cache@v4
       with:
         key: "unit_test_models"
-        path: LLama.Unittest/Models
+        path: test/LLama.Unittest/Models
     #  workaround for actions/setup-dotnet#155
     - name: Clear package cache
       run: dotnet clean LLamaSharp.sln && dotnet nuget locals all --clear
diff --git a/.github/workflows/release-minor.yml b/.github/workflows/release-minor.yml
index 84069d1f9..41fe279a5 100644
--- a/.github/workflows/release-minor.yml
+++ b/.github/workflows/release-minor.yml
@@ -34,9 +34,9 @@ jobs:
 
     - name: Build solution
       run: |
-        dotnet build ./LLama/LLamaSharp.csproj -c Release --no-restore
-        dotnet build ./LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj -c Release --no-restore
-        dotnet build ./LLama.KernelMemory/LLamaSharp.KernelMemory.csproj -c Release --no-restore
+        dotnet build ./src/LLama/LLamaSharp.csproj -c Release --no-restore
+        dotnet build ./src/LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj -c Release --no-restore
+        dotnet build ./src/LLama.KernelMemory/LLamaSharp.KernelMemory.csproj -c Release --no-restore
 
     - name: Pack packages
       run: |
@@ -79,4 +79,4 @@ jobs:
       run: |
         pip install huggingface_hub
         llama_cpp_commit_hash=$(git submodule status llama.cpp | cut -c 2-7)
-        python .github/upload_to_hf.py --token ${{ secrets.HUGGINGFACE_TOKEN }} --revision $llama_cpp_commit_hash --folder LLama/runtimes
+        python .github/upload_to_hf.py --token ${{ secrets.HUGGINGFACE_TOKEN }} --revision $llama_cpp_commit_hash --folder src/LLama/runtimes
diff --git a/.github/workflows/release-patch.yml b/.github/workflows/release-patch.yml
index 099d399dd..5cbf4dbb2 100644
--- a/.github/workflows/release-patch.yml
+++ b/.github/workflows/release-patch.yml
@@ -34,9 +34,9 @@ jobs:
 
     - name: Build solution
       run: |
-        dotnet build ./LLama/LLamaSharp.csproj -c Release --no-restore
-        dotnet build ./LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj -c Release --no-restore
-        dotnet build ./LLama.KernelMemory/LLamaSharp.KernelMemory.csproj -c Release --no-restore
+        dotnet build ./src/LLama/LLamaSharp.csproj -c Release --no-restore
+        dotnet build ./src/LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj -c Release --no-restore
+        dotnet build ./src/LLama.KernelMemory/LLamaSharp.KernelMemory.csproj -c Release --no-restore
 
     - name: Pack packages
       run: |
@@ -79,4 +79,4 @@ jobs:
       run: |
         pip install huggingface_hub
         llama_cpp_commit_hash=$(git submodule status llama.cpp | cut -c 2-7)
-        python .github/upload_to_hf.py --token ${{ secrets.HUGGINGFACE_TOKEN }} --revision $llama_cpp_commit_hash --folder LLama/runtimes
\ No newline at end of file
+        python .github/upload_to_hf.py --token ${{ secrets.HUGGINGFACE_TOKEN }} --revision $llama_cpp_commit_hash --folder src/LLama/runtimes
\ No newline at end of file
diff --git a/LLamaSharp.sln b/LLamaSharp.sln
index 7c970aa99..2bb0cb224 100644
--- a/LLamaSharp.sln
+++ b/LLamaSharp.sln
@@ -3,23 +3,29 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 17
 VisualStudioVersion = 17.5.33424.131
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Unittest", "LLama.Unittest\LLama.Unittest.csproj", "{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D74C876D-CE05-484D-A820-937D7B520611}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Examples", "LLama.Examples\LLama.Examples.csproj", "{BD1909AD-E1F8-476E-BC49-E394FF0470CE}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{417F2C94-1040-435F-B453-871A13A0D978}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLamaSharp", "LLama\LLamaSharp.csproj", "{01A12D68-DE95-425E-AEEE-2D099305036D}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{A3FEF07C-CDBF-46CB-AFCA-16660DF2967D}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.WebAPI", "LLama.WebAPI\LLama.WebAPI.csproj", "{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLamaSharp", "src\LLama\LLamaSharp.csproj", "{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Web", "LLama.Web\LLama.Web.csproj", "{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Experimental", "src\LLama.Experimental\LLama.Experimental.csproj", "{201CC620-E057-49EB-86C4-F3C469E810D5}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLamaSharp.SemanticKernel", "LLama.SemanticKernel\LLamaSharp.SemanticKernel.csproj", "{D98F93E3-B344-4F9D-86BB-FDBF6768B587}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLamaSharp.KernelMemory", "src\LLama.KernelMemory\LLamaSharp.KernelMemory.csproj", "{21565ECF-1EB4-4576-B536-ADC6E572B962}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLamaSharp.KernelMemory", "LLama.KernelMemory\LLamaSharp.KernelMemory.csproj", "{E5589AE7-B86F-4343-A1CC-8E5D34596E52}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLamaSharp.SemanticKernel", "src\LLama.SemanticKernel\LLamaSharp.SemanticKernel.csproj", "{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Experimental", "LLama.Experimental\LLama.Experimental.csproj", "{BE4F977B-D4D9-472F-B506-EAE17542A810}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Examples", "samples\LLama.Examples\LLama.Examples.csproj", "{ACE00BF4-4A64-4A11-A59D-BD2690B37033}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Benchmark", "LLama.Benchmark\LLama.Benchmark.csproj", "{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Benchmark", "test\LLama.Benchmark\LLama.Benchmark.csproj", "{EA27095A-2C30-4C03-AE03-4F780E418DC8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Unittest", "test\LLama.Unittest\LLama.Unittest.csproj", "{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.Web", "samples\LLama.Web\LLama.Web.csproj", "{AEDAAF0A-A7DF-44CA-9281-42808731648C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LLama.WebAPI", "samples\LLama.WebAPI\LLama.WebAPI.csproj", "{B85DE594-48EE-4E3C-8195-829F85F8D360}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -34,172 +40,183 @@ Global
 		Release|x64 = Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Debug|Arm64.ActiveCfg = Debug|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Debug|Arm64.Build.0 = Debug|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Debug|x64.ActiveCfg = Debug|x64
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Debug|x64.Build.0 = Debug|x64
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.GPU|Any CPU.ActiveCfg = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.GPU|Any CPU.Build.0 = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.GPU|Arm64.ActiveCfg = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.GPU|Arm64.Build.0 = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.GPU|x64.ActiveCfg = Release|x64
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.GPU|x64.Build.0 = Release|x64
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Release|Arm64.ActiveCfg = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Release|Arm64.Build.0 = Release|Any CPU
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Release|x64.ActiveCfg = Release|x64
-		{BAC1CFA9-E6AC-4BD0-A548-A8066D3C467E}.Release|x64.Build.0 = Release|x64
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Debug|Arm64.ActiveCfg = Debug|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Debug|Arm64.Build.0 = Debug|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Debug|x64.ActiveCfg = Debug|x64
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Debug|x64.Build.0 = Debug|x64
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.GPU|Any CPU.ActiveCfg = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.GPU|Any CPU.Build.0 = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.GPU|Arm64.ActiveCfg = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.GPU|Arm64.Build.0 = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.GPU|x64.ActiveCfg = Release|x64
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.GPU|x64.Build.0 = Release|x64
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Release|Arm64.ActiveCfg = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Release|Arm64.Build.0 = Release|Any CPU
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Release|x64.ActiveCfg = Release|x64
-		{BD1909AD-E1F8-476E-BC49-E394FF0470CE}.Release|x64.Build.0 = Release|x64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Debug|Arm64.ActiveCfg = Debug|Arm64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Debug|Arm64.Build.0 = Debug|Arm64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Debug|x64.ActiveCfg = Debug|x64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Debug|x64.Build.0 = Debug|x64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.GPU|Any CPU.ActiveCfg = GPU|Any CPU
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.GPU|Any CPU.Build.0 = GPU|Any CPU
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.GPU|Arm64.ActiveCfg = GPU|Arm64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.GPU|Arm64.Build.0 = GPU|Arm64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.GPU|x64.ActiveCfg = GPU|x64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.GPU|x64.Build.0 = GPU|x64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Release|Arm64.ActiveCfg = Release|Arm64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Release|Arm64.Build.0 = Release|Arm64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Release|x64.ActiveCfg = Release|x64
-		{01A12D68-DE95-425E-AEEE-2D099305036D}.Release|x64.Build.0 = Release|x64
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Debug|Arm64.ActiveCfg = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Debug|Arm64.Build.0 = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Debug|x64.Build.0 = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.GPU|Any CPU.Build.0 = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.GPU|Arm64.ActiveCfg = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.GPU|Arm64.Build.0 = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.GPU|x64.ActiveCfg = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.GPU|x64.Build.0 = Debug|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Release|Arm64.ActiveCfg = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Release|Arm64.Build.0 = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Release|x64.ActiveCfg = Release|Any CPU
-		{D3CEC57A-9027-4DA4-AAAC-612A1EB50ADF}.Release|x64.Build.0 = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Debug|Arm64.ActiveCfg = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Debug|Arm64.Build.0 = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Debug|x64.Build.0 = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.GPU|Any CPU.Build.0 = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.GPU|Arm64.ActiveCfg = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.GPU|Arm64.Build.0 = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.GPU|x64.ActiveCfg = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.GPU|x64.Build.0 = Debug|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Release|Arm64.ActiveCfg = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Release|Arm64.Build.0 = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Release|x64.ActiveCfg = Release|Any CPU
-		{C3531DB2-1B2B-433C-8DE6-3541E3620DB1}.Release|x64.Build.0 = Release|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Debug|Arm64.ActiveCfg = Debug|Arm64
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Debug|Arm64.Build.0 = Debug|Arm64
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Debug|x64.Build.0 = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.GPU|Any CPU.Build.0 = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.GPU|Arm64.ActiveCfg = GPU|Arm64
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.GPU|Arm64.Build.0 = GPU|Arm64
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.GPU|x64.ActiveCfg = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.GPU|x64.Build.0 = Debug|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Release|Arm64.ActiveCfg = Release|Arm64
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Release|Arm64.Build.0 = Release|Arm64
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Release|x64.ActiveCfg = Release|Any CPU
-		{D98F93E3-B344-4F9D-86BB-FDBF6768B587}.Release|x64.Build.0 = Release|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Debug|Arm64.ActiveCfg = Debug|Arm64
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Debug|Arm64.Build.0 = Debug|Arm64
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Debug|x64.Build.0 = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.GPU|Any CPU.Build.0 = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.GPU|Arm64.ActiveCfg = GPU|Arm64
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.GPU|Arm64.Build.0 = GPU|Arm64
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.GPU|x64.ActiveCfg = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.GPU|x64.Build.0 = Debug|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Release|Arm64.ActiveCfg = Release|Arm64
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Release|Arm64.Build.0 = Release|Arm64
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Release|x64.ActiveCfg = Release|Any CPU
-		{E5589AE7-B86F-4343-A1CC-8E5D34596E52}.Release|x64.Build.0 = Release|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Debug|Arm64.ActiveCfg = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Debug|Arm64.Build.0 = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Debug|x64.Build.0 = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.GPU|Any CPU.Build.0 = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.GPU|Arm64.ActiveCfg = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.GPU|Arm64.Build.0 = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.GPU|x64.ActiveCfg = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.GPU|x64.Build.0 = Debug|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Release|Arm64.ActiveCfg = Release|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Release|Arm64.Build.0 = Release|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Release|x64.ActiveCfg = Release|Any CPU
-		{BE4F977B-D4D9-472F-B506-EAE17542A810}.Release|x64.Build.0 = Release|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Debug|Arm64.ActiveCfg = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Debug|Arm64.Build.0 = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Debug|x64.Build.0 = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.GPU|Any CPU.Build.0 = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.GPU|Arm64.ActiveCfg = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.GPU|Arm64.Build.0 = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.GPU|x64.ActiveCfg = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.GPU|x64.Build.0 = Debug|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Release|Any CPU.Build.0 = Release|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Release|Arm64.ActiveCfg = Release|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Release|Arm64.Build.0 = Release|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Release|x64.ActiveCfg = Release|Any CPU
-		{90D38FEE-68EA-459E-A4EE-268B9DFA1CD5}.Release|x64.Build.0 = Release|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Debug|Arm64.ActiveCfg = Debug|Arm64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Debug|Arm64.Build.0 = Debug|Arm64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Debug|x64.ActiveCfg = Debug|x64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Debug|x64.Build.0 = Debug|x64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.GPU|Any CPU.ActiveCfg = GPU|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.GPU|Any CPU.Build.0 = GPU|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.GPU|Arm64.ActiveCfg = GPU|Arm64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.GPU|Arm64.Build.0 = GPU|Arm64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.GPU|x64.ActiveCfg = GPU|x64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.GPU|x64.Build.0 = GPU|x64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Release|Arm64.ActiveCfg = Release|Arm64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Release|Arm64.Build.0 = Release|Arm64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Release|x64.ActiveCfg = Release|x64
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545}.Release|x64.Build.0 = Release|x64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Debug|Arm64.ActiveCfg = Debug|Arm64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Debug|Arm64.Build.0 = Debug|Arm64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Debug|x64.ActiveCfg = Debug|x64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Debug|x64.Build.0 = Debug|x64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.GPU|Any CPU.ActiveCfg = GPU|Any CPU
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.GPU|Any CPU.Build.0 = GPU|Any CPU
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.GPU|Arm64.ActiveCfg = GPU|Arm64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.GPU|Arm64.Build.0 = GPU|Arm64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.GPU|x64.ActiveCfg = GPU|x64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.GPU|x64.Build.0 = GPU|x64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Release|Arm64.ActiveCfg = Release|Arm64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Release|Arm64.Build.0 = Release|Arm64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Release|x64.ActiveCfg = Release|x64
+		{201CC620-E057-49EB-86C4-F3C469E810D5}.Release|x64.Build.0 = Release|x64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Debug|Arm64.ActiveCfg = Debug|Arm64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Debug|Arm64.Build.0 = Debug|Arm64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Debug|x64.ActiveCfg = Debug|x64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Debug|x64.Build.0 = Debug|x64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.GPU|Any CPU.ActiveCfg = GPU|Any CPU
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.GPU|Any CPU.Build.0 = GPU|Any CPU
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.GPU|Arm64.ActiveCfg = GPU|Arm64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.GPU|Arm64.Build.0 = GPU|Arm64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.GPU|x64.ActiveCfg = GPU|x64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.GPU|x64.Build.0 = GPU|x64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Release|Any CPU.Build.0 = Release|Any CPU
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Release|Arm64.ActiveCfg = Release|Arm64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Release|Arm64.Build.0 = Release|Arm64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Release|x64.ActiveCfg = Release|x64
+		{21565ECF-1EB4-4576-B536-ADC6E572B962}.Release|x64.Build.0 = Release|x64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Debug|Arm64.ActiveCfg = Debug|Arm64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Debug|Arm64.Build.0 = Debug|Arm64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Debug|x64.ActiveCfg = Debug|x64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Debug|x64.Build.0 = Debug|x64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.GPU|Any CPU.ActiveCfg = GPU|Any CPU
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.GPU|Any CPU.Build.0 = GPU|Any CPU
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.GPU|Arm64.ActiveCfg = GPU|Arm64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.GPU|Arm64.Build.0 = GPU|Arm64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.GPU|x64.ActiveCfg = GPU|x64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.GPU|x64.Build.0 = GPU|x64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Release|Arm64.ActiveCfg = Release|Arm64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Release|Arm64.Build.0 = Release|Arm64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Release|x64.ActiveCfg = Release|x64
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A}.Release|x64.Build.0 = Release|x64
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Debug|Arm64.ActiveCfg = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Debug|Arm64.Build.0 = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Debug|x64.ActiveCfg = Debug|x64
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Debug|x64.Build.0 = Debug|x64
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.GPU|Any CPU.Build.0 = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.GPU|Arm64.ActiveCfg = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.GPU|Arm64.Build.0 = Debug|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.GPU|x64.ActiveCfg = Debug|x64
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.GPU|x64.Build.0 = Debug|x64
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Release|Any CPU.Build.0 = Release|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Release|Arm64.ActiveCfg = Release|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Release|Arm64.Build.0 = Release|Any CPU
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Release|x64.ActiveCfg = Release|x64
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033}.Release|x64.Build.0 = Release|x64
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Debug|Arm64.ActiveCfg = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Debug|Arm64.Build.0 = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Debug|x64.Build.0 = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.GPU|Any CPU.Build.0 = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.GPU|Arm64.ActiveCfg = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.GPU|Arm64.Build.0 = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.GPU|x64.ActiveCfg = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.GPU|x64.Build.0 = Debug|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Release|Arm64.ActiveCfg = Release|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Release|Arm64.Build.0 = Release|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Release|x64.ActiveCfg = Release|Any CPU
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8}.Release|x64.Build.0 = Release|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Debug|Arm64.ActiveCfg = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Debug|Arm64.Build.0 = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Debug|x64.ActiveCfg = Debug|x64
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Debug|x64.Build.0 = Debug|x64
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.GPU|Any CPU.Build.0 = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.GPU|Arm64.ActiveCfg = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.GPU|Arm64.Build.0 = Debug|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.GPU|x64.ActiveCfg = Debug|x64
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.GPU|x64.Build.0 = Debug|x64
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Release|Arm64.ActiveCfg = Release|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Release|Arm64.Build.0 = Release|Any CPU
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Release|x64.ActiveCfg = Release|x64
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F}.Release|x64.Build.0 = Release|x64
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Debug|Arm64.ActiveCfg = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Debug|Arm64.Build.0 = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Debug|x64.Build.0 = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.GPU|Any CPU.Build.0 = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.GPU|Arm64.ActiveCfg = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.GPU|Arm64.Build.0 = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.GPU|x64.ActiveCfg = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.GPU|x64.Build.0 = Debug|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Release|Arm64.ActiveCfg = Release|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Release|Arm64.Build.0 = Release|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Release|x64.ActiveCfg = Release|Any CPU
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C}.Release|x64.Build.0 = Release|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Debug|Arm64.ActiveCfg = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Debug|Arm64.Build.0 = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Debug|x64.Build.0 = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.GPU|Any CPU.ActiveCfg = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.GPU|Any CPU.Build.0 = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.GPU|Arm64.ActiveCfg = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.GPU|Arm64.Build.0 = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.GPU|x64.ActiveCfg = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.GPU|x64.Build.0 = Debug|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Release|Arm64.ActiveCfg = Release|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Release|Arm64.Build.0 = Release|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Release|x64.ActiveCfg = Release|Any CPU
+		{B85DE594-48EE-4E3C-8195-829F85F8D360}.Release|x64.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{F9FDBF5D-D3F5-4DF8-A17A-8529EDCD7545} = {D74C876D-CE05-484D-A820-937D7B520611}
+		{201CC620-E057-49EB-86C4-F3C469E810D5} = {D74C876D-CE05-484D-A820-937D7B520611}
+		{21565ECF-1EB4-4576-B536-ADC6E572B962} = {D74C876D-CE05-484D-A820-937D7B520611}
+		{ACA49A35-2C9B-431F-B1D8-924548DA2D3A} = {D74C876D-CE05-484D-A820-937D7B520611}
+		{ACE00BF4-4A64-4A11-A59D-BD2690B37033} = {A3FEF07C-CDBF-46CB-AFCA-16660DF2967D}
+		{EA27095A-2C30-4C03-AE03-4F780E418DC8} = {417F2C94-1040-435F-B453-871A13A0D978}
+		{52AACF4A-7ABD-4D04-AE67-115F02FFFA6F} = {417F2C94-1040-435F-B453-871A13A0D978}
+		{AEDAAF0A-A7DF-44CA-9281-42808731648C} = {A3FEF07C-CDBF-46CB-AFCA-16660DF2967D}
+		{B85DE594-48EE-4E3C-8195-829F85F8D360} = {A3FEF07C-CDBF-46CB-AFCA-16660DF2967D}
+	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {87746B65-249E-4AD9-882B-7B919D079367}
 	EndGlobalSection
diff --git a/README.md b/README.md
index febd02dd1..8de68fbc5 100644
--- a/README.md
+++ b/README.md
@@ -69,11 +69,11 @@ There are integrations for the following libraries, making it easier to develop
 
 The following examples show how to build APPs with LLamaSharp.
 
-- [Official Console Examples](./LLama.Examples/)
+- [Official Console Examples](./samples/LLama.Examples/)
 - [Unity Demo](https://github.com/eublefar/LLAMASharpUnityDemo)
 - [LLamaStack (with WPF and Web demo)](https://github.com/saddam213/LLamaStack)
 - [Blazor Demo (with Model Explorer)](https://github.com/alexhiggins732/BLlamaSharp.ChatGpt.Blazor)
-- [ASP.NET Demo](./LLama.Web/)
+- [ASP.NET Demo](./samples/LLama.Web/)
 
 ![LLamaShrp-Integrations](./Assets/LLamaSharp-Integrations.png)
 
@@ -167,7 +167,7 @@ while (userInput != "exit")
 }
 ```
 
-For more examples, please refer to [LLamaSharp.Examples](./LLama.Examples).
+For more examples, please refer to [LLamaSharp.Examples](./samples/LLama.Examples).
 
 
 ## 💡FAQ
diff --git a/LLama.Examples/Assets/alpaca.txt b/samples/LLama.Examples/Assets/alpaca.txt
similarity index 100%
rename from LLama.Examples/Assets/alpaca.txt
rename to samples/LLama.Examples/Assets/alpaca.txt
diff --git a/LLama.Examples/Assets/chat-with-bob.json b/samples/LLama.Examples/Assets/chat-with-bob.json
similarity index 100%
rename from LLama.Examples/Assets/chat-with-bob.json
rename to samples/LLama.Examples/Assets/chat-with-bob.json
diff --git a/LLama.Examples/Assets/chat-with-bob.txt b/samples/LLama.Examples/Assets/chat-with-bob.txt
similarity index 100%
rename from LLama.Examples/Assets/chat-with-bob.txt
rename to samples/LLama.Examples/Assets/chat-with-bob.txt
diff --git a/LLama.Examples/Assets/chat-with-kunkun-chinese.json b/samples/LLama.Examples/Assets/chat-with-kunkun-chinese.json
similarity index 100%
rename from LLama.Examples/Assets/chat-with-kunkun-chinese.json
rename to samples/LLama.Examples/Assets/chat-with-kunkun-chinese.json
diff --git a/LLama.Examples/Assets/chat-with-kunkun-chinese.txt b/samples/LLama.Examples/Assets/chat-with-kunkun-chinese.txt
similarity index 100%
rename from LLama.Examples/Assets/chat-with-kunkun-chinese.txt
rename to samples/LLama.Examples/Assets/chat-with-kunkun-chinese.txt
diff --git a/LLama.Examples/Assets/chat-with-vicuna-v0.txt b/samples/LLama.Examples/Assets/chat-with-vicuna-v0.txt
similarity index 100%
rename from LLama.Examples/Assets/chat-with-vicuna-v0.txt
rename to samples/LLama.Examples/Assets/chat-with-vicuna-v0.txt
diff --git a/LLama.Examples/Assets/chat-with-vicuna-v1.txt b/samples/LLama.Examples/Assets/chat-with-vicuna-v1.txt
similarity index 100%
rename from LLama.Examples/Assets/chat-with-vicuna-v1.txt
rename to samples/LLama.Examples/Assets/chat-with-vicuna-v1.txt
diff --git a/LLama.Examples/Assets/chat.txt b/samples/LLama.Examples/Assets/chat.txt
similarity index 100%
rename from LLama.Examples/Assets/chat.txt
rename to samples/LLama.Examples/Assets/chat.txt
diff --git a/LLama.Examples/Assets/dan.txt b/samples/LLama.Examples/Assets/dan.txt
similarity index 100%
rename from LLama.Examples/Assets/dan.txt
rename to samples/LLama.Examples/Assets/dan.txt
diff --git a/LLama.Examples/Assets/json.gbnf b/samples/LLama.Examples/Assets/json.gbnf
similarity index 100%
rename from LLama.Examples/Assets/json.gbnf
rename to samples/LLama.Examples/Assets/json.gbnf
diff --git a/LLama.Examples/Assets/reason-act.txt b/samples/LLama.Examples/Assets/reason-act.txt
similarity index 100%
rename from LLama.Examples/Assets/reason-act.txt
rename to samples/LLama.Examples/Assets/reason-act.txt
diff --git a/LLama.Examples/Assets/sample-KM-Readme.pdf b/samples/LLama.Examples/Assets/sample-KM-Readme.pdf
similarity index 100%
rename from LLama.Examples/Assets/sample-KM-Readme.pdf
rename to samples/LLama.Examples/Assets/sample-KM-Readme.pdf
diff --git a/LLama.Examples/Assets/sample-SK-Readme.pdf b/samples/LLama.Examples/Assets/sample-SK-Readme.pdf
similarity index 100%
rename from LLama.Examples/Assets/sample-SK-Readme.pdf
rename to samples/LLama.Examples/Assets/sample-SK-Readme.pdf
diff --git a/LLama.Examples/ExampleRunner.cs b/samples/LLama.Examples/ExampleRunner.cs
similarity index 100%
rename from LLama.Examples/ExampleRunner.cs
rename to samples/LLama.Examples/ExampleRunner.cs
diff --git a/LLama.Examples/Examples/BatchedExecutorFork.cs b/samples/LLama.Examples/Examples/BatchedExecutorFork.cs
similarity index 100%
rename from LLama.Examples/Examples/BatchedExecutorFork.cs
rename to samples/LLama.Examples/Examples/BatchedExecutorFork.cs
diff --git a/LLama.Examples/Examples/BatchedExecutorGuidance.cs b/samples/LLama.Examples/Examples/BatchedExecutorGuidance.cs
similarity index 100%
rename from LLama.Examples/Examples/BatchedExecutorGuidance.cs
rename to samples/LLama.Examples/Examples/BatchedExecutorGuidance.cs
diff --git a/LLama.Examples/Examples/BatchedExecutorRewind.cs b/samples/LLama.Examples/Examples/BatchedExecutorRewind.cs
similarity index 100%
rename from LLama.Examples/Examples/BatchedExecutorRewind.cs
rename to samples/LLama.Examples/Examples/BatchedExecutorRewind.cs
diff --git a/LLama.Examples/Examples/BatchedExecutorSaveAndLoad.cs b/samples/LLama.Examples/Examples/BatchedExecutorSaveAndLoad.cs
similarity index 100%
rename from LLama.Examples/Examples/BatchedExecutorSaveAndLoad.cs
rename to samples/LLama.Examples/Examples/BatchedExecutorSaveAndLoad.cs
diff --git a/LLama.Examples/Examples/ChatChineseGB2312.cs b/samples/LLama.Examples/Examples/ChatChineseGB2312.cs
similarity index 100%
rename from LLama.Examples/Examples/ChatChineseGB2312.cs
rename to samples/LLama.Examples/Examples/ChatChineseGB2312.cs
diff --git a/LLama.Examples/Examples/ChatSessionStripRoleName.cs b/samples/LLama.Examples/Examples/ChatSessionStripRoleName.cs
similarity index 100%
rename from LLama.Examples/Examples/ChatSessionStripRoleName.cs
rename to samples/LLama.Examples/Examples/ChatSessionStripRoleName.cs
diff --git a/LLama.Examples/Examples/ChatSessionWithHistory.cs b/samples/LLama.Examples/Examples/ChatSessionWithHistory.cs
similarity index 100%
rename from LLama.Examples/Examples/ChatSessionWithHistory.cs
rename to samples/LLama.Examples/Examples/ChatSessionWithHistory.cs
diff --git a/LLama.Examples/Examples/ChatSessionWithRestart.cs b/samples/LLama.Examples/Examples/ChatSessionWithRestart.cs
similarity index 100%
rename from LLama.Examples/Examples/ChatSessionWithRestart.cs
rename to samples/LLama.Examples/Examples/ChatSessionWithRestart.cs
diff --git a/LLama.Examples/Examples/ChatSessionWithRoleName.cs b/samples/LLama.Examples/Examples/ChatSessionWithRoleName.cs
similarity index 100%
rename from LLama.Examples/Examples/ChatSessionWithRoleName.cs
rename to samples/LLama.Examples/Examples/ChatSessionWithRoleName.cs
diff --git a/LLama.Examples/Examples/CodingAssistant.cs b/samples/LLama.Examples/Examples/CodingAssistant.cs
similarity index 100%
rename from LLama.Examples/Examples/CodingAssistant.cs
rename to samples/LLama.Examples/Examples/CodingAssistant.cs
diff --git a/LLama.Examples/Examples/GetEmbeddings.cs b/samples/LLama.Examples/Examples/GetEmbeddings.cs
similarity index 100%
rename from LLama.Examples/Examples/GetEmbeddings.cs
rename to samples/LLama.Examples/Examples/GetEmbeddings.cs
diff --git a/LLama.Examples/Examples/GrammarJsonResponse.cs b/samples/LLama.Examples/Examples/GrammarJsonResponse.cs
similarity index 100%
rename from LLama.Examples/Examples/GrammarJsonResponse.cs
rename to samples/LLama.Examples/Examples/GrammarJsonResponse.cs
diff --git a/LLama.Examples/Examples/InstructModeExecute.cs b/samples/LLama.Examples/Examples/InstructModeExecute.cs
similarity index 100%
rename from LLama.Examples/Examples/InstructModeExecute.cs
rename to samples/LLama.Examples/Examples/InstructModeExecute.cs
diff --git a/LLama.Examples/Examples/InteractiveModeExecute.cs b/samples/LLama.Examples/Examples/InteractiveModeExecute.cs
similarity index 100%
rename from LLama.Examples/Examples/InteractiveModeExecute.cs
rename to samples/LLama.Examples/Examples/InteractiveModeExecute.cs
diff --git a/LLama.Examples/Examples/KernelMemory.cs b/samples/LLama.Examples/Examples/KernelMemory.cs
similarity index 100%
rename from LLama.Examples/Examples/KernelMemory.cs
rename to samples/LLama.Examples/Examples/KernelMemory.cs
diff --git a/LLama.Examples/Examples/KernelMemorySaveAndLoad.cs b/samples/LLama.Examples/Examples/KernelMemorySaveAndLoad.cs
similarity index 100%
rename from LLama.Examples/Examples/KernelMemorySaveAndLoad.cs
rename to samples/LLama.Examples/Examples/KernelMemorySaveAndLoad.cs
diff --git a/LLama.Examples/Examples/LLama3ChatSession.cs b/samples/LLama.Examples/Examples/LLama3ChatSession.cs
similarity index 100%
rename from LLama.Examples/Examples/LLama3ChatSession.cs
rename to samples/LLama.Examples/Examples/LLama3ChatSession.cs
diff --git a/LLama.Examples/Examples/LlavaInteractiveModeExecute.cs b/samples/LLama.Examples/Examples/LlavaInteractiveModeExecute.cs
similarity index 100%
rename from LLama.Examples/Examples/LlavaInteractiveModeExecute.cs
rename to samples/LLama.Examples/Examples/LlavaInteractiveModeExecute.cs
diff --git a/LLama.Examples/Examples/LoadAndSaveSession.cs b/samples/LLama.Examples/Examples/LoadAndSaveSession.cs
similarity index 100%
rename from LLama.Examples/Examples/LoadAndSaveSession.cs
rename to samples/LLama.Examples/Examples/LoadAndSaveSession.cs
diff --git a/LLama.Examples/Examples/LoadAndSaveState.cs b/samples/LLama.Examples/Examples/LoadAndSaveState.cs
similarity index 100%
rename from LLama.Examples/Examples/LoadAndSaveState.cs
rename to samples/LLama.Examples/Examples/LoadAndSaveState.cs
diff --git a/LLama.Examples/Examples/QuantizeModel.cs b/samples/LLama.Examples/Examples/QuantizeModel.cs
similarity index 100%
rename from LLama.Examples/Examples/QuantizeModel.cs
rename to samples/LLama.Examples/Examples/QuantizeModel.cs
diff --git a/LLama.Examples/Examples/SemanticKernelChat.cs b/samples/LLama.Examples/Examples/SemanticKernelChat.cs
similarity index 100%
rename from LLama.Examples/Examples/SemanticKernelChat.cs
rename to samples/LLama.Examples/Examples/SemanticKernelChat.cs
diff --git a/LLama.Examples/Examples/SemanticKernelMemory.cs b/samples/LLama.Examples/Examples/SemanticKernelMemory.cs
similarity index 100%
rename from LLama.Examples/Examples/SemanticKernelMemory.cs
rename to samples/LLama.Examples/Examples/SemanticKernelMemory.cs
diff --git a/LLama.Examples/Examples/SemanticKernelPrompt.cs b/samples/LLama.Examples/Examples/SemanticKernelPrompt.cs
similarity index 100%
rename from LLama.Examples/Examples/SemanticKernelPrompt.cs
rename to samples/LLama.Examples/Examples/SemanticKernelPrompt.cs
diff --git a/LLama.Examples/Examples/SpeechChat.cs b/samples/LLama.Examples/Examples/SpeechChat.cs
similarity index 100%
rename from LLama.Examples/Examples/SpeechChat.cs
rename to samples/LLama.Examples/Examples/SpeechChat.cs
diff --git a/LLama.Examples/Examples/StatelessModeExecute.cs b/samples/LLama.Examples/Examples/StatelessModeExecute.cs
similarity index 100%
rename from LLama.Examples/Examples/StatelessModeExecute.cs
rename to samples/LLama.Examples/Examples/StatelessModeExecute.cs
diff --git a/LLama.Examples/Examples/TalkToYourself.cs b/samples/LLama.Examples/Examples/TalkToYourself.cs
similarity index 100%
rename from LLama.Examples/Examples/TalkToYourself.cs
rename to samples/LLama.Examples/Examples/TalkToYourself.cs
diff --git a/LLama.Examples/Extensions/IAsyncEnumerableExtensions.cs b/samples/LLama.Examples/Extensions/IAsyncEnumerableExtensions.cs
similarity index 100%
rename from LLama.Examples/Extensions/IAsyncEnumerableExtensions.cs
rename to samples/LLama.Examples/Extensions/IAsyncEnumerableExtensions.cs
diff --git a/LLama.Examples/LLama.Examples.csproj b/samples/LLama.Examples/LLama.Examples.csproj
similarity index 87%
rename from LLama.Examples/LLama.Examples.csproj
rename to samples/LLama.Examples/LLama.Examples.csproj
index 9bc41b0b7..bdc75e27c 100644
--- a/LLama.Examples/LLama.Examples.csproj
+++ b/samples/LLama.Examples/LLama.Examples.csproj
@@ -1,5 +1,5 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <Import Project="..\LLama\LLamaSharp.Runtime.targets" />
+<Project Sdk="Microsoft.NET.Sdk">
+  <Import Project="..\..\src\LLama\LLamaSharp.Runtime.targets" />
   <PropertyGroup>
     <OutputType>Exe</OutputType>
     <TargetFrameworks>net6.0;net8.0</TargetFrameworks>
@@ -29,10 +29,10 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\LLama.Experimental\LLama.Experimental.csproj" />
-    <ProjectReference Include="..\LLama.KernelMemory\LLamaSharp.KernelMemory.csproj" />
-    <ProjectReference Include="..\LLama.SemanticKernel\LLamaSharp.SemanticKernel.csproj" />
-    <ProjectReference Include="..\LLama\LLamaSharp.csproj" />
+    <ProjectReference Include="..\..\src\LLama.Experimental\LLama.Experimental.csproj" />
+    <ProjectReference Include="..\..\src\LLama.KernelMemory\LLamaSharp.KernelMemory.csproj" />
+    <ProjectReference Include="..\..\src\LLama.SemanticKernel\LLamaSharp.SemanticKernel.csproj" />
+    <ProjectReference Include="..\..\src\LLama\LLamaSharp.csproj" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/LLama.Examples/Program.cs b/samples/LLama.Examples/Program.cs
similarity index 100%
rename from LLama.Examples/Program.cs
rename to samples/LLama.Examples/Program.cs
diff --git a/LLama.Examples/UserSettings.cs b/samples/LLama.Examples/UserSettings.cs
similarity index 100%
rename from LLama.Examples/UserSettings.cs
rename to samples/LLama.Examples/UserSettings.cs
diff --git a/LLama.Web/Async/AsyncGuard.cs b/samples/LLama.Web/Async/AsyncGuard.cs
similarity index 100%
rename from LLama.Web/Async/AsyncGuard.cs
rename to samples/LLama.Web/Async/AsyncGuard.cs
diff --git a/LLama.Web/Async/AsyncLock.cs b/samples/LLama.Web/Async/AsyncLock.cs
similarity index 100%
rename from LLama.Web/Async/AsyncLock.cs
rename to samples/LLama.Web/Async/AsyncLock.cs
diff --git a/LLama.Web/Common/ISessionConfig.cs b/samples/LLama.Web/Common/ISessionConfig.cs
similarity index 100%
rename from LLama.Web/Common/ISessionConfig.cs
rename to samples/LLama.Web/Common/ISessionConfig.cs
diff --git a/LLama.Web/Common/InferenceOptions.cs b/samples/LLama.Web/Common/InferenceOptions.cs
similarity index 100%
rename from LLama.Web/Common/InferenceOptions.cs
rename to samples/LLama.Web/Common/InferenceOptions.cs
diff --git a/LLama.Web/Common/LLamaExecutorType.cs b/samples/LLama.Web/Common/LLamaExecutorType.cs
similarity index 100%
rename from LLama.Web/Common/LLamaExecutorType.cs
rename to samples/LLama.Web/Common/LLamaExecutorType.cs
diff --git a/LLama.Web/Common/LLamaOptions.cs b/samples/LLama.Web/Common/LLamaOptions.cs
similarity index 100%
rename from LLama.Web/Common/LLamaOptions.cs
rename to samples/LLama.Web/Common/LLamaOptions.cs
diff --git a/LLama.Web/Common/ModelLoadType.cs b/samples/LLama.Web/Common/ModelLoadType.cs
similarity index 100%
rename from LLama.Web/Common/ModelLoadType.cs
rename to samples/LLama.Web/Common/ModelLoadType.cs
diff --git a/LLama.Web/Common/ModelOptions.cs b/samples/LLama.Web/Common/ModelOptions.cs
similarity index 100%
rename from LLama.Web/Common/ModelOptions.cs
rename to samples/LLama.Web/Common/ModelOptions.cs
diff --git a/LLama.Web/Common/ServiceResult.cs b/samples/LLama.Web/Common/ServiceResult.cs
similarity index 100%
rename from LLama.Web/Common/ServiceResult.cs
rename to samples/LLama.Web/Common/ServiceResult.cs
diff --git a/LLama.Web/Common/SessionConfig.cs b/samples/LLama.Web/Common/SessionConfig.cs
similarity index 100%
rename from LLama.Web/Common/SessionConfig.cs
rename to samples/LLama.Web/Common/SessionConfig.cs
diff --git a/LLama.Web/Common/SessionConnectionStatus.cs b/samples/LLama.Web/Common/SessionConnectionStatus.cs
similarity index 100%
rename from LLama.Web/Common/SessionConnectionStatus.cs
rename to samples/LLama.Web/Common/SessionConnectionStatus.cs
diff --git a/LLama.Web/Extensions.cs b/samples/LLama.Web/Extensions.cs
similarity index 100%
rename from LLama.Web/Extensions.cs
rename to samples/LLama.Web/Extensions.cs
diff --git a/LLama.Web/Hubs/ISessionClient.cs b/samples/LLama.Web/Hubs/ISessionClient.cs
similarity index 100%
rename from LLama.Web/Hubs/ISessionClient.cs
rename to samples/LLama.Web/Hubs/ISessionClient.cs
diff --git a/LLama.Web/Hubs/SessionConnectionHub.cs b/samples/LLama.Web/Hubs/SessionConnectionHub.cs
similarity index 100%
rename from LLama.Web/Hubs/SessionConnectionHub.cs
rename to samples/LLama.Web/Hubs/SessionConnectionHub.cs
diff --git a/LLama.Web/LLama.Web.csproj b/samples/LLama.Web/LLama.Web.csproj
similarity index 79%
rename from LLama.Web/LLama.Web.csproj
rename to samples/LLama.Web/LLama.Web.csproj
index e44859041..afeba038a 100644
--- a/LLama.Web/LLama.Web.csproj
+++ b/samples/LLama.Web/LLama.Web.csproj
@@ -1,5 +1,5 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
-  <Import Project="..\LLama\LLamaSharp.Runtime.targets" />
+  <Import Project="..\..\src\LLama\LLamaSharp.Runtime.targets" />
   <PropertyGroup>
     <TargetFramework>net8.0</TargetFramework>
     <Nullable>disable</Nullable>
@@ -7,7 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\LLama\LLamaSharp.csproj" />
+    <ProjectReference Include="..\..\src\LLama\LLamaSharp.csproj" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/LLama.Web/Models/LLamaModel.cs b/samples/LLama.Web/Models/LLamaModel.cs
similarity index 100%
rename from LLama.Web/Models/LLamaModel.cs
rename to samples/LLama.Web/Models/LLamaModel.cs
diff --git a/LLama.Web/Models/ModelSession.cs b/samples/LLama.Web/Models/ModelSession.cs
similarity index 100%
rename from LLama.Web/Models/ModelSession.cs
rename to samples/LLama.Web/Models/ModelSession.cs
diff --git a/LLama.Web/Models/TokenModel.cs b/samples/LLama.Web/Models/TokenModel.cs
similarity index 100%
rename from LLama.Web/Models/TokenModel.cs
rename to samples/LLama.Web/Models/TokenModel.cs
diff --git a/LLama.Web/Pages/Error.cshtml b/samples/LLama.Web/Pages/Error.cshtml
similarity index 100%
rename from LLama.Web/Pages/Error.cshtml
rename to samples/LLama.Web/Pages/Error.cshtml
diff --git a/LLama.Web/Pages/Error.cshtml.cs b/samples/LLama.Web/Pages/Error.cshtml.cs
similarity index 100%
rename from LLama.Web/Pages/Error.cshtml.cs
rename to samples/LLama.Web/Pages/Error.cshtml.cs
diff --git a/LLama.Web/Pages/Index.cshtml b/samples/LLama.Web/Pages/Index.cshtml
similarity index 100%
rename from LLama.Web/Pages/Index.cshtml
rename to samples/LLama.Web/Pages/Index.cshtml
diff --git a/LLama.Web/Pages/Index.cshtml.cs b/samples/LLama.Web/Pages/Index.cshtml.cs
similarity index 100%
rename from LLama.Web/Pages/Index.cshtml.cs
rename to samples/LLama.Web/Pages/Index.cshtml.cs
diff --git a/LLama.Web/Pages/Shared/_ChatTemplates.cshtml b/samples/LLama.Web/Pages/Shared/_ChatTemplates.cshtml
similarity index 100%
rename from LLama.Web/Pages/Shared/_ChatTemplates.cshtml
rename to samples/LLama.Web/Pages/Shared/_ChatTemplates.cshtml
diff --git a/LLama.Web/Pages/Shared/_Layout.cshtml b/samples/LLama.Web/Pages/Shared/_Layout.cshtml
similarity index 100%
rename from LLama.Web/Pages/Shared/_Layout.cshtml
rename to samples/LLama.Web/Pages/Shared/_Layout.cshtml
diff --git a/LLama.Web/Pages/Shared/_Layout.cshtml.css b/samples/LLama.Web/Pages/Shared/_Layout.cshtml.css
similarity index 100%
rename from LLama.Web/Pages/Shared/_Layout.cshtml.css
rename to samples/LLama.Web/Pages/Shared/_Layout.cshtml.css
diff --git a/LLama.Web/Pages/Shared/_Parameters.cshtml b/samples/LLama.Web/Pages/Shared/_Parameters.cshtml
similarity index 100%
rename from LLama.Web/Pages/Shared/_Parameters.cshtml
rename to samples/LLama.Web/Pages/Shared/_Parameters.cshtml
diff --git a/LLama.Web/Pages/Shared/_ValidationScriptsPartial.cshtml b/samples/LLama.Web/Pages/Shared/_ValidationScriptsPartial.cshtml
similarity index 100%
rename from LLama.Web/Pages/Shared/_ValidationScriptsPartial.cshtml
rename to samples/LLama.Web/Pages/Shared/_ValidationScriptsPartial.cshtml
diff --git a/LLama.Web/Pages/_ViewImports.cshtml b/samples/LLama.Web/Pages/_ViewImports.cshtml
similarity index 100%
rename from LLama.Web/Pages/_ViewImports.cshtml
rename to samples/LLama.Web/Pages/_ViewImports.cshtml
diff --git a/LLama.Web/Pages/_ViewStart.cshtml b/samples/LLama.Web/Pages/_ViewStart.cshtml
similarity index 100%
rename from LLama.Web/Pages/_ViewStart.cshtml
rename to samples/LLama.Web/Pages/_ViewStart.cshtml
diff --git a/LLama.Web/Program.cs b/samples/LLama.Web/Program.cs
similarity index 100%
rename from LLama.Web/Program.cs
rename to samples/LLama.Web/Program.cs
diff --git a/LLama.Web/README.md b/samples/LLama.Web/README.md
similarity index 100%
rename from LLama.Web/README.md
rename to samples/LLama.Web/README.md
diff --git a/LLama.Web/Services/IModelService.cs b/samples/LLama.Web/Services/IModelService.cs
similarity index 100%
rename from LLama.Web/Services/IModelService.cs
rename to samples/LLama.Web/Services/IModelService.cs
diff --git a/LLama.Web/Services/IModelSessionService.cs b/samples/LLama.Web/Services/IModelSessionService.cs
similarity index 100%
rename from LLama.Web/Services/IModelSessionService.cs
rename to samples/LLama.Web/Services/IModelSessionService.cs
diff --git a/LLama.Web/Services/ModelLoaderService.cs b/samples/LLama.Web/Services/ModelLoaderService.cs
similarity index 100%
rename from LLama.Web/Services/ModelLoaderService.cs
rename to samples/LLama.Web/Services/ModelLoaderService.cs
diff --git a/LLama.Web/Services/ModelService.cs b/samples/LLama.Web/Services/ModelService.cs
similarity index 100%
rename from LLama.Web/Services/ModelService.cs
rename to samples/LLama.Web/Services/ModelService.cs
diff --git a/LLama.Web/Services/ModelSessionService.cs b/samples/LLama.Web/Services/ModelSessionService.cs
similarity index 100%
rename from LLama.Web/Services/ModelSessionService.cs
rename to samples/LLama.Web/Services/ModelSessionService.cs
diff --git a/LLama.Web/appsettings.Development.json b/samples/LLama.Web/appsettings.Development.json
similarity index 100%
rename from LLama.Web/appsettings.Development.json
rename to samples/LLama.Web/appsettings.Development.json
diff --git a/LLama.Web/appsettings.json b/samples/LLama.Web/appsettings.json
similarity index 100%
rename from LLama.Web/appsettings.json
rename to samples/LLama.Web/appsettings.json
diff --git a/LLama.Web/libman.json b/samples/LLama.Web/libman.json
similarity index 100%
rename from LLama.Web/libman.json
rename to samples/LLama.Web/libman.json
diff --git a/LLama.Web/wwwroot/css/site.css b/samples/LLama.Web/wwwroot/css/site.css
similarity index 100%
rename from LLama.Web/wwwroot/css/site.css
rename to samples/LLama.Web/wwwroot/css/site.css
diff --git a/LLama.Web/wwwroot/favicon.ico b/samples/LLama.Web/wwwroot/favicon.ico
similarity index 100%
rename from LLama.Web/wwwroot/favicon.ico
rename to samples/LLama.Web/wwwroot/favicon.ico
diff --git a/LLama.Web/wwwroot/fonts/Roboto-Regular.ttf b/samples/LLama.Web/wwwroot/fonts/Roboto-Regular.ttf
similarity index 100%
rename from LLama.Web/wwwroot/fonts/Roboto-Regular.ttf
rename to samples/LLama.Web/wwwroot/fonts/Roboto-Regular.ttf
diff --git a/LLama.Web/wwwroot/image/llama-sharp.png b/samples/LLama.Web/wwwroot/image/llama-sharp.png
similarity index 100%
rename from LLama.Web/wwwroot/image/llama-sharp.png
rename to samples/LLama.Web/wwwroot/image/llama-sharp.png
diff --git a/LLama.Web/wwwroot/image/loading.gif b/samples/LLama.Web/wwwroot/image/loading.gif
similarity index 100%
rename from LLama.Web/wwwroot/image/loading.gif
rename to samples/LLama.Web/wwwroot/image/loading.gif
diff --git a/LLama.Web/wwwroot/js/sessionConnectionChat.js b/samples/LLama.Web/wwwroot/js/sessionConnectionChat.js
similarity index 100%
rename from LLama.Web/wwwroot/js/sessionConnectionChat.js
rename to samples/LLama.Web/wwwroot/js/sessionConnectionChat.js
diff --git a/LLama.Web/wwwroot/js/site.js b/samples/LLama.Web/wwwroot/js/site.js
similarity index 100%
rename from LLama.Web/wwwroot/js/site.js
rename to samples/LLama.Web/wwwroot/js/site.js
diff --git a/LLama.Web/wwwroot/js/theme.js b/samples/LLama.Web/wwwroot/js/theme.js
similarity index 100%
rename from LLama.Web/wwwroot/js/theme.js
rename to samples/LLama.Web/wwwroot/js/theme.js
diff --git a/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt b/samples/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt
rename to samples/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt
diff --git a/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js b/samples/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
rename to samples/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
diff --git a/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js b/samples/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
rename to samples/LLama.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
diff --git a/LLama.Web/wwwroot/lib/jquery-validation/LICENSE.md b/samples/LLama.Web/wwwroot/lib/jquery-validation/LICENSE.md
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation/LICENSE.md
rename to samples/LLama.Web/wwwroot/lib/jquery-validation/LICENSE.md
diff --git a/LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.js b/samples/LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.js
rename to samples/LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.js
diff --git a/LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.min.js b/samples/LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.min.js
rename to samples/LLama.Web/wwwroot/lib/jquery-validation/dist/additional-methods.min.js
diff --git a/LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.js b/samples/LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.js
rename to samples/LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.js
diff --git a/LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js b/samples/LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js
rename to samples/LLama.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js
diff --git a/LLama.Web/wwwroot/lib/jquery.unobtrusive-ajax.min.js b/samples/LLama.Web/wwwroot/lib/jquery.unobtrusive-ajax.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery.unobtrusive-ajax.min.js
rename to samples/LLama.Web/wwwroot/lib/jquery.unobtrusive-ajax.min.js
diff --git a/LLama.Web/wwwroot/lib/jquery/jquery.js b/samples/LLama.Web/wwwroot/lib/jquery/jquery.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery/jquery.js
rename to samples/LLama.Web/wwwroot/lib/jquery/jquery.js
diff --git a/LLama.Web/wwwroot/lib/jquery/jquery.min.js b/samples/LLama.Web/wwwroot/lib/jquery/jquery.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery/jquery.min.js
rename to samples/LLama.Web/wwwroot/lib/jquery/jquery.min.js
diff --git a/LLama.Web/wwwroot/lib/jquery/jquery.min.map b/samples/LLama.Web/wwwroot/lib/jquery/jquery.min.map
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery/jquery.min.map
rename to samples/LLama.Web/wwwroot/lib/jquery/jquery.min.map
diff --git a/LLama.Web/wwwroot/lib/jquery/jquery.slim.js b/samples/LLama.Web/wwwroot/lib/jquery/jquery.slim.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery/jquery.slim.js
rename to samples/LLama.Web/wwwroot/lib/jquery/jquery.slim.js
diff --git a/LLama.Web/wwwroot/lib/jquery/jquery.slim.min.js b/samples/LLama.Web/wwwroot/lib/jquery/jquery.slim.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery/jquery.slim.min.js
rename to samples/LLama.Web/wwwroot/lib/jquery/jquery.slim.min.js
diff --git a/LLama.Web/wwwroot/lib/jquery/jquery.slim.min.map b/samples/LLama.Web/wwwroot/lib/jquery/jquery.slim.min.map
similarity index 100%
rename from LLama.Web/wwwroot/lib/jquery/jquery.slim.min.map
rename to samples/LLama.Web/wwwroot/lib/jquery/jquery.slim.min.map
diff --git a/LLama.Web/wwwroot/lib/mustache/mustache.js b/samples/LLama.Web/wwwroot/lib/mustache/mustache.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/mustache/mustache.js
rename to samples/LLama.Web/wwwroot/lib/mustache/mustache.js
diff --git a/LLama.Web/wwwroot/lib/signalr/signalr.min.js b/samples/LLama.Web/wwwroot/lib/signalr/signalr.min.js
similarity index 100%
rename from LLama.Web/wwwroot/lib/signalr/signalr.min.js
rename to samples/LLama.Web/wwwroot/lib/signalr/signalr.min.js
diff --git a/LLama.WebAPI/Controllers/ChatController.cs b/samples/LLama.WebAPI/Controllers/ChatController.cs
similarity index 100%
rename from LLama.WebAPI/Controllers/ChatController.cs
rename to samples/LLama.WebAPI/Controllers/ChatController.cs
diff --git a/LLama.WebAPI/LLama.WebAPI.csproj b/samples/LLama.WebAPI/LLama.WebAPI.csproj
similarity index 86%
rename from LLama.WebAPI/LLama.WebAPI.csproj
rename to samples/LLama.WebAPI/LLama.WebAPI.csproj
index 95c3145bf..7896c0b08 100644
--- a/LLama.WebAPI/LLama.WebAPI.csproj
+++ b/samples/LLama.WebAPI/LLama.WebAPI.csproj
@@ -1,5 +1,5 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
-  <Import Project="..\LLama\LLamaSharp.Runtime.targets" />
+  <Import Project="..\..\src\LLama\LLamaSharp.Runtime.targets" />
   <PropertyGroup>
     <TargetFramework>net8.0</TargetFramework>
     <Nullable>enable</Nullable>
@@ -14,7 +14,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\LLama\LLamaSharp.csproj" />
+    <ProjectReference Include="..\..\src\LLama\LLamaSharp.csproj" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/LLama.WebAPI/Models/SendMessageInput.cs b/samples/LLama.WebAPI/Models/SendMessageInput.cs
similarity index 100%
rename from LLama.WebAPI/Models/SendMessageInput.cs
rename to samples/LLama.WebAPI/Models/SendMessageInput.cs
diff --git a/LLama.WebAPI/Program.cs b/samples/LLama.WebAPI/Program.cs
similarity index 95%
rename from LLama.WebAPI/Program.cs
rename to samples/LLama.WebAPI/Program.cs
index 2d9d11235..237e1f187 100644
--- a/LLama.WebAPI/Program.cs
+++ b/samples/LLama.WebAPI/Program.cs
@@ -1,32 +1,32 @@
-using LLama.WebAPI.Services;
-
-var builder = WebApplication.CreateBuilder(args);
-
-// Add services to the container.
-
-builder.Services.AddControllers();
-// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
-builder.Services.AddEndpointsApiExplorer();
-builder.Services.AddSwaggerGen();
-
-builder.Services.AddSingleton<StatefulChatService>();
-builder.Services.AddScoped<StatelessChatService>();
-
-var app = builder.Build();
-app.UseRouting();
-
-// Configure the HTTP request pipeline.
-if (app.Environment.IsDevelopment())
-{
-    app.UseSwagger();
-    app.UseSwaggerUI();
-}
-
-app.UseAuthorization();
-
-app.UseEndpoints(endpoints =>
-{
-    _ = endpoints.MapControllers();
-});
-
-app.Run();
+using LLama.WebAPI.Services;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+
+builder.Services.AddControllers();
+// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
+builder.Services.AddEndpointsApiExplorer();
+builder.Services.AddSwaggerGen();
+
+builder.Services.AddSingleton<StatefulChatService>();
+builder.Services.AddScoped<StatelessChatService>();
+
+var app = builder.Build();
+app.UseRouting();
+
+// Configure the HTTP request pipeline.
+if (app.Environment.IsDevelopment())
+{
+    app.UseSwagger();
+    app.UseSwaggerUI();
+}
+
+app.UseAuthorization();
+
+app.UseEndpoints(endpoints =>
+{
+    _ = endpoints.MapControllers();
+});
+
+app.Run();
diff --git a/LLama.WebAPI/Services/StatefulChatService.cs b/samples/LLama.WebAPI/Services/StatefulChatService.cs
similarity index 100%
rename from LLama.WebAPI/Services/StatefulChatService.cs
rename to samples/LLama.WebAPI/Services/StatefulChatService.cs
diff --git a/LLama.WebAPI/Services/StatelessChatService.cs b/samples/LLama.WebAPI/Services/StatelessChatService.cs
similarity index 100%
rename from LLama.WebAPI/Services/StatelessChatService.cs
rename to samples/LLama.WebAPI/Services/StatelessChatService.cs
diff --git a/LLama.WebAPI/appsettings.Development.json b/samples/LLama.WebAPI/appsettings.Development.json
similarity index 93%
rename from LLama.WebAPI/appsettings.Development.json
rename to samples/LLama.WebAPI/appsettings.Development.json
index ff66ba6b2..0c208ae91 100644
--- a/LLama.WebAPI/appsettings.Development.json
+++ b/samples/LLama.WebAPI/appsettings.Development.json
@@ -1,8 +1,8 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Information",
-      "Microsoft.AspNetCore": "Warning"
-    }
-  }
-}
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  }
+}
diff --git a/LLama.WebAPI/appsettings.json b/samples/LLama.WebAPI/appsettings.json
similarity index 100%
rename from LLama.WebAPI/appsettings.json
rename to samples/LLama.WebAPI/appsettings.json
diff --git a/LLama.Experimental/Extensions/NativeLibraryAutoDownloadExtension.cs b/src/LLama.Experimental/Extensions/NativeLibraryAutoDownloadExtension.cs
similarity index 100%
rename from LLama.Experimental/Extensions/NativeLibraryAutoDownloadExtension.cs
rename to src/LLama.Experimental/Extensions/NativeLibraryAutoDownloadExtension.cs
diff --git a/LLama.Experimental/LLama.Experimental.csproj b/src/LLama.Experimental/LLama.Experimental.csproj
similarity index 100%
rename from LLama.Experimental/LLama.Experimental.csproj
rename to src/LLama.Experimental/LLama.Experimental.csproj
diff --git a/LLama.Experimental/Native/AutoDownloadedLibraries.cs b/src/LLama.Experimental/Native/AutoDownloadedLibraries.cs
similarity index 100%
rename from LLama.Experimental/Native/AutoDownloadedLibraries.cs
rename to src/LLama.Experimental/Native/AutoDownloadedLibraries.cs
diff --git a/LLama.Experimental/Native/NativeLibraryDownloader.cs b/src/LLama.Experimental/Native/NativeLibraryDownloader.cs
similarity index 100%
rename from LLama.Experimental/Native/NativeLibraryDownloader.cs
rename to src/LLama.Experimental/Native/NativeLibraryDownloader.cs
diff --git a/LLama.Experimental/Native/SelectingPolicyWithAutoDownload.cs b/src/LLama.Experimental/Native/SelectingPolicyWithAutoDownload.cs
similarity index 100%
rename from LLama.Experimental/Native/SelectingPolicyWithAutoDownload.cs
rename to src/LLama.Experimental/Native/SelectingPolicyWithAutoDownload.cs
diff --git a/LLama.KernelMemory/BuilderExtensions.cs b/src/LLama.KernelMemory/BuilderExtensions.cs
similarity index 100%
rename from LLama.KernelMemory/BuilderExtensions.cs
rename to src/LLama.KernelMemory/BuilderExtensions.cs
diff --git a/LLama.KernelMemory/LLamaSharp.KernelMemory.csproj b/src/LLama.KernelMemory/LLamaSharp.KernelMemory.csproj
similarity index 100%
rename from LLama.KernelMemory/LLamaSharp.KernelMemory.csproj
rename to src/LLama.KernelMemory/LLamaSharp.KernelMemory.csproj
diff --git a/LLama.KernelMemory/LLamaSharpTextEmbeddingGenerator.cs b/src/LLama.KernelMemory/LLamaSharpTextEmbeddingGenerator.cs
similarity index 100%
rename from LLama.KernelMemory/LLamaSharpTextEmbeddingGenerator.cs
rename to src/LLama.KernelMemory/LLamaSharpTextEmbeddingGenerator.cs
diff --git a/LLama.KernelMemory/LlamaSharpConfig.cs b/src/LLama.KernelMemory/LlamaSharpConfig.cs
similarity index 100%
rename from LLama.KernelMemory/LlamaSharpConfig.cs
rename to src/LLama.KernelMemory/LlamaSharpConfig.cs
diff --git a/LLama.KernelMemory/LlamaSharpTextGenerator.cs b/src/LLama.KernelMemory/LlamaSharpTextGenerator.cs
similarity index 100%
rename from LLama.KernelMemory/LlamaSharpTextGenerator.cs
rename to src/LLama.KernelMemory/LlamaSharpTextGenerator.cs
diff --git a/LLama.SemanticKernel/ChatCompletion/ChatRequestSettings.cs b/src/LLama.SemanticKernel/ChatCompletion/ChatRequestSettings.cs
similarity index 100%
rename from LLama.SemanticKernel/ChatCompletion/ChatRequestSettings.cs
rename to src/LLama.SemanticKernel/ChatCompletion/ChatRequestSettings.cs
diff --git a/LLama.SemanticKernel/ChatCompletion/ChatRequestSettingsConverter.cs b/src/LLama.SemanticKernel/ChatCompletion/ChatRequestSettingsConverter.cs
similarity index 100%
rename from LLama.SemanticKernel/ChatCompletion/ChatRequestSettingsConverter.cs
rename to src/LLama.SemanticKernel/ChatCompletion/ChatRequestSettingsConverter.cs
diff --git a/LLama.SemanticKernel/ChatCompletion/HistoryTransform.cs b/src/LLama.SemanticKernel/ChatCompletion/HistoryTransform.cs
similarity index 100%
rename from LLama.SemanticKernel/ChatCompletion/HistoryTransform.cs
rename to src/LLama.SemanticKernel/ChatCompletion/HistoryTransform.cs
diff --git a/LLama.SemanticKernel/ChatCompletion/LLamaSharpChatCompletion.cs b/src/LLama.SemanticKernel/ChatCompletion/LLamaSharpChatCompletion.cs
similarity index 100%
rename from LLama.SemanticKernel/ChatCompletion/LLamaSharpChatCompletion.cs
rename to src/LLama.SemanticKernel/ChatCompletion/LLamaSharpChatCompletion.cs
diff --git a/LLama.SemanticKernel/ExtensionMethods.cs b/src/LLama.SemanticKernel/ExtensionMethods.cs
similarity index 100%
rename from LLama.SemanticKernel/ExtensionMethods.cs
rename to src/LLama.SemanticKernel/ExtensionMethods.cs
diff --git a/LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj b/src/LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj
similarity index 100%
rename from LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj
rename to src/LLama.SemanticKernel/LLamaSharp.SemanticKernel.csproj
diff --git a/LLama.SemanticKernel/LLamaSharpPromptExecutionSettings.cs b/src/LLama.SemanticKernel/LLamaSharpPromptExecutionSettings.cs
similarity index 100%
rename from LLama.SemanticKernel/LLamaSharpPromptExecutionSettings.cs
rename to src/LLama.SemanticKernel/LLamaSharpPromptExecutionSettings.cs
diff --git a/LLama.SemanticKernel/LLamaSharpPromptExecutionSettingsConverter.cs b/src/LLama.SemanticKernel/LLamaSharpPromptExecutionSettingsConverter.cs
similarity index 100%
rename from LLama.SemanticKernel/LLamaSharpPromptExecutionSettingsConverter.cs
rename to src/LLama.SemanticKernel/LLamaSharpPromptExecutionSettingsConverter.cs
diff --git a/LLama.SemanticKernel/README.md b/src/LLama.SemanticKernel/README.md
similarity index 100%
rename from LLama.SemanticKernel/README.md
rename to src/LLama.SemanticKernel/README.md
diff --git a/LLama.SemanticKernel/TextCompletion/LLamaSharpTextCompletion.cs b/src/LLama.SemanticKernel/TextCompletion/LLamaSharpTextCompletion.cs
similarity index 100%
rename from LLama.SemanticKernel/TextCompletion/LLamaSharpTextCompletion.cs
rename to src/LLama.SemanticKernel/TextCompletion/LLamaSharpTextCompletion.cs
diff --git a/LLama.SemanticKernel/TextEmbedding/LLamaSharpEmbeddingGeneration.cs b/src/LLama.SemanticKernel/TextEmbedding/LLamaSharpEmbeddingGeneration.cs
similarity index 100%
rename from LLama.SemanticKernel/TextEmbedding/LLamaSharpEmbeddingGeneration.cs
rename to src/LLama.SemanticKernel/TextEmbedding/LLamaSharpEmbeddingGeneration.cs
diff --git a/LLama/Abstractions/IContextParams.cs b/src/LLama/Abstractions/IContextParams.cs
similarity index 100%
rename from LLama/Abstractions/IContextParams.cs
rename to src/LLama/Abstractions/IContextParams.cs
diff --git a/LLama/Abstractions/IHistoryTransform.cs b/src/LLama/Abstractions/IHistoryTransform.cs
similarity index 100%
rename from LLama/Abstractions/IHistoryTransform.cs
rename to src/LLama/Abstractions/IHistoryTransform.cs
diff --git a/LLama/Abstractions/IInferenceParams.cs b/src/LLama/Abstractions/IInferenceParams.cs
similarity index 100%
rename from LLama/Abstractions/IInferenceParams.cs
rename to src/LLama/Abstractions/IInferenceParams.cs
diff --git a/LLama/Abstractions/ILLamaExecutor.cs b/src/LLama/Abstractions/ILLamaExecutor.cs
similarity index 100%
rename from LLama/Abstractions/ILLamaExecutor.cs
rename to src/LLama/Abstractions/ILLamaExecutor.cs
diff --git a/LLama/Abstractions/ILLamaParams.cs b/src/LLama/Abstractions/ILLamaParams.cs
similarity index 100%
rename from LLama/Abstractions/ILLamaParams.cs
rename to src/LLama/Abstractions/ILLamaParams.cs
diff --git a/LLama/Abstractions/IModelParams.cs b/src/LLama/Abstractions/IModelParams.cs
similarity index 100%
rename from LLama/Abstractions/IModelParams.cs
rename to src/LLama/Abstractions/IModelParams.cs
diff --git a/LLama/Abstractions/INativeLibrary.cs b/src/LLama/Abstractions/INativeLibrary.cs
similarity index 100%
rename from LLama/Abstractions/INativeLibrary.cs
rename to src/LLama/Abstractions/INativeLibrary.cs
diff --git a/LLama/Abstractions/INativeLibrarySelectingPolicy.cs b/src/LLama/Abstractions/INativeLibrarySelectingPolicy.cs
similarity index 100%
rename from LLama/Abstractions/INativeLibrarySelectingPolicy.cs
rename to src/LLama/Abstractions/INativeLibrarySelectingPolicy.cs
diff --git a/LLama/Abstractions/ITextStreamTransform.cs b/src/LLama/Abstractions/ITextStreamTransform.cs
similarity index 100%
rename from LLama/Abstractions/ITextStreamTransform.cs
rename to src/LLama/Abstractions/ITextStreamTransform.cs
diff --git a/LLama/Abstractions/ITextTransform.cs b/src/LLama/Abstractions/ITextTransform.cs
similarity index 100%
rename from LLama/Abstractions/ITextTransform.cs
rename to src/LLama/Abstractions/ITextTransform.cs
diff --git a/LLama/AntipromptProcessor.cs b/src/LLama/AntipromptProcessor.cs
similarity index 100%
rename from LLama/AntipromptProcessor.cs
rename to src/LLama/AntipromptProcessor.cs
diff --git a/LLama/AssemblyAttributes.cs b/src/LLama/AssemblyAttributes.cs
similarity index 100%
rename from LLama/AssemblyAttributes.cs
rename to src/LLama/AssemblyAttributes.cs
diff --git a/LLama/Batched/BatchedExecutor.cs b/src/LLama/Batched/BatchedExecutor.cs
similarity index 100%
rename from LLama/Batched/BatchedExecutor.cs
rename to src/LLama/Batched/BatchedExecutor.cs
diff --git a/LLama/Batched/Conversation.cs b/src/LLama/Batched/Conversation.cs
similarity index 100%
rename from LLama/Batched/Conversation.cs
rename to src/LLama/Batched/Conversation.cs
diff --git a/LLama/Batched/ConversationExtensions.cs b/src/LLama/Batched/ConversationExtensions.cs
similarity index 100%
rename from LLama/Batched/ConversationExtensions.cs
rename to src/LLama/Batched/ConversationExtensions.cs
diff --git a/LLama/Batched/Exceptions.cs b/src/LLama/Batched/Exceptions.cs
similarity index 100%
rename from LLama/Batched/Exceptions.cs
rename to src/LLama/Batched/Exceptions.cs
diff --git a/LLama/Batched/LLamaContextExtensions.cs b/src/LLama/Batched/LLamaContextExtensions.cs
similarity index 100%
rename from LLama/Batched/LLamaContextExtensions.cs
rename to src/LLama/Batched/LLamaContextExtensions.cs
diff --git a/LLama/ChatSession.cs b/src/LLama/ChatSession.cs
similarity index 100%
rename from LLama/ChatSession.cs
rename to src/LLama/ChatSession.cs
diff --git a/LLama/Common/ChatHistory.cs b/src/LLama/Common/ChatHistory.cs
similarity index 100%
rename from LLama/Common/ChatHistory.cs
rename to src/LLama/Common/ChatHistory.cs
diff --git a/LLama/Common/FixedSizeQueue.cs b/src/LLama/Common/FixedSizeQueue.cs
similarity index 100%
rename from LLama/Common/FixedSizeQueue.cs
rename to src/LLama/Common/FixedSizeQueue.cs
diff --git a/LLama/Common/InferenceParams.cs b/src/LLama/Common/InferenceParams.cs
similarity index 100%
rename from LLama/Common/InferenceParams.cs
rename to src/LLama/Common/InferenceParams.cs
diff --git a/LLama/Common/ModelParams.cs b/src/LLama/Common/ModelParams.cs
similarity index 100%
rename from LLama/Common/ModelParams.cs
rename to src/LLama/Common/ModelParams.cs
diff --git a/LLama/Common/PolymorphicJSONConverter.cs b/src/LLama/Common/PolymorphicJSONConverter.cs
similarity index 100%
rename from LLama/Common/PolymorphicJSONConverter.cs
rename to src/LLama/Common/PolymorphicJSONConverter.cs
diff --git a/LLama/Exceptions/GrammarFormatExceptions.cs b/src/LLama/Exceptions/GrammarFormatExceptions.cs
similarity index 100%
rename from LLama/Exceptions/GrammarFormatExceptions.cs
rename to src/LLama/Exceptions/GrammarFormatExceptions.cs
diff --git a/LLama/Exceptions/RuntimeError.cs b/src/LLama/Exceptions/RuntimeError.cs
similarity index 100%
rename from LLama/Exceptions/RuntimeError.cs
rename to src/LLama/Exceptions/RuntimeError.cs
diff --git a/LLama/Extensions/DictionaryExtensions.cs b/src/LLama/Extensions/DictionaryExtensions.cs
similarity index 100%
rename from LLama/Extensions/DictionaryExtensions.cs
rename to src/LLama/Extensions/DictionaryExtensions.cs
diff --git a/LLama/Extensions/EncodingExtensions.cs b/src/LLama/Extensions/EncodingExtensions.cs
similarity index 100%
rename from LLama/Extensions/EncodingExtensions.cs
rename to src/LLama/Extensions/EncodingExtensions.cs
diff --git a/LLama/Extensions/IContextParamsExtensions.cs b/src/LLama/Extensions/IContextParamsExtensions.cs
similarity index 100%
rename from LLama/Extensions/IContextParamsExtensions.cs
rename to src/LLama/Extensions/IContextParamsExtensions.cs
diff --git a/LLama/Extensions/IEnumerableExtensions.cs b/src/LLama/Extensions/IEnumerableExtensions.cs
similarity index 100%
rename from LLama/Extensions/IEnumerableExtensions.cs
rename to src/LLama/Extensions/IEnumerableExtensions.cs
diff --git a/LLama/Extensions/IModelParamsExtensions.cs b/src/LLama/Extensions/IModelParamsExtensions.cs
similarity index 100%
rename from LLama/Extensions/IModelParamsExtensions.cs
rename to src/LLama/Extensions/IModelParamsExtensions.cs
diff --git a/LLama/Extensions/IReadOnlyListExtensions.cs b/src/LLama/Extensions/IReadOnlyListExtensions.cs
similarity index 100%
rename from LLama/Extensions/IReadOnlyListExtensions.cs
rename to src/LLama/Extensions/IReadOnlyListExtensions.cs
diff --git a/LLama/Extensions/KeyValuePairExtensions.cs b/src/LLama/Extensions/KeyValuePairExtensions.cs
similarity index 100%
rename from LLama/Extensions/KeyValuePairExtensions.cs
rename to src/LLama/Extensions/KeyValuePairExtensions.cs
diff --git a/LLama/Extensions/ListExtensions.cs b/src/LLama/Extensions/ListExtensions.cs
similarity index 100%
rename from LLama/Extensions/ListExtensions.cs
rename to src/LLama/Extensions/ListExtensions.cs
diff --git a/LLama/GlobalSuppressions.cs b/src/LLama/GlobalSuppressions.cs
similarity index 100%
rename from LLama/GlobalSuppressions.cs
rename to src/LLama/GlobalSuppressions.cs
diff --git a/LLama/Grammars/GBNFGrammarParser.cs b/src/LLama/Grammars/GBNFGrammarParser.cs
similarity index 100%
rename from LLama/Grammars/GBNFGrammarParser.cs
rename to src/LLama/Grammars/GBNFGrammarParser.cs
diff --git a/LLama/Grammars/Grammar.cs b/src/LLama/Grammars/Grammar.cs
similarity index 100%
rename from LLama/Grammars/Grammar.cs
rename to src/LLama/Grammars/Grammar.cs
diff --git a/LLama/Grammars/GrammarRule.cs b/src/LLama/Grammars/GrammarRule.cs
similarity index 100%
rename from LLama/Grammars/GrammarRule.cs
rename to src/LLama/Grammars/GrammarRule.cs
diff --git a/LLama/LLamaContext.cs b/src/LLama/LLamaContext.cs
similarity index 100%
rename from LLama/LLamaContext.cs
rename to src/LLama/LLamaContext.cs
diff --git a/LLama/LLamaEmbedder.cs b/src/LLama/LLamaEmbedder.cs
similarity index 100%
rename from LLama/LLamaEmbedder.cs
rename to src/LLama/LLamaEmbedder.cs
diff --git a/LLama/LLamaExecutorBase.cs b/src/LLama/LLamaExecutorBase.cs
similarity index 100%
rename from LLama/LLamaExecutorBase.cs
rename to src/LLama/LLamaExecutorBase.cs
diff --git a/LLama/LLamaInstructExecutor.cs b/src/LLama/LLamaInstructExecutor.cs
similarity index 100%
rename from LLama/LLamaInstructExecutor.cs
rename to src/LLama/LLamaInstructExecutor.cs
diff --git a/LLama/LLamaInteractExecutor.cs b/src/LLama/LLamaInteractExecutor.cs
similarity index 100%
rename from LLama/LLamaInteractExecutor.cs
rename to src/LLama/LLamaInteractExecutor.cs
diff --git a/LLama/LLamaQuantizer.cs b/src/LLama/LLamaQuantizer.cs
similarity index 100%
rename from LLama/LLamaQuantizer.cs
rename to src/LLama/LLamaQuantizer.cs
diff --git a/LLama/LLamaSharp.Runtime.targets b/src/LLama/LLamaSharp.Runtime.targets
similarity index 100%
rename from LLama/LLamaSharp.Runtime.targets
rename to src/LLama/LLamaSharp.Runtime.targets
diff --git a/LLama/LLamaSharp.csproj b/src/LLama/LLamaSharp.csproj
similarity index 97%
rename from LLama/LLamaSharp.csproj
rename to src/LLama/LLamaSharp.csproj
index f6e18e21a..db82c6c3a 100644
--- a/LLama/LLamaSharp.csproj
+++ b/src/LLama/LLamaSharp.csproj
@@ -38,7 +38,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <None Include="..\README.md" Pack="true" PackagePath="\" />
+    <None Include="..\..\README.md" Pack="true" PackagePath="\" />
   </ItemGroup>
 
   <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
diff --git a/LLama/LLamaStatelessExecutor.cs b/src/LLama/LLamaStatelessExecutor.cs
similarity index 100%
rename from LLama/LLamaStatelessExecutor.cs
rename to src/LLama/LLamaStatelessExecutor.cs
diff --git a/LLama/LLamaTemplate.cs b/src/LLama/LLamaTemplate.cs
similarity index 100%
rename from LLama/LLamaTemplate.cs
rename to src/LLama/LLamaTemplate.cs
diff --git a/LLama/LLamaTransforms.cs b/src/LLama/LLamaTransforms.cs
similarity index 100%
rename from LLama/LLamaTransforms.cs
rename to src/LLama/LLamaTransforms.cs
diff --git a/LLama/LLamaWeights.cs b/src/LLama/LLamaWeights.cs
similarity index 100%
rename from LLama/LLamaWeights.cs
rename to src/LLama/LLamaWeights.cs
diff --git a/LLama/LLavaWeights.cs b/src/LLama/LLavaWeights.cs
similarity index 100%
rename from LLama/LLavaWeights.cs
rename to src/LLama/LLavaWeights.cs
diff --git a/LLama/Native/DecodeResult.cs b/src/LLama/Native/DecodeResult.cs
similarity index 100%
rename from LLama/Native/DecodeResult.cs
rename to src/LLama/Native/DecodeResult.cs
diff --git a/LLama/Native/GGMLType.cs b/src/LLama/Native/GGMLType.cs
similarity index 100%
rename from LLama/Native/GGMLType.cs
rename to src/LLama/Native/GGMLType.cs
diff --git a/LLama/Native/GPUSplitMode.cs b/src/LLama/Native/GPUSplitMode.cs
similarity index 100%
rename from LLama/Native/GPUSplitMode.cs
rename to src/LLama/Native/GPUSplitMode.cs
diff --git a/LLama/Native/GroupDisposable.cs b/src/LLama/Native/GroupDisposable.cs
similarity index 100%
rename from LLama/Native/GroupDisposable.cs
rename to src/LLama/Native/GroupDisposable.cs
diff --git a/LLama/Native/LLamaBatch.cs b/src/LLama/Native/LLamaBatch.cs
similarity index 100%
rename from LLama/Native/LLamaBatch.cs
rename to src/LLama/Native/LLamaBatch.cs
diff --git a/LLama/Native/LLamaBeamView.cs b/src/LLama/Native/LLamaBeamView.cs
similarity index 100%
rename from LLama/Native/LLamaBeamView.cs
rename to src/LLama/Native/LLamaBeamView.cs
diff --git a/LLama/Native/LLamaBeamsState.cs b/src/LLama/Native/LLamaBeamsState.cs
similarity index 100%
rename from LLama/Native/LLamaBeamsState.cs
rename to src/LLama/Native/LLamaBeamsState.cs
diff --git a/LLama/Native/LLamaChatMessage.cs b/src/LLama/Native/LLamaChatMessage.cs
similarity index 100%
rename from LLama/Native/LLamaChatMessage.cs
rename to src/LLama/Native/LLamaChatMessage.cs
diff --git a/LLama/Native/LLamaContextParams.cs b/src/LLama/Native/LLamaContextParams.cs
similarity index 100%
rename from LLama/Native/LLamaContextParams.cs
rename to src/LLama/Native/LLamaContextParams.cs
diff --git a/LLama/Native/LLamaFtype.cs b/src/LLama/Native/LLamaFtype.cs
similarity index 100%
rename from LLama/Native/LLamaFtype.cs
rename to src/LLama/Native/LLamaFtype.cs
diff --git a/LLama/Native/LLamaGrammarElement.cs b/src/LLama/Native/LLamaGrammarElement.cs
similarity index 100%
rename from LLama/Native/LLamaGrammarElement.cs
rename to src/LLama/Native/LLamaGrammarElement.cs
diff --git a/LLama/Native/LLamaKvCacheView.cs b/src/LLama/Native/LLamaKvCacheView.cs
similarity index 100%
rename from LLama/Native/LLamaKvCacheView.cs
rename to src/LLama/Native/LLamaKvCacheView.cs
diff --git a/LLama/Native/LLamaLogLevel.cs b/src/LLama/Native/LLamaLogLevel.cs
similarity index 100%
rename from LLama/Native/LLamaLogLevel.cs
rename to src/LLama/Native/LLamaLogLevel.cs
diff --git a/LLama/Native/LLamaModelMetadataOverride.cs b/src/LLama/Native/LLamaModelMetadataOverride.cs
similarity index 100%
rename from LLama/Native/LLamaModelMetadataOverride.cs
rename to src/LLama/Native/LLamaModelMetadataOverride.cs
diff --git a/LLama/Native/LLamaModelParams.cs b/src/LLama/Native/LLamaModelParams.cs
similarity index 96%
rename from LLama/Native/LLamaModelParams.cs
rename to src/LLama/Native/LLamaModelParams.cs
index bbece4648..97aa67848 100644
--- a/LLama/Native/LLamaModelParams.cs
+++ b/src/LLama/Native/LLamaModelParams.cs
@@ -1,106 +1,106 @@
-using System;
-using System.Runtime.InteropServices;
-
-namespace LLama.Native
-{
-    /// <summary>
-    /// A C# representation of the llama.cpp `llama_model_params` struct
-    /// </summary>
-    [StructLayout(LayoutKind.Sequential)]
-    public unsafe struct LLamaModelParams
-    {
-        /// <summary>
-        /// // number of layers to store in VRAM
-        /// </summary>
-        public int n_gpu_layers;
-
-        /// <summary>
-        /// how to split the model across multiple GPUs
-        /// </summary>
-        public GPUSplitMode split_mode;
-
-        /// <summary>
-        /// the GPU that is used for scratch and small tensors
-        /// </summary>
-        public int main_gpu;
-
-        /// <summary>
-        /// how to split layers across multiple GPUs (size: <see cref="NativeApi.llama_max_devices"/>)
-        /// </summary>
-        public float* tensor_split;
-
-        /// <summary>
-        /// called with a progress value between 0 and 1, pass NULL to disable. If the provided progress_callback
-        /// returns true, model loading continues. If it returns false, model loading is immediately aborted.
-        /// </summary>
-#if NETSTANDARD2_0
-        // this code is intended to be used when running LlamaSharp on NET Framework 4.8 (NET Standard 2.0) 
-        // as NET Framework 4.8 does not play nice with the LlamaProgressCallback type
-        public IntPtr progress_callback;
-#else
-        public LlamaProgressCallback? progress_callback;
-#endif
-
-        /// <summary>
-        /// context pointer passed to the progress callback
-        /// </summary>
-        public void* progress_callback_user_data;
-
-        /// <summary>
-        /// override key-value pairs of the model meta data
-        /// </summary>
-        public LLamaModelMetadataOverride* kv_overrides;
-
-        /// <summary>
-        /// only load the vocabulary, no weights
-        /// </summary>
-        public bool vocab_only
-        {
-            readonly get => Convert.ToBoolean(_vocab_only);
-            set => _vocab_only = Convert.ToSByte(value);
-        }
-        private sbyte _vocab_only;
-
-        /// <summary>
-        /// use mmap if possible
-        /// </summary>
-        public bool use_mmap
-        {
-            readonly get => Convert.ToBoolean(_use_mmap);
-            set => _use_mmap = Convert.ToSByte(value);
-        }
-        private sbyte _use_mmap;
-
-        /// <summary>
-        /// force system to keep model in RAM
-        /// </summary>
-        public bool use_mlock
-        {
-            readonly get => Convert.ToBoolean(_use_mlock);
-            set => _use_mlock = Convert.ToSByte(value);
-        }
-        private sbyte _use_mlock;
-
-        /// <summary>
-        /// validate model tensor data
-        /// </summary>
-        public bool check_tensors
-        {
-            readonly get => Convert.ToBoolean(_check_tensors);
-            set => _check_tensors = Convert.ToSByte(value);
-        }
-        private sbyte _check_tensors;
-
-        /// <summary>
-        /// Create a LLamaModelParams with default values
-        /// </summary>
-        /// <returns></returns>
-        public static LLamaModelParams Default()
-        {
-            return llama_model_default_params();
-
-            [DllImport(NativeApi.libraryName, CallingConvention = CallingConvention.Cdecl)]
-            static extern LLamaModelParams llama_model_default_params();
-        }
-    }
-}
+using System;
+using System.Runtime.InteropServices;
+
+namespace LLama.Native
+{
+    /// <summary>
+    /// A C# representation of the llama.cpp `llama_model_params` struct
+    /// </summary>
+    [StructLayout(LayoutKind.Sequential)]
+    public unsafe struct LLamaModelParams
+    {
+        /// <summary>
+        /// // number of layers to store in VRAM
+        /// </summary>
+        public int n_gpu_layers;
+
+        /// <summary>
+        /// how to split the model across multiple GPUs
+        /// </summary>
+        public GPUSplitMode split_mode;
+
+        /// <summary>
+        /// the GPU that is used for scratch and small tensors
+        /// </summary>
+        public int main_gpu;
+
+        /// <summary>
+        /// how to split layers across multiple GPUs (size: <see cref="NativeApi.llama_max_devices"/>)
+        /// </summary>
+        public float* tensor_split;
+
+        /// <summary>
+        /// called with a progress value between 0 and 1, pass NULL to disable. If the provided progress_callback
+        /// returns true, model loading continues. If it returns false, model loading is immediately aborted.
+        /// </summary>
+#if NETSTANDARD2_0
+        // this code is intended to be used when running LlamaSharp on NET Framework 4.8 (NET Standard 2.0) 
+        // as NET Framework 4.8 does not play nice with the LlamaProgressCallback type
+        public IntPtr progress_callback;
+#else
+        public LlamaProgressCallback? progress_callback;
+#endif
+
+        /// <summary>
+        /// context pointer passed to the progress callback
+        /// </summary>
+        public void* progress_callback_user_data;
+
+        /// <summary>
+        /// override key-value pairs of the model meta data
+        /// </summary>
+        public LLamaModelMetadataOverride* kv_overrides;
+
+        /// <summary>
+        /// only load the vocabulary, no weights
+        /// </summary>
+        public bool vocab_only
+        {
+            readonly get => Convert.ToBoolean(_vocab_only);
+            set => _vocab_only = Convert.ToSByte(value);
+        }
+        private sbyte _vocab_only;
+
+        /// <summary>
+        /// use mmap if possible
+        /// </summary>
+        public bool use_mmap
+        {
+            readonly get => Convert.ToBoolean(_use_mmap);
+            set => _use_mmap = Convert.ToSByte(value);
+        }
+        private sbyte _use_mmap;
+
+        /// <summary>
+        /// force system to keep model in RAM
+        /// </summary>
+        public bool use_mlock
+        {
+            readonly get => Convert.ToBoolean(_use_mlock);
+            set => _use_mlock = Convert.ToSByte(value);
+        }
+        private sbyte _use_mlock;
+
+        /// <summary>
+        /// validate model tensor data
+        /// </summary>
+        public bool check_tensors
+        {
+            readonly get => Convert.ToBoolean(_check_tensors);
+            set => _check_tensors = Convert.ToSByte(value);
+        }
+        private sbyte _check_tensors;
+
+        /// <summary>
+        /// Create a LLamaModelParams with default values
+        /// </summary>
+        /// <returns></returns>
+        public static LLamaModelParams Default()
+        {
+            return llama_model_default_params();
+
+            [DllImport(NativeApi.libraryName, CallingConvention = CallingConvention.Cdecl)]
+            static extern LLamaModelParams llama_model_default_params();
+        }
+    }
+}
diff --git a/LLama/Native/LLamaModelQuantizeParams.cs b/src/LLama/Native/LLamaModelQuantizeParams.cs
similarity index 100%
rename from LLama/Native/LLamaModelQuantizeParams.cs
rename to src/LLama/Native/LLamaModelQuantizeParams.cs
diff --git a/LLama/Native/LLamaNativeBatch.cs b/src/LLama/Native/LLamaNativeBatch.cs
similarity index 100%
rename from LLama/Native/LLamaNativeBatch.cs
rename to src/LLama/Native/LLamaNativeBatch.cs
diff --git a/LLama/Native/LLamaPoolingType.cs b/src/LLama/Native/LLamaPoolingType.cs
similarity index 100%
rename from LLama/Native/LLamaPoolingType.cs
rename to src/LLama/Native/LLamaPoolingType.cs
diff --git a/LLama/Native/LLamaPos.cs b/src/LLama/Native/LLamaPos.cs
similarity index 100%
rename from LLama/Native/LLamaPos.cs
rename to src/LLama/Native/LLamaPos.cs
diff --git a/LLama/Native/LLamaRopeType.cs b/src/LLama/Native/LLamaRopeType.cs
similarity index 100%
rename from LLama/Native/LLamaRopeType.cs
rename to src/LLama/Native/LLamaRopeType.cs
diff --git a/LLama/Native/LLamaSeqId.cs b/src/LLama/Native/LLamaSeqId.cs
similarity index 100%
rename from LLama/Native/LLamaSeqId.cs
rename to src/LLama/Native/LLamaSeqId.cs
diff --git a/LLama/Native/LLamaTimings.cs b/src/LLama/Native/LLamaTimings.cs
similarity index 100%
rename from LLama/Native/LLamaTimings.cs
rename to src/LLama/Native/LLamaTimings.cs
diff --git a/LLama/Native/LLamaToken.cs b/src/LLama/Native/LLamaToken.cs
similarity index 100%
rename from LLama/Native/LLamaToken.cs
rename to src/LLama/Native/LLamaToken.cs
diff --git a/LLama/Native/LLamaTokenData.cs b/src/LLama/Native/LLamaTokenData.cs
similarity index 100%
rename from LLama/Native/LLamaTokenData.cs
rename to src/LLama/Native/LLamaTokenData.cs
diff --git a/LLama/Native/LLamaTokenDataArray.cs b/src/LLama/Native/LLamaTokenDataArray.cs
similarity index 100%
rename from LLama/Native/LLamaTokenDataArray.cs
rename to src/LLama/Native/LLamaTokenDataArray.cs
diff --git a/LLama/Native/LLamaTokenType.cs b/src/LLama/Native/LLamaTokenType.cs
similarity index 100%
rename from LLama/Native/LLamaTokenType.cs
rename to src/LLama/Native/LLamaTokenType.cs
diff --git a/LLama/Native/LLamaVocabPreType.cs b/src/LLama/Native/LLamaVocabPreType.cs
similarity index 100%
rename from LLama/Native/LLamaVocabPreType.cs
rename to src/LLama/Native/LLamaVocabPreType.cs
diff --git a/LLama/Native/LLamaVocabType.cs b/src/LLama/Native/LLamaVocabType.cs
similarity index 100%
rename from LLama/Native/LLamaVocabType.cs
rename to src/LLama/Native/LLamaVocabType.cs
diff --git a/LLama/Native/LLavaImageEmbed.cs b/src/LLama/Native/LLavaImageEmbed.cs
similarity index 100%
rename from LLama/Native/LLavaImageEmbed.cs
rename to src/LLama/Native/LLavaImageEmbed.cs
diff --git a/LLama/Native/Load/DefaultNativeLibrarySelectingPolicy.cs b/src/LLama/Native/Load/DefaultNativeLibrarySelectingPolicy.cs
similarity index 100%
rename from LLama/Native/Load/DefaultNativeLibrarySelectingPolicy.cs
rename to src/LLama/Native/Load/DefaultNativeLibrarySelectingPolicy.cs
diff --git a/LLama/Native/Load/NativeLibraryConfig.cs b/src/LLama/Native/Load/NativeLibraryConfig.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryConfig.cs
rename to src/LLama/Native/Load/NativeLibraryConfig.cs
diff --git a/LLama/Native/Load/NativeLibraryFromPath.cs b/src/LLama/Native/Load/NativeLibraryFromPath.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryFromPath.cs
rename to src/LLama/Native/Load/NativeLibraryFromPath.cs
diff --git a/LLama/Native/Load/NativeLibraryMetadata.cs b/src/LLama/Native/Load/NativeLibraryMetadata.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryMetadata.cs
rename to src/LLama/Native/Load/NativeLibraryMetadata.cs
diff --git a/LLama/Native/Load/NativeLibraryUtils.cs b/src/LLama/Native/Load/NativeLibraryUtils.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryUtils.cs
rename to src/LLama/Native/Load/NativeLibraryUtils.cs
diff --git a/LLama/Native/Load/NativeLibraryWithAvx.cs b/src/LLama/Native/Load/NativeLibraryWithAvx.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryWithAvx.cs
rename to src/LLama/Native/Load/NativeLibraryWithAvx.cs
diff --git a/LLama/Native/Load/NativeLibraryWithCuda.cs b/src/LLama/Native/Load/NativeLibraryWithCuda.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryWithCuda.cs
rename to src/LLama/Native/Load/NativeLibraryWithCuda.cs
diff --git a/LLama/Native/Load/NativeLibraryWithMacOrFallback.cs b/src/LLama/Native/Load/NativeLibraryWithMacOrFallback.cs
similarity index 100%
rename from LLama/Native/Load/NativeLibraryWithMacOrFallback.cs
rename to src/LLama/Native/Load/NativeLibraryWithMacOrFallback.cs
diff --git a/LLama/Native/Load/SystemInfo.cs b/src/LLama/Native/Load/SystemInfo.cs
similarity index 100%
rename from LLama/Native/Load/SystemInfo.cs
rename to src/LLama/Native/Load/SystemInfo.cs
diff --git a/LLama/Native/Load/UnknownNativeLibrary.cs b/src/LLama/Native/Load/UnknownNativeLibrary.cs
similarity index 100%
rename from LLama/Native/Load/UnknownNativeLibrary.cs
rename to src/LLama/Native/Load/UnknownNativeLibrary.cs
diff --git a/LLama/Native/NativeApi.BeamSearch.cs b/src/LLama/Native/NativeApi.BeamSearch.cs
similarity index 100%
rename from LLama/Native/NativeApi.BeamSearch.cs
rename to src/LLama/Native/NativeApi.BeamSearch.cs
diff --git a/LLama/Native/NativeApi.Grammar.cs b/src/LLama/Native/NativeApi.Grammar.cs
similarity index 100%
rename from LLama/Native/NativeApi.Grammar.cs
rename to src/LLama/Native/NativeApi.Grammar.cs
diff --git a/LLama/Native/NativeApi.LLava.cs b/src/LLama/Native/NativeApi.LLava.cs
similarity index 100%
rename from LLama/Native/NativeApi.LLava.cs
rename to src/LLama/Native/NativeApi.LLava.cs
diff --git a/LLama/Native/NativeApi.Load.cs b/src/LLama/Native/NativeApi.Load.cs
similarity index 100%
rename from LLama/Native/NativeApi.Load.cs
rename to src/LLama/Native/NativeApi.Load.cs
diff --git a/LLama/Native/NativeApi.Quantize.cs b/src/LLama/Native/NativeApi.Quantize.cs
similarity index 100%
rename from LLama/Native/NativeApi.Quantize.cs
rename to src/LLama/Native/NativeApi.Quantize.cs
diff --git a/LLama/Native/NativeApi.Sampling.cs b/src/LLama/Native/NativeApi.Sampling.cs
similarity index 100%
rename from LLama/Native/NativeApi.Sampling.cs
rename to src/LLama/Native/NativeApi.Sampling.cs
diff --git a/LLama/Native/NativeApi.cs b/src/LLama/Native/NativeApi.cs
similarity index 100%
rename from LLama/Native/NativeApi.cs
rename to src/LLama/Native/NativeApi.cs
diff --git a/LLama/Native/NativeLogConfig.cs b/src/LLama/Native/NativeLogConfig.cs
similarity index 100%
rename from LLama/Native/NativeLogConfig.cs
rename to src/LLama/Native/NativeLogConfig.cs
diff --git a/LLama/Native/RopeScalingType.cs b/src/LLama/Native/RopeScalingType.cs
similarity index 100%
rename from LLama/Native/RopeScalingType.cs
rename to src/LLama/Native/RopeScalingType.cs
diff --git a/LLama/Native/SafeLLamaContextHandle.cs b/src/LLama/Native/SafeLLamaContextHandle.cs
similarity index 100%
rename from LLama/Native/SafeLLamaContextHandle.cs
rename to src/LLama/Native/SafeLLamaContextHandle.cs
diff --git a/LLama/Native/SafeLLamaGrammarHandle.cs b/src/LLama/Native/SafeLLamaGrammarHandle.cs
similarity index 100%
rename from LLama/Native/SafeLLamaGrammarHandle.cs
rename to src/LLama/Native/SafeLLamaGrammarHandle.cs
diff --git a/LLama/Native/SafeLLamaHandleBase.cs b/src/LLama/Native/SafeLLamaHandleBase.cs
similarity index 100%
rename from LLama/Native/SafeLLamaHandleBase.cs
rename to src/LLama/Native/SafeLLamaHandleBase.cs
diff --git a/LLama/Native/SafeLlamaModelHandle.cs b/src/LLama/Native/SafeLlamaModelHandle.cs
similarity index 100%
rename from LLama/Native/SafeLlamaModelHandle.cs
rename to src/LLama/Native/SafeLlamaModelHandle.cs
diff --git a/LLama/Native/SafeLlavaImageEmbedHandle.cs b/src/LLama/Native/SafeLlavaImageEmbedHandle.cs
similarity index 100%
rename from LLama/Native/SafeLlavaImageEmbedHandle.cs
rename to src/LLama/Native/SafeLlavaImageEmbedHandle.cs
diff --git a/LLama/Native/SafeLlavaModelHandle.cs b/src/LLama/Native/SafeLlavaModelHandle.cs
similarity index 100%
rename from LLama/Native/SafeLlavaModelHandle.cs
rename to src/LLama/Native/SafeLlavaModelHandle.cs
diff --git a/LLama/Native/llama_vocab_pre_type.cs b/src/LLama/Native/llama_vocab_pre_type.cs
similarity index 100%
rename from LLama/Native/llama_vocab_pre_type.cs
rename to src/LLama/Native/llama_vocab_pre_type.cs
diff --git a/LLama/Sampling/BaseSamplingPipeline.cs b/src/LLama/Sampling/BaseSamplingPipeline.cs
similarity index 100%
rename from LLama/Sampling/BaseSamplingPipeline.cs
rename to src/LLama/Sampling/BaseSamplingPipeline.cs
diff --git a/LLama/Sampling/DefaultSamplingPipeline.cs b/src/LLama/Sampling/DefaultSamplingPipeline.cs
similarity index 100%
rename from LLama/Sampling/DefaultSamplingPipeline.cs
rename to src/LLama/Sampling/DefaultSamplingPipeline.cs
diff --git a/LLama/Sampling/GreedySamplingPipeline.cs b/src/LLama/Sampling/GreedySamplingPipeline.cs
similarity index 100%
rename from LLama/Sampling/GreedySamplingPipeline.cs
rename to src/LLama/Sampling/GreedySamplingPipeline.cs
diff --git a/LLama/Sampling/ISamplingPipeline.cs b/src/LLama/Sampling/ISamplingPipeline.cs
similarity index 100%
rename from LLama/Sampling/ISamplingPipeline.cs
rename to src/LLama/Sampling/ISamplingPipeline.cs
diff --git a/LLama/Sampling/Mirostat2SamplingPipeline.cs b/src/LLama/Sampling/Mirostat2SamplingPipeline.cs
similarity index 100%
rename from LLama/Sampling/Mirostat2SamplingPipeline.cs
rename to src/LLama/Sampling/Mirostat2SamplingPipeline.cs
diff --git a/LLama/Sampling/MirostatSamplingPipeline.cs b/src/LLama/Sampling/MirostatSamplingPipeline.cs
similarity index 100%
rename from LLama/Sampling/MirostatSamplingPipeline.cs
rename to src/LLama/Sampling/MirostatSamplingPipeline.cs
diff --git a/LLama/StreamingTokenDecoder.cs b/src/LLama/StreamingTokenDecoder.cs
similarity index 100%
rename from LLama/StreamingTokenDecoder.cs
rename to src/LLama/StreamingTokenDecoder.cs
diff --git a/LLama/Usings.cs b/src/LLama/Usings.cs
similarity index 100%
rename from LLama/Usings.cs
rename to src/LLama/Usings.cs
diff --git a/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec b/src/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec
similarity index 100%
rename from LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec
rename to src/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec
diff --git a/LLama/runtimes/build/LLamaSharp.Backend.Cuda11.nuspec b/src/LLama/runtimes/build/LLamaSharp.Backend.Cuda11.nuspec
similarity index 100%
rename from LLama/runtimes/build/LLamaSharp.Backend.Cuda11.nuspec
rename to src/LLama/runtimes/build/LLamaSharp.Backend.Cuda11.nuspec
diff --git a/LLama/runtimes/build/LLamaSharp.Backend.Cuda12.nuspec b/src/LLama/runtimes/build/LLamaSharp.Backend.Cuda12.nuspec
similarity index 100%
rename from LLama/runtimes/build/LLamaSharp.Backend.Cuda12.nuspec
rename to src/LLama/runtimes/build/LLamaSharp.Backend.Cuda12.nuspec
diff --git a/LLama/runtimes/build/LLamaSharp.Backend.OpenCL.nuspec b/src/LLama/runtimes/build/LLamaSharp.Backend.OpenCL.nuspec
similarity index 100%
rename from LLama/runtimes/build/LLamaSharp.Backend.OpenCL.nuspec
rename to src/LLama/runtimes/build/LLamaSharp.Backend.OpenCL.nuspec
diff --git a/LLama/runtimes/build/LLamaSharpBackend.props b/src/LLama/runtimes/build/LLamaSharpBackend.props
similarity index 100%
rename from LLama/runtimes/build/LLamaSharpBackend.props
rename to src/LLama/runtimes/build/LLamaSharpBackend.props
diff --git a/LLama/runtimes/build/icon512.png b/src/LLama/runtimes/build/icon512.png
similarity index 100%
rename from LLama/runtimes/build/icon512.png
rename to src/LLama/runtimes/build/icon512.png
diff --git a/LLama/runtimes/build/temp.csproj b/src/LLama/runtimes/build/temp.csproj
similarity index 100%
rename from LLama/runtimes/build/temp.csproj
rename to src/LLama/runtimes/build/temp.csproj
diff --git a/LLama/runtimes/deps/avx/libllama.dll b/src/LLama/runtimes/deps/avx/libllama.dll
similarity index 100%
rename from LLama/runtimes/deps/avx/libllama.dll
rename to src/LLama/runtimes/deps/avx/libllama.dll
diff --git a/LLama/runtimes/deps/avx/libllama.so b/src/LLama/runtimes/deps/avx/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/avx/libllama.so
rename to src/LLama/runtimes/deps/avx/libllama.so
diff --git a/LLama/runtimes/deps/avx/libllava_shared.so b/src/LLama/runtimes/deps/avx/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/avx/libllava_shared.so
rename to src/LLama/runtimes/deps/avx/libllava_shared.so
diff --git a/LLama/runtimes/deps/avx/llama.dll b/src/LLama/runtimes/deps/avx/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/avx/llama.dll
rename to src/LLama/runtimes/deps/avx/llama.dll
diff --git a/LLama/runtimes/deps/avx/llava_shared.dll b/src/LLama/runtimes/deps/avx/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/avx/llava_shared.dll
rename to src/LLama/runtimes/deps/avx/llava_shared.dll
diff --git a/LLama/runtimes/deps/avx2/libllama.dll b/src/LLama/runtimes/deps/avx2/libllama.dll
similarity index 100%
rename from LLama/runtimes/deps/avx2/libllama.dll
rename to src/LLama/runtimes/deps/avx2/libllama.dll
diff --git a/LLama/runtimes/deps/avx2/libllama.so b/src/LLama/runtimes/deps/avx2/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/avx2/libllama.so
rename to src/LLama/runtimes/deps/avx2/libllama.so
diff --git a/LLama/runtimes/deps/avx2/libllava_shared.so b/src/LLama/runtimes/deps/avx2/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/avx2/libllava_shared.so
rename to src/LLama/runtimes/deps/avx2/libllava_shared.so
diff --git a/LLama/runtimes/deps/avx2/llama.dll b/src/LLama/runtimes/deps/avx2/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/avx2/llama.dll
rename to src/LLama/runtimes/deps/avx2/llama.dll
diff --git a/LLama/runtimes/deps/avx2/llava_shared.dll b/src/LLama/runtimes/deps/avx2/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/avx2/llava_shared.dll
rename to src/LLama/runtimes/deps/avx2/llava_shared.dll
diff --git a/LLama/runtimes/deps/avx512/libllama.dll b/src/LLama/runtimes/deps/avx512/libllama.dll
similarity index 100%
rename from LLama/runtimes/deps/avx512/libllama.dll
rename to src/LLama/runtimes/deps/avx512/libllama.dll
diff --git a/LLama/runtimes/deps/avx512/libllama.so b/src/LLama/runtimes/deps/avx512/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/avx512/libllama.so
rename to src/LLama/runtimes/deps/avx512/libllama.so
diff --git a/LLama/runtimes/deps/avx512/libllava_shared.so b/src/LLama/runtimes/deps/avx512/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/avx512/libllava_shared.so
rename to src/LLama/runtimes/deps/avx512/libllava_shared.so
diff --git a/LLama/runtimes/deps/avx512/llama.dll b/src/LLama/runtimes/deps/avx512/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/avx512/llama.dll
rename to src/LLama/runtimes/deps/avx512/llama.dll
diff --git a/LLama/runtimes/deps/avx512/llava_shared.dll b/src/LLama/runtimes/deps/avx512/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/avx512/llava_shared.dll
rename to src/LLama/runtimes/deps/avx512/llava_shared.dll
diff --git a/LLama/runtimes/deps/clblast/clblast.dll b/src/LLama/runtimes/deps/clblast/clblast.dll
similarity index 100%
rename from LLama/runtimes/deps/clblast/clblast.dll
rename to src/LLama/runtimes/deps/clblast/clblast.dll
diff --git a/LLama/runtimes/deps/clblast/libllama.so b/src/LLama/runtimes/deps/clblast/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/clblast/libllama.so
rename to src/LLama/runtimes/deps/clblast/libllama.so
diff --git a/LLama/runtimes/deps/clblast/libllava_shared.so b/src/LLama/runtimes/deps/clblast/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/clblast/libllava_shared.so
rename to src/LLama/runtimes/deps/clblast/libllava_shared.so
diff --git a/LLama/runtimes/deps/clblast/llama.dll b/src/LLama/runtimes/deps/clblast/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/clblast/llama.dll
rename to src/LLama/runtimes/deps/clblast/llama.dll
diff --git a/LLama/runtimes/deps/clblast/llava_shared.dll b/src/LLama/runtimes/deps/clblast/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/clblast/llava_shared.dll
rename to src/LLama/runtimes/deps/clblast/llava_shared.dll
diff --git a/LLama/runtimes/deps/cu11.7.1/libllama.so b/src/LLama/runtimes/deps/cu11.7.1/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/cu11.7.1/libllama.so
rename to src/LLama/runtimes/deps/cu11.7.1/libllama.so
diff --git a/LLama/runtimes/deps/cu11.7.1/libllava_shared.so b/src/LLama/runtimes/deps/cu11.7.1/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/cu11.7.1/libllava_shared.so
rename to src/LLama/runtimes/deps/cu11.7.1/libllava_shared.so
diff --git a/LLama/runtimes/deps/cu11.7.1/llama.dll b/src/LLama/runtimes/deps/cu11.7.1/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/cu11.7.1/llama.dll
rename to src/LLama/runtimes/deps/cu11.7.1/llama.dll
diff --git a/LLama/runtimes/deps/cu11.7.1/llava_shared.dll b/src/LLama/runtimes/deps/cu11.7.1/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/cu11.7.1/llava_shared.dll
rename to src/LLama/runtimes/deps/cu11.7.1/llava_shared.dll
diff --git a/LLama/runtimes/deps/cu12.1.0/libllama.so b/src/LLama/runtimes/deps/cu12.1.0/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/cu12.1.0/libllama.so
rename to src/LLama/runtimes/deps/cu12.1.0/libllama.so
diff --git a/LLama/runtimes/deps/cu12.1.0/libllava_shared.so b/src/LLama/runtimes/deps/cu12.1.0/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/cu12.1.0/libllava_shared.so
rename to src/LLama/runtimes/deps/cu12.1.0/libllava_shared.so
diff --git a/LLama/runtimes/deps/cu12.1.0/llama.dll b/src/LLama/runtimes/deps/cu12.1.0/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/cu12.1.0/llama.dll
rename to src/LLama/runtimes/deps/cu12.1.0/llama.dll
diff --git a/LLama/runtimes/deps/cu12.1.0/llava_shared.dll b/src/LLama/runtimes/deps/cu12.1.0/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/cu12.1.0/llava_shared.dll
rename to src/LLama/runtimes/deps/cu12.1.0/llava_shared.dll
diff --git a/LLama/runtimes/deps/libllama.dll b/src/LLama/runtimes/deps/libllama.dll
similarity index 100%
rename from LLama/runtimes/deps/libllama.dll
rename to src/LLama/runtimes/deps/libllama.dll
diff --git a/LLama/runtimes/deps/libllama.so b/src/LLama/runtimes/deps/libllama.so
similarity index 100%
rename from LLama/runtimes/deps/libllama.so
rename to src/LLama/runtimes/deps/libllama.so
diff --git a/LLama/runtimes/deps/libllava_shared.so b/src/LLama/runtimes/deps/libllava_shared.so
similarity index 100%
rename from LLama/runtimes/deps/libllava_shared.so
rename to src/LLama/runtimes/deps/libllava_shared.so
diff --git a/LLama/runtimes/deps/llama.dll b/src/LLama/runtimes/deps/llama.dll
similarity index 100%
rename from LLama/runtimes/deps/llama.dll
rename to src/LLama/runtimes/deps/llama.dll
diff --git a/LLama/runtimes/deps/llava_shared.dll b/src/LLama/runtimes/deps/llava_shared.dll
similarity index 100%
rename from LLama/runtimes/deps/llava_shared.dll
rename to src/LLama/runtimes/deps/llava_shared.dll
diff --git a/LLama/runtimes/deps/osx-arm64/ggml-metal.metal b/src/LLama/runtimes/deps/osx-arm64/ggml-metal.metal
similarity index 100%
rename from LLama/runtimes/deps/osx-arm64/ggml-metal.metal
rename to src/LLama/runtimes/deps/osx-arm64/ggml-metal.metal
diff --git a/LLama/runtimes/deps/osx-arm64/libllama.dylib b/src/LLama/runtimes/deps/osx-arm64/libllama.dylib
similarity index 100%
rename from LLama/runtimes/deps/osx-arm64/libllama.dylib
rename to src/LLama/runtimes/deps/osx-arm64/libllama.dylib
diff --git a/LLama/runtimes/deps/osx-arm64/libllava_shared.dylib b/src/LLama/runtimes/deps/osx-arm64/libllava_shared.dylib
similarity index 100%
rename from LLama/runtimes/deps/osx-arm64/libllava_shared.dylib
rename to src/LLama/runtimes/deps/osx-arm64/libllava_shared.dylib
diff --git a/LLama/runtimes/deps/osx-x64/libllama.dylib b/src/LLama/runtimes/deps/osx-x64/libllama.dylib
similarity index 100%
rename from LLama/runtimes/deps/osx-x64/libllama.dylib
rename to src/LLama/runtimes/deps/osx-x64/libllama.dylib
diff --git a/LLama/runtimes/deps/osx-x64/libllava_shared.dylib b/src/LLama/runtimes/deps/osx-x64/libllava_shared.dylib
similarity index 100%
rename from LLama/runtimes/deps/osx-x64/libllava_shared.dylib
rename to src/LLama/runtimes/deps/osx-x64/libllava_shared.dylib
diff --git a/LLama.Benchmark/Assets/TextCompletionPrompts.txt b/test/LLama.Benchmark/Assets/TextCompletionPrompts.txt
similarity index 100%
rename from LLama.Benchmark/Assets/TextCompletionPrompts.txt
rename to test/LLama.Benchmark/Assets/TextCompletionPrompts.txt
diff --git a/LLama.Benchmark/Assets/extreme-ironing-taxi-610x427.jpg b/test/LLama.Benchmark/Assets/extreme-ironing-taxi-610x427.jpg
similarity index 100%
rename from LLama.Benchmark/Assets/extreme-ironing-taxi-610x427.jpg
rename to test/LLama.Benchmark/Assets/extreme-ironing-taxi-610x427.jpg
diff --git a/LLama.Benchmark/Assets/models.txt b/test/LLama.Benchmark/Assets/models.txt
similarity index 100%
rename from LLama.Benchmark/Assets/models.txt
rename to test/LLama.Benchmark/Assets/models.txt
diff --git a/LLama.Benchmark/Common.cs b/test/LLama.Benchmark/Common.cs
similarity index 100%
rename from LLama.Benchmark/Common.cs
rename to test/LLama.Benchmark/Common.cs
diff --git a/LLama.Benchmark/Constants.cs b/test/LLama.Benchmark/Constants.cs
similarity index 100%
rename from LLama.Benchmark/Constants.cs
rename to test/LLama.Benchmark/Constants.cs
diff --git a/LLama.Benchmark/LLama.Benchmark.csproj b/test/LLama.Benchmark/LLama.Benchmark.csproj
similarity index 85%
rename from LLama.Benchmark/LLama.Benchmark.csproj
rename to test/LLama.Benchmark/LLama.Benchmark.csproj
index 178284156..a7fa6a1e8 100644
--- a/LLama.Benchmark/LLama.Benchmark.csproj
+++ b/test/LLama.Benchmark/LLama.Benchmark.csproj
@@ -1,5 +1,5 @@
 <Project Sdk="Microsoft.NET.Sdk">
-  <Import Project="..\LLama\LLamaSharp.Runtime.targets" />
+  <Import Project="..\..\src\LLama\LLamaSharp.Runtime.targets" />
 
   <PropertyGroup>
     <OutputType>Exe</OutputType>
@@ -15,7 +15,7 @@
   </ItemGroup>
 
     <ItemGroup>
-      <ProjectReference Include="..\LLama\LLamaSharp.csproj" />
+      <ProjectReference Include="..\..\src\LLama\LLamaSharp.csproj" />
     </ItemGroup>
 
     <ItemGroup>
diff --git a/LLama.Benchmark/LLamaExecutorBenchmark/Prefill.cs b/test/LLama.Benchmark/LLamaExecutorBenchmark/Prefill.cs
similarity index 100%
rename from LLama.Benchmark/LLamaExecutorBenchmark/Prefill.cs
rename to test/LLama.Benchmark/LLamaExecutorBenchmark/Prefill.cs
diff --git a/LLama.Benchmark/Program.cs b/test/LLama.Benchmark/Program.cs
similarity index 100%
rename from LLama.Benchmark/Program.cs
rename to test/LLama.Benchmark/Program.cs
diff --git a/LLama.Unittest/AssemblyAttributes.cs b/test/LLama.Unittest/AssemblyAttributes.cs
similarity index 100%
rename from LLama.Unittest/AssemblyAttributes.cs
rename to test/LLama.Unittest/AssemblyAttributes.cs
diff --git a/LLama.Unittest/BasicTest.cs b/test/LLama.Unittest/BasicTest.cs
similarity index 100%
rename from LLama.Unittest/BasicTest.cs
rename to test/LLama.Unittest/BasicTest.cs
diff --git a/LLama.Unittest/BeamTests.cs b/test/LLama.Unittest/BeamTests.cs
similarity index 100%
rename from LLama.Unittest/BeamTests.cs
rename to test/LLama.Unittest/BeamTests.cs
diff --git a/LLama.Unittest/Constants.cs b/test/LLama.Unittest/Constants.cs
similarity index 100%
rename from LLama.Unittest/Constants.cs
rename to test/LLama.Unittest/Constants.cs
diff --git a/LLama.Unittest/DictionaryExtensionsTests.cs b/test/LLama.Unittest/DictionaryExtensionsTests.cs
similarity index 100%
rename from LLama.Unittest/DictionaryExtensionsTests.cs
rename to test/LLama.Unittest/DictionaryExtensionsTests.cs
diff --git a/LLama.Unittest/EncodingExtensionsTests.cs b/test/LLama.Unittest/EncodingExtensionsTests.cs
similarity index 100%
rename from LLama.Unittest/EncodingExtensionsTests.cs
rename to test/LLama.Unittest/EncodingExtensionsTests.cs
diff --git a/LLama.Unittest/FixedSizeQueueTests.cs b/test/LLama.Unittest/FixedSizeQueueTests.cs
similarity index 100%
rename from LLama.Unittest/FixedSizeQueueTests.cs
rename to test/LLama.Unittest/FixedSizeQueueTests.cs
diff --git a/LLama.Unittest/GrammarParserTest.cs b/test/LLama.Unittest/GrammarParserTest.cs
similarity index 100%
rename from LLama.Unittest/GrammarParserTest.cs
rename to test/LLama.Unittest/GrammarParserTest.cs
diff --git a/LLama.Unittest/GrammarTest.cs b/test/LLama.Unittest/GrammarTest.cs
similarity index 100%
rename from LLama.Unittest/GrammarTest.cs
rename to test/LLama.Unittest/GrammarTest.cs
diff --git a/LLama.Unittest/IEnumerableExtensionsTests.cs b/test/LLama.Unittest/IEnumerableExtensionsTests.cs
similarity index 100%
rename from LLama.Unittest/IEnumerableExtensionsTests.cs
rename to test/LLama.Unittest/IEnumerableExtensionsTests.cs
diff --git a/LLama.Unittest/IReadOnlyListExtensionsTests.cs b/test/LLama.Unittest/IReadOnlyListExtensionsTests.cs
similarity index 100%
rename from LLama.Unittest/IReadOnlyListExtensionsTests.cs
rename to test/LLama.Unittest/IReadOnlyListExtensionsTests.cs
diff --git a/LLama.Unittest/KeyValuePairExtensionsTests.cs b/test/LLama.Unittest/KeyValuePairExtensionsTests.cs
similarity index 100%
rename from LLama.Unittest/KeyValuePairExtensionsTests.cs
rename to test/LLama.Unittest/KeyValuePairExtensionsTests.cs
diff --git a/LLama.Unittest/LLama.Unittest.csproj b/test/LLama.Unittest/LLama.Unittest.csproj
similarity index 91%
rename from LLama.Unittest/LLama.Unittest.csproj
rename to test/LLama.Unittest/LLama.Unittest.csproj
index e7ef46231..cf009bab9 100644
--- a/LLama.Unittest/LLama.Unittest.csproj
+++ b/test/LLama.Unittest/LLama.Unittest.csproj
@@ -1,5 +1,5 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <Import Project="..\LLama\LLamaSharp.Runtime.targets" />
+<Project Sdk="Microsoft.NET.Sdk">
+  <Import Project="..\..\src\LLama\LLamaSharp.Runtime.targets" />
   <PropertyGroup>
     <TargetFramework>net8.0</TargetFramework>
     <RootNamespace>LLama.Unittest</RootNamespace>
@@ -37,8 +37,8 @@
   </Target>
 
   <ItemGroup>
-    <ProjectReference Include="..\LLama.SemanticKernel\LLamaSharp.SemanticKernel.csproj" />
-    <ProjectReference Include="..\LLama\LLamaSharp.csproj" />
+    <ProjectReference Include="..\..\src\LLama.SemanticKernel\LLamaSharp.SemanticKernel.csproj" />
+    <ProjectReference Include="..\..\src\LLama\LLamaSharp.csproj" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/LLama.Unittest/LLamaContextTests.cs b/test/LLama.Unittest/LLamaContextTests.cs
similarity index 100%
rename from LLama.Unittest/LLamaContextTests.cs
rename to test/LLama.Unittest/LLamaContextTests.cs
diff --git a/LLama.Unittest/LLamaEmbedderTests.cs b/test/LLama.Unittest/LLamaEmbedderTests.cs
similarity index 100%
rename from LLama.Unittest/LLamaEmbedderTests.cs
rename to test/LLama.Unittest/LLamaEmbedderTests.cs
diff --git a/LLama.Unittest/LLavaWeightsTests.cs b/test/LLama.Unittest/LLavaWeightsTests.cs
similarity index 100%
rename from LLama.Unittest/LLavaWeightsTests.cs
rename to test/LLama.Unittest/LLavaWeightsTests.cs
diff --git a/LLama.Unittest/MemoryDisposalTests.cs b/test/LLama.Unittest/MemoryDisposalTests.cs
similarity index 100%
rename from LLama.Unittest/MemoryDisposalTests.cs
rename to test/LLama.Unittest/MemoryDisposalTests.cs
diff --git a/LLama.Unittest/Models/extreme-ironing-taxi-610x427.jpg b/test/LLama.Unittest/Models/extreme-ironing-taxi-610x427.jpg
similarity index 100%
rename from LLama.Unittest/Models/extreme-ironing-taxi-610x427.jpg
rename to test/LLama.Unittest/Models/extreme-ironing-taxi-610x427.jpg
diff --git a/LLama.Unittest/ModelsParamsTests.cs b/test/LLama.Unittest/ModelsParamsTests.cs
similarity index 100%
rename from LLama.Unittest/ModelsParamsTests.cs
rename to test/LLama.Unittest/ModelsParamsTests.cs
diff --git a/LLama.Unittest/SemanticKernel/ChatRequestSettingsConverterTests.cs b/test/LLama.Unittest/SemanticKernel/ChatRequestSettingsConverterTests.cs
similarity index 100%
rename from LLama.Unittest/SemanticKernel/ChatRequestSettingsConverterTests.cs
rename to test/LLama.Unittest/SemanticKernel/ChatRequestSettingsConverterTests.cs
diff --git a/LLama.Unittest/SemanticKernel/ChatRequestSettingsTests.cs b/test/LLama.Unittest/SemanticKernel/ChatRequestSettingsTests.cs
similarity index 100%
rename from LLama.Unittest/SemanticKernel/ChatRequestSettingsTests.cs
rename to test/LLama.Unittest/SemanticKernel/ChatRequestSettingsTests.cs
diff --git a/LLama.Unittest/SemanticKernel/ExtensionMethodsTests.cs b/test/LLama.Unittest/SemanticKernel/ExtensionMethodsTests.cs
similarity index 100%
rename from LLama.Unittest/SemanticKernel/ExtensionMethodsTests.cs
rename to test/LLama.Unittest/SemanticKernel/ExtensionMethodsTests.cs
diff --git a/LLama.Unittest/SemanticKernel/LLamaSharpChatCompletionTests.cs b/test/LLama.Unittest/SemanticKernel/LLamaSharpChatCompletionTests.cs
similarity index 100%
rename from LLama.Unittest/SemanticKernel/LLamaSharpChatCompletionTests.cs
rename to test/LLama.Unittest/SemanticKernel/LLamaSharpChatCompletionTests.cs
diff --git a/LLama.Unittest/SemanticKernel/LLamaSharpTextCompletionTests.cs b/test/LLama.Unittest/SemanticKernel/LLamaSharpTextCompletionTests.cs
similarity index 100%
rename from LLama.Unittest/SemanticKernel/LLamaSharpTextCompletionTests.cs
rename to test/LLama.Unittest/SemanticKernel/LLamaSharpTextCompletionTests.cs
diff --git a/LLama.Unittest/StatelessExecutorTest.cs b/test/LLama.Unittest/StatelessExecutorTest.cs
similarity index 100%
rename from LLama.Unittest/StatelessExecutorTest.cs
rename to test/LLama.Unittest/StatelessExecutorTest.cs
diff --git a/LLama.Unittest/StreamingTextDecoderTests.cs b/test/LLama.Unittest/StreamingTextDecoderTests.cs
similarity index 100%
rename from LLama.Unittest/StreamingTextDecoderTests.cs
rename to test/LLama.Unittest/StreamingTextDecoderTests.cs
diff --git a/LLama.Unittest/TemplateTests.cs b/test/LLama.Unittest/TemplateTests.cs
similarity index 100%
rename from LLama.Unittest/TemplateTests.cs
rename to test/LLama.Unittest/TemplateTests.cs
diff --git a/LLama.Unittest/TextTransformTests.cs b/test/LLama.Unittest/TextTransformTests.cs
similarity index 100%
rename from LLama.Unittest/TextTransformTests.cs
rename to test/LLama.Unittest/TextTransformTests.cs
diff --git a/LLama.Unittest/TokenTests.cs b/test/LLama.Unittest/TokenTests.cs
similarity index 100%
rename from LLama.Unittest/TokenTests.cs
rename to test/LLama.Unittest/TokenTests.cs
diff --git a/LLama.Unittest/Usings.cs b/test/LLama.Unittest/Usings.cs
similarity index 100%
rename from LLama.Unittest/Usings.cs
rename to test/LLama.Unittest/Usings.cs

From 6141b828b19f2c8951cdd063e8462362cb18d4fd Mon Sep 17 00:00:00 2001
From: Rinne <AsakusaRinne@gmail.com>
Date: Wed, 29 May 2024 03:40:38 +0800
Subject: [PATCH 2/2] fix: paths in the typos.toml.

---
 .github/_typos.toml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/_typos.toml b/.github/_typos.toml
index 87860f0a9..6af749ebf 100644
--- a/.github/_typos.toml
+++ b/.github/_typos.toml
@@ -9,8 +9,8 @@
 extend-exclude = [
     "_typos.toml",
     "docs/xmldocs/",
-    "LLama.Web/wwwroot/",
-    "LLama/runtimes/deps/",
-    "LLama.Benchmark/Assets/",
-    "LLama.Examples/Assets/"
+    "samples/LLama.Web/wwwroot/",
+    "src/LLama/runtimes/deps/",
+    "test/LLama.Benchmark/Assets/",
+    "samples/LLama.Examples/Assets/"
 ]