Views
No views yet
Scope: a small (1.5B) specialist, not a frontier assistant. Strongest on embedded code, concept explanations, and tool-driven workflows, with everyday Python/Linux/shell as a general baseline. For exact spec values (service IDs, register words, rule numbers, timing limits) it prefers to verify via a search tool rather than answer from memory — serve it with aweb_searchtool available for best factual reliability. Always review generated code before flashing.
volatile, mutex vs semaphore, priority inversion, DMA,
watchdogs, memory sections, Cortex-M interrupts/faults.grep/read, live facts (versions, prices, errata,
CVEs) and precise spec values to web_search; answers well-known concepts directly.Set up CAN1 on an STM32 at 500 kbit/s.Write a UART RX interrupt handler with a ring buffer.Why is my log output garbled at 115200 baud?Explain how CAN bus arbitration decides message priority.What is the AUTOSAR RTE and what does it sit between?Walk me through a UDS flashing sequence.What does the volatile keyword guarantee, and what does it NOT guarantee?What is priority inversion and how does an RTOS prevent it?Write a Python script to parse a CSV and summarize one column.How do I find and kill the process using a given port on Linux?Install uv and create a Python venv on Windows PowerShell.What is the newest stable Zephyr RTOS release? → calls web_searchWhere is our CAN receive ISR defined? → calls grep```json
{"name": "web_search", "arguments": {"query": "Zephyr RTOS latest stable LTS release version"}}
```1{YOUR SYSTEM PROMPT}
2
3# Tools
4
5You may call one or more functions to assist with the user query.
6
7You are provided with function signatures within <tools></tools> XML tags:
8<tools>
9{"type": "function", "function": {"name": "web_search", "description": "Search the web for current information.", "parameters": {"type": "object", "properties": {"query": {"type": "string", "description": "the search query"}}, "required": ["query"]}}}
10</tools>
11
12To call a function, output a ```json code block containing a JSON object with the
13function name and arguments, then stop:
14```json
15{"name": <function-name>, "arguments": <args-json-object>}
Your harness parses the block, executes the tool, and returns the result as a **user**
message wrapped in `<tool_response>...</tool_response>`; the model then answers from it.
**Agent mode (THINK → ACT):** append this to the system prompt for a one-sentence
rationale before each call, plus the verify/restraint policy:
```text
When working autonomously, think first: give your reasoning in one short sentence, then act. Call a tool only when you genuinely cannot answer from your own knowledge or the codebase — explain well-known concepts and definitions directly, with no tool call. Use grep or read for the user's own code; use web_search for external facts that change over time (latest versions, prices, errata, CVEs) and never guess such a fact. Also VERIFY precise specification values you are not certain of — exact service IDs, rule numbers, register addresses, thresholds, timing figures — with web_search instead of answering from memory; if you cannot verify, say so explicitly. Emit at most one tool call, then stop.1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model = AutoModelForCausalLM.from_pretrained("anyze/Ze1.5-Automotive-Embedded-Instruct",
4 torch_dtype="auto", device_map="auto")
5tok = AutoTokenizer.from_pretrained("anyze/Ze1.5-Automotive-Embedded-Instruct")
6
7messages = [
8 {"role": "system", "content": "You are Ze1.5, an embedded-systems and automotive "
9 "firmware specialist: C/C++, MCUs, RTOS, drivers/peripherals (UART/SPI/I2C/CAN/LIN/"
10 "Ethernet), ISRs, UDS/OBD diagnostics, MISRA C, and AUTOSAR (Classic and Adaptive "
11 "Platform). Answer precisely and, when a tool is provided and useful, call it."},
12 {"role": "user", "content": "Set up CAN1 on an STM32 at 500 kbit/s."},
13]
14text = tok.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
15out = model.generate(**tok(text, return_tensors="pt").to(model.device), max_new_tokens=512)
16print(tok.decode(out[0], skip_special_tokens=True))temperature 0.7, top_p 0.8, top_k 20, repetition_penalty 1.1
(as shipped in generation_config.json), or greedy for deterministic tool calls.Modelfile:FROM ./Ze1.5-1.5B-Automotive-Embedded-Instruct-F16.gguf
SYSTEM """You are Ze1.5, an embedded-systems and automotive firmware specialist: C/C++, MCUs, RTOS, drivers/peripherals (UART/SPI/I2C/CAN/LIN/Ethernet), ISRs, UDS/OBD diagnostics, MISRA C, and AUTOSAR (Classic and Adaptive Platform). Answer precisely and, when a tool is provided and useful, call it."""
PARAMETER temperature 0.7
PARAMETER top_p 0.8
PARAMETER top_k 20
PARAMETER repeat_penalty 1.11ollama create ze1_5-embedded -f Modelfile
2ollama run ze1_5-embedded "Write a ring buffer in C for a UART RX ISR"web_search when the tool is present; run it with a search tool for factual
work and treat from-memory numbers as unverified.