AXIOM Neural Inference Service
- Python 100%
- Switch from transformers+bitsandbytes to llama_cpp GGUF loading - Model: Qwen3.5-9B.Q4_K_M.gguf (32K context) - Add /v1/chat/completions OpenAI-compatible endpoint - Add /v1/models endpoint - XML tool call parsing in generator - Session management with state persistence - Vision temporarily disabled for performance - Middleware: exempt OpenAI API paths from auth |
||
|---|---|---|
| .gitea/ISSUE_TEMPLATE | ||
| chroma_db | ||
| data/states | ||
| plugins | ||
| src | ||
| .env.template | ||
| .gitignore | ||
| AGENTS.md | ||
| benchmark.py | ||
| fast_14b_persona.py | ||
| fast_14b_server.py | ||
| ml-service.service | ||
| README.md | ||
| requirements.txt | ||
| run_service.py | ||
Net-AI ML Inference Service
Этот сервис отвечает за загрузку весов нейросети на графический ускоритель (NVIDIA GPU), ручной посимвольный инференс (custom decoding loop) и кастомное сэмплирование токенов (samplers.py).
Предварительные требования
- Python 3.11 / 3.13
- CUDA Toolkit (установленный на хосте для работы PyTorch с видеокартой).
Установка зависимостей
Для корректной работы PyTorch с ускорением на GPU NVIDIA (CUDA), рекомендуется сначала установить PyTorch с официального сайта:
# Для CUDA 12.1 (актуальная версия):
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
Затем установите остальные зависимости из файла requirements.txt:
pip install -r requirements.txt
Запуск сервиса
- Убедитесь, что параметры в
.envнастроены правильно (DEVICE=cuda). - Запустите сервер разработки:
python -m uvicorn src.main:app --host 0.0.0.0 --port 8001 --reload - При первом запуске сервис автоматически скачает веса модели (по умолчанию
Qwen/Qwen2.5-Coder-1.5B-Instructили указанной вами в.envмоделиopenbmb/MiniCPM-V-1B) с Hugging Face Hub, сохранит их в локальный кэш и загрузит в видеопамять.
Доступные эндпоинты
POST /generate— Стриминг токенов (Server-Sent Events) с использованием нашего самописного сэмплера.- Тело запроса:
{ "messages": [{"role": "user", "content": "Привет, ИИ!"}], "temperature": 0.7, "top_k": 50, "top_p": 0.9, "max_tokens": 256 }
- Тело запроса:
GET /status— Информация о состоянии модели, активном ускорителе и количестве выделенной видеопамяти (VRAM) на GPU.