kiln-ai 0.11.1__tar.gz → 0.12.0__tar.gz

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.

Files changed (154) hide show
  1. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/PKG-INFO +37 -1
  2. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/README.md +36 -0
  3. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/data_gen/data_gen_task.html +8 -122
  4. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/base_finetune.html +370 -358
  5. kiln_ai-0.12.0/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/dataset_formatter.html +1796 -0
  6. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/openai_finetune.html +122 -119
  7. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/ml_model_list.html +1041 -725
  8. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/base_adapter.html +581 -481
  9. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/langchain_adapters.html +660 -656
  10. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/openai_model_adapter.html +534 -519
  11. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/model_adapters.html +2 -2
  12. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/prompt_builders.html +369 -93
  13. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/repair/repair_task.html +5 -62
  14. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters.html +2 -2
  15. kiln_ai-0.12.0/docs/kiln_core_docs/kiln_ai/datamodel/dataset_split.html +1353 -0
  16. kiln_ai-0.12.0/docs/kiln_core_docs/kiln_ai/datamodel/strict_mode.html +325 -0
  17. kiln_ai-0.12.0/docs/kiln_core_docs/kiln_ai/datamodel.html +4537 -0
  18. kiln_ai-0.12.0/docs/kiln_core_docs/search.js +46 -0
  19. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/adapter_registry.py +12 -13
  20. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/data_gen/data_gen_task.py +18 -0
  21. kiln_ai-0.12.0/kiln_ai/adapters/eval/base_eval.py +164 -0
  22. kiln_ai-0.12.0/kiln_ai/adapters/eval/eval_runner.py +267 -0
  23. kiln_ai-0.12.0/kiln_ai/adapters/eval/g_eval.py +367 -0
  24. kiln_ai-0.12.0/kiln_ai/adapters/eval/registry.py +16 -0
  25. kiln_ai-0.12.0/kiln_ai/adapters/eval/test_base_eval.py +324 -0
  26. kiln_ai-0.12.0/kiln_ai/adapters/eval/test_eval_runner.py +640 -0
  27. kiln_ai-0.12.0/kiln_ai/adapters/eval/test_g_eval.py +497 -0
  28. kiln_ai-0.12.0/kiln_ai/adapters/eval/test_g_eval_data.py +4 -0
  29. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/test_dataset_formatter.py +4 -1
  30. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/test_fireworks_tinetune.py +1 -1
  31. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/test_openai_finetune.py +1 -1
  32. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/ml_model_list.py +141 -29
  33. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/base_adapter.py +50 -35
  34. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/langchain_adapters.py +27 -20
  35. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/openai_compatible_config.py +0 -1
  36. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/openai_model_adapter.py +93 -50
  37. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/test_base_adapter.py +22 -13
  38. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/test_langchain_adapter.py +7 -14
  39. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/test_openai_model_adapter.py +55 -64
  40. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/test_saving_adapter_results.py +41 -19
  41. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/test_structured_output.py +36 -30
  42. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/ollama_tools.py +0 -1
  43. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/prompt_builders.py +80 -42
  44. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/repair/repair_task.py +9 -21
  45. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/repair/test_repair_task.py +3 -3
  46. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/run_output.py +3 -0
  47. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/test_adapter_registry.py +10 -10
  48. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/test_generate_docs.py +6 -6
  49. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/test_ollama_tools.py +0 -1
  50. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/test_prompt_adaptors.py +17 -14
  51. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/test_prompt_builders.py +91 -31
  52. kiln_ai-0.12.0/kiln_ai/datamodel/__init__.py +77 -0
  53. kiln_ai-0.12.0/kiln_ai/datamodel/datamodel_enums.py +58 -0
  54. kiln_ai-0.12.0/kiln_ai/datamodel/dataset_filters.py +114 -0
  55. kiln_ai-0.12.0/kiln_ai/datamodel/dataset_split.py +170 -0
  56. kiln_ai-0.12.0/kiln_ai/datamodel/eval.py +298 -0
  57. kiln_ai-0.12.0/kiln_ai/datamodel/finetune.py +105 -0
  58. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/json_schema.py +6 -0
  59. kiln_ai-0.12.0/kiln_ai/datamodel/project.py +23 -0
  60. kiln_ai-0.12.0/kiln_ai/datamodel/prompt.py +37 -0
  61. kiln_ai-0.12.0/kiln_ai/datamodel/prompt_id.py +83 -0
  62. kiln_ai-0.12.0/kiln_ai/datamodel/strict_mode.py +24 -0
  63. kiln_ai-0.12.0/kiln_ai/datamodel/task.py +181 -0
  64. kiln_ai-0.12.0/kiln_ai/datamodel/task_output.py +321 -0
  65. kiln_ai-0.12.0/kiln_ai/datamodel/task_run.py +164 -0
  66. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_basemodel.py +10 -11
  67. kiln_ai-0.12.0/kiln_ai/datamodel/test_dataset_filters.py +71 -0
  68. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_dataset_split.py +32 -8
  69. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_datasource.py +3 -2
  70. kiln_ai-0.12.0/kiln_ai/datamodel/test_eval_model.py +635 -0
  71. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_example_models.py +9 -13
  72. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_json_schema.py +23 -0
  73. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_models.py +2 -2
  74. kiln_ai-0.12.0/kiln_ai/datamodel/test_prompt_id.py +129 -0
  75. kiln_ai-0.12.0/kiln_ai/datamodel/test_task.py +159 -0
  76. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/config.py +6 -1
  77. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/pyproject.toml +1 -1
  78. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/dataset_formatter.html +0 -1274
  79. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/datamodel.html +0 -5383
  80. kiln_ai-0.11.1/docs/kiln_core_docs/search.js +0 -46
  81. kiln_ai-0.11.1/kiln_ai/datamodel/__init__.py +0 -979
  82. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/.gitignore +0 -0
  83. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/.python-version +0 -0
  84. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/LICENSE.txt +0 -0
  85. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/index.html +0 -0
  86. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters/base_adapter.html +0 -0
  87. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters/langchain_adapters.html +0 -0
  88. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters/ml_model_list.html +0 -0
  89. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters/prompt_builders.html +0 -0
  90. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters/repair/repair_task.html +0 -0
  91. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters/repair.html +0 -0
  92. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/adapters.html +0 -0
  93. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/datamodel/basemodel.html +0 -0
  94. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/datamodel/json_schema.html +0 -0
  95. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/datamodel.html +0 -0
  96. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/utils/config.html +0 -0
  97. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/utils/formatting.html +0 -0
  98. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai/utils.html +0 -0
  99. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/kiln_ai.html +0 -0
  100. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/core_library_docs/search.js +0 -0
  101. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/index.html +0 -0
  102. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/base_adapter.html +0 -0
  103. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/data_gen.html +0 -0
  104. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/dataset_split.html +0 -0
  105. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/finetune_registry.html +0 -0
  106. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune.html +0 -0
  107. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/langchain_adapters.html +0 -0
  108. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/adapters/repair.html +0 -0
  109. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/datamodel/basemodel.html +0 -0
  110. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/datamodel/json_schema.html +0 -0
  111. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/utils/config.html +0 -0
  112. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/utils/formatting.html +0 -0
  113. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai/utils.html +0 -0
  114. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/docs/kiln_core_docs/kiln_ai.html +0 -0
  115. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/__init__.py +0 -0
  116. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/__init__.py +0 -0
  117. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/data_gen/__init__.py +0 -0
  118. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/data_gen/data_gen_prompts.py +0 -0
  119. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/data_gen/test_data_gen_task.py +0 -0
  120. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/__init__.py +0 -0
  121. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/base_finetune.py +0 -0
  122. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/dataset_formatter.py +0 -0
  123. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/finetune_registry.py +0 -0
  124. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/fireworks_finetune.py +0 -0
  125. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/openai_finetune.py +0 -0
  126. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/fine_tune/test_base_finetune.py +0 -0
  127. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/model_adapters/__init__.py +0 -0
  128. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/__init__.py +0 -0
  129. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/base_parser.py +0 -0
  130. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/json_parser.py +0 -0
  131. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/parser_registry.py +0 -0
  132. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/r1_parser.py +0 -0
  133. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/test_json_parser.py +0 -0
  134. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/test_parser_registry.py +0 -0
  135. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/parsers/test_r1_parser.py +0 -0
  136. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/provider_tools.py +0 -0
  137. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/repair/__init__.py +0 -0
  138. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/adapters/test_provider_tools.py +0 -0
  139. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/basemodel.py +0 -0
  140. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/model_cache.py +0 -0
  141. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/registry.py +0 -0
  142. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_model_cache.py +0 -0
  143. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_model_perf.py +0 -0
  144. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_nested_save.py +0 -0
  145. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_output_rating.py +0 -0
  146. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/datamodel/test_registry.py +0 -0
  147. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/__init__.py +0 -0
  148. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/exhaustive_error.py +0 -0
  149. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/formatting.py +0 -0
  150. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/name_generator.py +0 -0
  151. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/test_config.py +0 -0
  152. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/kiln_ai/utils/test_name_geneator.py +0 -0
  153. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/setup.cfg +0 -0
  154. {kiln_ai-0.11.1 → kiln_ai-0.12.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiln-ai
3
- Version: 0.11.1
3
+ Version: 0.12.0
4
4
  Summary: Kiln AI
5
5
  Project-URL: Homepage, https://getkiln.ai
6
6
  Project-URL: Repository, https://github.com/Kiln-AI/kiln
@@ -71,6 +71,7 @@ The library has a [comprehensive set of docs](https://kiln-ai.github.io/Kiln/kil
71
71
  - [Load an Existing Dataset into a Kiln Task Dataset](#load-an-existing-dataset-into-a-kiln-task-dataset)
72
72
  - [Using your Kiln Dataset in a Notebook or Project](#using-your-kiln-dataset-in-a-notebook-or-project)
73
73
  - [Using Kiln Dataset in Pandas](#using-kiln-dataset-in-pandas)
74
+ - [Building and Running a Kiln Task from Code](#building-and-running-a-kiln-task-from-code)
74
75
  - [Full API Reference](#full-api-reference)
75
76
 
76
77
  ## Installation
@@ -232,6 +233,41 @@ final_df = pd.concat(dfs, ignore_index=True)
232
233
  print(final_df)
233
234
  ```
234
235
 
236
+ ### Building and Running a Kiln Task from Code
237
+
238
+ ```python
239
+ # Step 1: Create or Load a Task -- choose one of the following 1.A or 1.B
240
+
241
+ # Step 1.A: Optionally load an existing task from disk
242
+ # task = datamodel.Task.load_from_file("path/to/task.kiln")
243
+
244
+ # Step 1.B: Create a new task in code, without saving to disk.
245
+ task = datamodel.Task(
246
+ name="test task",
247
+ instruction="Tell a joke, given a subject.",
248
+ )
249
+ # replace with a valid JSON schema https://json-schema.org for your task (json string, not a python dict).
250
+ # Or delete this line to use plaintext output
251
+ task.output_json_schema = json_joke_schema
252
+
253
+ # Step 2: Create an Adapter to run the task, with a specific model and provider
254
+ adapter = adapter_for_task(task, model_name="llama_3_1_8b", provider="groq")
255
+
256
+ # Step 3: Invoke the Adapter to run the task
257
+ task_input = "cows"
258
+ response = await adapter.invoke(task_input)
259
+ print(f"Output: {response.output.output}")
260
+
261
+ # Step 4 (optional): Load the task from disk and print the results.
262
+ # This will only work if the task was loaded from disk, or you called task.save_to_file() before invoking the adapter (epemerial tasks don't save their result to disk)
263
+ task = datamodel.Task.load_from_file(tmp_path / "test_task.kiln")
264
+ for run in task.runs():
265
+ print(f"Run: {run.id}")
266
+ print(f"Input: {run.input}")
267
+ print(f"Output: {run.output}")
268
+
269
+ ```
270
+
235
271
  ## Full API Reference
236
272
 
237
273
  The library can do a lot more than the examples we've shown here.
@@ -39,6 +39,7 @@ The library has a [comprehensive set of docs](https://kiln-ai.github.io/Kiln/kil
39
39
  - [Load an Existing Dataset into a Kiln Task Dataset](#load-an-existing-dataset-into-a-kiln-task-dataset)
40
40
  - [Using your Kiln Dataset in a Notebook or Project](#using-your-kiln-dataset-in-a-notebook-or-project)
41
41
  - [Using Kiln Dataset in Pandas](#using-kiln-dataset-in-pandas)
42
+ - [Building and Running a Kiln Task from Code](#building-and-running-a-kiln-task-from-code)
42
43
  - [Full API Reference](#full-api-reference)
43
44
 
44
45
  ## Installation
@@ -200,6 +201,41 @@ final_df = pd.concat(dfs, ignore_index=True)
200
201
  print(final_df)
201
202
  ```
202
203
 
204
+ ### Building and Running a Kiln Task from Code
205
+
206
+ ```python
207
+ # Step 1: Create or Load a Task -- choose one of the following 1.A or 1.B
208
+
209
+ # Step 1.A: Optionally load an existing task from disk
210
+ # task = datamodel.Task.load_from_file("path/to/task.kiln")
211
+
212
+ # Step 1.B: Create a new task in code, without saving to disk.
213
+ task = datamodel.Task(
214
+ name="test task",
215
+ instruction="Tell a joke, given a subject.",
216
+ )
217
+ # replace with a valid JSON schema https://json-schema.org for your task (json string, not a python dict).
218
+ # Or delete this line to use plaintext output
219
+ task.output_json_schema = json_joke_schema
220
+
221
+ # Step 2: Create an Adapter to run the task, with a specific model and provider
222
+ adapter = adapter_for_task(task, model_name="llama_3_1_8b", provider="groq")
223
+
224
+ # Step 3: Invoke the Adapter to run the task
225
+ task_input = "cows"
226
+ response = await adapter.invoke(task_input)
227
+ print(f"Output: {response.output.output}")
228
+
229
+ # Step 4 (optional): Load the task from disk and print the results.
230
+ # This will only work if the task was loaded from disk, or you called task.save_to_file() before invoking the adapter (epemerial tasks don't save their result to disk)
231
+ task = datamodel.Task.load_from_file(tmp_path / "test_task.kiln")
232
+ for run in task.runs():
233
+ print(f"Run: {run.id}")
234
+ print(f"Input: {run.input}")
235
+ print(f"Output: {run.output}")
236
+
237
+ ```
238
+
203
239
  ## Full API Reference
204
240
 
205
241
  The library can do a lot more than the examples we've shown here.
@@ -205,7 +205,7 @@
205
205
  </span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="n">num_subtopics</span><span class="o">=</span><span class="n">num_subtopics</span><span class="p">,</span>
206
206
  </span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="n">human_guidance</span><span class="o">=</span><span class="n">human_guidance</span><span class="p">,</span>
207
207
  </span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="n">existing_topics</span><span class="o">=</span><span class="n">existing_topics</span><span class="p">,</span>
208
- </span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(),</span>
208
+ </span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(</span><span class="n">include_json_instructions</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
209
209
  </span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="p">)</span>
210
210
  </span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a>
211
211
  </span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a>
@@ -282,7 +282,7 @@
282
282
  </span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">topic</span><span class="o">=</span><span class="n">topic</span><span class="p">,</span>
283
283
  </span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="n">num_samples</span><span class="o">=</span><span class="n">num_samples</span><span class="p">,</span>
284
284
  </span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="n">human_guidance</span><span class="o">=</span><span class="n">human_guidance</span><span class="p">,</span>
285
- </span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(),</span>
285
+ </span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(</span><span class="n">include_json_instructions</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
286
286
  </span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="p">)</span>
287
287
  </span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a>
288
288
  </span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a>
@@ -392,7 +392,7 @@
392
392
  </span><span id="DataGenCategoriesTaskInput-56"><a href="#DataGenCategoriesTaskInput-56"><span class="linenos">56</span></a> <span class="n">num_subtopics</span><span class="o">=</span><span class="n">num_subtopics</span><span class="p">,</span>
393
393
  </span><span id="DataGenCategoriesTaskInput-57"><a href="#DataGenCategoriesTaskInput-57"><span class="linenos">57</span></a> <span class="n">human_guidance</span><span class="o">=</span><span class="n">human_guidance</span><span class="p">,</span>
394
394
  </span><span id="DataGenCategoriesTaskInput-58"><a href="#DataGenCategoriesTaskInput-58"><span class="linenos">58</span></a> <span class="n">existing_topics</span><span class="o">=</span><span class="n">existing_topics</span><span class="p">,</span>
395
- </span><span id="DataGenCategoriesTaskInput-59"><a href="#DataGenCategoriesTaskInput-59"><span class="linenos">59</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(),</span>
395
+ </span><span id="DataGenCategoriesTaskInput-59"><a href="#DataGenCategoriesTaskInput-59"><span class="linenos">59</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(</span><span class="n">include_json_instructions</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
396
396
  </span><span id="DataGenCategoriesTaskInput-60"><a href="#DataGenCategoriesTaskInput-60"><span class="linenos">60</span></a> <span class="p">)</span>
397
397
  </span></pre></div>
398
398
 
@@ -502,7 +502,7 @@
502
502
  </span><span id="DataGenCategoriesTaskInput.from_task-56"><a href="#DataGenCategoriesTaskInput.from_task-56"><span class="linenos">56</span></a> <span class="n">num_subtopics</span><span class="o">=</span><span class="n">num_subtopics</span><span class="p">,</span>
503
503
  </span><span id="DataGenCategoriesTaskInput.from_task-57"><a href="#DataGenCategoriesTaskInput.from_task-57"><span class="linenos">57</span></a> <span class="n">human_guidance</span><span class="o">=</span><span class="n">human_guidance</span><span class="p">,</span>
504
504
  </span><span id="DataGenCategoriesTaskInput.from_task-58"><a href="#DataGenCategoriesTaskInput.from_task-58"><span class="linenos">58</span></a> <span class="n">existing_topics</span><span class="o">=</span><span class="n">existing_topics</span><span class="p">,</span>
505
- </span><span id="DataGenCategoriesTaskInput.from_task-59"><a href="#DataGenCategoriesTaskInput.from_task-59"><span class="linenos">59</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(),</span>
505
+ </span><span id="DataGenCategoriesTaskInput.from_task-59"><a href="#DataGenCategoriesTaskInput.from_task-59"><span class="linenos">59</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(</span><span class="n">include_json_instructions</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
506
506
  </span><span id="DataGenCategoriesTaskInput.from_task-60"><a href="#DataGenCategoriesTaskInput.from_task-60"><span class="linenos">60</span></a> <span class="p">)</span>
507
507
  </span></pre></div>
508
508
 
@@ -597,7 +597,7 @@
597
597
  <div class="attr class">
598
598
 
599
599
  <span class="def">class</span>
600
- <span class="name">DataGenCategoriesTask</span><wbr>(<span class="base"><a href="../../datamodel.html#Task">kiln_ai.datamodel.Task</a></span>):
600
+ <span class="name">DataGenCategoriesTask</span><wbr>(<span class="base">kiln_ai.datamodel.task.Task</span>):
601
601
 
602
602
  <label class="view-source-button" for="DataGenCategoriesTask-view-source"><span>View Source</span></label>
603
603
 
@@ -713,63 +713,6 @@ method.</p>
713
713
 
714
714
 
715
715
  </div>
716
- <div class="inherited">
717
- <h5>Inherited Members</h5>
718
- <dl>
719
- <div><dt><a href="../../datamodel.html#Task">kiln_ai.datamodel.Task</a></dt>
720
- <dd id="DataGenCategoriesTask.name" class="variable"><a href="../../datamodel.html#Task.name">name</a></dd>
721
- <dd id="DataGenCategoriesTask.description" class="variable"><a href="../../datamodel.html#Task.description">description</a></dd>
722
- <dd id="DataGenCategoriesTask.instruction" class="variable"><a href="../../datamodel.html#Task.instruction">instruction</a></dd>
723
- <dd id="DataGenCategoriesTask.requirements" class="variable"><a href="../../datamodel.html#Task.requirements">requirements</a></dd>
724
- <dd id="DataGenCategoriesTask.output_json_schema" class="variable"><a href="../../datamodel.html#Task.output_json_schema">output_json_schema</a></dd>
725
- <dd id="DataGenCategoriesTask.input_json_schema" class="variable"><a href="../../datamodel.html#Task.input_json_schema">input_json_schema</a></dd>
726
- <dd id="DataGenCategoriesTask.thinking_instruction" class="variable"><a href="../../datamodel.html#Task.thinking_instruction">thinking_instruction</a></dd>
727
- <dd id="DataGenCategoriesTask.output_schema" class="function"><a href="../../datamodel.html#Task.output_schema">output_schema</a></dd>
728
- <dd id="DataGenCategoriesTask.input_schema" class="function"><a href="../../datamodel.html#Task.input_schema">input_schema</a></dd>
729
- <dd id="DataGenCategoriesTask.runs" class="function"><a href="../../datamodel.html#Task.runs">runs</a></dd>
730
- <dd id="DataGenCategoriesTask.dataset_splits" class="function"><a href="../../datamodel.html#Task.dataset_splits">dataset_splits</a></dd>
731
- <dd id="DataGenCategoriesTask.finetunes" class="function"><a href="../../datamodel.html#Task.finetunes">finetunes</a></dd>
732
- <dd id="DataGenCategoriesTask.prompts" class="function"><a href="../../datamodel.html#Task.prompts">prompts</a></dd>
733
- <dd id="DataGenCategoriesTask.relationship_name" class="function"><a href="../../datamodel.html#Task.relationship_name">relationship_name</a></dd>
734
- <dd id="DataGenCategoriesTask.parent_type" class="function"><a href="../../datamodel.html#Task.parent_type">parent_type</a></dd>
735
-
736
- </div>
737
- <div><dt><a href="../../datamodel/basemodel.html#KilnParentedModel">kiln_ai.datamodel.basemodel.KilnParentedModel</a></dt>
738
- <dd id="DataGenCategoriesTask.parent" class="variable"><a href="../../datamodel/basemodel.html#KilnParentedModel.parent">parent</a></dd>
739
- <dd id="DataGenCategoriesTask.cached_parent" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.cached_parent">cached_parent</a></dd>
740
- <dd id="DataGenCategoriesTask.load_parent" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.load_parent">load_parent</a></dd>
741
- <dd id="DataGenCategoriesTask.check_parent_type" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.check_parent_type">check_parent_type</a></dd>
742
- <dd id="DataGenCategoriesTask.build_child_dirname" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.build_child_dirname">build_child_dirname</a></dd>
743
- <dd id="DataGenCategoriesTask.build_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.build_path">build_path</a></dd>
744
- <dd id="DataGenCategoriesTask.iterate_children_paths_of_parent_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.iterate_children_paths_of_parent_path">iterate_children_paths_of_parent_path</a></dd>
745
- <dd id="DataGenCategoriesTask.all_children_of_parent_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.all_children_of_parent_path">all_children_of_parent_path</a></dd>
746
- <dd id="DataGenCategoriesTask.from_id_and_parent_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.from_id_and_parent_path">from_id_and_parent_path</a></dd>
747
-
748
- </div>
749
- <div><dt><a href="../../datamodel/basemodel.html#KilnParentModel">kiln_ai.datamodel.basemodel.KilnParentModel</a></dt>
750
- <dd id="DataGenCategoriesTask.validate_and_save_with_subrelations" class="function"><a href="../../datamodel/basemodel.html#KilnParentModel.validate_and_save_with_subrelations">validate_and_save_with_subrelations</a></dd>
751
-
752
- </div>
753
- <div><dt><a href="../../datamodel/basemodel.html#KilnBaseModel">kiln_ai.datamodel.basemodel.KilnBaseModel</a></dt>
754
- <dd id="DataGenCategoriesTask.v" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.v">v</a></dd>
755
- <dd id="DataGenCategoriesTask.id" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.id">id</a></dd>
756
- <dd id="DataGenCategoriesTask.path" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.path">path</a></dd>
757
- <dd id="DataGenCategoriesTask.created_at" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.created_at">created_at</a></dd>
758
- <dd id="DataGenCategoriesTask.created_by" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.created_by">created_by</a></dd>
759
- <dd id="DataGenCategoriesTask.model_type" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.model_type">model_type</a></dd>
760
- <dd id="DataGenCategoriesTask.type_name" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.type_name">type_name</a></dd>
761
- <dd id="DataGenCategoriesTask.base_filename" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.base_filename">base_filename</a></dd>
762
- <dd id="DataGenCategoriesTask.load_from_folder" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.load_from_folder">load_from_folder</a></dd>
763
- <dd id="DataGenCategoriesTask.load_from_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.load_from_file">load_from_file</a></dd>
764
- <dd id="DataGenCategoriesTask.loaded_from_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.loaded_from_file">loaded_from_file</a></dd>
765
- <dd id="DataGenCategoriesTask.loading_from_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.loading_from_file">loading_from_file</a></dd>
766
- <dd id="DataGenCategoriesTask.save_to_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.save_to_file">save_to_file</a></dd>
767
- <dd id="DataGenCategoriesTask.delete" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.delete">delete</a></dd>
768
- <dd id="DataGenCategoriesTask.max_schema_version" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.max_schema_version">max_schema_version</a></dd>
769
-
770
- </div>
771
- </dl>
772
- </div>
773
716
  </section>
774
717
  <section id="DataGenSampleTaskInput">
775
718
  <input id="DataGenSampleTaskInput-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
@@ -821,7 +764,7 @@ method.</p>
821
764
  </span><span id="DataGenSampleTaskInput-133"><a href="#DataGenSampleTaskInput-133"><span class="linenos">133</span></a> <span class="n">topic</span><span class="o">=</span><span class="n">topic</span><span class="p">,</span>
822
765
  </span><span id="DataGenSampleTaskInput-134"><a href="#DataGenSampleTaskInput-134"><span class="linenos">134</span></a> <span class="n">num_samples</span><span class="o">=</span><span class="n">num_samples</span><span class="p">,</span>
823
766
  </span><span id="DataGenSampleTaskInput-135"><a href="#DataGenSampleTaskInput-135"><span class="linenos">135</span></a> <span class="n">human_guidance</span><span class="o">=</span><span class="n">human_guidance</span><span class="p">,</span>
824
- </span><span id="DataGenSampleTaskInput-136"><a href="#DataGenSampleTaskInput-136"><span class="linenos">136</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(),</span>
767
+ </span><span id="DataGenSampleTaskInput-136"><a href="#DataGenSampleTaskInput-136"><span class="linenos">136</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(</span><span class="n">include_json_instructions</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
825
768
  </span><span id="DataGenSampleTaskInput-137"><a href="#DataGenSampleTaskInput-137"><span class="linenos">137</span></a> <span class="p">)</span>
826
769
  </span></pre></div>
827
770
 
@@ -916,7 +859,7 @@ method.</p>
916
859
  </span><span id="DataGenSampleTaskInput.from_task-133"><a href="#DataGenSampleTaskInput.from_task-133"><span class="linenos">133</span></a> <span class="n">topic</span><span class="o">=</span><span class="n">topic</span><span class="p">,</span>
917
860
  </span><span id="DataGenSampleTaskInput.from_task-134"><a href="#DataGenSampleTaskInput.from_task-134"><span class="linenos">134</span></a> <span class="n">num_samples</span><span class="o">=</span><span class="n">num_samples</span><span class="p">,</span>
918
861
  </span><span id="DataGenSampleTaskInput.from_task-135"><a href="#DataGenSampleTaskInput.from_task-135"><span class="linenos">135</span></a> <span class="n">human_guidance</span><span class="o">=</span><span class="n">human_guidance</span><span class="p">,</span>
919
- </span><span id="DataGenSampleTaskInput.from_task-136"><a href="#DataGenSampleTaskInput.from_task-136"><span class="linenos">136</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(),</span>
862
+ </span><span id="DataGenSampleTaskInput.from_task-136"><a href="#DataGenSampleTaskInput.from_task-136"><span class="linenos">136</span></a> <span class="n">system_prompt</span><span class="o">=</span><span class="n">prompt_builder</span><span class="o">.</span><span class="n">build_prompt</span><span class="p">(</span><span class="n">include_json_instructions</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
920
863
  </span><span id="DataGenSampleTaskInput.from_task-137"><a href="#DataGenSampleTaskInput.from_task-137"><span class="linenos">137</span></a> <span class="p">)</span>
921
864
  </span></pre></div>
922
865
 
@@ -1008,7 +951,7 @@ method.</p>
1008
951
  <div class="attr class">
1009
952
 
1010
953
  <span class="def">class</span>
1011
- <span class="name">DataGenSampleTask</span><wbr>(<span class="base"><a href="../../datamodel.html#Task">kiln_ai.datamodel.Task</a></span>):
954
+ <span class="name">DataGenSampleTask</span><wbr>(<span class="base">kiln_ai.datamodel.task.Task</span>):
1012
955
 
1013
956
  <label class="view-source-button" for="DataGenSampleTask-view-source"><span>View Source</span></label>
1014
957
 
@@ -1114,63 +1057,6 @@ method.</p>
1114
1057
 
1115
1058
 
1116
1059
  </div>
1117
- <div class="inherited">
1118
- <h5>Inherited Members</h5>
1119
- <dl>
1120
- <div><dt><a href="../../datamodel.html#Task">kiln_ai.datamodel.Task</a></dt>
1121
- <dd id="DataGenSampleTask.name" class="variable"><a href="../../datamodel.html#Task.name">name</a></dd>
1122
- <dd id="DataGenSampleTask.description" class="variable"><a href="../../datamodel.html#Task.description">description</a></dd>
1123
- <dd id="DataGenSampleTask.instruction" class="variable"><a href="../../datamodel.html#Task.instruction">instruction</a></dd>
1124
- <dd id="DataGenSampleTask.requirements" class="variable"><a href="../../datamodel.html#Task.requirements">requirements</a></dd>
1125
- <dd id="DataGenSampleTask.output_json_schema" class="variable"><a href="../../datamodel.html#Task.output_json_schema">output_json_schema</a></dd>
1126
- <dd id="DataGenSampleTask.input_json_schema" class="variable"><a href="../../datamodel.html#Task.input_json_schema">input_json_schema</a></dd>
1127
- <dd id="DataGenSampleTask.thinking_instruction" class="variable"><a href="../../datamodel.html#Task.thinking_instruction">thinking_instruction</a></dd>
1128
- <dd id="DataGenSampleTask.output_schema" class="function"><a href="../../datamodel.html#Task.output_schema">output_schema</a></dd>
1129
- <dd id="DataGenSampleTask.input_schema" class="function"><a href="../../datamodel.html#Task.input_schema">input_schema</a></dd>
1130
- <dd id="DataGenSampleTask.runs" class="function"><a href="../../datamodel.html#Task.runs">runs</a></dd>
1131
- <dd id="DataGenSampleTask.dataset_splits" class="function"><a href="../../datamodel.html#Task.dataset_splits">dataset_splits</a></dd>
1132
- <dd id="DataGenSampleTask.finetunes" class="function"><a href="../../datamodel.html#Task.finetunes">finetunes</a></dd>
1133
- <dd id="DataGenSampleTask.prompts" class="function"><a href="../../datamodel.html#Task.prompts">prompts</a></dd>
1134
- <dd id="DataGenSampleTask.relationship_name" class="function"><a href="../../datamodel.html#Task.relationship_name">relationship_name</a></dd>
1135
- <dd id="DataGenSampleTask.parent_type" class="function"><a href="../../datamodel.html#Task.parent_type">parent_type</a></dd>
1136
-
1137
- </div>
1138
- <div><dt><a href="../../datamodel/basemodel.html#KilnParentedModel">kiln_ai.datamodel.basemodel.KilnParentedModel</a></dt>
1139
- <dd id="DataGenSampleTask.parent" class="variable"><a href="../../datamodel/basemodel.html#KilnParentedModel.parent">parent</a></dd>
1140
- <dd id="DataGenSampleTask.cached_parent" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.cached_parent">cached_parent</a></dd>
1141
- <dd id="DataGenSampleTask.load_parent" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.load_parent">load_parent</a></dd>
1142
- <dd id="DataGenSampleTask.check_parent_type" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.check_parent_type">check_parent_type</a></dd>
1143
- <dd id="DataGenSampleTask.build_child_dirname" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.build_child_dirname">build_child_dirname</a></dd>
1144
- <dd id="DataGenSampleTask.build_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.build_path">build_path</a></dd>
1145
- <dd id="DataGenSampleTask.iterate_children_paths_of_parent_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.iterate_children_paths_of_parent_path">iterate_children_paths_of_parent_path</a></dd>
1146
- <dd id="DataGenSampleTask.all_children_of_parent_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.all_children_of_parent_path">all_children_of_parent_path</a></dd>
1147
- <dd id="DataGenSampleTask.from_id_and_parent_path" class="function"><a href="../../datamodel/basemodel.html#KilnParentedModel.from_id_and_parent_path">from_id_and_parent_path</a></dd>
1148
-
1149
- </div>
1150
- <div><dt><a href="../../datamodel/basemodel.html#KilnParentModel">kiln_ai.datamodel.basemodel.KilnParentModel</a></dt>
1151
- <dd id="DataGenSampleTask.validate_and_save_with_subrelations" class="function"><a href="../../datamodel/basemodel.html#KilnParentModel.validate_and_save_with_subrelations">validate_and_save_with_subrelations</a></dd>
1152
-
1153
- </div>
1154
- <div><dt><a href="../../datamodel/basemodel.html#KilnBaseModel">kiln_ai.datamodel.basemodel.KilnBaseModel</a></dt>
1155
- <dd id="DataGenSampleTask.v" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.v">v</a></dd>
1156
- <dd id="DataGenSampleTask.id" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.id">id</a></dd>
1157
- <dd id="DataGenSampleTask.path" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.path">path</a></dd>
1158
- <dd id="DataGenSampleTask.created_at" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.created_at">created_at</a></dd>
1159
- <dd id="DataGenSampleTask.created_by" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.created_by">created_by</a></dd>
1160
- <dd id="DataGenSampleTask.model_type" class="variable"><a href="../../datamodel/basemodel.html#KilnBaseModel.model_type">model_type</a></dd>
1161
- <dd id="DataGenSampleTask.type_name" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.type_name">type_name</a></dd>
1162
- <dd id="DataGenSampleTask.base_filename" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.base_filename">base_filename</a></dd>
1163
- <dd id="DataGenSampleTask.load_from_folder" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.load_from_folder">load_from_folder</a></dd>
1164
- <dd id="DataGenSampleTask.load_from_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.load_from_file">load_from_file</a></dd>
1165
- <dd id="DataGenSampleTask.loaded_from_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.loaded_from_file">loaded_from_file</a></dd>
1166
- <dd id="DataGenSampleTask.loading_from_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.loading_from_file">loading_from_file</a></dd>
1167
- <dd id="DataGenSampleTask.save_to_file" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.save_to_file">save_to_file</a></dd>
1168
- <dd id="DataGenSampleTask.delete" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.delete">delete</a></dd>
1169
- <dd id="DataGenSampleTask.max_schema_version" class="function"><a href="../../datamodel/basemodel.html#KilnBaseModel.max_schema_version">max_schema_version</a></dd>
1170
-
1171
- </div>
1172
- </dl>
1173
- </div>
1174
1060
  </section>
1175
1061
  </main>
1176
1062
  <script>