kiln-ai 0.11.1__tar.gz → 0.13.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 (171) hide show
  1. kiln_ai-0.13.0/.python-version +1 -0
  2. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/PKG-INFO +86 -6
  3. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/README.md +80 -0
  4. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/data_gen/data_gen_task.html +68 -122
  5. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/eval/base_eval.html +908 -0
  6. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/eval/eval_runner.html +1442 -0
  7. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/eval/g_eval.html +1680 -0
  8. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/eval/registry.html +288 -0
  9. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters.html → kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/eval.html +49 -39
  10. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/base_finetune.html +529 -463
  11. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/dataset_formatter.html +1796 -0
  12. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/finetune_registry.html +9 -7
  13. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/openai_finetune.html +123 -119
  14. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/ml_model_list.html +3674 -0
  15. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/base_adapter.html +728 -608
  16. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/litellm_adapter.html +1467 -0
  17. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/model_adapters.html +10 -13
  18. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/prompt_builders.html +1325 -804
  19. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/repair/repair_task.html +57 -138
  20. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters.html +28 -21
  21. {kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/fine_tune → kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/datamodel}/dataset_split.html +516 -440
  22. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/datamodel/eval.html +2116 -0
  23. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/datamodel/strict_mode.html +325 -0
  24. kiln_ai-0.13.0/docs/kiln_core_docs/kiln_ai/datamodel.html +4957 -0
  25. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/utils/config.html +505 -359
  26. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai.html +84 -0
  27. kiln_ai-0.13.0/docs/kiln_core_docs/search.js +46 -0
  28. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/__init__.py +4 -0
  29. kiln_ai-0.13.0/kiln_ai/adapters/adapter_registry.py +217 -0
  30. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/data_gen/data_gen_task.py +18 -0
  31. kiln_ai-0.13.0/kiln_ai/adapters/eval/__init__.py +28 -0
  32. kiln_ai-0.13.0/kiln_ai/adapters/eval/base_eval.py +164 -0
  33. kiln_ai-0.13.0/kiln_ai/adapters/eval/eval_runner.py +270 -0
  34. kiln_ai-0.13.0/kiln_ai/adapters/eval/g_eval.py +368 -0
  35. kiln_ai-0.13.0/kiln_ai/adapters/eval/registry.py +16 -0
  36. kiln_ai-0.13.0/kiln_ai/adapters/eval/test_base_eval.py +325 -0
  37. kiln_ai-0.13.0/kiln_ai/adapters/eval/test_eval_runner.py +641 -0
  38. kiln_ai-0.13.0/kiln_ai/adapters/eval/test_g_eval.py +498 -0
  39. kiln_ai-0.13.0/kiln_ai/adapters/eval/test_g_eval_data.py +4 -0
  40. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/base_finetune.py +16 -2
  41. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/finetune_registry.py +2 -0
  42. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/test_dataset_formatter.py +4 -1
  43. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/test_fireworks_tinetune.py +1 -1
  44. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/test_openai_finetune.py +1 -1
  45. kiln_ai-0.13.0/kiln_ai/adapters/fine_tune/test_together_finetune.py +531 -0
  46. kiln_ai-0.13.0/kiln_ai/adapters/fine_tune/together_finetune.py +325 -0
  47. kiln_ai-0.13.0/kiln_ai/adapters/ml_model_list.py +1546 -0
  48. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/model_adapters/__init__.py +2 -4
  49. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/model_adapters/base_adapter.py +61 -43
  50. kiln_ai-0.13.0/kiln_ai/adapters/model_adapters/litellm_adapter.py +391 -0
  51. kiln_ai-0.13.0/kiln_ai/adapters/model_adapters/litellm_config.py +13 -0
  52. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/model_adapters/test_base_adapter.py +22 -13
  53. kiln_ai-0.13.0/kiln_ai/adapters/model_adapters/test_litellm_adapter.py +407 -0
  54. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/model_adapters/test_saving_adapter_results.py +41 -19
  55. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/model_adapters/test_structured_output.py +59 -35
  56. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/ollama_tools.py +3 -3
  57. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/r1_parser.py +19 -14
  58. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/test_r1_parser.py +17 -5
  59. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/prompt_builders.py +80 -42
  60. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/provider_tools.py +50 -58
  61. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/repair/repair_task.py +9 -21
  62. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/repair/test_repair_task.py +6 -6
  63. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/run_output.py +3 -0
  64. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/test_adapter_registry.py +26 -29
  65. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/test_generate_docs.py +4 -4
  66. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/test_ollama_tools.py +0 -1
  67. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/test_prompt_adaptors.py +47 -33
  68. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/test_prompt_builders.py +91 -31
  69. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/test_provider_tools.py +26 -81
  70. kiln_ai-0.13.0/kiln_ai/datamodel/__init__.py +77 -0
  71. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/basemodel.py +2 -0
  72. kiln_ai-0.13.0/kiln_ai/datamodel/datamodel_enums.py +60 -0
  73. kiln_ai-0.13.0/kiln_ai/datamodel/dataset_filters.py +114 -0
  74. kiln_ai-0.13.0/kiln_ai/datamodel/dataset_split.py +170 -0
  75. kiln_ai-0.13.0/kiln_ai/datamodel/eval.py +298 -0
  76. kiln_ai-0.13.0/kiln_ai/datamodel/finetune.py +105 -0
  77. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/json_schema.py +7 -1
  78. kiln_ai-0.13.0/kiln_ai/datamodel/project.py +23 -0
  79. kiln_ai-0.13.0/kiln_ai/datamodel/prompt.py +37 -0
  80. kiln_ai-0.13.0/kiln_ai/datamodel/prompt_id.py +83 -0
  81. kiln_ai-0.13.0/kiln_ai/datamodel/strict_mode.py +24 -0
  82. kiln_ai-0.13.0/kiln_ai/datamodel/task.py +181 -0
  83. kiln_ai-0.13.0/kiln_ai/datamodel/task_output.py +328 -0
  84. kiln_ai-0.13.0/kiln_ai/datamodel/task_run.py +164 -0
  85. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_basemodel.py +19 -11
  86. kiln_ai-0.13.0/kiln_ai/datamodel/test_dataset_filters.py +71 -0
  87. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_dataset_split.py +32 -8
  88. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_datasource.py +22 -2
  89. kiln_ai-0.13.0/kiln_ai/datamodel/test_eval_model.py +635 -0
  90. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_example_models.py +9 -13
  91. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_json_schema.py +23 -0
  92. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_models.py +2 -2
  93. kiln_ai-0.13.0/kiln_ai/datamodel/test_prompt_id.py +129 -0
  94. kiln_ai-0.13.0/kiln_ai/datamodel/test_task.py +159 -0
  95. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/config.py +43 -1
  96. kiln_ai-0.13.0/kiln_ai/utils/dataset_import.py +232 -0
  97. kiln_ai-0.13.0/kiln_ai/utils/test_dataset_import.py +596 -0
  98. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/pyproject.toml +6 -6
  99. kiln_ai-0.11.1/.python-version +0 -1
  100. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters/base_adapter.html +0 -1070
  101. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters/langchain_adapters.html +0 -650
  102. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters/ml_model_list.html +0 -1783
  103. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters/prompt_builders.html +0 -863
  104. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters/repair/repair_task.html +0 -779
  105. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/adapters/repair.html +0 -261
  106. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/datamodel/basemodel.html +0 -1938
  107. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/datamodel/json_schema.html +0 -364
  108. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/datamodel.html +0 -3156
  109. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/utils/config.html +0 -967
  110. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/utils/formatting.html +0 -268
  111. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai/utils.html +0 -261
  112. kiln_ai-0.11.1/docs/core_library_docs/kiln_ai.html +0 -270
  113. kiln_ai-0.11.1/docs/core_library_docs/search.js +0 -46
  114. kiln_ai-0.11.1/docs/kiln_core_docs/index.html +0 -7
  115. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/base_adapter.html +0 -1059
  116. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/fine_tune/dataset_formatter.html +0 -1274
  117. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/langchain_adapters.html +0 -979
  118. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/ml_model_list.html +0 -2243
  119. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/langchain_adapters.html +0 -1125
  120. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/adapters/model_adapters/openai_model_adapter.html +0 -944
  121. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/datamodel/basemodel.html +0 -2527
  122. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/datamodel/json_schema.html +0 -446
  123. kiln_ai-0.11.1/docs/kiln_core_docs/kiln_ai/datamodel.html +0 -5383
  124. kiln_ai-0.11.1/docs/kiln_core_docs/search.js +0 -46
  125. kiln_ai-0.11.1/kiln_ai/adapters/adapter_registry.py +0 -93
  126. kiln_ai-0.11.1/kiln_ai/adapters/ml_model_list.py +0 -951
  127. kiln_ai-0.11.1/kiln_ai/adapters/model_adapters/langchain_adapters.py +0 -302
  128. kiln_ai-0.11.1/kiln_ai/adapters/model_adapters/openai_compatible_config.py +0 -11
  129. kiln_ai-0.11.1/kiln_ai/adapters/model_adapters/openai_model_adapter.py +0 -246
  130. kiln_ai-0.11.1/kiln_ai/adapters/model_adapters/test_langchain_adapter.py +0 -350
  131. kiln_ai-0.11.1/kiln_ai/adapters/model_adapters/test_openai_model_adapter.py +0 -225
  132. kiln_ai-0.11.1/kiln_ai/datamodel/__init__.py +0 -979
  133. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/.gitignore +0 -0
  134. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/LICENSE.txt +0 -0
  135. {kiln_ai-0.11.1/docs/core_library_docs → kiln_ai-0.13.0/docs/kiln_core_docs}/index.html +0 -0
  136. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/data_gen.html +0 -0
  137. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/fine_tune.html +0 -0
  138. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/adapters/repair.html +0 -0
  139. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/utils/formatting.html +0 -0
  140. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/docs/kiln_core_docs/kiln_ai/utils.html +0 -0
  141. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/__init__.py +0 -0
  142. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/data_gen/__init__.py +0 -0
  143. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/data_gen/data_gen_prompts.py +0 -0
  144. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/data_gen/test_data_gen_task.py +0 -0
  145. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/__init__.py +0 -0
  146. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/dataset_formatter.py +0 -0
  147. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/fireworks_finetune.py +0 -0
  148. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/openai_finetune.py +0 -0
  149. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/fine_tune/test_base_finetune.py +0 -0
  150. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/__init__.py +0 -0
  151. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/base_parser.py +0 -0
  152. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/json_parser.py +0 -0
  153. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/parser_registry.py +0 -0
  154. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/test_json_parser.py +0 -0
  155. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/parsers/test_parser_registry.py +0 -0
  156. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/adapters/repair/__init__.py +0 -0
  157. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/model_cache.py +0 -0
  158. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/registry.py +0 -0
  159. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_model_cache.py +0 -0
  160. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_model_perf.py +0 -0
  161. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_nested_save.py +0 -0
  162. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_output_rating.py +0 -0
  163. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/datamodel/test_registry.py +0 -0
  164. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/__init__.py +0 -0
  165. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/exhaustive_error.py +0 -0
  166. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/formatting.py +0 -0
  167. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/name_generator.py +0 -0
  168. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/test_config.py +0 -0
  169. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/kiln_ai/utils/test_name_geneator.py +0 -0
  170. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/setup.cfg +0 -0
  171. {kiln_ai-0.11.1 → kiln_ai-0.13.0}/uv.lock +0 -0
