TensorSharp: нативный .NET движок для работы с LLM и мультимедиа
TensorSharp — это нативный .NET движок для вывода LLM на модели GGUF. Основное его преимущество в том, что он работает не только с текстом, но и поддерживает визуальные и аудио-интерактивные задачи, что может быть полезно для разработчиков, занимающихся мультимедийными приложениями.
Проект предлагает консольное приложение, веб-интерфейс для чата и HTTP-API, совместимые с Ollama и OpenAI. Он работает на Windows, MacOS, iOS и Linux с полноценной поддержкой GPU, что делает его универсальным инструментом для разработчиков, заинтересованных в внедрении AI в свои программы.
Движок можно запустить, следуя инструкциям в README, но стоит учитывать, что конкретные модели и медиафункции могут потребовать настройки и предварительной подготовки. В проекте собраны современные текстовые модели, редактирование изображений и генерация видео, так что он отлично подойдет для тех, кто хочет развивать свои навыки в AI и ML.
Что такое TensorSharp?
TensorSharp — это нативный движок вывода для .NET, предназначенный для работы с моделями GGUF. Он поддерживает автогенеративные модели LLM и текстовую диффузию в стиле DiffusionGemma, а также редактирование изображений и создание видео с нативным стереозвуком 32 кГц. В проект входят консольное приложение, браузерный интерфейс для чата и HTTP API, совместимые с Ollama/OpenAI. TensorSharp предлагает производительность, сопоставимую с настроенным на C++ `llama.cpp`, используя одни и те же GGUF файлы и одинаковое оборудование.
Основные возможности
- Локальный вывод на .NET: Возможность запуска моделей текста и мультимедиа через CLI, браузерный интерфейс или API, совместимые с Ollama/OpenAI.
- Широкая поддержка моделей: Поддерживает современные текстовые, визуальные и аудио модели, редактирование изображений и генерацию видео.
- Производительность: TensorSharp сопоставим по скорости с `llama.cpp` на идентичных моделях и оборудовании, поддерживает GGML, CUDA, Vulkan и другие.
- Поддержка агентов: С помощью `TensorSharp.AgentHost` можно использовать навыки агентов и создавать защищенные циклы работы моделей с инструментами.
- Готовые строительные блоки: Включает функции непрерывной пакетной обработки, спекулятивного декодирования и тензорного параллелизма.
Как установить и запустить
Для начала рекомендуется скачать предварительно собранное приложение из [страницы релизов](https://github.com/zhongkaifu/TensorSharp/releases). Если ты хочешь собрать проект из исходников, необходимо установить полную .NET 10 SDK, так как только .NET Runtime не подходит для сборки TensorSharp.
После установки SDK, открой терминал и проверь наличие SDK версии 10:
dotnet --list-sdks
Для запуска TensorSharp на Windows и NVIDIA понадобится следующая команда:
git clone https://github.com/zhongkaifu/TensorSharp.git; Set-Location TensorSharp
New-Item -ItemType Directory -Force models | Out-Null
curl.exe -L --fail "https://huggingface.co/ggml-org/gemma-4-E4B-it-GGUF/resolve/main/gemma-4-E4B-it-Q8_0.gguf?download=true" -o models\gemma-4-E4B-it-Q8_0.gguf
'Answer in one short sentence: what is TensorSharp?' | Set-Content prompt.txt
$env:TENSORSHARP_GGML_NATIVE_ENABLE_CUDA = 'ON'
dotnet run --project TensorSharp.Cli -c Release -p:TensorSharpSkipMlxNative=true -- --model models\gemma-4-E4B-it-Q8_0.gguf --input prompt.txt --max-tokens 128 --backend ggml_cuda
На macOS воспользуйся `--backend ggml_metal`, а на Linux с NVIDIA добавь `TENSORSHARP_GGML_NATIVE_ENABLE_CUDA=ON` перед `dotnet run`.
Ограничения и особенности
TensorSharp требует наличия соответствующих драйверов и библиотек для работы с графическими процессорами (например, CUDA для NVIDIA). Для работы с мульти-GPU режимом требуется предварительная установка CUDA toolkit. Кроме того, серверный модуль не включает встроенную аутентификацию или TLS, поэтому рекомендуется размещать его за фаерволом или использовать защищенный прокси-сервер для HTTPS.
Для получения дополнительной информации по настройке и использованию доступны документация и ссылки на примеры команд, что делает процесс интеграции проще.
Открыть на GitHub: zhongkaifu/TensorSharp →
RepoRadar