SmolLM2-135M Text2Cypher

Fine-tuned HuggingFaceTB/SmolLM2-135M-Instruct for generating Cypher queries from a graph schema and a natural-language question.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "oscardean/smollm2-135m-text2cypher"

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

messages = [
    {
        "role": "system",
        "content": (
            "You translate natural-language questions into Cypher queries. "
            "Use only the supplied graph schema and return only the Cypher query."
        ),
    },
    {
        "role": "user",
        "content": (
            "Graph schema:\n"
            "Person {name: STRING}\n"
            "Movie {title: STRING, year: INTEGER}\n"
            "(Person)-[:DIRECTED]->(Movie)\n\n"
            "Question:\n"
            "Which movies did Christopher Nolan direct before 2010?"
        ),
    },
]

inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt",
)

outputs = model.generate(
    inputs,
    max_new_tokens=192,
    do_sample=False,
)

prediction = tokenizer.decode(
    outputs[0, inputs.shape[1]:],
    skip_special_tokens=True,
)

print(prediction)

Training

Hyperparameter Value
Training samples 1,000
Validation samples 75
Epochs 3
Learning rate 5e-5
Batch size 2
Gradient accumulation 4
Effective batch size 8
Weight decay 0.01
Warmup ratio 0.05
Maximum sequence length 800
Decoding Greedy
Checkpoint selection Lowest validation loss

Evaluation

Evaluated on the 50-sample test split.

Metric Base Fine-tuned
Basic query structure 2.00% 100.00%
Token F1 12.35% 55.20%
Node-label agreement 0.00% 58.00%
Component match rate 29.20% 49.60%
Normalized exact match 0.00% 0.00%

Limitations

  • May hallucinate labels, relationships, or properties.
  • May omit filters, constants, or return fields.
  • May repeat conditions.
  • May use incorrect relationship directions or operators.
  • May generate SQL-like syntax instead of valid Cypher.
  • Can produce structurally plausible but semantically incorrect queries.
  • Should be validated before execution.
  • Not intended for direct production use.
Downloads last month
83
Safetensors
Model size
0.1B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for oscardean/smollm2-135m-text2cypher

Finetuned
(342)
this model