@@ -0,0 +1 @@
1
+ 3.13
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiln-ai
3
- Version: 0.11.1
3
+ Version: 0.13.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
@@ -13,20 +13,20 @@ Classifier: License :: OSI Approved :: MIT License
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
16
17
  Requires-Python: >=3.10
18
+ Requires-Dist: boto3>=1.37.10
17
19
  Requires-Dist: coverage>=7.6.4
20
+ Requires-Dist: google-cloud-aiplatform>=1.84.0
18
21
  Requires-Dist: jsonschema>=4.23.0
19
- Requires-Dist: langchain-aws>=0.2.4
20
- Requires-Dist: langchain-fireworks>=0.2.5
21
- Requires-Dist: langchain-groq>=0.2.0
22
- Requires-Dist: langchain-ollama>=0.2.2
23
- Requires-Dist: langchain>=0.3.5
22
+ Requires-Dist: litellm>=1.63.5
24
23
  Requires-Dist: openai>=1.53.0
25
24
  Requires-Dist: pdoc>=15.0.0
26
25
  Requires-Dist: pydantic>=2.9.2
27
26
  Requires-Dist: pytest-benchmark>=5.1.0
28
27
  Requires-Dist: pytest-cov>=6.0.0
29
28
  Requires-Dist: pyyaml>=6.0.2
