← Selected work
Language technology · API

Taivutus
API

You send a word. First a deterministic engine resolves its base form and inflection class, then an open Finnish language model writes an example sentence for that exact form. Two stages, one call.

In development · early access open
[ 01 ]

Two stages

01

Engine: base form

The word arrives in any inflected form. The engine returns the base form and the inflection class from the Kotus classification, along with the full paradigm. This part is deterministic: it is the output of rules, not a model's guess.

02

Model: example sentence

For the resolved form, an example sentence is written by an open Finnish language model (Llama-Poro-2-70B) running on dedicated GPU capacity with vLLM. The sentence is built around the form the caller sent, not around the base form.

[ 02 ]

API sketch

POST /v1/analyze
{ "word": "taloissa" }

→
{
  "word":     "taloissa",
  "lemma":    "talo",
  "class":    1,
  "form":     "monikon inessiivi",
  "sentence": "Naapurin taloissa paloi valo koko yön."
}

The shape is not locked: the API is still in development and the first users get to shape it.

[ 03 ]

Why it is built this way

A language model on its own can write a sentence, but it cannot guarantee that the sentence contains the exact form you asked for. So inflection is not the model's job at all: the forms come from rules, the model only writes the sentence.

Between the model output and the response there are gates. They reject a sentence mechanically if the target form does not appear in it, if length or register is off, or if the structure is impossible.

Every prompt change is run as an A/B series: the decision rule is written down before the run and the result compared against a hand-labelled anchor set, not against an impression of how the samples looked. Several promising-sounding ideas have died in that measurement and been rolled back. An empty response beats a wrong sentence.

[ 04 ]

Who it is for

Language-learning apps, dictionaries and content tooling where Finnish inflection has to be right, and where every form should be shown in use rather than in a table.

The API grew out of a real need: it is the same machinery that produces the example sentences in the Picamoi app.

Stack
PythonModalvLLMLlama-Poro-2 PostgreSQLTypeScript

Built with Llama. Llama 3.3 is licensed under the Llama 3.3 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.

Early access

The API is in development. If it would fit what you are building, tell me your use case. The first users get in before launch and shape what the API returns.