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