29
+ Requires-Dist: together>=1.4.6
30
30
  Requires-Dist: typing-extensions>=4.12.2
31
31
  Description-Content-Type: text/markdown
32
32
 
@@ -71,6 +71,8 @@ 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)
75
+ - [Adding Custom Model or AI Provider from Code](#adding-custom-model-or-ai-provider-from-code)
74
76
  - [Full API Reference](#full-api-reference)
75
77
 
76
78
  ## Installation
@@ -232,6 +234,84 @@ final_df = pd.concat(dfs, ignore_index=True)
232
234
  print(final_df)
233
235
  ```
234
236
 
237
+ ### Building and Running a Kiln Task from Code
238
+
239
+ ```python
240
+ # Step 1: Create or Load a Task -- choose one of the following 1.A or 1.B
241
+
242
+ # Step 1.A: Optionally load an existing task from disk
243
+ # task = datamodel.Task.load_from_file("path/to/task.kiln")
244
+
245
+ # Step 1.B: Create a new task in code, without saving to disk.
246
+ task = datamodel.Task(
247
+ name="test task",
248
+ instruction="Tell a joke, given a subject.",
249
+ )
250
+ # replace with a valid JSON schema https://json-schema.org for your task (json string, not a python dict).
251
+ # Or delete this line to use plaintext output
252
+ task.output_json_schema = json_joke_schema
253
+
254
+ # Step 2: Create an Adapter to run the task, with a specific model and provider
255
+ adapter = adapter_for_task(task, model_name="llama_3_1_8b", provider="groq")
256
+
257
+ # Step 3: Invoke the Adapter to run the task
258
+ task_input = "cows"
259
+ response = await adapter.invoke(task_input)
260
+ print(f"Output: {response.output.output}")
261
+
262
+ # Step 4 (optional): Load the task from disk and print the results.
263
+ # This will only work if the task was loaded from disk, or you called task.save_to_file() before invoking the adapter (ephemeral tasks don't save their result to disk)
264
+ task = datamodel.Task.load_from_file(tmp_path / "test_task.kiln")
265
+ for run in task.runs():
266
+ print(f"Run: {run.id}")
267
+ print(f"Input: {run.input}")
268
+ print(f"Output: {run.output}")
269
+
270
+ ```
271
+
272
+ ### Adding Custom Model or AI Provider from Code
273
+
274
+ You can add additional AI models and providers to Kiln.
275
+
276
+ See our docs for more information, including how to add these from the UI:
277
+
278
+ - [Custom Models From Existing Providers](https://docs.getkiln.ai/docs/models-and-ai-providers#custom-models-from-existing-providers)
279
+ - [Custom OpenAI Compatible Servers](https://docs.getkiln.ai/docs/models-and-ai-providers#custom-openai-compatible-servers)
280
+
281
+ You can also add these from code. The kiln_ai.utils.Config class helps you manage the Kiln config file (stored at `~/.kiln_settings/config.yaml`):
282
+
283
+ ```python
284
+ # Addding an OpenAI compatible provider
285
+ name = "CustomOllama"
286
+ base_url = "http://localhost:1234/api/v1"
287
+ api_key = "12345"
288
+ providers = Config.shared().openai_compatible_providers or []
289
+ existing_provider = next((p for p in providers if p["name"] == name), None)
290
+ if existing_provider:
291
+ # skip since this already exists
292
+ return
293
+ providers.append(
294
+ {
295
+ "name": name,
296
+ "base_url": base_url,
297
+ "api_key": api_key,
298
+ }
299
+ )
300
+ Config.shared().openai_compatible_providers = providers
301
+ ```
302
+
303
+ ```python
304
+ # Add a custom model ID to an existing provider.
305
+ new_model = "openai::gpt-3.5-turbo"
306
+ custom_model_ids = Config.shared().custom_models
307
+ existing_model = next((m for m in custom_model_ids if m == new_model), None)
308
+ if existing_model:
309
+ # skip since this already exists
310
+ return
311
+ custom_model_ids.append(new_model)
312
+ Config.shared().custom_models = custom_model_ids
313
+ ```
314
+
235
315
  ## Full API Reference
236
316
 
237
317
  The library can do a lot more than the examples we've shown here.
@@ -39,6 +39,8 @@ 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)
43
+ - [Adding Custom Model or AI Provider from Code](#adding-custom-model-or-ai-provider-from-code)
42
44
  - [Full API Reference](#full-api-reference)
43
45
 
44
46
  ## Installation
@@ -200,6 +202,84 @@ final_df = pd.concat(dfs, ignore_index=True)
200
202
  print(final_df)
201
203
  ```
202
204
 
205
+ ### Building and Running a Kiln Task from Code
206
+
207
+ ```python
208
+ # Step 1: Create or Load a Task -- choose one of the following 1.A or 1.B
209
+
210
+ # Step 1.A: Optionally load an existing task from disk
211
+ # task = datamodel.Task.load_from_file("path/to/task.kiln")
212
+
213
+ # Step 1.B: Create a new task in code, without saving to disk.
214
+ task = datamodel.Task(
215
+ name="test task",
216
+ instruction="Tell a joke, given a subject.",
217
+ )
218
+ # replace with a valid JSON schema https://json-schema.org for your task (json string, not a python dict).
219
+ # Or delete this line to use plaintext output
220
+ task.output_json_schema = json_joke_schema
221
+
222
+ # Step 2: Create an Adapter to run the task, with a specific model and provider
223
+ adapter = adapter_for_task(task, model_name="llama_3_1_8b", provider="groq")
224
+
225
+ # Step 3: Invoke the Adapter to run the task
226
+ task_input = "cows"
227
+ response = await adapter.invoke(task_input)
228
+ print(f"Output: {response.output.output}")
229
+
230
+ # Step 4 (optional): Load the task from disk and print the results.
231
+ # This will only work if the task was loaded from disk, or you called task.save_to_file() before invoking the adapter (ephemeral tasks don't save their result to disk)
232
+ task = datamodel.Task.load_from_file(tmp_path / "test_task.kiln")
233
+ for run in task.runs():
234
+ print(f"Run: {run.id}")
235
+ print(f"Input: {run.input}")
236
+ print(f"Output: {run.output}")
237
+
238
+ ```
239
+
240
+ ### Adding Custom Model or AI Provider from Code
241
+
242
+ You can add additional AI models and providers to Kiln.
243
+
244
+ See our docs for more information, including how to add these from the UI:
245
+
246
+ - [Custom Models From Existing Providers](https://docs.getkiln.ai/docs/models-and-ai-providers#custom-models-from-existing-providers)
247
+ - [Custom OpenAI Compatible Servers](https://docs.getkiln.ai/docs/models-and-ai-providers#custom-openai-compatible-servers)
248
+
249
+ You can also add these from code. The kiln_ai.utils.Config class helps you manage the Kiln config file (stored at `~/.kiln_settings/config.yaml`):
250
+
251
+ ```python
252
+ # Addding an OpenAI compatible provider
253
+ name = "CustomOllama"
254
+ base_url = "http://localhost:1234/api/v1"
255
+ api_key = "12345"
256
+ providers = Config.shared().openai_compatible_providers or []
257
+ existing_provider = next((p for p in providers if p["name"] == name), None)
258
+ if existing_provider:
259
+ # skip since this already exists
260
+ return
261
+ providers.append(
262
+ {
263
+ "name": name,
264
+ "base_url": base_url,
265
+ "api_key": api_key,
266
+ }
267
+ )
268
+ Config.shared().openai_compatible_providers = providers
269
+ ```
270
+
271
+ ```python
272
+ # Add a custom model ID to an existing provider.
273
+ new_model = "openai::gpt-3.5-turbo"
274
+ custom_model_ids = Config.shared().custom_models
275
+ existing_model = next((m for m in custom_model_ids if m == new_model), None)
276
+ if existing_model:
277
+ # skip since this already exists
278
+ return
279
+ custom_model_ids.append(new_model)
280
+ Config.shared().custom_models = custom_model_ids
281
+ ```
282
+
203
283
  ## Full API Reference
204
284
 
205
285
  The library can do a lot more than the examples we've shown here.
@@ -127,6 +127,9 @@
127
127
  </ul>
128
128
 
129
129
  </li>
130
+ <li>
131
+ <a class="function" href="#wrap_task_with_guidance">wrap_task_with_guidance</a>
132
+ </li>
130
133
  </ul>
131
134
 
132
135
 
@@ -205,7 +208,7 @@
205
208
  </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
209
  </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
210
  </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>
211
+ </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
212
  </span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="p">)</span>
210
213
  </span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a>
211
214
  </span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a>
@@ -282,7 +285,7 @@
282
285
  </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
286
  </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
287
  </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>
288
+ </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
289
  </span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="p">)</span>
287
290
  </span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a>
288
291
  </span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a>
@@ -333,6 +336,24 @@
333
336
  </span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="n">input_json_schema</span><span class="o">=</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">DataGenSampleTaskInput</span><span class="o">.</span><span class="n">model_json_schema</span><span class="p">()),</span>
334
337
  </span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="n">output_json_schema</span><span class="o">=</span><span class="n">list_json_schema_for_task</span><span class="p">(</span><span class="n">target_task</span><span class="p">),</span>
335
338
  </span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="p">)</span>
339
+ </span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a>
340
+ </span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a>
341
+ </span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a><span class="k">def</span> <span class="nf">wrap_task_with_guidance</span><span class="p">(</span><span class="n">original_instruction</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">guidance</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
342
+ </span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Wrap the original instruction with human guidance.</span>
343
+ </span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a>
344
+ </span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a><span class="sd"> Args:</span>
345
+ </span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a><span class="sd"> original_instruction: The original instruction to wrap</span>
346
+ </span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a><span class="sd"> guidance: The human guidance to wrap the instruction with</span>
347
+ </span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a><span class="sd"> &quot;&quot;&quot;</span>
348
+ </span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;&quot;&quot;</span><span class="si">{</span><span class="n">original_instruction</span><span class="si">}</span>
349
+ </span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a>
350
+ </span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a><span class="s2"># Special Instructions</span>
351
+ </span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a>
352
+ </span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a><span class="s2">The above instructions are the original instructions for this task. For this execution, we&#39;ve been given additional instructions. Follow both, but prioritize the additional instructions when they conflict. The additional instructions are:</span>
353
+ </span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a><span class="s2">&lt;additional_instructions&gt;</span>
354
+ </span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a><span class="si">{</span><span class="n">guidance</span><span class="si">}</span>
355
+ </span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a><span class="s2">&lt;/additional_instructions&gt;</span>
356
+ </span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a><span class="s2">&quot;&quot;&quot;</span>
336
357
  </span></pre></div>
337
358
 
338
359
 
@@ -392,7 +413,7 @@
392
413
  </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
414
  </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
415
  </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>
416
+ </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
417
  </span><span id="DataGenCategoriesTaskInput-60"><a href="#DataGenCategoriesTaskInput-60"><span class="linenos">60</span></a> <span class="p">)</span>
397
418
  </span></pre></div>
398
419
 
@@ -502,7 +523,7 @@
502
523
  </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
524
  </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
525
  </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>
526
+ </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
527
  </span><span id="DataGenCategoriesTaskInput.from_task-60"><a href="#DataGenCategoriesTaskInput.from_task-60"><span class="linenos">60</span></a> <span class="p">)</span>
