- 01 Mar, 2026 7 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 28 Feb, 2026 26 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Add generate_chat() and generate_chat_stream() methods to VulkanBackend - These use create_chat_completion() which properly applies model's chat template - Fallback to manual formatting if create_chat_completion fails - Update API endpoints to pass messages dict directly instead of formatted prompt - Fixes garbled output with Qwen3 and other models that use custom chat templates
-
Stefy Lanza (nextime / spora ) authored
- Use apply_chat_template() to properly format messages for each model - This ensures Qwen3 and other models get their correct chat format - Fallback to <|im_start|>/|im_end|> format if apply_chat_template fails - Fixes garbled output with <|system|> tags appearing in responses
-
Stefy Lanza (nextime / spora ) authored
- Add --tiny command line flag for models under 3B parameters - Add 'tiny' field to config file (can be set via config or CLI) - Add TINY_MODEL_SYSTEM_PROMPT with simplified instructions - Emphasizes spacing rules for models that produce garbled output - Shorter, more direct system prompt for limited context windows
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Add --system-prompt flag to coderai for optional system prompt injection - System prompt is only sent when flag is provided (no default) - Supports --system-prompt (default text) or --system-prompt 'custom text' - Add coder CLI tool for interactive chat with file editing - Add requests dependency for CLI tool
-
Stefy Lanza (nextime / spora ) authored
Add _get_gpu_memory_map() to configure optimal memory strategy: - GPU: 95% of available VRAM (leaves 5% for CUDA overhead) - CPU: Up to user-specified limit (--ram) or auto-detected - Disk: Only as last resort when GPU+CPU are full Update --ram help text to clarify it's the CPU offloading limit. This provides better performance by prioritizing GPU, then CPU, and only using slow disk offloading when absolutely necessary.
-
Stefy Lanza (nextime / spora ) authored
- Add _parse_nested_xml_tool() to extract tool calls from nested XML - Add _xml_to_dict() helper for recursive XML to dict conversion - Update extract_tool_calls() to try both JSON and nested XML formats - Improve system prompt with clearer tool format instructions and examples This fixes the issue where models outputting raw XML tool syntax (like Kimi K2.5) would have their tool calls end up in the response text instead of being properly parsed.
-
Stefy Lanza (nextime / spora ) authored
- Updated ChatMessage.content to accept Union[str, List[Dict]] - Added field_validator to convert multipart content arrays to strings - Handles modern OpenAI API format where content is an array of objects - Fixes 422 validation errors with clients like KiloCode that send multipart messages
-
Stefy Lanza (nextime / spora ) authored
- Updated main description to include Intel GPUs - Expanded features section to list Intel as a supported backend - Updated prerequisites to explain Vulkan works with Intel iGPUs and Arc - Clarified that build.sh vulkan works for both AMD and Intel - Added Intel-specific notes and recommendations - Updated GPU compatibility matrix with Intel hardware - Added performance expectations for different GPU types
-
Stefy Lanza (nextime / spora ) authored
- Added detailed request body logging with truncation for large payloads - Added JSON structure parsing to show message count and keys - Added comprehensive error response capture for 422 errors - Added validation error detail parsing (location, message, type) - Added full traceback logging for exceptions during request processing - This helps debug client compatibility issues with KiloCode
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Added extra="allow" to ChatCompletionRequest and CompletionRequest - Added common OpenAI fields: seed, logprobs, top_logprobs, response_format, user, best_of, echo - This prevents 422 errors when clients send additional fields we don't use Fixes compatibility issues with KiloCode and other OpenAI-compatible clients
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
When multiple Vulkan-compatible GPUs are present (e.g., NVIDIA + AMD), llama.cpp automatically distributes layers across all GPUs for performance. This can cause unwanted VRAM allocation on the NVIDIA GPU when the user wants to use only the AMD GPU. The new --vulkan-single-gpu flag uses tensor_split to force all model layers onto a single specified GPU device, preventing distribution. - Added --vulkan-single-gpu argument - Added count_vulkan_devices() method to detect GPU count - Modified load_model to build tensor_split array when single_gpu=True - Updated README with documentation for the new flag Example usage: python coderai --model model.gguf --backend vulkan --vulkan-device 1 --vulkan-single-gpu
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Add --upgrade flag to pip install for llama-cpp-python in build.sh This ensures the latest version is installed, supporting newer models like Qwen3.5 that may not be supported in older versions - Add note in README about updating llama-cpp-python for newer models - Make coderai script executable
-
Stefy Lanza (nextime / spora ) authored
- Add --vulkan-device argument to select specific GPU (for multi-GPU systems) - Add --vulkan-list-devices to list available Vulkan GPUs - Update VulkanBackend to use main_gpu parameter for device selection - Add list_vulkan_devices() method to show available devices - Update README with new command-line options and examples Useful when you have both NVIDIA and AMD GPUs and want to ensure Vulkan uses the AMD GPU specifically.
-
Stefy Lanza (nextime / spora ) authored
- Comment out procname in requirements-nvidia.txt - Comment out procname in requirements-vulkan.txt - Add note about requiring libproc2-dev for procname
-
Stefy Lanza (nextime / spora ) authored
- build.sh: Update package list to include glslc, glslang-tools, glslang-dev - README.md: Update installation instructions with correct package names - Add better guidance for finding glslc in non-standard locations
-
Stefy Lanza (nextime / spora ) authored
- Update build.sh to check for glslc before attempting build - Update README with correct package names (glslang-tools/glslang) - Add troubleshooting for missing glslc error
-
Stefy Lanza (nextime / spora ) authored
- Add build.sh script with nvidia/vulkan arguments (default: nvidia) - Create backend abstraction: ModelBackend base class - Implement NvidiaBackend using HuggingFace Transformers - Implement VulkanBackend using llama-cpp-python with GGUF models - Add separate requirements files for nvidia and vulkan backends - Add --backend argument with auto/nvidia/vulkan options - Add Vulkan-specific options: --n-gpu-layers, --n-ctx - Make procname import optional - Update README with comprehensive Vulkan usage instructions - Add Vulkan troubleshooting section - Add GGUF model recommendations The application now supports: - NVIDIA GPUs via PyTorch/Transformers (HuggingFace models) - AMD GPUs via llama-cpp-python/Vulkan (GGUF models)
-
- 27 Feb, 2026 2 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Add InvalidLogitsProcessor to replace NaN and Inf values with finite numbers - Add _validate_generation_params() to clamp temperature and top_p to valid ranges - Add try-except blocks with fallback to greedy decoding on numerical errors - Add error handling in streaming responses to prevent crashes - Fix temperature=0 handling to use greedy decoding instead of sampling
-
Stefy Lanza (nextime / spora ) authored
- Add main server script with FastAPI and memory-aware model loading - Add requirements.txt with dependencies and platform-specific PyTorch options - Add comprehensive README.md with installation, usage, and troubleshooting - Add LICENSE.md with GPLv3 license
-