Try LFM •
Docs •
Discord
d1-omni-600M-GGUF
d1-omni-600M is a decision model developed by Liquid AI: it answers named, typed questions over a state (text, JSON, images or audio) in one forward pass, with no generated tokens.
Find more details in the original model card: https://huggingface.co/LiquidAI/d1-omni-600m
🏃 How to run d1-omni-600M
Example usage with llama.cpp:
llama-server -hf LiquidAI/d1-omni-600M-GGUF:Q8_0 -b 4096 -ub 4096
A question is read in one batch, so -b and -ub must hold it: 4096 covers any image and states of a few thousand tokens, raise them up to 16384 for longer states.
Then send questions to the /v1/systemone endpoint.
Text
curl http://127.0.0.1:8080/v1/systemone -H "Content-Type: application/json" -d '{
"state": "I was charged twice this month, please refund one of them.",
"questions": {
"refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"},
"team": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "Charges, refunds, invoices", "technical": "App or site faults",
"fraud": "Suspected unauthorised use"}},
"urgency": {"type": "score", "instructions": "How urgent is this?",
"criteria": ["Can wait", "Today", "Blocking the customer now"]}
}
}'
Image + Text
curl -sL -o cats.jpg http://images.cocodataset.org/val2017/000000039769.jpg # two cats on a sofa
curl http://127.0.0.1:8080/v1/systemone -H "Content-Type: application/json" -d @- <<JSON
{
"state": "Photo attached to a pet-sitting request.",
"images": ["data:image/jpeg;base64,$(base64 < cats.jpg | tr -d '\n')"],
"questions": {
"pet": {"type": "choice", "instructions": "Which animals are in the photo?",
"criteria": {"cats": "Cats", "dogs": "Dogs", "birds": "Birds"}},
"sofa": {"type": "noul", "instructions": "Are the animals on a sofa?"}
}
}
JSON
Audio + Text
curl -sL -o jfk.wav https://github.com/ggml-org/whisper.cpp/raw/master/samples/jfk.wav
curl http://127.0.0.1:8080/v1/systemone -H "Content-Type: application/json" -d @- <<JSON
{
"state": "Recording from a public event.",
"files": ["data:audio/wav;base64,$(base64 < jfk.wav | tr -d '\n')"],
"questions": {
"kind": {"type": "choice", "instructions": "What kind of utterance is this?",
"criteria": {"request": "A request to do something",
"question": "A question asking for information",
"speech": "A speech to an audience"}},
"calm": {"type": "score", "instructions": "How calm is the speaker?",
"criteria": ["Agitated", "Neutral", "Calm"]}
}
}
JSON
The state can be null when the images or the audio are the whole state. A request carries images or one audio clip (up to 30 s), not both.