507
528
  </span></pre></div>
508
529
 
@@ -597,7 +618,7 @@
597
618
  <div class="attr class">
598
619
 
599
620
  <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>):
621
+ <span class="name">DataGenCategoriesTask</span><wbr>(<span class="base">kiln_ai.datamodel.task.Task</span>):
601
622
 
602
623
  <label class="view-source-button" for="DataGenCategoriesTask-view-source"><span>View Source</span></label>
603
624
 
@@ -713,63 +734,6 @@ method.</p>
713
734
 
714
735
 
715
736
  </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
737
  </section>
774
738
  <section id="DataGenSampleTaskInput">
775
739
  <input id="DataGenSampleTaskInput-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
@@ -821,7 +785,7 @@ method.</p>
821
785
  </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
786
  </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
787
  </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>
788
+ </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
789
  </span><span id="DataGenSampleTaskInput-137"><a href="#DataGenSampleTaskInput-137"><span class="linenos">137</span></a> <span class="p">)</span>
826
790
  </span></pre></div>
827
791
 
@@ -916,7 +880,7 @@ method.</p>
916
880
  </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
881
  </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
882
  </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>
883
+ </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
884
  </span><span id="DataGenSampleTaskInput.from_task-137"><a href="#DataGenSampleTaskInput.from_task-137"><span class="linenos">137</span></a> <span class="p">)</span>
