---
license: apache-2.0
tags:
- structured-output
- json-schema
- tool-calling
- causal-lm
- slm
pipeline_tag: text-generation
library_name: transformers
---

# SLM 1.0

SLM 1.0 is a specialized language model trained by NeuroBrain, optimized for structured output generation, JSON schema compliance, and tool calling capabilities.

## Model Details

### Model Description

SLM 1.0 is a language model specifically trained to excel at:

- **Structured Output**: Generating well-formatted, structured responses

- **JSON Schema**: Producing outputs that strictly adhere to JSON schemas

- **Tool Calling**: Effectively utilizing and calling external tools and functions

This model has been trained by NeuroBrain to provide reliable, structured responses suitable for production applications requiring precise output formatting.

### Model Specifications

- **Architecture**: SLM1ForCausalLM

- **Model Type**: Causal Language Model

- **Context Length**: 32,768 tokens

- **Hidden Size**: 1,536

- **Number of Layers**: 28

- **Attention Heads**: 12

- **Vocabulary Size**: 151,936

### Training Information

- **Trained by**: NeuroBrain

- **Training Method**: Trained for structured output, JSON schema compliance, and tool calling

## Usage

### Basic Usage

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "sihab/slm-1.0"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Example: Generate structured output
prompt = "Generate a JSON object with user information"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=512)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
```

### Structured Output Generation

SLM 1.0 is particularly effective when you need structured outputs:

```python
prompt = """
Generate a JSON object following this schema:
{
  "name": "string",
  "age": "number",
  "email": "string"
}
"""

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=512, temperature=0.7)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
```

### Tool Calling

The model is optimized for tool calling scenarios:

```python
prompt = """
Available tools:
- get_weather(location: str)
- send_email(to: str, subject: str, body: str)

User request: Check the weather in Paris and send me an email with the result.
"""

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=1024)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
```

## Model Performance

SLM 1.0 demonstrates strong performance in:

- JSON schema compliance

- Structured data generation

- Tool calling accuracy

- Function parameter extraction

## Limitations

- The model may occasionally require post-processing to ensure strict JSON compliance

- Tool calling accuracy depends on the clarity of tool descriptions provided

- Maximum context length is 32,768 tokens

## Citation

If you use SLM 1.0 in your research or applications, please cite:

```bibtex
@misc{slm1.0,
  title={SLM 1.0: A Language Model for Structured Output and Tool Calling},
  author={NeuroBrain},
  year={2025},
  howpublished={\url{https://huggingface.co/sihab/slm-1.0}}
}
```

## License

This model is licensed under the Apache 2.0 license.

## Contact

For questions, issues, or contributions, please contact NeuroBrain.

---

*Model trained by NeuroBrain*