LanguageValues and typesStandard typesOther with a published standard
ModelId
On this page
An AI model by its provider and name: openai/gpt-4o.
Use it to record which model made an answer or an Embedding.
Shape
| Field | Type | Required? |
|---|---|---|
provider |
Text |
Yes |
name |
Text |
Yes |
Example
ModelId { provider: "openai" name: "gpt-4o" }text.parse(raw, as: ModelId) reads one from text that comes from outside. Text that isn't one at all fails malformed, such as gpt-4o, openai/ or /gpt-4o.
Good to know
- As text it needs its provider, so
gpt-4oalone is refused. - A model an app calls comes from a
ModelIdsetting rather than a name in the code, so changing it is a reviewed change. ==tells you whether two are the same.<andlist.sort_bydon't take it, so sort by one of its parts instead.
In JSON
A string, in a request, a response or json.write:
"openai/gpt-4o""meta-llama/Llama-3.1-8B-Instruct""ollama/llama3:8b"
Details
Text form, storage, how it is shown, and operations
ModelId is in the group Other with a published standard, and has been in Jadpo since 0.1.0.
Text form
text.from writes one standard text form, the same form text.parse reads back: openai/gpt-4o, meta-llama/Llama-3.1-8B-Instruct and ollama/llama3:8b.
How it is stored
It is stored in 2 columns, each named for the field, _ and its suffix. This is meta-llama/Llama-3.1-8B-Instruct:
| Column | Type | Holds |
|---|---|---|
<field>_provider |
text |
'meta-llama' |
<field>_name |
text |
'Llama-3.1-8B-Instruct' |
How it is shown to people
text.format(value, locale:) shows it to people in their locale.
With locale: Locale.en_gb:
| Value | Shown |
|---|---|
openai/gpt-4o |
openai/gpt-4o |
meta-llama/Llama-3.1-8B-Instruct |
meta-llama/Llama-3.1-8B-Instruct |
ollama/llama3:8b |
ollama/llama3:8b |
Operations
It also takes text.parse, text.from, text.format, json.read, json.write and ==. How every standard type behaves says how they work.
Markdown for agents: /docs/types/type-model-id.md.Built from Jadpo main at aee2e8f.