152 lines
3.5 KiB
Markdown
152 lines
3.5 KiB
Markdown
---
|
|
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* |