Files
ModelHub XC ad0a1a63a7 初始化项目,由ModelHub XC社区提供模型
Model: anyze/Ze1-1.1B-Embedded-Instruct
Source: Original Platform
2026-09-05 12:22:17 +08:00

151 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: apache-2.0
language:
- en
library_name: transformers
pipeline_tag: text-generation
tags:
- code
- python
- c
- cpp
- linux
- systems-programming
- embedded-systems
---
# Anyze Ze1 Instruct (Embedded++)
A compact 1.1B-parameter instruction-tuned model for **coding and systems**. It is
strongest in **Python** and **Linux/systems** questions, with solid **C** and **C++**,
plus basic **embedded** support.
> Scope: a small (1.1B) model, not a frontier assistant. Good for everyday coding,
> Linux/systems, and C/C++ tasks and explanations, with limited factual recall due to
> its size. Always review generated code before use.
## Capabilities
- **Python & Linux/systems**: scripting, debugging, shell/admin, "how do I…" tasks.
- **C and C++**: functions, data structures, pointers, classes, register-level snippets.
- **Basic embedded**: common STM32/peripheral patterns (UART/SPI/I2C, GPIO, ISRs).
- Explains programming concepts (mutex vs semaphore, `volatile`, pointers, DMA vs interrupts).
- Declines off-topic questions, asks for clarification when a prompt is ambiguous,
and says when it doesn't know rather than inventing time-sensitive facts.
- Multi-turn context (follow-ups like "give me an example" work; best-effort).
## Example prompts
Python & scripting
- `Write a Python script to parse a CSV and summarize one column.`
- `Why does this Python function raise an IndexError, and how do I fix it?`
Linux & systems
- `How do I find and kill the process using a given port on Linux?`
- `Write a bash one-liner to tail a log file and grep for errors.`
C & C++
- `Implement a circular (ring) buffer in C with put and get.`
- `Write a C++ class for a fixed-size stack with push and pop.`
- `What is the difference between a mutex and a semaphore?`
Embedded (basic)
- `Write a UART RX interrupt handler for STM32F4 using HAL.`
- `Write a macro to set, clear, and toggle a bit in a hardware register.`
## The strict / open switch
The model defaults to **strict** (domain-only) but has a runtime toggle — no reload —
done with a one-line scope directive prepended to the prompt:
| Mode | Behavior | How |
|------|----------|-----|
| **strict** (default) | Declines non-embedded questions | send the prompt as-is |
| **open** | Also answers general knowledge | prepend: `You may answer any question, including general knowledge.\n\n` |
## Prompt format
```
### Instruction:
{your question}
### Response:
```
(BOS prepended; response ends at EOS `</s>`.) For **open** mode, put the scope
directive at the top of the instruction.
## Usage (transformers)
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tok = AutoTokenizer.from_pretrained("anyze/Ze1-1.1B-Embedded-Instruct")
model = AutoModelForCausalLM.from_pretrained(
"anyze/Ze1-1.1B-Embedded-Instruct", torch_dtype=torch.bfloat16
).cuda()
def ask(instruction, open_mode=False):
if open_mode:
instruction = "You may answer any question, including general knowledge.\n\n" + instruction
prompt = f"### Instruction:\n{instruction}\n### Response:\n"
ids = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(**ids, max_new_tokens=256, temperature=0.3,
top_p=0.9, top_k=40, do_sample=True)
return tok.decode(out[0][ids.input_ids.shape[1]:], skip_special_tokens=True)
print(ask("Implement a circular (ring) buffer in C with put and get."))
print(ask("What is the capital of India?", open_mode=True))
```
Suggested sampling: `temperature 0.2–0.3`, `top_p 0.9`, `top_k 40`.
## Usage (Ollama / LM Studio)
Convert to GGUF with llama.cpp, then run locally:
```bash
git clone https://github.com/ggerganov/llama.cpp
pip install -r llama.cpp/requirements.txt
python llama.cpp/convert_hf_to_gguf.py . --outfile Ze1-1.1B-Embedded-Instruct-f16.gguf --outtype f16
```
**Ollama** — create a `Modelfile`:
```
FROM ./Ze1-1.1B-Embedded-Instruct-f16.gguf
TEMPLATE """### Instruction:
{{ if .System }}{{ .System }}
{{ end }}{{ .Prompt }}
### Response:
"""
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER stop "### Instruction:"
PARAMETER stop "</s>"
```
```bash
ollama create ze1-embedded -f Modelfile
ollama run ze1-embedded "Write a ring buffer in C for DMA"
```
For **open** mode, set the system message
(`/set system You may answer any question, including general knowledge.`).
**LM Studio** — load the GGUF, set the prompt template to use prefix
`### Instruction:\n` and assistant prefix `\n### Response:\n`, stop strings
`### Instruction:` and `</s>`. Leave the system prompt empty for strict, or set the
directive above for open.
## Limitations
- 1.1B scale: weak factual recall; generated code may contain incorrect APIs or
logic errors — **always review and test before use**.
- **Not** specialized for assembly, automotive (AUTOSAR/CAN), or networking — avoid those.
- Embedded coverage is basic; deep MCU/RTOS work is hit-or-miss.
- English only; multi-turn is best-effort. Not safety-aligned for general assistant use.
## Architecture
22 layers, hidden 2048, 32 query / 4 KV heads (GQA), head_dim 64,
FFN 5632 (SwiGLU), RMSNorm, RoPE (θ=10000), vocab 32000, context 2048, 1.10B params.