Instructions to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL # Run inference directly in the terminal: llama cli -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL # Run inference directly in the terminal: llama cli -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL # Run inference directly in the terminal: ./llama-cli -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL # Run inference directly in the terminal: ./build/bin/llama-cli -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Use Docker
docker model run hf.co/Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
- LM Studio
- Jan
- Ollama
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with Ollama:
ollama run hf.co/Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
- Unsloth Studio
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf to start chatting
- Pi
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with Docker Model Runner:
docker model run hf.co/Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
- Lemonade
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Run and chat with the model
lemonade run user.OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf-IQ4_NL
List all available models
lemonade list
- Hermes Agent
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Brunobkr/OFFFELLIA_llm-jp-4-32b-a3b-thinking.gguf:IQ4_NL" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
- llama.cpp_ Vullkan
- 🇧🇷 Versão em Português (PT-BR)
- 🇯🇵 日本語版 (JP)
llama.cpp_ Vullkan
██╗ ██╗██╗ ██╗██╗ ██╗ ██╗ ██╗ █████╗ ███╗ ██╗
██║ ██║██║ ██║██║ ██║ ██║ ██╔╝██╔══██╗████╗ ██║
██║ ██║██║ ██║██║ ██║ █████╔╝ ███████║██╔██╗ ██║
╚██╗ ██╔╝██║ ██║██║ ██║ ██╔═██╗ ██╔══██║██║╚██╗██║
╚████╔╝ ╚██████╔╝███████╗███████╗██║ ██╗██║ ██║██║ ╚████║
╚═══╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝
High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem with Native AMD Vulkan Acceleration, Instella-MoE & LLM-jp-4 Support
[](https://zenodo.org/records/22072308) [](https://opensource.org/licenses/MIT) [](https://en.cppreference.com/) [](#-arquitetura-e-aceleração-amd-vulkan) [](#-suporte-ao-amd-instella-moe--gated-mla) [](https://svelte.dev/) [](#-principais-capacidades-do-fork) [](#-1-centro-de-controle-agêntico-agent-control-center)🇧🇷 Versão em Português (PT-BR)
📖 Visão Geral
llama.cpp_ Vullkan é um fork avançado, desbloqueado e de altíssimo desempenho do ecossistema llama.cpp, projetado com suporte nativo de primeira classe para aceleração de hardware AMD Vulkan (RADV) em CPUs e GPUs AMD (da linha Ryzen 5 até Ryzen 9, APUs integradas e placas dedicadas Radeon), com suporte completo para as arquiteturas de ponta da comunidade open-source, incluindo a família AMD Instella-MoE (Gated MLA + FarSkip-Collective) e a família LLM-jp-4 (Unigram Byte-Fallback Tokenizer com OpenAI Harmony Channels).
O projeto une o poder da computação vetorial Vulkan com:
- Suporte Nativo a AMD Instella-MoE com Gated MLA (
attn_gate), FarSkip residual dataflow e conversor HF $\rightarrow$ GGUF integrado; - Suporte Completo a LLM-jp-4 (8B & 32B-A3B Thinking/Instruct) com correção de prefixo de espaço (
lstrip) em tokenizadores Unigram e parser PEG tolerante a canais Harmony/GPT-OSS; - Motor Agêntico Autônomo Multi-Turn com 6 perfis integrados (incluindo Polyglot & Localization);
- Sistema de Referência Multilíngue de 55 Línguas (
languages_ref) para injeção de diretrizes linguísticas e alinhamento de sentenças na memória do LLM; - Suporte Nativo a FIM (Fill-in-the-Middle) para geração e autocompletar código em IDEs;
- Aceleração MMVQ (Matriz-Vetor Quantizado) nativa para arquiteturas AMD;
- Zero-Copy Host Memory automático para APUs com arquitetura de memória unificada (UMA);
- Web UI Moderna (SvelteKit + Vite) com o tema Cyberpunk Lava Neon e efeitos dinâmicos de fogo durante o processamento.
⚡ Suporte ao AMD Instella-MoE & Gated MLA
Este fork implementa suporte completo e nativo de ponta a ponta para a arquitetura Instella-MoE (amd/Instella-MoE-16B-A3B-Think, Base, SFT, etc.):
- Gated Multi-Head Latent Attention (Gated MLA):
- Suporte ao tensor de gating de atenção (
model.layers.{i}.self_attn.gate_proj.weight$\rightarrow$blk.{i}.attn_gate.weight). - Avaliação e aplicação da ativação $\sigma(\text{gate}) \odot \text{attn_output}$ antes da projeção de saída
woem operações de atenção latente absorvida e MHA.
- Suporte ao tensor de gating de atenção (
- FarSkip-Collective Residual Dataflow:
- Implementação do fluxo residual desacoplado que propaga
residual_no_routed($\text{resíduo} + \text{atenção} + \text{especialistas compartilhados}$) diretamente para a atenção da camada seguinte, reservando a agregação dos routed experts para o bloco MLP, espelhando a arquitetura de treinamento da AMD.
- Implementação do fluxo residual desacoplado que propaga
- Conversão HF $\rightarrow$ GGUF Nativa:
- Mapeamento direto de
InstellaMoEForCausalLMno conversorconvert_hf_to_gguf.py, exportando tensores em precisõesf16,bf16ou quantizações sem necessidade de scripts externos.
- Mapeamento direto de
🎌 Suporte Nativo a LLM-jp-4 (Unigram Tokenizer & Harmony Channels)
Este fork incorpora as correções e aprimoramentos necessários para a execução nativa de toda a família de modelos LLM-jp-4 (incluindo llm-jp-4-8b-thinking, llm-jp-4-32b-a3b-thinking-gguf e variantes Instruct):
- Correção de Remoção de Espaço em Tokens Especiais (
lstrip/add_space_prefix):- Os modelos LLM-jp-4 utilizam o tokenizador Unigram byte-fallback (
add_space_prefix = true). Nollama.cppupstream original, palavras emitidas imediatamente após tokens de controle/especiais (como<|channel|>,<|start|>,<|message|>) recebiam um espaço inicial indevido na detokenização e no streaming (tools/server/server-context.cpp). - Implementamos a sincronização com o fork oficial
llm-jp/llama.cpp, propagandoremove_spaceelstripapós tokens de controle (LLAMA_TOKEN_ATTR_CONTROL | LLAMA_TOKEN_ATTR_USER_DEFINED), garantindo decodificação 100% idêntica ao tokenizador Hugging Face de referência.
- Os modelos LLM-jp-4 utilizam o tokenizador Unigram byte-fallback (
- Gramática PEG Robusta para Canais GPT-OSS / Harmony:
- A gramática de parsing nativo (
common_chat_params_init_gpt_ossemcommon/chat.cpp) foi aprimorada para aceitar delimitadores com espaços opcionais (opt_space). Isso elimina completamente falhas de validação de formato (unparsed peg-native output), impedindo que a Web UI trave ou aborte o streaming durante turnos de raciocínio (analysis/thinking) ou de resposta final (final).
- A gramática de parsing nativo (
🎮 Arquitetura e Aceleração AMD Vulkan
O llama.cpp_ Vullkan foi projetado para extrair 100% do poder do hardware AMD via Vulkan sem a necessidade de scripts de contorno ou parâmetros hardcoded:
- Eliminação Nativa de Fallbacks de Software (
llvmpipe):- O subsistema de inicialização de dispositivos filtra e seleciona diretamente GPUs físicas de hardware (
eDiscreteGpueeIntegratedGpu), descartando emuladores de CPU.
- O subsistema de inicialização de dispositivos filtra e seleciona diretamente GPUs físicas de hardware (
- Zero-Copy Host Memory em APUs (UMA):
- Identificação dinâmica de arquitetura integrada em processadores Ryzen (5, 7, 9). Tensores são alocados diretamente na memória do host sem overhead de cópias redundantes.
- Kernels MMVQ Acelerados:
- Ativação nativa de kernels quantizados otimizados para as Compute Units AMD (
VK_VENDOR_ID_AMD).
- Ativação nativa de kernels quantizados otimizados para as Compute Units AMD (
- Proteção Dinâmica de Alocação (SysMem Fallback):
- Alocação elástica para contextos extensos (ex: 32k - 128k tokens) prevenindo quebras por falta de VRAM dedicada.
- Afinidade Inteligente de Threads Zen:
- Detecção automática de núcleos físicos no Linux para eliminar contenção de threads SMT em álgebra linear.
✨ Principais Capacidades do Fork
🤖 1. Centro de Controle Agêntico (Agent Control Center)
- Painel Dedicado na Barra Lateral (
#/agents): Interface intuitiva para configurar e alternar entre agentes autônomos. - 6 Perfis Agênticos Nativos:
- 💻 Code Architect: Engenheiro full-stack para inspeção de código, refatoração e testes.
- ⚡ DevOps & SysOps: Diagnóstico de sistema operacional, automação shell e monitoramento de hardware.
- 🔍 Deep Research: Pesquisa técnica, síntese de documentações e consultas estruturadas.
- 📊 Math & Data Analyst: Resolução algébrica e cálculo simbólico exato via sandbox Nerdamer.
- 🌐 Polyglot & Localization: Especialista em tradução paralela, terminologia e localização ancorada no corpus de 55 línguas.
- 🤖 Universal Agent: Acesso unificado a todas as ferramentas do ecossistema simultaneamente.
- Execução Autônoma Contínua: Loop multi-turno desbloqueado para execução fluida sem interrupções manuais de permissão.
💻 2. Motor de Infilling e FIM (Fill-in-the-Middle) Nativo
- Compatibilidade Total com OpenAI
/v1/completions:- Processa o parâmetro
suffixdiretamente no núcleo C++, integrando-se instantaneamente a extensões de IDEs como Continue.dev, Cursor, Tabby, VS Code e Neovim.
- Processa o parâmetro
- Endpoint Especializado
POST /infill:- Suporte ao padrão Repo-Level Context (
<FIM_REP>,<FIM_SEP>,<FIM_PRE>,<FIM_SUF>,<FIM_MID>) para sugestões contextuais de código em múltiplos arquivos.
- Suporte ao padrão Repo-Level Context (
🛠️ 3. Matriz de Ferramentas Nativas & Protocolo MCP
Conjunto completo de ferramentas de sistema prontas para uso:
| Ferramenta | Identificador | Camada | Descrição |
|---|---|---|---|
| Language Reference | languages_ref |
Backend C++ | Acesso ao corpus de 55 línguas, alinhamento paralelo de frases, busca de termos e injeção na memória de contexto do LLM. |
| Read File | read_file |
Backend C++ | Leitura de arquivos locais com paginação e offset de bytes. |
| Write File | write_file |
Backend C++ | Criação e persistência de arquivos no disco. |
| Edit File | edit_file |
Backend C++ | Substituição cirúrgica de trechos com verificação de integridade. |
| File Glob Search | file_glob_search |
Backend C++ | Varredura recursiva de diretórios com padrões glob. |
| Grep Search | grep_search |
Backend C++ | Busca de texto literal ou regex em múltiplos arquivos. |
| Exec Shell | exec_shell_command |
Backend C++ | Execução de comandos no shell bash com streaming SSE. |
| Get Datetime | get_datetime |
Backend C++ | Consulta precisa de data, hora e fuso horário. |
| Get Runtime Info | get_info |
Backend C++ | Diagnóstico de SO, arquitetura, CPU e commit Git. |
| Run JavaScript | run_javascript |
Frontend Browser | Sandbox Web Worker isolado com motor simbólico Nerdamer. |
| MCP Connectors | mcp:* |
Backend / Proxy | Conexão com servidores MCP (Exa, GitHub, HF Hub, SQL, etc.). |
🌐 4. Sistema de Referência Multilíngue (55 Línguas & languages_ref)
Este fork integra uma base paralela completa de 55 idiomas em tools/languages_ref/ para que o modelo consulte termos exatos, padrões gramaticais e frases de referência durante a geração:
- Ações da Tool (
languages_ref):action: "get": Carrega frases de referência do idioma selecionado diretamente na memória de contexto (reference_context).action: "list": Lista todas as 55 línguas suportadas com seus nomes nativos e status de disponibilidade.action: "search": Busca termos específicos em qualquer língua do corpus.action: "align": Alinha traduções paralelas entre língua de origem (source_language) e destino (language) com base em IDs idênticos.
- Integração no Frontend Vite:
- Comando de barra rápida
/lang <código>(ex:/lang pt-BR,/lang ja,/lang de). - Renderização dedicada de cards com badges de idioma, alinhamentos bilíngues e botões de cópia rápida.
- Disponibilidade garantida em qualquer porta ou rota via endpoints relativos (
./tools).
- Comando de barra rápida
🔥 5. Identidade Visual Vullkan (Cyberpunk Lava Neon)
- Logo Vetorial Vullkan: Emblema geométrico vulcânico incandescente integrado nos formatos
.svge PWA. - Efeitos de Lava durante Processamento:
- Shimmer fluido estilo magma líquido nas caixas de raciocínio (Reasoning...);
- Borda com pulso térmico (
magma-pulse) durante a geração de tokens; - Barras de progresso e spinners iluminados com halo de fogo neon;
- Tema escuro de alto contraste otimizado para longas sessões de desenvolvimento.
🚀 Como Compilar e Executar
1. Pré-requisitos
- Compilador C++ moderno (GCC 11+, Clang 14+ ou MSVC)
- CMake 3.14+
- Headers e bibliotecas Vulkan (
libvulkan-dev,glslc/vulkan-tools) - Python 3.10+ com
torchetransformers - Node.js 18+ e npm (apenas para geração inicial dos assets da Web UI)
2. Compilação Nativa Completa
# 1. Compilar os assets da Web UI
cd tools/ui
npm install
npm run build
cd ../..
# 2. Configurar e compilar com aceleração Vulkan nativa
cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc)
3. Conversão de Modelos (Exemplo: AMD Instella-MoE)
Converta modelos Hugging Face para o formato GGUF diretamente com suporte a Gated MLA:
python3 convert_hf_to_gguf.py "/caminho/para/amd-Instella-MoE-16B-A3B-Think" \
--outfile "/caminho/para/Instella-MoE-16B-A3B-Think-F16.gguf" \
--outtype f16
4. Executando o Servidor
Você pode iniciar o servidor diretamente via script configurado:
./start_server.sh
Ou executando o binário llama-server manualmente:
LD_LIBRARY_PATH=build/bin ./build/bin/llama-server \
-m /caminho/para/modelo.gguf \
-ngl 99 \
-c 32768 \
--port 8080 \
--host 0.0.0.0
Acesse a interface web em http://localhost:8080 ou utilize a API OpenAI compatível em http://localhost:8080/v1.
5. Benchmark e Diagnóstico de Dispositivos
Para verificar os dispositivos de aceleração detectados:
LD_LIBRARY_PATH=build/bin ./build/bin/llama-cli --list-devices
Para rodar o benchmark de inferência na GPU Vulkan:
LD_LIBRARY_PATH=build/bin ./build/bin/llama-bench \
-m /caminho/para/modelo.gguf \
-ngl 99 \
-p 512 \
-n 128
6. Integração com IDEs (FIM / Autocomplete)
Configure extensões como Continue.dev no seu config.json:
{
"tabAutocompleteModel": {
"title": "llama.cpp_ Vullkan Infill",
"provider": "openai",
"model": "seu-modelo-gguf",
"apiBase": "http://localhost:8080/v1"
}
}
🇯🇵 日本語版 (JP)
📖 概要
llama.cpp_ Vullkan は、AMD 製 CPU および GPU(Ryzen 5 から Ryzen 9、内蔵 APU、Radeon ディスクリート GPU)向けの AMD Vulkan (RADV) ハードウェアアクセラレーションにネイティブ対応した、高度に最適化・アンロックされた超高性能な llama.cpp フォークです。さらに、最新のオープンソースアーキテクチャである AMD Instella-MoE(Gated MLA + FarSkip-Collective)および LLM-jp-4 シリーズ(Unigram Byte-Fallback トークナイザ + OpenAI Harmony チャネル)にも完全対応しています。
本プロジェクトは、Vulkan ベクトル演算のパワーに加え、以下の機能を統合しています:
- AMD Instella-MoE ネイティブ対応: Gated MLA(
attn_gate)、FarSkip 残差データフロー、HF $\rightarrow$ GGUF コンバータを完全統合; - LLM-jp-4 (8B & 32B-A3B Thinking/Instruct) 完全対応: Unigram トークナイザの空白プレフィックス削除 (
lstrip) および Harmony/GPT-OSS チャネル対応の堅牢な PEG パーサーを実装; - 自律型マルチターン・エージェントエンジン: 6 つの組み込みプロファイル(Polyglot & Localization 含む)を搭載;
- 55言語マルチリンガル・リファレンスコーパス (
languages_ref): 言語規範や対訳センテンスを LLM のコンテキストメモリへ直接ロードし、超高精度な翻訳・ローカライズを実現; - ネイティブ FIM (Fill-in-the-Middle) 対応: 各種 IDE でのコード補完・生成を高速化;
- ネイティブ MMVQ (量子化行列・ベクトル積) アクセラレーション: AMD Compute Unit に最適化;
- Zero-Copy Host Memory: 統合メモリアーキテクチャ(UMA)を採用する APU で冗長なコピーを完全排除;
- モダン Web UI (SvelteKit + Vite): Cyberpunk Lava Neon テーマと動的なマグマ発光エフェクトを搭載。
⚡ AMD Instella-MoE & Gated MLA 対応
本フォークでは、AMD の最新モデル Instella-MoE(amd/Instella-MoE-16B-A3B-Think、Base、SFT 等)のエンドツーエンド対応を実現しています:
- Gated Multi-Head Latent Attention (Gated MLA):
- アテンショングーティングテンソル(
model.layers.{i}.self_attn.gate_proj.weight$\rightarrow$blk.{i}.attn_gate.weight)に対応。 - 吸収 MLA および MHA 演算において、出力射影
woの直前に $\sigma(\text{gate}) \odot \text{attn_output}$ 演算を正確に適用。
- アテンショングーティングテンソル(
- FarSkip-Collective 残差データフロー:
- AMD の学習アーキテクチャに準拠し、
residual_no_routed($\text{残差} + \text{アテンション} + \text{共有エキスパート}$)を次層のアテンションに先行供給し、ルーティングエキスパートの集約を MLP ブロックに限定する非同期通信向け残差データフローを実装。
- AMD の学習アーキテクチャに準拠し、
- ネイティブ HF $\rightarrow$ GGUF 変換:
convert_hf_to_gguf.pyにおいてInstellaMoEForCausalLMを直接認識し、外部スクリプト不要でf16、bf16、各種量子化 GGUF を直接生成。
🎌 LLM-jp-4 ネイティブ対応 (Unigram トークナイザ & Harmony チャネル)
本フォークは、LLM-jp-4 モデルシリーズ(llm-jp-4-8b-thinking、llm-jp-4-32b-a3b-thinking-gguf、Instruct 各バリアント)を完全にサポートするための最適化と修正を統合しています:
- 特殊トークン後の空白プレフィックス除去 (
lstrip/add_space_prefix):- LLM-jp-4 は Unigram byte-fallback トークナイザ (
add_space_prefix = true) を採用しています。従来のllama.cppアップストリームでは、制御・特殊トークン(<|channel|>,<|start|>,<|message|>等)の直後に生成された単語に余分な先頭空白が付与され、チャットパーサーの破綻や Web UI の停止を引き起こしていました。 llama-vocab.cpp、common.cpp、およびserver-context.cppにおいて制御トークン属性 (LLAMA_TOKEN_ATTR_CONTROL | LLAMA_TOKEN_ATTR_USER_DEFINED) を検出し、特殊トークン直後のlstripを正確に処理。Hugging Face 公式トークナイザと完全一致するデトークナイズ出力を実現しました。
- LLM-jp-4 は Unigram byte-fallback トークナイザ (
- 堅牢な Harmony / GPT-OSS チャネル PEG パーサー:
common/chat.cppの GPT-OSS パーサー文法を拡張し、デリミタ周辺のオプション空白 (opt_space) を許容するように改良。思考チャネル (analysis/thinking) や最終回答チャネル (final) におけるフォーマット検証エラー (unparsed peg-native output) を完全に防止し、Web UI 上でのスムーズな推論ストリーミングを保証します。
🎮 AMD Vulkan アーキテクチャとアクセラレーション
llama.cpp_ Vullkan は、ハードコードされた設定や回避策を必要とせず、AMD ハードウェアの性能を 100% 引き出します:
- ソフトウェアフォールバック (
llvmpipe) の自動排除:- デバイス初期化時に物理ハードウェア GPU(
eDiscreteGpuおよびeIntegratedGpu)を直接選択し、CPU エミュレータを自動除外。
- デバイス初期化時に物理ハードウェア GPU(
- APU 向け Zero-Copy Host Memory (UMA):
- Ryzen APU(5, 7, 9)の統合メモリ構造を動的に認識し、テンソルをホストメモリ上に直接マッピングして無駄なコピーを削減。
- 高速化された MMVQ カーネル:
- AMD Compute Unit (
VK_VENDOR_ID_AMD) に特化した量子化行列積カーネルを常時有効化。
- AMD Compute Unit (
- 動的メモリ保護 (SysMem Fallback):
- 大規模コンテキスト(32k 〜 128k トークン)における VRAM 枯渇を防ぐ柔軟なシステムメモリフォールバック。
- Zen アーキテクチャ向けスレッド最適化:
- Linux 上で物理コアを自動検出し、線形代数演算における SMT スレッドの競合を解消。
✨ 主な機能と特徴
🤖 1. エージェント制御センター (Agent Control Center)
- サイドバー専用パネル (
#/agents): 自律エージェントの作成・切替が直感的に行える UI。 - 6 つの組み込みエージェントプロファイル:
- 💻 Code Architect: コードインスペクション、リファクタリング、テスト設計を行うフルスタックエンジニア。
- ⚡ DevOps & SysOps: OS 診断、シェル自動化、ハードウェア監視を実行。
- 🔍 Deep Research: 技術リサーチ、ドキュメント要約、構造化クエリの実行。
- 📊 Math & Data Analyst: Nerdamer サンドボックスによる数式処理・代数計算。
- 🌐 Polyglot & Localization: 55言語コーパスに裏付けられた高精度な対訳アラインメント・用語統一・ローカライズの専門家。
- 🤖 Universal Agent: 全システムツールを統合した汎用自律エージェント。
- 自律的連続実行ループ: ユーザーへの不要な承認プロンプトを省き、タスク完了までスムーズに実行。
💻 2. ネイティブ FIM (Fill-in-the-Middle) エンジン
- OpenAI
/v1/completions完全互換:- C++ コアで
suffixパラメータを直接処理し、Continue.dev、Cursor、Tabby、VS Code、Neovim などの IDE 拡張機能と即座に連携。
- C++ コアで
- 専用エンドポイント
POST /infill:- リポジトリレベルのコンテキストトークン(
<FIM_REP>,<FIM_SEP>,<FIM_PRE>,<FIM_SUF>,<FIM_MID>)に対応し、高精度な複数ファイル補完を実現。
- リポジトリレベルのコンテキストトークン(
🛠️ 3. ネイティブツールマトリクス & MCP プロトコル
即座に利用可能な豊富なシステムツール群:
| ツール名 | 識別子 | レイヤー | 説明 |
|---|---|---|---|
| Language Reference | languages_ref |
C++ Backend | 55言語コーパスへのアクセス、対訳アラインメント、用語検索、LLM コンテキストメモリへの注入。 |
| Read File | read_file |
C++ Backend | ページネーション・バイトオフセット対応のローカルファイル読み取り。 |
| Write File | write_file |
C++ Backend | ローカルストレージへのファイル作成・書き込み。 |
| Edit File | edit_file |
C++ Backend | 整合性検証付きのピンポイントコード置換。 |
| File Glob Search | file_glob_search |
C++ Backend | Glob パターンによる再帰的ディレクトリ検索。 |
| Grep Search | grep_search |
C++ Backend | 複数ファイルに対するリテラルまたは正規表現検索。 |
| Exec Shell | exec_shell_command |
C++ Backend | Bash シェルコマンドの実行および SSE ストリーミング。 |
| Get Datetime | get_datetime |
C++ Backend | 正確な日時およびタイムゾーンの取得。 |
| Get Runtime Info | get_info |
C++ Backend | OS、CPU、アーキテクチャ、Git コミットの診断情報。 |
| Run JavaScript | run_javascript |
Browser Frontend | Nerdamer 数式処理エンジンを内包した安全な Web Worker サンドボックス。 |
| MCP Connectors | mcp:* |
Backend / Proxy | MCP サーバー(Exa, GitHub, HF Hub, SQL 等)との直接接続。 |
🌐 4. マルチリンガル・リファレンスシステム (55言語 & languages_ref)
本フォークは tools/languages_ref/ に格納された 55 言語の並行データセットを内包し、モデルが生成時に正確な用語や文法、対訳リファレンスを参照できるようにします:
- ツールのアクション (
languages_ref):action: "get": 指定言語のリファレンス文をコンテキストメモリ (reference_context) に直接注入。action: "list": 全 55 言語のコード、ネイティブ言語名、利用可否ステータスを一覧取得。action: "search": コーパス内の任意の言語から特定用語を検索。action: "align": 同一 ID に基づいてソース言語 (source_language) とターゲット言語 (language) の対訳文を並行アラインメント。
- Vite フロントエンド連携:
- スラッシュコマンド
/lang <言語コード>(例:/lang ja,/lang pt-BR,/lang en-US)によるワンタッチ参照。 - 言語バッジ、対訳表示、ID チップ、ワンクリックコピーを備えた専用 UI ブロック。
- 相対パス (
./tools) による任意のポートおよびリバースプロキシ環境での完全動作。
- スラッシュコマンド
🔥 5. Vullkan ビジュアルアイデンティティ (Cyberpunk Lava Neon)
- Vullkan ベクターロゴ: 発光する幾何学的火山シンボルを
.svgおよび PWA に統合。 - 動的マグマ発光エフェクト:
- 思考ボックス(*Reasoning...*)の流体マグマシマーエフェクト;
- トークン生成時のサーマルパルス境界線(
magma-pulse); - ネオンファイアのグローを纏ったプログレスバー&スピナー;
- 長時間の開発作業に最適化された高コントラスト・ダークテーマ。
🚀 ビルドと実行方法
1. 必要要件
- C++ コンパイラ(GCC 11+, Clang 14+, または MSVC)
- CMake 3.14+
- Vulkan 開発パッケージおよびライブラリ(
libvulkan-dev,glslc/vulkan-tools) - Python 3.10+(
torch,transformers導入済み環境) - Node.js 18+ および npm(Web UI アセット生成時のみ必要)
2. 完全ネイティブビルド手順
# 1. Web UI アセットのビルド
cd tools/ui
npm install
npm run build
cd ../..
# 2. Vulkan アクセラレーションを有効化して CMake ビルド
cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc)
3. モデルの変換(例: AMD Instella-MoE)
Hugging Face 形式のモデルを Gated MLA 対応 GGUF に直接変換します:
python3 convert_hf_to_gguf.py "/path/to/amd-Instella-MoE-16B-A3B-Think" \
--outfile "/path/to/Instella-MoE-16B-A3B-Think-F16.gguf" \
--outtype f16
4. サーバーの起動
設定済みスクリプトから簡単に起動できます:
./start_server.sh
または llama-server バイナリを手動で実行:
LD_LIBRARY_PATH=build/bin ./build/bin/llama-server \
-m /path/to/model.gguf \
-ngl 99 \
-c 32768 \
--port 8080 \
--host 0.0.0.0
ブラウザで http://localhost:8080 を開くか、http://localhost:8080/v1 の OpenAI 互換 API をご利用ください。
5. ベンチマークとデバイス診断
認識されたアクセラレーションデバイスを確認:
LD_LIBRARY_PATH=build/bin ./build/bin/llama-cli --list-devices
Vulkan GPU 上で推論ベンチマークを実行:
LD_LIBRARY_PATH=build/bin ./build/bin/llama-bench \
-m /path/to/model.gguf \
-ngl 99 \
-p 512 \
-n 128
6. IDE 連携 (FIM / コード補完)
Continue.dev などの config.json に以下を設定します:
{
"tabAutocompleteModel": {
"title": "llama.cpp_ Vullkan Infill",
"provider": "openai",
"model": "your-model-gguf",
"apiBase": "http://localhost:8080/v1"
}
}
📁 リポジトリ構成 / Repository Structure
llama_server_VULKAN/
├── common/ # 共通インフラストラクチャ (引数処理, サンプリング, Jinja テンプレート)
├── ggml/
│ └── src/ggml-vulkan/ # AMD Vulkan バックエンド & SPIR-V シェーダー
├── src/ # llama.cpp コア (テンソル, アーキテクチャ, KV キャッシュ)
│ └── models/ # 各種モデル定義 (deepseek2, instella-moe, llama4 等)
├── conversion/ # Python GGUF 変換モジュール (deepseek, qwen, llama 等)
├── convert_hf_to_gguf.py # HuggingFace → GGUF 変換メインスクリプト
├── gguf-py/ # GGUF 仕様・バイナリライター Python パッケージ
├── tools/
│ ├── languages_ref/ # 55言語マルチリンガル並行リファレンスコーパス (.jsonl)
│ ├── server/ # llama-server C++ バックエンド (HTTP, ルーティング, FIM, MCP, languages_ref)
│ ├── ui/ # Web UI フロントエンド (SvelteKit, Vite, Agents, Vullkan テーマ, /lang)
│ ├── cli/ # インタラクティブ CLI ターミナル
│ └── llama-bench/ # 性能ベンチマークユーティリティ
├── start_server.sh # Vulkan 最適化起動スクリプト
└── CMakeLists.txt # CMake ビルド定義
📜 ライセンス / License
MIT ライセンスの下で配布されています。詳細は LICENSE ファイルをご覧ください。
- Downloads last month
- 44
4-bit