A
A state of .NET
@astateofnet186 подп.
96просмотров
51.6%от подписчиков
25 марта 2026 г.
Score: 106
Локальный LLM прямо в .NET сборке — без серверов, облаков, интернета! #dotnet #LLM #LocalAI #LLamaSharp Представь: запускаешь exe — и у тебя чат с ИИ на твоём железе. Никаких API ключей, приватность 100%. Делаем на LLamaSharp + Phi-3-mini (3.8B, ~2GB RAM). Шаг 1: Установка (2 минуты) dotnet new console -n LocalLlm cd LocalLlm dotnet add package LLamaSharp --prerelease dotnet add package LLamaSharp.Backend.Cpu # или .Gpu.Cuda12 для NVIDIA Шаг 2: Скачай модель Идём на https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf Скачиваем Phi-3-mini-4k-instruct-q4.gguf (~2.3 GB) в папку проекта. (Или любой GGUF: TinyLlama для слабого ПК, Phi-3 для качества).​ Шаг 3: Код — 20 строк магии using LLama; using LLama.Common; using LLama.Sampling; class Program { static async Task Main() { var modelPath = "./Phi-3-mini-4k-instruct-q4.gguf"; var parameters = new ModelParams(modelPath) { ContextSize = 2048, GpuLayerCount = 0 // CPU }; Console.WriteLine("🔄 Загрузка модели..."); using var model = await LLamaWeights.LoadFromFileAsync(parameters); var executor = new StatelessExecutor(model, parameters) { ApplyTemplate = true }; var samplingPipeline = new DefaultSamplingPipeline() { Temperature = 0.7f, TopP = 0.9f, TopK = 40, RepeatPenalty = 1.1f }; var inferenceParams = new InferenceParams() { SamplingPipeline = samplingPipeline, MaxTokens = 256 }; Console.WriteLine("Готов! Пиши 'exit' для выхода.\n"); while (true) { Console.Write("Ты: "); var prompt = Console.ReadLine()?.Trim(); if (prompt?.ToLower() == "exit") break; Console.Write("🤖 ИИ: "); await foreach (var text in executor.InferAsync(prompt ?? "", inferenceParams)) { Console.Write(text); } Console.WriteLine("\n"); } } } Шаг 4: Запуск dotnet run Демо вживую: Ты: Напиши хайку про .NET 🤖 ИИ: Код в тишине течет, Сборки в облаках парят, C# — вечный друг. Ты: Объясни async/await просто 🤖 ИИ: Представь готовку ужина: async — начинаешь варить суп (не ждешь) await — ждешь пока суп сварится, тем временем чистишь картошку. Не блокируешь кухню! Почему это вау? • 🚀 Работает оффлайн (после скачивания модели) • 🛡️ Данные не уходят никуда • 💻 CPU/RAM только (GPU опционально) • 📦 Одна сборка — exe 5MB + модель 2GB • ⚡ Ответ за 1-5 сек на i7/Ryzen5 Твики для скорости • Меньше контекста: ContextSize = 1024 • Температура: 0.1 для фактов, 0.8 для креатива • GPU: GpuLayerCount = 30 (если CUDA) Production советы • Кэшируй weights между вызовами • Добавь чат-историю (ChatSessionExecutor) • Мульти-модели (embeddings для RAG) Получили локальный Grok в кармане! 🔥 @aStateOfNet
96
просмотров
3138
символов
Да
эмодзи
Нет
медиа

Другие посты @astateofnet

Все посты канала →
Локальный LLM прямо в .NET сборке — без серверов, облаков, и — @astateofnet | PostSniper