kiln-ai 0.19.0__py3-none-any.whl → 0.21.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kiln-ai might be problematic. Click here for more details.
- kiln_ai/adapters/__init__.py +8 -2
- kiln_ai/adapters/adapter_registry.py +43 -208
- kiln_ai/adapters/chat/chat_formatter.py +8 -12
- kiln_ai/adapters/chat/test_chat_formatter.py +6 -2
- kiln_ai/adapters/chunkers/__init__.py +13 -0
- kiln_ai/adapters/chunkers/base_chunker.py +42 -0
- kiln_ai/adapters/chunkers/chunker_registry.py +16 -0
- kiln_ai/adapters/chunkers/fixed_window_chunker.py +39 -0
- kiln_ai/adapters/chunkers/helpers.py +23 -0
- kiln_ai/adapters/chunkers/test_base_chunker.py +63 -0
- kiln_ai/adapters/chunkers/test_chunker_registry.py +28 -0
- kiln_ai/adapters/chunkers/test_fixed_window_chunker.py +346 -0
- kiln_ai/adapters/chunkers/test_helpers.py +75 -0
- kiln_ai/adapters/data_gen/test_data_gen_task.py +9 -3
- kiln_ai/adapters/docker_model_runner_tools.py +119 -0
- kiln_ai/adapters/embedding/__init__.py +0 -0
- kiln_ai/adapters/embedding/base_embedding_adapter.py +44 -0
- kiln_ai/adapters/embedding/embedding_registry.py +32 -0
- kiln_ai/adapters/embedding/litellm_embedding_adapter.py +199 -0
- kiln_ai/adapters/embedding/test_base_embedding_adapter.py +283 -0
- kiln_ai/adapters/embedding/test_embedding_registry.py +166 -0
- kiln_ai/adapters/embedding/test_litellm_embedding_adapter.py +1149 -0
- kiln_ai/adapters/eval/base_eval.py +2 -2
- kiln_ai/adapters/eval/eval_runner.py +9 -3
- kiln_ai/adapters/eval/g_eval.py +2 -2
- kiln_ai/adapters/eval/test_base_eval.py +2 -4
- kiln_ai/adapters/eval/test_g_eval.py +4 -5
- kiln_ai/adapters/extractors/__init__.py +18 -0
- kiln_ai/adapters/extractors/base_extractor.py +72 -0
- kiln_ai/adapters/extractors/encoding.py +20 -0
- kiln_ai/adapters/extractors/extractor_registry.py +44 -0
- kiln_ai/adapters/extractors/extractor_runner.py +112 -0
- kiln_ai/adapters/extractors/litellm_extractor.py +386 -0
- kiln_ai/adapters/extractors/test_base_extractor.py +244 -0
- kiln_ai/adapters/extractors/test_encoding.py +54 -0
- kiln_ai/adapters/extractors/test_extractor_registry.py +181 -0
- kiln_ai/adapters/extractors/test_extractor_runner.py +181 -0
- kiln_ai/adapters/extractors/test_litellm_extractor.py +1192 -0
- kiln_ai/adapters/fine_tune/__init__.py +1 -1
- kiln_ai/adapters/fine_tune/openai_finetune.py +14 -4
- kiln_ai/adapters/fine_tune/test_dataset_formatter.py +2 -2
- kiln_ai/adapters/fine_tune/test_fireworks_tinetune.py +2 -6
- kiln_ai/adapters/fine_tune/test_openai_finetune.py +108 -111
- kiln_ai/adapters/fine_tune/test_together_finetune.py +2 -6
- kiln_ai/adapters/ml_embedding_model_list.py +192 -0
- kiln_ai/adapters/ml_model_list.py +761 -37
- kiln_ai/adapters/model_adapters/base_adapter.py +51 -21
- kiln_ai/adapters/model_adapters/litellm_adapter.py +380 -138
- kiln_ai/adapters/model_adapters/test_base_adapter.py +193 -17
- kiln_ai/adapters/model_adapters/test_litellm_adapter.py +407 -2
- kiln_ai/adapters/model_adapters/test_litellm_adapter_tools.py +1103 -0
- kiln_ai/adapters/model_adapters/test_saving_adapter_results.py +5 -5
- kiln_ai/adapters/model_adapters/test_structured_output.py +113 -5
- kiln_ai/adapters/ollama_tools.py +69 -12
- kiln_ai/adapters/parsers/__init__.py +1 -1
- kiln_ai/adapters/provider_tools.py +205 -47
- kiln_ai/adapters/rag/deduplication.py +49 -0
- kiln_ai/adapters/rag/progress.py +252 -0
- kiln_ai/adapters/rag/rag_runners.py +844 -0
- kiln_ai/adapters/rag/test_deduplication.py +195 -0
- kiln_ai/adapters/rag/test_progress.py +785 -0
- kiln_ai/adapters/rag/test_rag_runners.py +2376 -0
- kiln_ai/adapters/remote_config.py +80 -8
- kiln_ai/adapters/repair/test_repair_task.py +12 -9
- kiln_ai/adapters/run_output.py +3 -0
- kiln_ai/adapters/test_adapter_registry.py +657 -85
- kiln_ai/adapters/test_docker_model_runner_tools.py +305 -0
- kiln_ai/adapters/test_ml_embedding_model_list.py +429 -0
- kiln_ai/adapters/test_ml_model_list.py +251 -1
- kiln_ai/adapters/test_ollama_tools.py +340 -1
- kiln_ai/adapters/test_prompt_adaptors.py +13 -6
- kiln_ai/adapters/test_prompt_builders.py +1 -1
- kiln_ai/adapters/test_provider_tools.py +254 -8
- kiln_ai/adapters/test_remote_config.py +651 -58
- kiln_ai/adapters/vector_store/__init__.py +1 -0
- kiln_ai/adapters/vector_store/base_vector_store_adapter.py +83 -0
- kiln_ai/adapters/vector_store/lancedb_adapter.py +389 -0
- kiln_ai/adapters/vector_store/test_base_vector_store.py +160 -0
- kiln_ai/adapters/vector_store/test_lancedb_adapter.py +1841 -0
- kiln_ai/adapters/vector_store/test_vector_store_registry.py +199 -0
- kiln_ai/adapters/vector_store/vector_store_registry.py +33 -0
- kiln_ai/datamodel/__init__.py +39 -34
- kiln_ai/datamodel/basemodel.py +170 -1
- kiln_ai/datamodel/chunk.py +158 -0
- kiln_ai/datamodel/datamodel_enums.py +28 -0
- kiln_ai/datamodel/embedding.py +64 -0
- kiln_ai/datamodel/eval.py +1 -1
- kiln_ai/datamodel/external_tool_server.py +298 -0
- kiln_ai/datamodel/extraction.py +303 -0
- kiln_ai/datamodel/json_schema.py +25 -10
- kiln_ai/datamodel/project.py +40 -1
- kiln_ai/datamodel/rag.py +79 -0
- kiln_ai/datamodel/registry.py +0 -15
- kiln_ai/datamodel/run_config.py +62 -0
- kiln_ai/datamodel/task.py +2 -77
- kiln_ai/datamodel/task_output.py +6 -1
- kiln_ai/datamodel/task_run.py +41 -0
- kiln_ai/datamodel/test_attachment.py +649 -0
- kiln_ai/datamodel/test_basemodel.py +4 -4
- kiln_ai/datamodel/test_chunk_models.py +317 -0
- kiln_ai/datamodel/test_dataset_split.py +1 -1
- kiln_ai/datamodel/test_embedding_models.py +448 -0
- kiln_ai/datamodel/test_eval_model.py +6 -6
- kiln_ai/datamodel/test_example_models.py +175 -0
- kiln_ai/datamodel/test_external_tool_server.py +691 -0
- kiln_ai/datamodel/test_extraction_chunk.py +206 -0
- kiln_ai/datamodel/test_extraction_model.py +470 -0
- kiln_ai/datamodel/test_rag.py +641 -0
- kiln_ai/datamodel/test_registry.py +8 -3
- kiln_ai/datamodel/test_task.py +15 -47
- kiln_ai/datamodel/test_tool_id.py +320 -0
- kiln_ai/datamodel/test_vector_store.py +320 -0
- kiln_ai/datamodel/tool_id.py +105 -0
- kiln_ai/datamodel/vector_store.py +141 -0
- kiln_ai/tools/__init__.py +8 -0
- kiln_ai/tools/base_tool.py +82 -0
- kiln_ai/tools/built_in_tools/__init__.py +13 -0
- kiln_ai/tools/built_in_tools/math_tools.py +124 -0
- kiln_ai/tools/built_in_tools/test_math_tools.py +204 -0
- kiln_ai/tools/mcp_server_tool.py +95 -0
- kiln_ai/tools/mcp_session_manager.py +246 -0
- kiln_ai/tools/rag_tools.py +157 -0
- kiln_ai/tools/test_base_tools.py +199 -0
- kiln_ai/tools/test_mcp_server_tool.py +457 -0
- kiln_ai/tools/test_mcp_session_manager.py +1585 -0
- kiln_ai/tools/test_rag_tools.py +848 -0
- kiln_ai/tools/test_tool_registry.py +562 -0
- kiln_ai/tools/tool_registry.py +85 -0
- kiln_ai/utils/__init__.py +3 -0
- kiln_ai/utils/async_job_runner.py +62 -17
- kiln_ai/utils/config.py +24 -2
- kiln_ai/utils/env.py +15 -0
- kiln_ai/utils/filesystem.py +14 -0
- kiln_ai/utils/filesystem_cache.py +60 -0
- kiln_ai/utils/litellm.py +94 -0
- kiln_ai/utils/lock.py +100 -0
- kiln_ai/utils/mime_type.py +38 -0
- kiln_ai/utils/open_ai_types.py +94 -0
- kiln_ai/utils/pdf_utils.py +38 -0
- kiln_ai/utils/project_utils.py +17 -0
- kiln_ai/utils/test_async_job_runner.py +151 -35
- kiln_ai/utils/test_config.py +138 -1
- kiln_ai/utils/test_env.py +142 -0
- kiln_ai/utils/test_filesystem_cache.py +316 -0
- kiln_ai/utils/test_litellm.py +206 -0
- kiln_ai/utils/test_lock.py +185 -0
- kiln_ai/utils/test_mime_type.py +66 -0
- kiln_ai/utils/test_open_ai_types.py +131 -0
- kiln_ai/utils/test_pdf_utils.py +73 -0
- kiln_ai/utils/test_uuid.py +111 -0
- kiln_ai/utils/test_validation.py +524 -0
- kiln_ai/utils/uuid.py +9 -0
- kiln_ai/utils/validation.py +90 -0
- {kiln_ai-0.19.0.dist-info → kiln_ai-0.21.0.dist-info}/METADATA +12 -5
- kiln_ai-0.21.0.dist-info/RECORD +211 -0
- kiln_ai-0.19.0.dist-info/RECORD +0 -115
- {kiln_ai-0.19.0.dist-info → kiln_ai-0.21.0.dist-info}/WHEEL +0 -0
- {kiln_ai-0.19.0.dist-info → kiln_ai-0.21.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -5,6 +5,7 @@ from pydantic import BaseModel
|
|
|
5
5
|
|
|
6
6
|
from kiln_ai.datamodel.datamodel_enums import (
|
|
7
7
|
ChatStrategy,
|
|
8
|
+
KilnMimeType,
|
|
8
9
|
ModelProviderName,
|
|
9
10
|
StructuredOutputMode,
|
|
10
11
|
)
|
|
@@ -39,6 +40,8 @@ class ModelFamily(str, Enum):
|
|
|
39
40
|
ernie = "ernie"
|
|
40
41
|
minimax = "minimax"
|
|
41
42
|
pangu = "pangu"
|
|
43
|
+
bytedance = "bytedance"
|
|
44
|
+
stepfun = "stepfun"
|
|
42
45
|
|
|
43
46
|
|
|
44
47
|
# Where models have instruct and raw versions, instruct is default and raw is specified
|
|
@@ -93,6 +96,7 @@ class ModelName(str, Enum):
|
|
|
93
96
|
gemma_2_2b = "gemma_2_2b"
|
|
94
97
|
gemma_2_9b = "gemma_2_9b"
|
|
95
98
|
gemma_2_27b = "gemma_2_27b"
|
|
99
|
+
gemma_3_0p27b = "gemma_3_0p27b"
|
|
96
100
|
gemma_3_1b = "gemma_3_1b"
|
|
97
101
|
gemma_3_4b = "gemma_3_4b"
|
|
98
102
|
gemma_3_12b = "gemma_3_12b"
|
|
@@ -119,6 +123,7 @@ class ModelName(str, Enum):
|
|
|
119
123
|
qwen_2p5_14b = "qwen_2p5_14b"
|
|
120
124
|
qwen_2p5_72b = "qwen_2p5_72b"
|
|
121
125
|
qwq_32b = "qwq_32b"
|
|
126
|
+
deepseek_3_1 = "deepseek_3_1"
|
|
122
127
|
deepseek_3 = "deepseek_3"
|
|
123
128
|
deepseek_r1 = "deepseek_r1"
|
|
124
129
|
deepseek_r1_0528 = "deepseek_r1_0528"
|
|
@@ -134,6 +139,9 @@ class ModelName(str, Enum):
|
|
|
134
139
|
grok_3 = "grok_3"
|
|
135
140
|
grok_3_mini = "grok_3_mini"
|
|
136
141
|
grok_4 = "grok_4"
|
|
142
|
+
qwen_3_next_80b_a3b = "qwen_3_next_80b_a3b"
|
|
143
|
+
qwen_3_next_80b_a3b_thinking = "qwen_3_next_80b_a3b_thinking"
|
|
144
|
+
qwen_3_max = "qwen_3_max"
|
|
137
145
|
qwen_3_0p6b = "qwen_3_0p6b"
|
|
138
146
|
qwen_3_0p6b_no_thinking = "qwen_3_0p6b_no_thinking"
|
|
139
147
|
qwen_3_1p7b = "qwen_3_1p7b"
|
|
@@ -156,7 +164,10 @@ class ModelName(str, Enum):
|
|
|
156
164
|
qwen_3_235b_a22b_no_thinking = "qwen_3_235b_a22b_no_thinking"
|
|
157
165
|
qwen_long_l1_32b = "qwen_long_l1_32b"
|
|
158
166
|
kimi_k2 = "kimi_k2"
|
|
167
|
+
kimi_k2_0905 = "kimi_k2_0905"
|
|
159
168
|
kimi_dev_72b = "kimi_dev_72b"
|
|
169
|
+
glm_4_5 = "glm_4_5"
|
|
170
|
+
glm_4_5_air = "glm_4_5_air"
|
|
160
171
|
glm_4_1v_9b_thinking = "glm_4_1v_9b_thinking"
|
|
161
172
|
glm_z1_32b_0414 = "glm_z1_32b_0414"
|
|
162
173
|
glm_z1_9b_0414 = "glm_z1_9b_0414"
|
|
@@ -165,6 +176,8 @@ class ModelName(str, Enum):
|
|
|
165
176
|
hunyuan_a13b_no_thinking = "hunyuan_a13b_no_thinking"
|
|
166
177
|
minimax_m1_80k = "minimax_m1_80k"
|
|
167
178
|
pangu_pro_moe_72b_a16b = "pangu_pro_moe_72b_a16b"
|
|
179
|
+
bytedance_seed_oss_36b = "bytedance_seed_oss_36b"
|
|
180
|
+
stepfun_step3 = "stepfun_step3"
|
|
168
181
|
|
|
169
182
|
|
|
170
183
|
class ModelParserID(str, Enum):
|
|
@@ -198,6 +211,10 @@ class KilnModelProvider(BaseModel):
|
|
|
198
211
|
parser: A parser to use for the model, if applicable
|
|
199
212
|
reasoning_capable: Whether the model is designed to output thinking in a structured format (eg <think></think>). If so we don't use COT across 2 calls, and ask for thinking and final response in the same call.
|
|
200
213
|
tuned_chat_strategy: Used when a model is finetuned with a specific chat strategy, and it's best to use it at call time.
|
|
214
|
+
supports_doc_extraction: Whether the provider is meant to support document extraction
|
|
215
|
+
suggested_for_doc_extraction: Whether the model is suggested for document extraction
|
|
216
|
+
multimodal_capable: Whether the model supports multimodal inputs (e.g. images, audio, video, PDFs, etc.)
|
|
217
|
+
multimodal_mime_types: The mime types that the model supports for multimodal inputs (e.g. image/jpeg, video/mp4, application/pdf, etc.)
|
|
201
218
|
"""
|
|
202
219
|
|
|
203
220
|
name: ModelProviderName
|
|
@@ -213,9 +230,14 @@ class KilnModelProvider(BaseModel):
|
|
|
213
230
|
reasoning_capable: bool = False
|
|
214
231
|
supports_logprobs: bool = False
|
|
215
232
|
suggested_for_evals: bool = False
|
|
233
|
+
supports_function_calling: bool = True
|
|
216
234
|
uncensored: bool = False
|
|
217
235
|
suggested_for_uncensored_data_gen: bool = False
|
|
218
236
|
tuned_chat_strategy: ChatStrategy | None = None
|
|
237
|
+
supports_doc_extraction: bool = False
|
|
238
|
+
suggested_for_doc_extraction: bool = False
|
|
239
|
+
multimodal_capable: bool = False
|
|
240
|
+
multimodal_mime_types: List[str] | None = None
|
|
219
241
|
|
|
220
242
|
# We need a more generalized way to handle custom provider parameters.
|
|
221
243
|
# Making them quite declarative here for now, isolating provider specific logic
|
|
@@ -270,6 +292,22 @@ built_in_models: List[KilnModel] = [
|
|
|
270
292
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
271
293
|
suggested_for_data_gen=True,
|
|
272
294
|
suggested_for_evals=True,
|
|
295
|
+
supports_doc_extraction=True,
|
|
296
|
+
multimodal_capable=True,
|
|
297
|
+
multimodal_mime_types=[
|
|
298
|
+
# documents
|
|
299
|
+
KilnMimeType.PDF,
|
|
300
|
+
# images
|
|
301
|
+
KilnMimeType.JPG,
|
|
302
|
+
KilnMimeType.PNG,
|
|
303
|
+
],
|
|
304
|
+
),
|
|
305
|
+
KilnModelProvider(
|
|
306
|
+
name=ModelProviderName.openrouter,
|
|
307
|
+
model_id="openai/gpt-5",
|
|
308
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
309
|
+
suggested_for_data_gen=True,
|
|
310
|
+
suggested_for_evals=True,
|
|
273
311
|
),
|
|
274
312
|
],
|
|
275
313
|
),
|
|
@@ -285,6 +323,22 @@ built_in_models: List[KilnModel] = [
|
|
|
285
323
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
286
324
|
suggested_for_evals=True,
|
|
287
325
|
suggested_for_data_gen=True,
|
|
326
|
+
supports_doc_extraction=True,
|
|
327
|
+
multimodal_capable=True,
|
|
328
|
+
multimodal_mime_types=[
|
|
329
|
+
# documents
|
|
330
|
+
KilnMimeType.PDF,
|
|
331
|
+
# images
|
|
332
|
+
KilnMimeType.JPG,
|
|
333
|
+
KilnMimeType.PNG,
|
|
334
|
+
],
|
|
335
|
+
),
|
|
336
|
+
KilnModelProvider(
|
|
337
|
+
name=ModelProviderName.openrouter,
|
|
338
|
+
model_id="openai/gpt-5-mini",
|
|
339
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
340
|
+
suggested_for_evals=True,
|
|
341
|
+
suggested_for_data_gen=True,
|
|
288
342
|
),
|
|
289
343
|
],
|
|
290
344
|
),
|
|
@@ -298,6 +352,20 @@ built_in_models: List[KilnModel] = [
|
|
|
298
352
|
name=ModelProviderName.openai,
|
|
299
353
|
model_id="gpt-5-nano",
|
|
300
354
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
355
|
+
supports_doc_extraction=True,
|
|
356
|
+
multimodal_capable=True,
|
|
357
|
+
multimodal_mime_types=[
|
|
358
|
+
# documents
|
|
359
|
+
KilnMimeType.PDF,
|
|
360
|
+
# images
|
|
361
|
+
KilnMimeType.JPG,
|
|
362
|
+
KilnMimeType.PNG,
|
|
363
|
+
],
|
|
364
|
+
),
|
|
365
|
+
KilnModelProvider(
|
|
366
|
+
name=ModelProviderName.openrouter,
|
|
367
|
+
model_id="openai/gpt-5-nano",
|
|
368
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
301
369
|
),
|
|
302
370
|
],
|
|
303
371
|
),
|
|
@@ -312,6 +380,7 @@ built_in_models: List[KilnModel] = [
|
|
|
312
380
|
model_id="gpt-5-chat-latest",
|
|
313
381
|
# Oddly no json_schema support for this model.
|
|
314
382
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
383
|
+
supports_function_calling=False,
|
|
315
384
|
),
|
|
316
385
|
],
|
|
317
386
|
),
|
|
@@ -328,6 +397,16 @@ built_in_models: List[KilnModel] = [
|
|
|
328
397
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
329
398
|
supports_logprobs=True,
|
|
330
399
|
suggested_for_evals=True,
|
|
400
|
+
suggested_for_data_gen=True,
|
|
401
|
+
supports_doc_extraction=True,
|
|
402
|
+
multimodal_capable=True,
|
|
403
|
+
multimodal_mime_types=[
|
|
404
|
+
# documents
|
|
405
|
+
KilnMimeType.PDF,
|
|
406
|
+
# images
|
|
407
|
+
KilnMimeType.JPG,
|
|
408
|
+
KilnMimeType.PNG,
|
|
409
|
+
],
|
|
331
410
|
),
|
|
332
411
|
KilnModelProvider(
|
|
333
412
|
name=ModelProviderName.openrouter,
|
|
@@ -335,11 +414,31 @@ built_in_models: List[KilnModel] = [
|
|
|
335
414
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
336
415
|
supports_logprobs=True,
|
|
337
416
|
suggested_for_evals=True,
|
|
417
|
+
suggested_for_data_gen=True,
|
|
418
|
+
supports_doc_extraction=True,
|
|
419
|
+
multimodal_capable=True,
|
|
420
|
+
multimodal_mime_types=[
|
|
421
|
+
# documents
|
|
422
|
+
KilnMimeType.PDF,
|
|
423
|
+
# images
|
|
424
|
+
KilnMimeType.JPG,
|
|
425
|
+
KilnMimeType.PNG,
|
|
426
|
+
],
|
|
338
427
|
),
|
|
339
428
|
KilnModelProvider(
|
|
340
429
|
name=ModelProviderName.azure_openai,
|
|
341
430
|
model_id="gpt-4.1",
|
|
342
431
|
suggested_for_evals=True,
|
|
432
|
+
suggested_for_data_gen=True,
|
|
433
|
+
supports_doc_extraction=True,
|
|
434
|
+
multimodal_capable=True,
|
|
435
|
+
multimodal_mime_types=[
|
|
436
|
+
# documents
|
|
437
|
+
KilnMimeType.PDF,
|
|
438
|
+
# images
|
|
439
|
+
KilnMimeType.JPG,
|
|
440
|
+
KilnMimeType.PNG,
|
|
441
|
+
],
|
|
343
442
|
),
|
|
344
443
|
],
|
|
345
444
|
),
|
|
@@ -788,26 +887,25 @@ built_in_models: List[KilnModel] = [
|
|
|
788
887
|
),
|
|
789
888
|
],
|
|
790
889
|
),
|
|
791
|
-
# Claude
|
|
890
|
+
# Claude Sonnet 4
|
|
792
891
|
KilnModel(
|
|
793
892
|
family=ModelFamily.claude,
|
|
794
|
-
name=ModelName.
|
|
795
|
-
friendly_name="Claude
|
|
893
|
+
name=ModelName.claude_sonnet_4,
|
|
894
|
+
friendly_name="Claude 4 Sonnet",
|
|
796
895
|
providers=[
|
|
797
896
|
KilnModelProvider(
|
|
798
897
|
name=ModelProviderName.openrouter,
|
|
898
|
+
model_id="anthropic/claude-sonnet-4",
|
|
799
899
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
800
|
-
|
|
900
|
+
suggested_for_data_gen=True,
|
|
901
|
+
suggested_for_evals=True,
|
|
801
902
|
),
|
|
802
903
|
KilnModelProvider(
|
|
803
904
|
name=ModelProviderName.anthropic,
|
|
804
|
-
model_id="claude-
|
|
905
|
+
model_id="claude-sonnet-4-20250514",
|
|
805
906
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
name=ModelProviderName.vertex,
|
|
809
|
-
model_id="claude-3-5-sonnet",
|
|
810
|
-
structured_output_mode=StructuredOutputMode.function_calling_weak,
|
|
907
|
+
suggested_for_data_gen=True,
|
|
908
|
+
suggested_for_evals=True,
|
|
811
909
|
),
|
|
812
910
|
],
|
|
813
911
|
),
|
|
@@ -852,25 +950,26 @@ built_in_models: List[KilnModel] = [
|
|
|
852
950
|
),
|
|
853
951
|
],
|
|
854
952
|
),
|
|
855
|
-
# Claude Sonnet
|
|
953
|
+
# Claude 3.5 Sonnet
|
|
856
954
|
KilnModel(
|
|
857
955
|
family=ModelFamily.claude,
|
|
858
|
-
name=ModelName.
|
|
859
|
-
friendly_name="Claude Sonnet
|
|
956
|
+
name=ModelName.claude_3_5_sonnet,
|
|
957
|
+
friendly_name="Claude 3.5 Sonnet",
|
|
860
958
|
providers=[
|
|
861
959
|
KilnModelProvider(
|
|
862
960
|
name=ModelProviderName.openrouter,
|
|
863
|
-
model_id="anthropic/claude-sonnet-4",
|
|
864
961
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
865
|
-
|
|
866
|
-
suggested_for_evals=True,
|
|
962
|
+
model_id="anthropic/claude-3.5-sonnet",
|
|
867
963
|
),
|
|
868
964
|
KilnModelProvider(
|
|
869
965
|
name=ModelProviderName.anthropic,
|
|
870
|
-
model_id="claude-sonnet-
|
|
966
|
+
model_id="claude-3-5-sonnet-20241022",
|
|
871
967
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
872
|
-
|
|
873
|
-
|
|
968
|
+
),
|
|
969
|
+
KilnModelProvider(
|
|
970
|
+
name=ModelProviderName.vertex,
|
|
971
|
+
model_id="claude-3-5-sonnet",
|
|
972
|
+
structured_output_mode=StructuredOutputMode.function_calling_weak,
|
|
874
973
|
),
|
|
875
974
|
],
|
|
876
975
|
),
|
|
@@ -905,6 +1004,20 @@ built_in_models: List[KilnModel] = [
|
|
|
905
1004
|
suggested_for_data_gen=True,
|
|
906
1005
|
suggested_for_evals=True,
|
|
907
1006
|
reasoning_capable=True,
|
|
1007
|
+
supports_doc_extraction=True,
|
|
1008
|
+
suggested_for_doc_extraction=True,
|
|
1009
|
+
multimodal_capable=True,
|
|
1010
|
+
multimodal_mime_types=[
|
|
1011
|
+
# documents
|
|
1012
|
+
KilnMimeType.PDF,
|
|
1013
|
+
KilnMimeType.CSV,
|
|
1014
|
+
KilnMimeType.TXT,
|
|
1015
|
+
KilnMimeType.HTML,
|
|
1016
|
+
KilnMimeType.MD,
|
|
1017
|
+
# images
|
|
1018
|
+
KilnMimeType.JPG,
|
|
1019
|
+
KilnMimeType.PNG,
|
|
1020
|
+
],
|
|
908
1021
|
gemini_reasoning_enabled=True,
|
|
909
1022
|
thinking_level="medium",
|
|
910
1023
|
),
|
|
@@ -914,6 +1027,27 @@ built_in_models: List[KilnModel] = [
|
|
|
914
1027
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
915
1028
|
suggested_for_data_gen=True,
|
|
916
1029
|
suggested_for_evals=True,
|
|
1030
|
+
supports_doc_extraction=True,
|
|
1031
|
+
suggested_for_doc_extraction=True,
|
|
1032
|
+
multimodal_capable=True,
|
|
1033
|
+
multimodal_mime_types=[
|
|
1034
|
+
# documents
|
|
1035
|
+
KilnMimeType.PDF,
|
|
1036
|
+
KilnMimeType.CSV,
|
|
1037
|
+
KilnMimeType.TXT,
|
|
1038
|
+
KilnMimeType.HTML,
|
|
1039
|
+
KilnMimeType.MD,
|
|
1040
|
+
# images
|
|
1041
|
+
KilnMimeType.JPG,
|
|
1042
|
+
KilnMimeType.PNG,
|
|
1043
|
+
# audio
|
|
1044
|
+
KilnMimeType.MP3,
|
|
1045
|
+
KilnMimeType.WAV,
|
|
1046
|
+
KilnMimeType.OGG,
|
|
1047
|
+
# video
|
|
1048
|
+
KilnMimeType.MP4,
|
|
1049
|
+
KilnMimeType.MOV,
|
|
1050
|
+
],
|
|
917
1051
|
reasoning_capable=True,
|
|
918
1052
|
gemini_reasoning_enabled=True,
|
|
919
1053
|
thinking_level="medium",
|
|
@@ -941,6 +1075,20 @@ built_in_models: List[KilnModel] = [
|
|
|
941
1075
|
model_id="google/gemini-2.5-flash",
|
|
942
1076
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
943
1077
|
reasoning_capable=True,
|
|
1078
|
+
supports_doc_extraction=True,
|
|
1079
|
+
suggested_for_doc_extraction=True,
|
|
1080
|
+
multimodal_capable=True,
|
|
1081
|
+
multimodal_mime_types=[
|
|
1082
|
+
# documents
|
|
1083
|
+
KilnMimeType.PDF,
|
|
1084
|
+
KilnMimeType.CSV,
|
|
1085
|
+
KilnMimeType.TXT,
|
|
1086
|
+
KilnMimeType.HTML,
|
|
1087
|
+
KilnMimeType.MD,
|
|
1088
|
+
# images
|
|
1089
|
+
KilnMimeType.JPG,
|
|
1090
|
+
KilnMimeType.PNG,
|
|
1091
|
+
],
|
|
944
1092
|
gemini_reasoning_enabled=True,
|
|
945
1093
|
),
|
|
946
1094
|
KilnModelProvider(
|
|
@@ -949,6 +1097,27 @@ built_in_models: List[KilnModel] = [
|
|
|
949
1097
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
950
1098
|
reasoning_capable=True,
|
|
951
1099
|
thinking_level="medium",
|
|
1100
|
+
supports_doc_extraction=True,
|
|
1101
|
+
suggested_for_doc_extraction=True,
|
|
1102
|
+
multimodal_capable=True,
|
|
1103
|
+
multimodal_mime_types=[
|
|
1104
|
+
# documents
|
|
1105
|
+
KilnMimeType.PDF,
|
|
1106
|
+
KilnMimeType.CSV,
|
|
1107
|
+
KilnMimeType.TXT,
|
|
1108
|
+
KilnMimeType.HTML,
|
|
1109
|
+
KilnMimeType.MD,
|
|
1110
|
+
# images
|
|
1111
|
+
KilnMimeType.JPG,
|
|
1112
|
+
KilnMimeType.PNG,
|
|
1113
|
+
# audio
|
|
1114
|
+
KilnMimeType.MP3,
|
|
1115
|
+
KilnMimeType.WAV,
|
|
1116
|
+
KilnMimeType.OGG,
|
|
1117
|
+
# video
|
|
1118
|
+
KilnMimeType.MP4,
|
|
1119
|
+
KilnMimeType.MOV,
|
|
1120
|
+
],
|
|
952
1121
|
),
|
|
953
1122
|
KilnModelProvider(
|
|
954
1123
|
name=ModelProviderName.vertex,
|
|
@@ -968,11 +1137,44 @@ built_in_models: List[KilnModel] = [
|
|
|
968
1137
|
KilnModelProvider(
|
|
969
1138
|
name=ModelProviderName.openrouter,
|
|
970
1139
|
model_id="google/gemini-2.0-flash-001",
|
|
1140
|
+
supports_doc_extraction=True,
|
|
1141
|
+
multimodal_capable=True,
|
|
1142
|
+
multimodal_mime_types=[
|
|
1143
|
+
# documents
|
|
1144
|
+
KilnMimeType.PDF,
|
|
1145
|
+
KilnMimeType.CSV,
|
|
1146
|
+
KilnMimeType.TXT,
|
|
1147
|
+
KilnMimeType.HTML,
|
|
1148
|
+
KilnMimeType.MD,
|
|
1149
|
+
# images
|
|
1150
|
+
KilnMimeType.JPG,
|
|
1151
|
+
KilnMimeType.PNG,
|
|
1152
|
+
],
|
|
971
1153
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
972
1154
|
),
|
|
973
1155
|
KilnModelProvider(
|
|
974
1156
|
name=ModelProviderName.gemini_api,
|
|
975
1157
|
model_id="gemini-2.0-flash",
|
|
1158
|
+
supports_doc_extraction=True,
|
|
1159
|
+
multimodal_capable=True,
|
|
1160
|
+
multimodal_mime_types=[
|
|
1161
|
+
# documents
|
|
1162
|
+
KilnMimeType.PDF,
|
|
1163
|
+
KilnMimeType.CSV,
|
|
1164
|
+
KilnMimeType.TXT,
|
|
1165
|
+
KilnMimeType.HTML,
|
|
1166
|
+
KilnMimeType.MD,
|
|
1167
|
+
# images
|
|
1168
|
+
KilnMimeType.JPG,
|
|
1169
|
+
KilnMimeType.PNG,
|
|
1170
|
+
# audio
|
|
1171
|
+
KilnMimeType.MP3,
|
|
1172
|
+
KilnMimeType.WAV,
|
|
1173
|
+
KilnMimeType.OGG,
|
|
1174
|
+
# video
|
|
1175
|
+
KilnMimeType.MP4,
|
|
1176
|
+
KilnMimeType.MOV,
|
|
1177
|
+
],
|
|
976
1178
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
977
1179
|
),
|
|
978
1180
|
KilnModelProvider(
|
|
@@ -992,11 +1194,44 @@ built_in_models: List[KilnModel] = [
|
|
|
992
1194
|
KilnModelProvider(
|
|
993
1195
|
name=ModelProviderName.openrouter,
|
|
994
1196
|
model_id="google/gemini-2.0-flash-lite-001",
|
|
1197
|
+
supports_doc_extraction=True,
|
|
1198
|
+
multimodal_capable=True,
|
|
1199
|
+
multimodal_mime_types=[
|
|
1200
|
+
# documents
|
|
1201
|
+
KilnMimeType.PDF,
|
|
1202
|
+
KilnMimeType.CSV,
|
|
1203
|
+
KilnMimeType.TXT,
|
|
1204
|
+
KilnMimeType.HTML,
|
|
1205
|
+
KilnMimeType.MD,
|
|
1206
|
+
# images
|
|
1207
|
+
KilnMimeType.JPG,
|
|
1208
|
+
KilnMimeType.PNG,
|
|
1209
|
+
],
|
|
995
1210
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
996
1211
|
),
|
|
997
1212
|
KilnModelProvider(
|
|
998
1213
|
name=ModelProviderName.gemini_api,
|
|
999
1214
|
model_id="gemini-2.0-flash-lite",
|
|
1215
|
+
supports_doc_extraction=True,
|
|
1216
|
+
multimodal_capable=True,
|
|
1217
|
+
multimodal_mime_types=[
|
|
1218
|
+
# documents
|
|
1219
|
+
KilnMimeType.PDF,
|
|
1220
|
+
KilnMimeType.CSV,
|
|
1221
|
+
KilnMimeType.TXT,
|
|
1222
|
+
KilnMimeType.HTML,
|
|
1223
|
+
KilnMimeType.MD,
|
|
1224
|
+
# images
|
|
1225
|
+
KilnMimeType.JPG,
|
|
1226
|
+
KilnMimeType.PNG,
|
|
1227
|
+
# audio
|
|
1228
|
+
KilnMimeType.MP3,
|
|
1229
|
+
KilnMimeType.WAV,
|
|
1230
|
+
KilnMimeType.OGG,
|
|
1231
|
+
# video
|
|
1232
|
+
KilnMimeType.MP4,
|
|
1233
|
+
KilnMimeType.MOV,
|
|
1234
|
+
],
|
|
1000
1235
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1001
1236
|
),
|
|
1002
1237
|
KilnModelProvider(
|
|
@@ -1084,6 +1319,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1084
1319
|
supports_structured_output=False,
|
|
1085
1320
|
supports_data_gen=False,
|
|
1086
1321
|
model_id="nvidia/llama-3.1-nemotron-70b-instruct",
|
|
1322
|
+
supports_function_calling=False,
|
|
1087
1323
|
),
|
|
1088
1324
|
],
|
|
1089
1325
|
),
|
|
@@ -1097,16 +1333,19 @@ built_in_models: List[KilnModel] = [
|
|
|
1097
1333
|
name=ModelProviderName.openrouter,
|
|
1098
1334
|
model_id="meta-llama/llama-4-maverick",
|
|
1099
1335
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1336
|
+
supports_function_calling=False,
|
|
1100
1337
|
),
|
|
1101
1338
|
KilnModelProvider(
|
|
1102
1339
|
name=ModelProviderName.fireworks_ai,
|
|
1103
1340
|
model_id="accounts/fireworks/models/llama4-maverick-instruct-basic",
|
|
1104
1341
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1342
|
+
supports_function_calling=False,
|
|
1105
1343
|
),
|
|
1106
1344
|
KilnModelProvider(
|
|
1107
1345
|
name=ModelProviderName.together_ai,
|
|
1108
1346
|
model_id="meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
1109
1347
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1348
|
+
supports_function_calling=False,
|
|
1110
1349
|
),
|
|
1111
1350
|
KilnModelProvider(
|
|
1112
1351
|
name=ModelProviderName.cerebras,
|
|
@@ -1125,16 +1364,19 @@ built_in_models: List[KilnModel] = [
|
|
|
1125
1364
|
name=ModelProviderName.openrouter,
|
|
1126
1365
|
model_id="meta-llama/llama-4-scout",
|
|
1127
1366
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1367
|
+
supports_function_calling=False,
|
|
1128
1368
|
),
|
|
1129
1369
|
KilnModelProvider(
|
|
1130
1370
|
name=ModelProviderName.fireworks_ai,
|
|
1131
1371
|
model_id="accounts/fireworks/models/llama4-scout-instruct-basic",
|
|
1132
1372
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1373
|
+
supports_function_calling=False,
|
|
1133
1374
|
),
|
|
1134
1375
|
KilnModelProvider(
|
|
1135
1376
|
name=ModelProviderName.together_ai,
|
|
1136
1377
|
model_id="meta-llama/Llama-4-Scout-17B-16E-Instruct",
|
|
1137
1378
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1379
|
+
supports_function_calling=False,
|
|
1138
1380
|
),
|
|
1139
1381
|
KilnModelProvider(
|
|
1140
1382
|
name=ModelProviderName.cerebras,
|
|
@@ -1152,24 +1394,28 @@ built_in_models: List[KilnModel] = [
|
|
|
1152
1394
|
KilnModelProvider(
|
|
1153
1395
|
name=ModelProviderName.groq,
|
|
1154
1396
|
model_id="llama-3.1-8b-instant",
|
|
1397
|
+
supports_function_calling=False,
|
|
1155
1398
|
),
|
|
1156
1399
|
KilnModelProvider(
|
|
1157
1400
|
name=ModelProviderName.amazon_bedrock,
|
|
1158
1401
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1159
1402
|
supports_structured_output=False,
|
|
1160
1403
|
model_id="meta.llama3-1-8b-instruct-v1:0",
|
|
1404
|
+
supports_function_calling=False,
|
|
1161
1405
|
),
|
|
1162
1406
|
KilnModelProvider(
|
|
1163
1407
|
name=ModelProviderName.ollama,
|
|
1164
1408
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1165
1409
|
model_id="llama3.1:8b",
|
|
1166
1410
|
ollama_model_aliases=["llama3.1"], # 8b is default
|
|
1411
|
+
supports_function_calling=False,
|
|
1167
1412
|
),
|
|
1168
1413
|
KilnModelProvider(
|
|
1169
1414
|
name=ModelProviderName.openrouter,
|
|
1170
1415
|
supports_data_gen=False,
|
|
1171
1416
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
1172
1417
|
model_id="meta-llama/llama-3.1-8b-instruct",
|
|
1418
|
+
supports_function_calling=False,
|
|
1173
1419
|
),
|
|
1174
1420
|
KilnModelProvider(
|
|
1175
1421
|
name=ModelProviderName.fireworks_ai,
|
|
@@ -1177,6 +1423,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1177
1423
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1178
1424
|
supports_data_gen=False,
|
|
1179
1425
|
model_id="accounts/fireworks/models/llama-v3p1-8b-instruct",
|
|
1426
|
+
supports_function_calling=False,
|
|
1180
1427
|
),
|
|
1181
1428
|
KilnModelProvider(
|
|
1182
1429
|
name=ModelProviderName.together_ai,
|
|
@@ -1184,6 +1431,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1184
1431
|
supports_data_gen=False,
|
|
1185
1432
|
structured_output_mode=StructuredOutputMode.function_calling_weak,
|
|
1186
1433
|
provider_finetune_id="meta-llama/Meta-Llama-3.1-8B-Instruct-Reference",
|
|
1434
|
+
# Constrained decode? They make function calling work when no one else does!
|
|
1187
1435
|
),
|
|
1188
1436
|
KilnModelProvider(
|
|
1189
1437
|
name=ModelProviderName.cerebras,
|
|
@@ -1191,6 +1439,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1191
1439
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
1192
1440
|
supports_data_gen=False,
|
|
1193
1441
|
suggested_for_evals=False,
|
|
1442
|
+
supports_function_calling=False,
|
|
1443
|
+
),
|
|
1444
|
+
KilnModelProvider(
|
|
1445
|
+
name=ModelProviderName.docker_model_runner,
|
|
1446
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1447
|
+
model_id="ai/llama3.1:8B-Q4_K_M",
|
|
1448
|
+
supports_function_calling=False,
|
|
1194
1449
|
),
|
|
1195
1450
|
],
|
|
1196
1451
|
),
|
|
@@ -1205,6 +1460,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1205
1460
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1206
1461
|
supports_data_gen=False,
|
|
1207
1462
|
model_id="meta.llama3-1-70b-instruct-v1:0",
|
|
1463
|
+
supports_function_calling=False,
|
|
1208
1464
|
),
|
|
1209
1465
|
KilnModelProvider(
|
|
1210
1466
|
name=ModelProviderName.openrouter,
|
|
@@ -1213,11 +1469,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1213
1469
|
model_id="meta-llama/llama-3.1-70b-instruct",
|
|
1214
1470
|
supports_logprobs=True,
|
|
1215
1471
|
logprobs_openrouter_options=True,
|
|
1472
|
+
supports_function_calling=False,
|
|
1216
1473
|
),
|
|
1217
1474
|
KilnModelProvider(
|
|
1218
1475
|
name=ModelProviderName.ollama,
|
|
1219
1476
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1220
1477
|
model_id="llama3.1:70b",
|
|
1478
|
+
supports_function_calling=False,
|
|
1221
1479
|
),
|
|
1222
1480
|
KilnModelProvider(
|
|
1223
1481
|
name=ModelProviderName.fireworks_ai,
|
|
@@ -1255,6 +1513,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1255
1513
|
name=ModelProviderName.openrouter,
|
|
1256
1514
|
structured_output_mode=StructuredOutputMode.function_calling,
|
|
1257
1515
|
model_id="meta-llama/llama-3.1-405b-instruct",
|
|
1516
|
+
supports_function_calling=False, # Not reliable
|
|
1258
1517
|
),
|
|
1259
1518
|
KilnModelProvider(
|
|
1260
1519
|
name=ModelProviderName.fireworks_ai,
|
|
@@ -1307,6 +1566,12 @@ built_in_models: List[KilnModel] = [
|
|
|
1307
1566
|
name=ModelProviderName.openrouter,
|
|
1308
1567
|
model_id="mistralai/mistral-nemo",
|
|
1309
1568
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1569
|
+
supports_function_calling=False, # Not reliable
|
|
1570
|
+
),
|
|
1571
|
+
KilnModelProvider(
|
|
1572
|
+
name=ModelProviderName.docker_model_runner,
|
|
1573
|
+
model_id="ai/mistral-nemo:12B-Q4_K_M",
|
|
1574
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1310
1575
|
),
|
|
1311
1576
|
],
|
|
1312
1577
|
),
|
|
@@ -1351,12 +1616,21 @@ built_in_models: List[KilnModel] = [
|
|
|
1351
1616
|
supports_data_gen=False,
|
|
1352
1617
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1353
1618
|
model_id="meta-llama/llama-3.2-1b-instruct",
|
|
1619
|
+
supports_function_calling=False,
|
|
1354
1620
|
),
|
|
1355
1621
|
KilnModelProvider(
|
|
1356
1622
|
name=ModelProviderName.ollama,
|
|
1357
1623
|
supports_structured_output=False,
|
|
1358
1624
|
supports_data_gen=False,
|
|
1359
1625
|
model_id="llama3.2:1b",
|
|
1626
|
+
supports_function_calling=False,
|
|
1627
|
+
),
|
|
1628
|
+
KilnModelProvider(
|
|
1629
|
+
name=ModelProviderName.docker_model_runner,
|
|
1630
|
+
supports_structured_output=False,
|
|
1631
|
+
supports_data_gen=False,
|
|
1632
|
+
model_id="ai/llama3.2:1B-F16",
|
|
1633
|
+
supports_function_calling=False,
|
|
1360
1634
|
),
|
|
1361
1635
|
],
|
|
1362
1636
|
),
|
|
@@ -1372,11 +1646,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1372
1646
|
supports_data_gen=False,
|
|
1373
1647
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1374
1648
|
model_id="meta-llama/llama-3.2-3b-instruct",
|
|
1649
|
+
supports_function_calling=False,
|
|
1375
1650
|
),
|
|
1376
1651
|
KilnModelProvider(
|
|
1377
1652
|
name=ModelProviderName.ollama,
|
|
1378
1653
|
supports_data_gen=False,
|
|
1379
1654
|
model_id="llama3.2",
|
|
1655
|
+
supports_function_calling=False,
|
|
1380
1656
|
),
|
|
1381
1657
|
KilnModelProvider(
|
|
1382
1658
|
name=ModelProviderName.together_ai,
|
|
@@ -1384,6 +1660,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1384
1660
|
supports_structured_output=False,
|
|
1385
1661
|
supports_data_gen=False,
|
|
1386
1662
|
),
|
|
1663
|
+
KilnModelProvider(
|
|
1664
|
+
name=ModelProviderName.docker_model_runner,
|
|
1665
|
+
model_id="ai/llama3.2:3B-Q4_K_M",
|
|
1666
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1667
|
+
supports_data_gen=False,
|
|
1668
|
+
supports_function_calling=False,
|
|
1669
|
+
),
|
|
1387
1670
|
],
|
|
1388
1671
|
),
|
|
1389
1672
|
# Llama 3.2 11B
|
|
@@ -1399,17 +1682,20 @@ built_in_models: List[KilnModel] = [
|
|
|
1399
1682
|
supports_structured_output=False,
|
|
1400
1683
|
supports_data_gen=False,
|
|
1401
1684
|
model_id="meta-llama/llama-3.2-11b-vision-instruct",
|
|
1685
|
+
supports_function_calling=False,
|
|
1402
1686
|
),
|
|
1403
1687
|
KilnModelProvider(
|
|
1404
1688
|
name=ModelProviderName.ollama,
|
|
1405
1689
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1406
1690
|
model_id="llama3.2-vision",
|
|
1691
|
+
supports_function_calling=False,
|
|
1407
1692
|
),
|
|
1408
1693
|
KilnModelProvider(
|
|
1409
1694
|
name=ModelProviderName.together_ai,
|
|
1410
1695
|
model_id="meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo",
|
|
1411
1696
|
supports_structured_output=False,
|
|
1412
1697
|
supports_data_gen=False,
|
|
1698
|
+
supports_function_calling=False, # weird 3b works and 11b doesn't but... vision?
|
|
1413
1699
|
),
|
|
1414
1700
|
],
|
|
1415
1701
|
),
|
|
@@ -1423,17 +1709,20 @@ built_in_models: List[KilnModel] = [
|
|
|
1423
1709
|
name=ModelProviderName.openrouter,
|
|
1424
1710
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1425
1711
|
model_id="meta-llama/llama-3.2-90b-vision-instruct",
|
|
1712
|
+
supports_function_calling=False,
|
|
1426
1713
|
),
|
|
1427
1714
|
KilnModelProvider(
|
|
1428
1715
|
name=ModelProviderName.ollama,
|
|
1429
1716
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1430
1717
|
model_id="llama3.2-vision:90b",
|
|
1718
|
+
supports_function_calling=False,
|
|
1431
1719
|
),
|
|
1432
1720
|
KilnModelProvider(
|
|
1433
1721
|
name=ModelProviderName.together_ai,
|
|
1434
1722
|
model_id="meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo",
|
|
1435
1723
|
supports_structured_output=False,
|
|
1436
1724
|
supports_data_gen=False,
|
|
1725
|
+
supports_function_calling=False,
|
|
1437
1726
|
),
|
|
1438
1727
|
],
|
|
1439
1728
|
),
|
|
@@ -1450,23 +1739,27 @@ built_in_models: List[KilnModel] = [
|
|
|
1450
1739
|
# Openrouter not working with json_schema or tools. JSON_schema sometimes works so force that, but not consistently so still not recommended.
|
|
1451
1740
|
supports_structured_output=False,
|
|
1452
1741
|
supports_data_gen=False,
|
|
1742
|
+
supports_function_calling=False,
|
|
1453
1743
|
),
|
|
1454
1744
|
KilnModelProvider(
|
|
1455
1745
|
name=ModelProviderName.groq,
|
|
1456
1746
|
supports_structured_output=True,
|
|
1457
1747
|
supports_data_gen=True,
|
|
1458
1748
|
model_id="llama-3.3-70b-versatile",
|
|
1749
|
+
supports_function_calling=False,
|
|
1459
1750
|
),
|
|
1460
1751
|
KilnModelProvider(
|
|
1461
1752
|
name=ModelProviderName.ollama,
|
|
1462
1753
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1463
1754
|
model_id="llama3.3",
|
|
1755
|
+
supports_function_calling=False,
|
|
1464
1756
|
),
|
|
1465
1757
|
KilnModelProvider(
|
|
1466
1758
|
name=ModelProviderName.fireworks_ai,
|
|
1467
1759
|
# Tool calling forces schema -- fireworks doesn't support json_schema, just json_mode
|
|
1468
1760
|
structured_output_mode=StructuredOutputMode.function_calling_weak,
|
|
1469
1761
|
model_id="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
1762
|
+
supports_function_calling=False,
|
|
1470
1763
|
),
|
|
1471
1764
|
KilnModelProvider(
|
|
1472
1765
|
name=ModelProviderName.vertex,
|
|
@@ -1474,11 +1767,19 @@ built_in_models: List[KilnModel] = [
|
|
|
1474
1767
|
# Doesn't work yet; needs debugging
|
|
1475
1768
|
supports_structured_output=False,
|
|
1476
1769
|
supports_data_gen=False,
|
|
1770
|
+
supports_function_calling=False,
|
|
1477
1771
|
),
|
|
1478
1772
|
KilnModelProvider(
|
|
1479
1773
|
name=ModelProviderName.together_ai,
|
|
1480
1774
|
model_id="meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
|
1481
1775
|
structured_output_mode=StructuredOutputMode.function_calling_weak,
|
|
1776
|
+
# Tools work. Probably constrained decode? Nice
|
|
1777
|
+
),
|
|
1778
|
+
KilnModelProvider(
|
|
1779
|
+
name=ModelProviderName.docker_model_runner,
|
|
1780
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1781
|
+
model_id="ai/llama3.3:70B-Q4_K_M",
|
|
1782
|
+
supports_function_calling=False,
|
|
1482
1783
|
),
|
|
1483
1784
|
],
|
|
1484
1785
|
),
|
|
@@ -1494,6 +1795,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1494
1795
|
supports_structured_output=False,
|
|
1495
1796
|
supports_data_gen=False,
|
|
1496
1797
|
model_id="phi3.5",
|
|
1798
|
+
supports_function_calling=False,
|
|
1497
1799
|
),
|
|
1498
1800
|
KilnModelProvider(
|
|
1499
1801
|
name=ModelProviderName.openrouter,
|
|
@@ -1501,6 +1803,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1501
1803
|
supports_data_gen=False,
|
|
1502
1804
|
model_id="microsoft/phi-3.5-mini-128k-instruct",
|
|
1503
1805
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1806
|
+
supports_function_calling=False,
|
|
1504
1807
|
),
|
|
1505
1808
|
],
|
|
1506
1809
|
),
|
|
@@ -1514,6 +1817,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1514
1817
|
name=ModelProviderName.ollama,
|
|
1515
1818
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1516
1819
|
model_id="phi4",
|
|
1820
|
+
supports_function_calling=False,
|
|
1517
1821
|
),
|
|
1518
1822
|
KilnModelProvider(
|
|
1519
1823
|
name=ModelProviderName.openrouter,
|
|
@@ -1521,6 +1825,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1521
1825
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1522
1826
|
supports_data_gen=False,
|
|
1523
1827
|
model_id="microsoft/phi-4",
|
|
1828
|
+
supports_function_calling=False,
|
|
1829
|
+
),
|
|
1830
|
+
KilnModelProvider(
|
|
1831
|
+
name=ModelProviderName.docker_model_runner,
|
|
1832
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1833
|
+
model_id="ai/phi4:14B-Q4_K_M",
|
|
1834
|
+
supports_function_calling=False,
|
|
1524
1835
|
),
|
|
1525
1836
|
],
|
|
1526
1837
|
),
|
|
@@ -1535,6 +1846,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1535
1846
|
model_id="microsoft/phi-4-multimodal-instruct",
|
|
1536
1847
|
supports_structured_output=False,
|
|
1537
1848
|
supports_data_gen=False,
|
|
1849
|
+
supports_function_calling=False,
|
|
1538
1850
|
),
|
|
1539
1851
|
],
|
|
1540
1852
|
),
|
|
@@ -1547,6 +1859,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1547
1859
|
KilnModelProvider(
|
|
1548
1860
|
name=ModelProviderName.ollama,
|
|
1549
1861
|
model_id="phi4-mini",
|
|
1862
|
+
supports_function_calling=False,
|
|
1550
1863
|
),
|
|
1551
1864
|
],
|
|
1552
1865
|
),
|
|
@@ -1560,6 +1873,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1560
1873
|
name=ModelProviderName.ollama,
|
|
1561
1874
|
supports_data_gen=False,
|
|
1562
1875
|
model_id="gemma2:2b",
|
|
1876
|
+
supports_function_calling=False,
|
|
1563
1877
|
),
|
|
1564
1878
|
],
|
|
1565
1879
|
),
|
|
@@ -1573,6 +1887,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1573
1887
|
name=ModelProviderName.ollama,
|
|
1574
1888
|
supports_data_gen=False,
|
|
1575
1889
|
model_id="gemma2:9b",
|
|
1890
|
+
supports_function_calling=False,
|
|
1576
1891
|
),
|
|
1577
1892
|
KilnModelProvider(
|
|
1578
1893
|
name=ModelProviderName.openrouter,
|
|
@@ -1581,6 +1896,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1581
1896
|
supports_structured_output=False,
|
|
1582
1897
|
supports_data_gen=False,
|
|
1583
1898
|
model_id="google/gemma-2-9b-it",
|
|
1899
|
+
supports_function_calling=False,
|
|
1584
1900
|
),
|
|
1585
1901
|
# fireworks AI errors - not allowing system role. Exclude until resolved.
|
|
1586
1902
|
],
|
|
@@ -1595,15 +1911,32 @@ built_in_models: List[KilnModel] = [
|
|
|
1595
1911
|
name=ModelProviderName.ollama,
|
|
1596
1912
|
supports_data_gen=False,
|
|
1597
1913
|
model_id="gemma2:27b",
|
|
1914
|
+
supports_function_calling=False,
|
|
1598
1915
|
),
|
|
1599
1916
|
KilnModelProvider(
|
|
1600
1917
|
name=ModelProviderName.openrouter,
|
|
1601
1918
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1602
1919
|
supports_data_gen=False,
|
|
1603
1920
|
model_id="google/gemma-2-27b-it",
|
|
1921
|
+
supports_function_calling=False,
|
|
1604
1922
|
),
|
|
1605
1923
|
],
|
|
1606
1924
|
),
|
|
1925
|
+
# Gemma 3 270M
|
|
1926
|
+
KilnModel(
|
|
1927
|
+
family=ModelFamily.gemma,
|
|
1928
|
+
name=ModelName.gemma_3_0p27b,
|
|
1929
|
+
friendly_name="Gemma 3 270M",
|
|
1930
|
+
providers=[
|
|
1931
|
+
KilnModelProvider(
|
|
1932
|
+
name=ModelProviderName.docker_model_runner,
|
|
1933
|
+
model_id="ai/gemma3:270M-F16",
|
|
1934
|
+
supports_structured_output=False,
|
|
1935
|
+
supports_data_gen=False,
|
|
1936
|
+
supports_function_calling=False,
|
|
1937
|
+
)
|
|
1938
|
+
],
|
|
1939
|
+
),
|
|
1607
1940
|
# Gemma 3 1B
|
|
1608
1941
|
KilnModel(
|
|
1609
1942
|
family=ModelFamily.gemma,
|
|
@@ -1615,6 +1948,14 @@ built_in_models: List[KilnModel] = [
|
|
|
1615
1948
|
model_id="gemma3:1b",
|
|
1616
1949
|
supports_structured_output=False,
|
|
1617
1950
|
supports_data_gen=False,
|
|
1951
|
+
supports_function_calling=False,
|
|
1952
|
+
),
|
|
1953
|
+
KilnModelProvider(
|
|
1954
|
+
name=ModelProviderName.docker_model_runner,
|
|
1955
|
+
model_id="ai/gemma3:1B-F16",
|
|
1956
|
+
supports_structured_output=False,
|
|
1957
|
+
supports_data_gen=False,
|
|
1958
|
+
supports_function_calling=False,
|
|
1618
1959
|
),
|
|
1619
1960
|
],
|
|
1620
1961
|
),
|
|
@@ -1628,11 +1969,18 @@ built_in_models: List[KilnModel] = [
|
|
|
1628
1969
|
name=ModelProviderName.ollama,
|
|
1629
1970
|
model_id="gemma3:4b",
|
|
1630
1971
|
ollama_model_aliases=["gemma3"],
|
|
1972
|
+
supports_function_calling=False,
|
|
1631
1973
|
),
|
|
1632
1974
|
KilnModelProvider(
|
|
1633
1975
|
name=ModelProviderName.openrouter,
|
|
1634
1976
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1635
1977
|
model_id="google/gemma-3-4b-it",
|
|
1978
|
+
supports_function_calling=False,
|
|
1979
|
+
),
|
|
1980
|
+
KilnModelProvider(
|
|
1981
|
+
name=ModelProviderName.docker_model_runner,
|
|
1982
|
+
model_id="ai/gemma3:4B-Q4_K_M",
|
|
1983
|
+
supports_function_calling=False,
|
|
1636
1984
|
),
|
|
1637
1985
|
],
|
|
1638
1986
|
),
|
|
@@ -1645,11 +1993,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1645
1993
|
KilnModelProvider(
|
|
1646
1994
|
name=ModelProviderName.ollama,
|
|
1647
1995
|
model_id="gemma3:12b",
|
|
1996
|
+
supports_function_calling=False,
|
|
1648
1997
|
),
|
|
1649
1998
|
KilnModelProvider(
|
|
1650
1999
|
name=ModelProviderName.openrouter,
|
|
1651
2000
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1652
2001
|
model_id="google/gemma-3-12b-it",
|
|
2002
|
+
supports_function_calling=False,
|
|
1653
2003
|
),
|
|
1654
2004
|
],
|
|
1655
2005
|
),
|
|
@@ -1662,11 +2012,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1662
2012
|
KilnModelProvider(
|
|
1663
2013
|
name=ModelProviderName.ollama,
|
|
1664
2014
|
model_id="gemma3:27b",
|
|
2015
|
+
supports_function_calling=False,
|
|
1665
2016
|
),
|
|
1666
2017
|
KilnModelProvider(
|
|
1667
2018
|
name=ModelProviderName.openrouter,
|
|
1668
2019
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1669
2020
|
model_id="google/gemma-3-27b-it",
|
|
2021
|
+
supports_function_calling=False,
|
|
1670
2022
|
),
|
|
1671
2023
|
],
|
|
1672
2024
|
),
|
|
@@ -1681,12 +2033,14 @@ built_in_models: List[KilnModel] = [
|
|
|
1681
2033
|
model_id="gemma3n:e2b",
|
|
1682
2034
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
1683
2035
|
supports_data_gen=False,
|
|
2036
|
+
supports_function_calling=False,
|
|
1684
2037
|
),
|
|
1685
2038
|
KilnModelProvider(
|
|
1686
2039
|
name=ModelProviderName.gemini_api,
|
|
1687
2040
|
model_id="gemma-3n-e2b-it",
|
|
1688
2041
|
supports_structured_output=False,
|
|
1689
2042
|
supports_data_gen=False,
|
|
2043
|
+
supports_function_calling=False,
|
|
1690
2044
|
),
|
|
1691
2045
|
],
|
|
1692
2046
|
),
|
|
@@ -1701,18 +2055,28 @@ built_in_models: List[KilnModel] = [
|
|
|
1701
2055
|
model_id="google/gemma-3n-e4b-it",
|
|
1702
2056
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1703
2057
|
supports_data_gen=False,
|
|
2058
|
+
supports_function_calling=False,
|
|
1704
2059
|
),
|
|
1705
2060
|
KilnModelProvider(
|
|
1706
2061
|
name=ModelProviderName.ollama,
|
|
1707
2062
|
model_id="gemma3n:e4b",
|
|
1708
2063
|
supports_data_gen=False,
|
|
1709
2064
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2065
|
+
supports_function_calling=False,
|
|
1710
2066
|
),
|
|
1711
2067
|
KilnModelProvider(
|
|
1712
2068
|
name=ModelProviderName.gemini_api,
|
|
1713
2069
|
model_id="gemma-3n-e4b-it",
|
|
1714
2070
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
1715
2071
|
supports_data_gen=False,
|
|
2072
|
+
supports_function_calling=False,
|
|
2073
|
+
),
|
|
2074
|
+
KilnModelProvider(
|
|
2075
|
+
name=ModelProviderName.docker_model_runner,
|
|
2076
|
+
model_id="ai/gemma3n:4B-Q4_K_M",
|
|
2077
|
+
supports_data_gen=False,
|
|
2078
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2079
|
+
supports_function_calling=False,
|
|
1716
2080
|
),
|
|
1717
2081
|
],
|
|
1718
2082
|
),
|
|
@@ -1727,10 +2091,12 @@ built_in_models: List[KilnModel] = [
|
|
|
1727
2091
|
model_id="mistralai/mixtral-8x7b-instruct",
|
|
1728
2092
|
supports_data_gen=False,
|
|
1729
2093
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
2094
|
+
supports_function_calling=False,
|
|
1730
2095
|
),
|
|
1731
2096
|
KilnModelProvider(
|
|
1732
2097
|
name=ModelProviderName.ollama,
|
|
1733
2098
|
model_id="mixtral",
|
|
2099
|
+
supports_function_calling=False,
|
|
1734
2100
|
),
|
|
1735
2101
|
],
|
|
1736
2102
|
),
|
|
@@ -1748,13 +2114,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1748
2114
|
r1_openrouter_options=True,
|
|
1749
2115
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
1750
2116
|
parser=ModelParserID.r1_thinking,
|
|
1751
|
-
|
|
1752
|
-
KilnModelProvider(
|
|
1753
|
-
name=ModelProviderName.fireworks_ai,
|
|
1754
|
-
model_id="accounts/fireworks/models/qwq-32b",
|
|
1755
|
-
reasoning_capable=True,
|
|
1756
|
-
parser=ModelParserID.r1_thinking,
|
|
1757
|
-
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2117
|
+
supports_function_calling=False,
|
|
1758
2118
|
),
|
|
1759
2119
|
KilnModelProvider(
|
|
1760
2120
|
name=ModelProviderName.ollama,
|
|
@@ -1762,6 +2122,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1762
2122
|
reasoning_capable=True,
|
|
1763
2123
|
parser=ModelParserID.r1_thinking,
|
|
1764
2124
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2125
|
+
supports_function_calling=False,
|
|
1765
2126
|
),
|
|
1766
2127
|
KilnModelProvider(
|
|
1767
2128
|
name=ModelProviderName.together_ai,
|
|
@@ -1769,6 +2130,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1769
2130
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
1770
2131
|
parser=ModelParserID.r1_thinking,
|
|
1771
2132
|
reasoning_capable=True,
|
|
2133
|
+
supports_function_calling=False,
|
|
1772
2134
|
),
|
|
1773
2135
|
KilnModelProvider(
|
|
1774
2136
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -1776,6 +2138,14 @@ built_in_models: List[KilnModel] = [
|
|
|
1776
2138
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
1777
2139
|
reasoning_capable=True,
|
|
1778
2140
|
),
|
|
2141
|
+
KilnModelProvider(
|
|
2142
|
+
name=ModelProviderName.docker_model_runner,
|
|
2143
|
+
model_id="ai/qwq:32B-Q4_K_M",
|
|
2144
|
+
reasoning_capable=True,
|
|
2145
|
+
parser=ModelParserID.r1_thinking,
|
|
2146
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2147
|
+
supports_function_calling=False,
|
|
2148
|
+
),
|
|
1779
2149
|
],
|
|
1780
2150
|
),
|
|
1781
2151
|
# Qwen 2.5 7B
|
|
@@ -1788,10 +2158,17 @@ built_in_models: List[KilnModel] = [
|
|
|
1788
2158
|
name=ModelProviderName.openrouter,
|
|
1789
2159
|
model_id="qwen/qwen-2.5-7b-instruct",
|
|
1790
2160
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
2161
|
+
supports_function_calling=False,
|
|
1791
2162
|
),
|
|
1792
2163
|
KilnModelProvider(
|
|
1793
2164
|
name=ModelProviderName.ollama,
|
|
1794
2165
|
model_id="qwen2.5",
|
|
2166
|
+
supports_function_calling=False,
|
|
2167
|
+
),
|
|
2168
|
+
KilnModelProvider(
|
|
2169
|
+
name=ModelProviderName.docker_model_runner,
|
|
2170
|
+
model_id="ai/qwen2.5:7B-Q4_K_M",
|
|
2171
|
+
supports_function_calling=False,
|
|
1795
2172
|
),
|
|
1796
2173
|
],
|
|
1797
2174
|
),
|
|
@@ -1809,6 +2186,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1809
2186
|
name=ModelProviderName.ollama,
|
|
1810
2187
|
model_id="qwen2.5:14b",
|
|
1811
2188
|
supports_data_gen=False,
|
|
2189
|
+
supports_function_calling=False,
|
|
1812
2190
|
),
|
|
1813
2191
|
],
|
|
1814
2192
|
),
|
|
@@ -1830,12 +2208,6 @@ built_in_models: List[KilnModel] = [
|
|
|
1830
2208
|
name=ModelProviderName.ollama,
|
|
1831
2209
|
model_id="qwen2.5:72b",
|
|
1832
2210
|
),
|
|
1833
|
-
KilnModelProvider(
|
|
1834
|
-
name=ModelProviderName.fireworks_ai,
|
|
1835
|
-
model_id="accounts/fireworks/models/qwen2p5-72b-instruct",
|
|
1836
|
-
# Tool calling forces schema -- fireworks doesn't support json_schema, just json_mode
|
|
1837
|
-
structured_output_mode=StructuredOutputMode.function_calling_weak,
|
|
1838
|
-
),
|
|
1839
2211
|
KilnModelProvider(
|
|
1840
2212
|
name=ModelProviderName.together_ai,
|
|
1841
2213
|
provider_finetune_id="Qwen/Qwen2.5-72B-Instruct",
|
|
@@ -1853,11 +2225,13 @@ built_in_models: List[KilnModel] = [
|
|
|
1853
2225
|
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
1854
2226
|
model_id="mistralai/mistral-small-24b-instruct-2501",
|
|
1855
2227
|
uncensored=True,
|
|
2228
|
+
supports_function_calling=False,
|
|
1856
2229
|
),
|
|
1857
2230
|
KilnModelProvider(
|
|
1858
2231
|
name=ModelProviderName.ollama,
|
|
1859
2232
|
model_id="mistral-small:24b",
|
|
1860
2233
|
uncensored=True,
|
|
2234
|
+
supports_function_calling=False,
|
|
1861
2235
|
),
|
|
1862
2236
|
],
|
|
1863
2237
|
),
|
|
@@ -1892,6 +2266,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1892
2266
|
parser=ModelParserID.r1_thinking,
|
|
1893
2267
|
reasoning_capable=True,
|
|
1894
2268
|
supports_data_gen=True,
|
|
2269
|
+
supports_function_calling=False,
|
|
1895
2270
|
),
|
|
1896
2271
|
KilnModelProvider(
|
|
1897
2272
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -1900,6 +2275,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1900
2275
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
1901
2276
|
reasoning_capable=True,
|
|
1902
2277
|
supports_data_gen=True,
|
|
2278
|
+
supports_function_calling=False,
|
|
1903
2279
|
),
|
|
1904
2280
|
],
|
|
1905
2281
|
),
|
|
@@ -1916,6 +2292,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1916
2292
|
reasoning_capable=True,
|
|
1917
2293
|
r1_openrouter_options=True,
|
|
1918
2294
|
require_openrouter_reasoning=True,
|
|
2295
|
+
supports_function_calling=False,
|
|
1919
2296
|
),
|
|
1920
2297
|
KilnModelProvider(
|
|
1921
2298
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -1924,6 +2301,33 @@ built_in_models: List[KilnModel] = [
|
|
|
1924
2301
|
reasoning_capable=True,
|
|
1925
2302
|
reasoning_optional_for_structured_output=True,
|
|
1926
2303
|
supports_data_gen=False,
|
|
2304
|
+
supports_function_calling=False,
|
|
2305
|
+
),
|
|
2306
|
+
],
|
|
2307
|
+
),
|
|
2308
|
+
# DeepSeek 3.1
|
|
2309
|
+
KilnModel(
|
|
2310
|
+
family=ModelFamily.deepseek,
|
|
2311
|
+
name=ModelName.deepseek_3_1,
|
|
2312
|
+
friendly_name="DeepSeek 3.1",
|
|
2313
|
+
providers=[
|
|
2314
|
+
KilnModelProvider(
|
|
2315
|
+
name=ModelProviderName.openrouter,
|
|
2316
|
+
model_id="deepseek/deepseek-chat-v3.1",
|
|
2317
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2318
|
+
supports_data_gen=True,
|
|
2319
|
+
),
|
|
2320
|
+
KilnModelProvider(
|
|
2321
|
+
name=ModelProviderName.fireworks_ai,
|
|
2322
|
+
model_id="accounts/fireworks/models/deepseek-v3p1",
|
|
2323
|
+
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
2324
|
+
supports_data_gen=True,
|
|
2325
|
+
),
|
|
2326
|
+
KilnModelProvider(
|
|
2327
|
+
name=ModelProviderName.siliconflow_cn,
|
|
2328
|
+
model_id="Pro/deepseek-ai/DeepSeek-V3.1",
|
|
2329
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2330
|
+
supports_data_gen=True,
|
|
1927
2331
|
),
|
|
1928
2332
|
],
|
|
1929
2333
|
),
|
|
@@ -1978,6 +2382,7 @@ built_in_models: List[KilnModel] = [
|
|
|
1978
2382
|
parser=ModelParserID.r1_thinking,
|
|
1979
2383
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
1980
2384
|
reasoning_capable=True,
|
|
2385
|
+
supports_function_calling=False,
|
|
1981
2386
|
),
|
|
1982
2387
|
KilnModelProvider(
|
|
1983
2388
|
# I want your RAM
|
|
@@ -2003,6 +2408,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2003
2408
|
r1_openrouter_options=True,
|
|
2004
2409
|
parser=ModelParserID.r1_thinking,
|
|
2005
2410
|
require_openrouter_reasoning=True,
|
|
2411
|
+
supports_function_calling=False,
|
|
2006
2412
|
),
|
|
2007
2413
|
KilnModelProvider(
|
|
2008
2414
|
name=ModelProviderName.ollama,
|
|
@@ -2010,12 +2416,14 @@ built_in_models: List[KilnModel] = [
|
|
|
2010
2416
|
reasoning_capable=True,
|
|
2011
2417
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2012
2418
|
model_id="deepseek-r1:32b",
|
|
2419
|
+
supports_function_calling=False,
|
|
2013
2420
|
),
|
|
2014
2421
|
KilnModelProvider(
|
|
2015
2422
|
name=ModelProviderName.siliconflow_cn,
|
|
2016
2423
|
model_id="deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
|
|
2017
2424
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2018
2425
|
reasoning_capable=True,
|
|
2426
|
+
supports_function_calling=False,
|
|
2019
2427
|
reasoning_optional_for_structured_output=True,
|
|
2020
2428
|
),
|
|
2021
2429
|
],
|
|
@@ -2034,6 +2442,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2034
2442
|
r1_openrouter_options=True,
|
|
2035
2443
|
require_openrouter_reasoning=True,
|
|
2036
2444
|
parser=ModelParserID.r1_thinking,
|
|
2445
|
+
supports_function_calling=False,
|
|
2037
2446
|
),
|
|
2038
2447
|
KilnModelProvider(
|
|
2039
2448
|
name=ModelProviderName.ollama,
|
|
@@ -2042,12 +2451,23 @@ built_in_models: List[KilnModel] = [
|
|
|
2042
2451
|
reasoning_capable=True,
|
|
2043
2452
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2044
2453
|
model_id="deepseek-r1:70b",
|
|
2454
|
+
supports_function_calling=False,
|
|
2045
2455
|
),
|
|
2046
2456
|
KilnModelProvider(
|
|
2047
2457
|
name=ModelProviderName.together_ai,
|
|
2048
2458
|
model_id="deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
|
|
2049
2459
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2050
2460
|
parser=ModelParserID.r1_thinking,
|
|
2461
|
+
supports_function_calling=False,
|
|
2462
|
+
),
|
|
2463
|
+
KilnModelProvider(
|
|
2464
|
+
name=ModelProviderName.docker_model_runner,
|
|
2465
|
+
supports_data_gen=False,
|
|
2466
|
+
parser=ModelParserID.r1_thinking,
|
|
2467
|
+
reasoning_capable=True,
|
|
2468
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2469
|
+
model_id="ai/deepseek-r1-distill-llama:70B-Q4_K_M",
|
|
2470
|
+
supports_function_calling=False,
|
|
2051
2471
|
),
|
|
2052
2472
|
],
|
|
2053
2473
|
),
|
|
@@ -2067,6 +2487,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2067
2487
|
require_openrouter_reasoning=True,
|
|
2068
2488
|
openrouter_skip_required_parameters=True,
|
|
2069
2489
|
parser=ModelParserID.r1_thinking,
|
|
2490
|
+
supports_function_calling=False,
|
|
2070
2491
|
),
|
|
2071
2492
|
KilnModelProvider(
|
|
2072
2493
|
name=ModelProviderName.ollama,
|
|
@@ -2075,12 +2496,14 @@ built_in_models: List[KilnModel] = [
|
|
|
2075
2496
|
reasoning_capable=True,
|
|
2076
2497
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2077
2498
|
model_id="deepseek-r1:14b",
|
|
2499
|
+
supports_function_calling=False,
|
|
2078
2500
|
),
|
|
2079
2501
|
KilnModelProvider(
|
|
2080
2502
|
name=ModelProviderName.together_ai,
|
|
2081
2503
|
model_id="deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
|
|
2082
2504
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2083
2505
|
parser=ModelParserID.r1_thinking,
|
|
2506
|
+
supports_function_calling=False,
|
|
2084
2507
|
),
|
|
2085
2508
|
KilnModelProvider(
|
|
2086
2509
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2089,6 +2512,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2089
2512
|
reasoning_capable=True,
|
|
2090
2513
|
reasoning_optional_for_structured_output=True,
|
|
2091
2514
|
supports_data_gen=False,
|
|
2515
|
+
supports_function_calling=False,
|
|
2092
2516
|
),
|
|
2093
2517
|
],
|
|
2094
2518
|
),
|
|
@@ -2110,6 +2534,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2110
2534
|
require_openrouter_reasoning=True,
|
|
2111
2535
|
openrouter_skip_required_parameters=True,
|
|
2112
2536
|
parser=ModelParserID.r1_thinking,
|
|
2537
|
+
supports_function_calling=False,
|
|
2113
2538
|
),
|
|
2114
2539
|
KilnModelProvider(
|
|
2115
2540
|
name=ModelProviderName.ollama,
|
|
@@ -2120,6 +2545,18 @@ built_in_models: List[KilnModel] = [
|
|
|
2120
2545
|
# Best mode, but fails to often to enable without warning
|
|
2121
2546
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2122
2547
|
model_id="deepseek-r1:8b",
|
|
2548
|
+
supports_function_calling=False,
|
|
2549
|
+
),
|
|
2550
|
+
KilnModelProvider(
|
|
2551
|
+
name=ModelProviderName.docker_model_runner,
|
|
2552
|
+
supports_structured_output=False,
|
|
2553
|
+
supports_data_gen=False,
|
|
2554
|
+
parser=ModelParserID.r1_thinking,
|
|
2555
|
+
reasoning_capable=True,
|
|
2556
|
+
# Best mode, but fails to often to enable without warning
|
|
2557
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2558
|
+
model_id="ai/deepseek-r1-distill-llama:8B-Q4_K_M",
|
|
2559
|
+
supports_function_calling=False,
|
|
2123
2560
|
),
|
|
2124
2561
|
],
|
|
2125
2562
|
),
|
|
@@ -2139,6 +2576,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2139
2576
|
reasoning_capable=True,
|
|
2140
2577
|
r1_openrouter_options=True,
|
|
2141
2578
|
require_openrouter_reasoning=True,
|
|
2579
|
+
supports_function_calling=False,
|
|
2142
2580
|
),
|
|
2143
2581
|
KilnModelProvider(
|
|
2144
2582
|
name=ModelProviderName.ollama,
|
|
@@ -2149,6 +2587,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2149
2587
|
reasoning_capable=True,
|
|
2150
2588
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2151
2589
|
model_id="deepseek-r1:7b",
|
|
2590
|
+
supports_function_calling=False,
|
|
2152
2591
|
),
|
|
2153
2592
|
KilnModelProvider(
|
|
2154
2593
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2159,6 +2598,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2159
2598
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2160
2599
|
reasoning_capable=True,
|
|
2161
2600
|
reasoning_optional_for_structured_output=True,
|
|
2601
|
+
supports_function_calling=False,
|
|
2162
2602
|
),
|
|
2163
2603
|
],
|
|
2164
2604
|
),
|
|
@@ -2179,6 +2619,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2179
2619
|
require_openrouter_reasoning=True,
|
|
2180
2620
|
openrouter_skip_required_parameters=True,
|
|
2181
2621
|
parser=ModelParserID.r1_thinking,
|
|
2622
|
+
supports_function_calling=False,
|
|
2182
2623
|
),
|
|
2183
2624
|
KilnModelProvider(
|
|
2184
2625
|
name=ModelProviderName.ollama,
|
|
@@ -2188,6 +2629,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2188
2629
|
reasoning_capable=True,
|
|
2189
2630
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2190
2631
|
model_id="deepseek-r1:1.5b",
|
|
2632
|
+
supports_function_calling=False,
|
|
2191
2633
|
),
|
|
2192
2634
|
KilnModelProvider(
|
|
2193
2635
|
name=ModelProviderName.together_ai,
|
|
@@ -2196,6 +2638,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2196
2638
|
parser=ModelParserID.r1_thinking,
|
|
2197
2639
|
supports_structured_output=False,
|
|
2198
2640
|
supports_data_gen=False,
|
|
2641
|
+
supports_function_calling=False,
|
|
2199
2642
|
),
|
|
2200
2643
|
],
|
|
2201
2644
|
),
|
|
@@ -2212,6 +2655,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2212
2655
|
model_id="dolphin-mixtral:8x22b",
|
|
2213
2656
|
uncensored=True,
|
|
2214
2657
|
suggested_for_uncensored_data_gen=True,
|
|
2658
|
+
supports_function_calling=False,
|
|
2215
2659
|
),
|
|
2216
2660
|
KilnModelProvider(
|
|
2217
2661
|
name=ModelProviderName.openrouter,
|
|
@@ -2220,6 +2664,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2220
2664
|
model_id="cognitivecomputations/dolphin-mixtral-8x22b",
|
|
2221
2665
|
uncensored=True,
|
|
2222
2666
|
suggested_for_uncensored_data_gen=True,
|
|
2667
|
+
supports_function_calling=False,
|
|
2223
2668
|
),
|
|
2224
2669
|
],
|
|
2225
2670
|
),
|
|
@@ -2289,6 +2734,53 @@ built_in_models: List[KilnModel] = [
|
|
|
2289
2734
|
),
|
|
2290
2735
|
],
|
|
2291
2736
|
),
|
|
2737
|
+
# Qwen 3 Next 80B A3B
|
|
2738
|
+
KilnModel(
|
|
2739
|
+
family=ModelFamily.qwen,
|
|
2740
|
+
name=ModelName.qwen_3_next_80b_a3b,
|
|
2741
|
+
friendly_name="Qwen 3 Next 80B A3B (Instruct)",
|
|
2742
|
+
providers=[
|
|
2743
|
+
KilnModelProvider(
|
|
2744
|
+
name=ModelProviderName.openrouter,
|
|
2745
|
+
model_id="qwen/qwen3-next-80b-a3b-instruct",
|
|
2746
|
+
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
2747
|
+
supports_data_gen=True,
|
|
2748
|
+
supports_function_calling=True,
|
|
2749
|
+
),
|
|
2750
|
+
],
|
|
2751
|
+
),
|
|
2752
|
+
# Qwen 3 Next 80B A3B (Thinking)
|
|
2753
|
+
KilnModel(
|
|
2754
|
+
family=ModelFamily.qwen,
|
|
2755
|
+
name=ModelName.qwen_3_next_80b_a3b_thinking,
|
|
2756
|
+
friendly_name="Qwen 3 Next 80B A3B (Thinking)",
|
|
2757
|
+
providers=[
|
|
2758
|
+
KilnModelProvider(
|
|
2759
|
+
name=ModelProviderName.openrouter,
|
|
2760
|
+
model_id="qwen/qwen3-next-80b-a3b-thinking",
|
|
2761
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2762
|
+
supports_data_gen=True,
|
|
2763
|
+
supports_function_calling=True,
|
|
2764
|
+
reasoning_capable=True,
|
|
2765
|
+
require_openrouter_reasoning=True,
|
|
2766
|
+
),
|
|
2767
|
+
],
|
|
2768
|
+
),
|
|
2769
|
+
# Qwen 3 Max
|
|
2770
|
+
KilnModel(
|
|
2771
|
+
family=ModelFamily.qwen,
|
|
2772
|
+
name=ModelName.qwen_3_max,
|
|
2773
|
+
friendly_name="Qwen 3 Max",
|
|
2774
|
+
providers=[
|
|
2775
|
+
KilnModelProvider(
|
|
2776
|
+
name=ModelProviderName.openrouter,
|
|
2777
|
+
model_id="qwen/qwen3-max",
|
|
2778
|
+
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
2779
|
+
supports_data_gen=True,
|
|
2780
|
+
supports_function_calling=True,
|
|
2781
|
+
),
|
|
2782
|
+
],
|
|
2783
|
+
),
|
|
2292
2784
|
# Qwen 3 0.6B
|
|
2293
2785
|
KilnModel(
|
|
2294
2786
|
family=ModelFamily.qwen,
|
|
@@ -2304,6 +2796,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2304
2796
|
r1_openrouter_options=True,
|
|
2305
2797
|
parser=ModelParserID.r1_thinking,
|
|
2306
2798
|
supports_data_gen=False,
|
|
2799
|
+
supports_function_calling=False,
|
|
2307
2800
|
),
|
|
2308
2801
|
KilnModelProvider(
|
|
2309
2802
|
name=ModelProviderName.ollama,
|
|
@@ -2311,6 +2804,15 @@ built_in_models: List[KilnModel] = [
|
|
|
2311
2804
|
supports_data_gen=False,
|
|
2312
2805
|
reasoning_capable=True,
|
|
2313
2806
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2807
|
+
supports_function_calling=False,
|
|
2808
|
+
),
|
|
2809
|
+
KilnModelProvider(
|
|
2810
|
+
name=ModelProviderName.docker_model_runner,
|
|
2811
|
+
model_id="ai/qwen3:0.6B-F16",
|
|
2812
|
+
supports_data_gen=False,
|
|
2813
|
+
reasoning_capable=True,
|
|
2814
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2815
|
+
supports_function_calling=False,
|
|
2314
2816
|
),
|
|
2315
2817
|
],
|
|
2316
2818
|
),
|
|
@@ -2330,6 +2832,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2330
2832
|
r1_openrouter_options=True,
|
|
2331
2833
|
parser=ModelParserID.r1_thinking,
|
|
2332
2834
|
supports_data_gen=False,
|
|
2835
|
+
supports_function_calling=False,
|
|
2333
2836
|
),
|
|
2334
2837
|
KilnModelProvider(
|
|
2335
2838
|
name=ModelProviderName.ollama,
|
|
@@ -2337,6 +2840,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2337
2840
|
supports_data_gen=False,
|
|
2338
2841
|
reasoning_capable=True,
|
|
2339
2842
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2843
|
+
supports_function_calling=False,
|
|
2340
2844
|
),
|
|
2341
2845
|
],
|
|
2342
2846
|
),
|
|
@@ -2353,6 +2857,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2353
2857
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2354
2858
|
supports_data_gen=False,
|
|
2355
2859
|
parser=ModelParserID.optional_r1_thinking,
|
|
2860
|
+
supports_function_calling=False,
|
|
2356
2861
|
),
|
|
2357
2862
|
KilnModelProvider(
|
|
2358
2863
|
name=ModelProviderName.ollama,
|
|
@@ -2360,6 +2865,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2360
2865
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2361
2866
|
supports_data_gen=False,
|
|
2362
2867
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2868
|
+
supports_function_calling=False,
|
|
2363
2869
|
),
|
|
2364
2870
|
],
|
|
2365
2871
|
),
|
|
@@ -2378,6 +2884,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2378
2884
|
r1_openrouter_options=True,
|
|
2379
2885
|
parser=ModelParserID.r1_thinking,
|
|
2380
2886
|
supports_data_gen=False,
|
|
2887
|
+
supports_function_calling=False,
|
|
2381
2888
|
),
|
|
2382
2889
|
KilnModelProvider(
|
|
2383
2890
|
name=ModelProviderName.ollama,
|
|
@@ -2385,6 +2892,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2385
2892
|
supports_data_gen=False,
|
|
2386
2893
|
reasoning_capable=True,
|
|
2387
2894
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2895
|
+
supports_function_calling=False,
|
|
2388
2896
|
),
|
|
2389
2897
|
],
|
|
2390
2898
|
),
|
|
@@ -2401,6 +2909,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2401
2909
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2402
2910
|
supports_data_gen=False,
|
|
2403
2911
|
parser=ModelParserID.optional_r1_thinking,
|
|
2912
|
+
supports_function_calling=False,
|
|
2404
2913
|
),
|
|
2405
2914
|
KilnModelProvider(
|
|
2406
2915
|
name=ModelProviderName.ollama,
|
|
@@ -2408,6 +2917,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2408
2917
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2409
2918
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2410
2919
|
supports_data_gen=False,
|
|
2920
|
+
supports_function_calling=False,
|
|
2411
2921
|
),
|
|
2412
2922
|
],
|
|
2413
2923
|
),
|
|
@@ -2427,6 +2937,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2427
2937
|
r1_openrouter_options=True,
|
|
2428
2938
|
parser=ModelParserID.r1_thinking,
|
|
2429
2939
|
supports_data_gen=False,
|
|
2940
|
+
supports_function_calling=False,
|
|
2430
2941
|
),
|
|
2431
2942
|
KilnModelProvider(
|
|
2432
2943
|
name=ModelProviderName.ollama,
|
|
@@ -2434,6 +2945,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2434
2945
|
supports_data_gen=False,
|
|
2435
2946
|
reasoning_capable=True,
|
|
2436
2947
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2948
|
+
supports_function_calling=False,
|
|
2437
2949
|
),
|
|
2438
2950
|
KilnModelProvider(
|
|
2439
2951
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2443,6 +2955,15 @@ built_in_models: List[KilnModel] = [
|
|
|
2443
2955
|
siliconflow_enable_thinking=True,
|
|
2444
2956
|
reasoning_optional_for_structured_output=True,
|
|
2445
2957
|
supports_data_gen=False,
|
|
2958
|
+
supports_function_calling=False,
|
|
2959
|
+
),
|
|
2960
|
+
KilnModelProvider(
|
|
2961
|
+
name=ModelProviderName.docker_model_runner,
|
|
2962
|
+
model_id="ai/qwen3:8B-Q4_K_M",
|
|
2963
|
+
supports_data_gen=False,
|
|
2964
|
+
reasoning_capable=True,
|
|
2965
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2966
|
+
supports_function_calling=False,
|
|
2446
2967
|
),
|
|
2447
2968
|
],
|
|
2448
2969
|
),
|
|
@@ -2459,6 +2980,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2459
2980
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2460
2981
|
supports_data_gen=False,
|
|
2461
2982
|
parser=ModelParserID.optional_r1_thinking,
|
|
2983
|
+
supports_function_calling=False,
|
|
2462
2984
|
),
|
|
2463
2985
|
KilnModelProvider(
|
|
2464
2986
|
name=ModelProviderName.ollama,
|
|
@@ -2466,6 +2988,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2466
2988
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2467
2989
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2468
2990
|
supports_data_gen=False,
|
|
2991
|
+
supports_function_calling=False,
|
|
2469
2992
|
),
|
|
2470
2993
|
KilnModelProvider(
|
|
2471
2994
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2473,6 +2996,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2473
2996
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2474
2997
|
siliconflow_enable_thinking=False,
|
|
2475
2998
|
supports_data_gen=False,
|
|
2999
|
+
supports_function_calling=False,
|
|
2476
3000
|
),
|
|
2477
3001
|
],
|
|
2478
3002
|
),
|
|
@@ -2491,6 +3015,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2491
3015
|
r1_openrouter_options=True,
|
|
2492
3016
|
parser=ModelParserID.r1_thinking,
|
|
2493
3017
|
supports_data_gen=True,
|
|
3018
|
+
supports_function_calling=False,
|
|
2494
3019
|
),
|
|
2495
3020
|
KilnModelProvider(
|
|
2496
3021
|
name=ModelProviderName.ollama,
|
|
@@ -2498,6 +3023,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2498
3023
|
supports_data_gen=True,
|
|
2499
3024
|
reasoning_capable=True,
|
|
2500
3025
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3026
|
+
supports_function_calling=False,
|
|
2501
3027
|
),
|
|
2502
3028
|
KilnModelProvider(
|
|
2503
3029
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2507,6 +3033,15 @@ built_in_models: List[KilnModel] = [
|
|
|
2507
3033
|
reasoning_capable=True,
|
|
2508
3034
|
siliconflow_enable_thinking=True,
|
|
2509
3035
|
reasoning_optional_for_structured_output=True,
|
|
3036
|
+
supports_function_calling=False,
|
|
3037
|
+
),
|
|
3038
|
+
KilnModelProvider(
|
|
3039
|
+
name=ModelProviderName.docker_model_runner,
|
|
3040
|
+
model_id="ai/qwen3:14B-Q6_K",
|
|
3041
|
+
supports_data_gen=True,
|
|
3042
|
+
reasoning_capable=True,
|
|
3043
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3044
|
+
supports_function_calling=False,
|
|
2510
3045
|
),
|
|
2511
3046
|
],
|
|
2512
3047
|
),
|
|
@@ -2553,6 +3088,12 @@ built_in_models: List[KilnModel] = [
|
|
|
2553
3088
|
reasoning_capable=True,
|
|
2554
3089
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2555
3090
|
),
|
|
3091
|
+
KilnModelProvider(
|
|
3092
|
+
name=ModelProviderName.docker_model_runner,
|
|
3093
|
+
model_id="ai/qwen3:30B-A3B-Q4_K_M",
|
|
3094
|
+
reasoning_capable=True,
|
|
3095
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3096
|
+
),
|
|
2556
3097
|
],
|
|
2557
3098
|
),
|
|
2558
3099
|
# Qwen 3 30B (3B Active)
|
|
@@ -2658,7 +3199,8 @@ built_in_models: List[KilnModel] = [
|
|
|
2658
3199
|
supports_data_gen=True,
|
|
2659
3200
|
reasoning_capable=True,
|
|
2660
3201
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2661
|
-
|
|
3202
|
+
# This model doesn't return reasoning content after a tool call so we need to allow optional reasoning.
|
|
3203
|
+
parser=ModelParserID.optional_r1_thinking,
|
|
2662
3204
|
),
|
|
2663
3205
|
KilnModelProvider(
|
|
2664
3206
|
name=ModelProviderName.openrouter,
|
|
@@ -2669,6 +3211,8 @@ built_in_models: List[KilnModel] = [
|
|
|
2669
3211
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2670
3212
|
parser=ModelParserID.r1_thinking,
|
|
2671
3213
|
supports_data_gen=True,
|
|
3214
|
+
# Not reliable, even for simple functions
|
|
3215
|
+
supports_function_calling=False,
|
|
2672
3216
|
),
|
|
2673
3217
|
KilnModelProvider(
|
|
2674
3218
|
name=ModelProviderName.ollama,
|
|
@@ -2691,7 +3235,8 @@ built_in_models: List[KilnModel] = [
|
|
|
2691
3235
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2692
3236
|
supports_data_gen=True,
|
|
2693
3237
|
reasoning_capable=True,
|
|
2694
|
-
|
|
3238
|
+
# This model doesn't return reasoning content after a tool call so we need to allow optional reasoning.
|
|
3239
|
+
parser=ModelParserID.optional_r1_thinking,
|
|
2695
3240
|
),
|
|
2696
3241
|
],
|
|
2697
3242
|
),
|
|
@@ -2765,6 +3310,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2765
3310
|
reasoning_capable=True,
|
|
2766
3311
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2767
3312
|
parser=ModelParserID.r1_thinking,
|
|
3313
|
+
supports_function_calling=False,
|
|
2768
3314
|
),
|
|
2769
3315
|
],
|
|
2770
3316
|
),
|
|
@@ -2806,6 +3352,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2806
3352
|
reasoning_capable=True,
|
|
2807
3353
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2808
3354
|
parser=ModelParserID.r1_thinking,
|
|
3355
|
+
supports_function_calling=False,
|
|
2809
3356
|
),
|
|
2810
3357
|
KilnModelProvider(
|
|
2811
3358
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2849,6 +3396,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2849
3396
|
model_id="Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
|
|
2850
3397
|
supports_data_gen=True,
|
|
2851
3398
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3399
|
+
supports_function_calling=False,
|
|
2852
3400
|
),
|
|
2853
3401
|
],
|
|
2854
3402
|
),
|
|
@@ -2889,6 +3437,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2889
3437
|
formatter=ModelFormatterID.qwen3_style_no_think,
|
|
2890
3438
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2891
3439
|
parser=ModelParserID.optional_r1_thinking,
|
|
3440
|
+
supports_function_calling=False,
|
|
2892
3441
|
),
|
|
2893
3442
|
KilnModelProvider(
|
|
2894
3443
|
name=ModelProviderName.siliconflow_cn,
|
|
@@ -2911,6 +3460,68 @@ built_in_models: List[KilnModel] = [
|
|
|
2911
3460
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2912
3461
|
reasoning_capable=True,
|
|
2913
3462
|
reasoning_optional_for_structured_output=True,
|
|
3463
|
+
supports_function_calling=False,
|
|
3464
|
+
),
|
|
3465
|
+
],
|
|
3466
|
+
),
|
|
3467
|
+
# GLM 4.5
|
|
3468
|
+
KilnModel(
|
|
3469
|
+
family=ModelFamily.glm,
|
|
3470
|
+
name=ModelName.glm_4_5,
|
|
3471
|
+
friendly_name="GLM 4.5",
|
|
3472
|
+
providers=[
|
|
3473
|
+
KilnModelProvider(
|
|
3474
|
+
name=ModelProviderName.openrouter,
|
|
3475
|
+
model_id="z-ai/glm-4.5",
|
|
3476
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3477
|
+
reasoning_capable=True,
|
|
3478
|
+
),
|
|
3479
|
+
KilnModelProvider(
|
|
3480
|
+
name=ModelProviderName.fireworks_ai,
|
|
3481
|
+
model_id="accounts/fireworks/models/glm-4p5",
|
|
3482
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3483
|
+
reasoning_capable=True,
|
|
3484
|
+
),
|
|
3485
|
+
KilnModelProvider(
|
|
3486
|
+
name=ModelProviderName.siliconflow_cn,
|
|
3487
|
+
model_id="zai-org/GLM-4.5",
|
|
3488
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3489
|
+
reasoning_capable=True,
|
|
3490
|
+
reasoning_optional_for_structured_output=True,
|
|
3491
|
+
),
|
|
3492
|
+
],
|
|
3493
|
+
),
|
|
3494
|
+
# GLM 4.5 AIR
|
|
3495
|
+
KilnModel(
|
|
3496
|
+
family=ModelFamily.glm,
|
|
3497
|
+
name=ModelName.glm_4_5_air,
|
|
3498
|
+
friendly_name="GLM 4.5 AIR",
|
|
3499
|
+
providers=[
|
|
3500
|
+
KilnModelProvider(
|
|
3501
|
+
name=ModelProviderName.openrouter,
|
|
3502
|
+
model_id="z-ai/glm-4.5-air",
|
|
3503
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3504
|
+
reasoning_capable=True,
|
|
3505
|
+
),
|
|
3506
|
+
KilnModelProvider(
|
|
3507
|
+
name=ModelProviderName.fireworks_ai,
|
|
3508
|
+
model_id="accounts/fireworks/models/glm-4p5-air",
|
|
3509
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3510
|
+
reasoning_capable=True,
|
|
3511
|
+
),
|
|
3512
|
+
KilnModelProvider(
|
|
3513
|
+
name=ModelProviderName.together_ai,
|
|
3514
|
+
model_id="zai-org/GLM-4.5-Air-FP8",
|
|
3515
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3516
|
+
reasoning_capable=True,
|
|
3517
|
+
parser=ModelParserID.r1_thinking,
|
|
3518
|
+
),
|
|
3519
|
+
KilnModelProvider(
|
|
3520
|
+
name=ModelProviderName.siliconflow_cn,
|
|
3521
|
+
model_id="zai-org/GLM-4.5-Air",
|
|
3522
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3523
|
+
reasoning_capable=True,
|
|
3524
|
+
reasoning_optional_for_structured_output=True,
|
|
2914
3525
|
),
|
|
2915
3526
|
],
|
|
2916
3527
|
),
|
|
@@ -2923,8 +3534,9 @@ built_in_models: List[KilnModel] = [
|
|
|
2923
3534
|
KilnModelProvider(
|
|
2924
3535
|
name=ModelProviderName.fireworks_ai,
|
|
2925
3536
|
model_id="accounts/fireworks/models/kimi-k2-instruct",
|
|
2926
|
-
structured_output_mode=StructuredOutputMode.
|
|
2927
|
-
|
|
3537
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3538
|
+
supports_data_gen=True,
|
|
3539
|
+
suggested_for_evals=True,
|
|
2928
3540
|
),
|
|
2929
3541
|
KilnModelProvider(
|
|
2930
3542
|
name=ModelProviderName.openrouter,
|
|
@@ -2944,7 +3556,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2944
3556
|
name=ModelProviderName.groq,
|
|
2945
3557
|
model_id="moonshotai/kimi-k2-instruct",
|
|
2946
3558
|
supports_data_gen=True,
|
|
2947
|
-
structured_output_mode=StructuredOutputMode.
|
|
3559
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2948
3560
|
suggested_for_evals=True,
|
|
2949
3561
|
),
|
|
2950
3562
|
KilnModelProvider(
|
|
@@ -2956,6 +3568,51 @@ built_in_models: List[KilnModel] = [
|
|
|
2956
3568
|
),
|
|
2957
3569
|
],
|
|
2958
3570
|
),
|
|
3571
|
+
# Kimi K2 Instruct 0905
|
|
3572
|
+
KilnModel(
|
|
3573
|
+
family=ModelFamily.kimi,
|
|
3574
|
+
name=ModelName.kimi_k2_0905,
|
|
3575
|
+
friendly_name="Kimi K2 0905",
|
|
3576
|
+
providers=[
|
|
3577
|
+
KilnModelProvider(
|
|
3578
|
+
name=ModelProviderName.openrouter,
|
|
3579
|
+
model_id="moonshotai/kimi-k2-0905",
|
|
3580
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3581
|
+
supports_data_gen=True,
|
|
3582
|
+
suggested_for_evals=True,
|
|
3583
|
+
),
|
|
3584
|
+
KilnModelProvider(
|
|
3585
|
+
name=ModelProviderName.fireworks_ai,
|
|
3586
|
+
model_id="accounts/fireworks/models/kimi-k2-instruct-0905",
|
|
3587
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3588
|
+
supports_data_gen=True,
|
|
3589
|
+
suggested_for_evals=True,
|
|
3590
|
+
),
|
|
3591
|
+
KilnModelProvider(
|
|
3592
|
+
name=ModelProviderName.together_ai,
|
|
3593
|
+
model_id="moonshotai/Kimi-K2-Instruct-0905",
|
|
3594
|
+
structured_output_mode=StructuredOutputMode.json_instruction_and_object,
|
|
3595
|
+
supports_data_gen=True,
|
|
3596
|
+
suggested_for_evals=True,
|
|
3597
|
+
# this model on this provider currently fails the tool call test, but might work in the future
|
|
3598
|
+
supports_function_calling=False,
|
|
3599
|
+
),
|
|
3600
|
+
KilnModelProvider(
|
|
3601
|
+
name=ModelProviderName.groq,
|
|
3602
|
+
model_id="moonshotai/kimi-k2-instruct-0905",
|
|
3603
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3604
|
+
supports_data_gen=True,
|
|
3605
|
+
suggested_for_evals=True,
|
|
3606
|
+
),
|
|
3607
|
+
KilnModelProvider(
|
|
3608
|
+
name=ModelProviderName.siliconflow_cn,
|
|
3609
|
+
model_id="Pro/moonshotai/Kimi-K2-Instruct-0905",
|
|
3610
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3611
|
+
supports_data_gen=True,
|
|
3612
|
+
suggested_for_evals=True,
|
|
3613
|
+
),
|
|
3614
|
+
],
|
|
3615
|
+
),
|
|
2959
3616
|
KilnModel(
|
|
2960
3617
|
family=ModelFamily.kimi,
|
|
2961
3618
|
name=ModelName.kimi_dev_72b,
|
|
@@ -2967,6 +3624,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2967
3624
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
2968
3625
|
reasoning_capable=True,
|
|
2969
3626
|
reasoning_optional_for_structured_output=True,
|
|
3627
|
+
supports_function_calling=False,
|
|
2970
3628
|
),
|
|
2971
3629
|
],
|
|
2972
3630
|
),
|
|
@@ -2982,6 +3640,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2982
3640
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
2983
3641
|
reasoning_capable=True,
|
|
2984
3642
|
supports_data_gen=False,
|
|
3643
|
+
supports_function_calling=False,
|
|
2985
3644
|
),
|
|
2986
3645
|
],
|
|
2987
3646
|
),
|
|
@@ -2998,6 +3657,7 @@ built_in_models: List[KilnModel] = [
|
|
|
2998
3657
|
reasoning_capable=True,
|
|
2999
3658
|
reasoning_optional_for_structured_output=True,
|
|
3000
3659
|
supports_data_gen=False,
|
|
3660
|
+
supports_function_calling=False,
|
|
3001
3661
|
),
|
|
3002
3662
|
],
|
|
3003
3663
|
),
|
|
@@ -3014,6 +3674,7 @@ built_in_models: List[KilnModel] = [
|
|
|
3014
3674
|
reasoning_capable=True,
|
|
3015
3675
|
reasoning_optional_for_structured_output=True,
|
|
3016
3676
|
supports_data_gen=False,
|
|
3677
|
+
supports_function_calling=False,
|
|
3017
3678
|
),
|
|
3018
3679
|
],
|
|
3019
3680
|
),
|
|
@@ -3029,12 +3690,14 @@ built_in_models: List[KilnModel] = [
|
|
|
3029
3690
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3030
3691
|
supports_data_gen=True,
|
|
3031
3692
|
r1_openrouter_options=True,
|
|
3693
|
+
supports_function_calling=False,
|
|
3032
3694
|
),
|
|
3033
3695
|
KilnModelProvider(
|
|
3034
3696
|
name=ModelProviderName.siliconflow_cn,
|
|
3035
3697
|
model_id="baidu/ERNIE-4.5-300B-A47B",
|
|
3036
3698
|
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3037
3699
|
supports_data_gen=True,
|
|
3700
|
+
supports_function_calling=False,
|
|
3038
3701
|
),
|
|
3039
3702
|
],
|
|
3040
3703
|
),
|
|
@@ -3055,6 +3718,7 @@ built_in_models: List[KilnModel] = [
|
|
|
3055
3718
|
siliconflow_enable_thinking=True,
|
|
3056
3719
|
reasoning_optional_for_structured_output=True,
|
|
3057
3720
|
supports_data_gen=False,
|
|
3721
|
+
supports_function_calling=False,
|
|
3058
3722
|
),
|
|
3059
3723
|
],
|
|
3060
3724
|
),
|
|
@@ -3078,6 +3742,7 @@ built_in_models: List[KilnModel] = [
|
|
|
3078
3742
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3079
3743
|
reasoning_capable=True,
|
|
3080
3744
|
supports_data_gen=True,
|
|
3745
|
+
supports_function_calling=False,
|
|
3081
3746
|
),
|
|
3082
3747
|
],
|
|
3083
3748
|
),
|
|
@@ -3093,6 +3758,54 @@ built_in_models: List[KilnModel] = [
|
|
|
3093
3758
|
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3094
3759
|
reasoning_capable=True,
|
|
3095
3760
|
supports_data_gen=True,
|
|
3761
|
+
supports_function_calling=False,
|
|
3762
|
+
),
|
|
3763
|
+
],
|
|
3764
|
+
),
|
|
3765
|
+
# Bytedance
|
|
3766
|
+
KilnModel(
|
|
3767
|
+
family=ModelFamily.bytedance,
|
|
3768
|
+
name=ModelName.bytedance_seed_oss_36b,
|
|
3769
|
+
friendly_name="ByteDance Seed OSS 36B",
|
|
3770
|
+
providers=[
|
|
3771
|
+
KilnModelProvider(
|
|
3772
|
+
name=ModelProviderName.openrouter,
|
|
3773
|
+
model_id="bytedance/seed-oss-36b-instruct",
|
|
3774
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3775
|
+
reasoning_capable=True,
|
|
3776
|
+
supports_data_gen=True,
|
|
3777
|
+
supports_function_calling=False,
|
|
3778
|
+
),
|
|
3779
|
+
KilnModelProvider(
|
|
3780
|
+
name=ModelProviderName.siliconflow_cn,
|
|
3781
|
+
model_id="ByteDance-Seed/Seed-OSS-36B-Instruct",
|
|
3782
|
+
structured_output_mode=StructuredOutputMode.json_schema,
|
|
3783
|
+
reasoning_capable=True,
|
|
3784
|
+
supports_data_gen=True,
|
|
3785
|
+
supports_function_calling=False,
|
|
3786
|
+
reasoning_optional_for_structured_output=True,
|
|
3787
|
+
),
|
|
3788
|
+
],
|
|
3789
|
+
),
|
|
3790
|
+
# StepFun
|
|
3791
|
+
KilnModel(
|
|
3792
|
+
family=ModelFamily.stepfun,
|
|
3793
|
+
name=ModelName.stepfun_step3,
|
|
3794
|
+
friendly_name="StepFun Step3",
|
|
3795
|
+
providers=[
|
|
3796
|
+
KilnModelProvider(
|
|
3797
|
+
name=ModelProviderName.openrouter,
|
|
3798
|
+
model_id="stepfun-ai/step3",
|
|
3799
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3800
|
+
reasoning_capable=True,
|
|
3801
|
+
supports_function_calling=False,
|
|
3802
|
+
),
|
|
3803
|
+
KilnModelProvider(
|
|
3804
|
+
name=ModelProviderName.siliconflow_cn,
|
|
3805
|
+
model_id="stepfun-ai/step3",
|
|
3806
|
+
structured_output_mode=StructuredOutputMode.json_instructions,
|
|
3807
|
+
reasoning_capable=True,
|
|
3808
|
+
supports_function_calling=False,
|
|
3096
3809
|
),
|
|
3097
3810
|
],
|
|
3098
3811
|
),
|
|
@@ -3106,6 +3819,17 @@ def get_model_by_name(name: ModelName) -> KilnModel:
|
|
|
3106
3819
|
raise ValueError(f"Model {name} not found in the list of built-in models")
|
|
3107
3820
|
|
|
3108
3821
|
|
|
3822
|
+
def built_in_models_from_provider(
|
|
3823
|
+
provider_name: ModelProviderName, model_name: str
|
|
3824
|
+
) -> KilnModelProvider | None:
|
|
3825
|
+
for model in built_in_models:
|
|
3826
|
+
if model.name == model_name:
|
|
3827
|
+
for p in model.providers:
|
|
3828
|
+
if p.name == provider_name:
|
|
3829
|
+
return p
|
|
3830
|
+
return None
|
|
3831
|
+
|
|
3832
|
+
|
|
3109
3833
|
def default_structured_output_mode_for_model_provider(
|
|
3110
3834
|
model_name: str,
|
|
3111
3835
|
provider: ModelProviderName,
|