921
885
  </span></pre></div>
922
886
 
@@ -1008,7 +972,7 @@ method.</p>
1008
972
  <div class="attr class">
1009
973
 
1010
974
  <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>):
975
+ <span class="name">DataGenSampleTask</span><wbr>(<span class="base">kiln_ai.datamodel.task.Task</span>):
1012
976
 
1013
977
  <label class="view-source-button" for="DataGenSampleTask-view-source"><span>View Source</span></label>
1014
978
 
@@ -1114,63 +1078,45 @@ method.</p>
1114
1078
 
1115
1079
 
1116
1080
  </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>
1081
+ </section>
1082
+ <section id="wrap_task_with_guidance">
1083
+ <input id="wrap_task_with_guidance-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
1084
+ <div class="attr function">
1085
+
1086
+ <span class="def">def</span>
1087
+ <span class="name">wrap_task_with_guidance</span><span class="signature pdoc-code condensed">(<span class="param"><span class="n">original_instruction</span><span class="p">:</span> <span class="nb">str</span>, </span><span class="param"><span class="n">guidance</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
1088
+
1089
+ <label class="view-source-button" for="wrap_task_with_guidance-view-source"><span>View Source</span></label>
1090
+
1091
+ </div>
1092
+ <a class="headerlink" href="#wrap_task_with_guidance"></a>
1093
+ <div class="pdoc-code codehilite"><pre><span></span><span id="wrap_task_with_guidance-189"><a href="#wrap_task_with_guidance-189"><span class="linenos">189</span></a><span class="k">def</span> <span class="nf">wrap_task_with_guidance</span><span class="p">(</span><span class="n">original_instruction</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">guidance</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
1094
+ </span><span id="wrap_task_with_guidance-190"><a href="#wrap_task_with_guidance-190"><span class="linenos">190</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Wrap the original instruction with human guidance.</span>
1095
+ </span><span id="wrap_task_with_guidance-191"><a href="#wrap_task_with_guidance-191"><span class="linenos">191</span></a>
1096
+ </span><span id="wrap_task_with_guidance-192"><a href="#wrap_task_with_guidance-192"><span class="linenos">192</span></a><span class="sd"> Args:</span>
1097
+ </span><span id="wrap_task_with_guidance-193"><a href="#wrap_task_with_guidance-193"><span class="linenos">193</span></a><span class="sd"> original_instruction: The original instruction to wrap</span>
1098
+ </span><span id="wrap_task_with_guidance-194"><a href="#wrap_task_with_guidance-194"><span class="linenos">194</span></a><span class="sd"> guidance: The human guidance to wrap the instruction with</span>
1099
+ </span><span id="wrap_task_with_guidance-195"><a href="#wrap_task_with_guidance-195"><span class="linenos">195</span></a><span class="sd"> &quot;&quot;&quot;</span>
1100
+ </span><span id="wrap_task_with_guidance-196"><a href="#wrap_task_with_guidance-196"><span class="linenos">196</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;&quot;&quot;</span><span class="si">{</span><span class="n">original_instruction</span><span class="si">}</span>
1101
+ </span><span id="wrap_task_with_guidance-197"><a href="#wrap_task_with_guidance-197"><span class="linenos">197</span></a>
1102
+ </span><span id="wrap_task_with_guidance-198"><a href="#wrap_task_with_guidance-198"><span class="linenos">198</span></a><span class="s2"># Special Instructions</span>
1103
+ </span><span id="wrap_task_with_guidance-199"><a href="#wrap_task_with_guidance-199"><span class="linenos">199</span></a>
1104
+ </span><span id="wrap_task_with_guidance-200"><a href="#wrap_task_with_guidance-200"><span class="linenos">200</span></a><span class="s2">The above instructions are the original instructions for this task. For this execution, we&#39;ve been given additional instructions. Follow both, but prioritize the additional instructions when they conflict. The additional instructions are:</span>
1105
+ </span><span id="wrap_task_with_guidance-201"><a href="#wrap_task_with_guidance-201"><span class="linenos">201</span></a><span class="s2">&lt;additional_instructions&gt;</span>
1106
+ </span><span id="wrap_task_with_guidance-202"><a href="#wrap_task_with_guidance-202"><span class="linenos">202</span></a><span class="si">{</span><span class="n">guidance</span><span class="si">}</span>
1107
+ </span><span id="wrap_task_with_guidance-203"><a href="#wrap_task_with_guidance-203"><span class="linenos">203</span></a><span class="s2">&lt;/additional_instructions&gt;</span>
1108
+ </span><span id="wrap_task_with_guidance-204"><a href="#wrap_task_with_guidance-204"><span class="linenos">204</span></a><span class="s2">&quot;&quot;&quot;</span>
1109
+ </span></pre></div>
1110
+
1111
+
1112
+ <div class="docstring"><p>Wrap the original instruction with human guidance.</p>
1113
+
1114
+ <p>Args:
1115
+ original_instruction: The original instruction to wrap
1116
+ guidance: The human guidance to wrap the instruction with</p>
1117
+ </div>
1118
+
1119
+
1174
1120
  </section>
1175
1121
  </main>
1176
1122
  <script>