kiln-ai 0.11.1__py3-none-any.whl → 0.13.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kiln-ai might be problematic. Click here for more details.
- kiln_ai/adapters/__init__.py +4 -0
- kiln_ai/adapters/adapter_registry.py +163 -39
- kiln_ai/adapters/data_gen/data_gen_task.py +18 -0
- kiln_ai/adapters/eval/__init__.py +28 -0
- kiln_ai/adapters/eval/base_eval.py +164 -0
- kiln_ai/adapters/eval/eval_runner.py +270 -0
- kiln_ai/adapters/eval/g_eval.py +368 -0
- kiln_ai/adapters/eval/registry.py +16 -0
- kiln_ai/adapters/eval/test_base_eval.py +325 -0
- kiln_ai/adapters/eval/test_eval_runner.py +641 -0
- kiln_ai/adapters/eval/test_g_eval.py +498 -0
- kiln_ai/adapters/eval/test_g_eval_data.py +4 -0
- kiln_ai/adapters/fine_tune/base_finetune.py +16 -2
- kiln_ai/adapters/fine_tune/finetune_registry.py +2 -0
- kiln_ai/adapters/fine_tune/test_dataset_formatter.py +4 -1
- kiln_ai/adapters/fine_tune/test_fireworks_tinetune.py +1 -1
- kiln_ai/adapters/fine_tune/test_openai_finetune.py +1 -1
- kiln_ai/adapters/fine_tune/test_together_finetune.py +531 -0
- kiln_ai/adapters/fine_tune/together_finetune.py +325 -0
- kiln_ai/adapters/ml_model_list.py +758 -163
- kiln_ai/adapters/model_adapters/__init__.py +2 -4
- kiln_ai/adapters/model_adapters/base_adapter.py +61 -43
- kiln_ai/adapters/model_adapters/litellm_adapter.py +391 -0
- kiln_ai/adapters/model_adapters/litellm_config.py +13 -0
- kiln_ai/adapters/model_adapters/test_base_adapter.py +22 -13
- kiln_ai/adapters/model_adapters/test_litellm_adapter.py +407 -0
- kiln_ai/adapters/model_adapters/test_saving_adapter_results.py +41 -19
- kiln_ai/adapters/model_adapters/test_structured_output.py +59 -35
- kiln_ai/adapters/ollama_tools.py +3 -3
- kiln_ai/adapters/parsers/r1_parser.py +19 -14
- kiln_ai/adapters/parsers/test_r1_parser.py +17 -5
- kiln_ai/adapters/prompt_builders.py +80 -42
- kiln_ai/adapters/provider_tools.py +50 -58
- kiln_ai/adapters/repair/repair_task.py +9 -21
- kiln_ai/adapters/repair/test_repair_task.py +6 -6
- kiln_ai/adapters/run_output.py +3 -0
- kiln_ai/adapters/test_adapter_registry.py +26 -29
- kiln_ai/adapters/test_generate_docs.py +4 -4
- kiln_ai/adapters/test_ollama_tools.py +0 -1
- kiln_ai/adapters/test_prompt_adaptors.py +47 -33
- kiln_ai/adapters/test_prompt_builders.py +91 -31
- kiln_ai/adapters/test_provider_tools.py +26 -81
- kiln_ai/datamodel/__init__.py +50 -952
- kiln_ai/datamodel/basemodel.py +2 -0
- kiln_ai/datamodel/datamodel_enums.py +60 -0
- kiln_ai/datamodel/dataset_filters.py +114 -0
- kiln_ai/datamodel/dataset_split.py +170 -0
- kiln_ai/datamodel/eval.py +298 -0
- kiln_ai/datamodel/finetune.py +105 -0
- kiln_ai/datamodel/json_schema.py +7 -1
- kiln_ai/datamodel/project.py +23 -0
- kiln_ai/datamodel/prompt.py +37 -0
- kiln_ai/datamodel/prompt_id.py +83 -0
- kiln_ai/datamodel/strict_mode.py +24 -0
- kiln_ai/datamodel/task.py +181 -0
- kiln_ai/datamodel/task_output.py +328 -0
- kiln_ai/datamodel/task_run.py +164 -0
- kiln_ai/datamodel/test_basemodel.py +19 -11
- kiln_ai/datamodel/test_dataset_filters.py +71 -0
- kiln_ai/datamodel/test_dataset_split.py +32 -8
- kiln_ai/datamodel/test_datasource.py +22 -2
- kiln_ai/datamodel/test_eval_model.py +635 -0
- kiln_ai/datamodel/test_example_models.py +9 -13
- kiln_ai/datamodel/test_json_schema.py +23 -0
- kiln_ai/datamodel/test_models.py +2 -2
- kiln_ai/datamodel/test_prompt_id.py +129 -0
- kiln_ai/datamodel/test_task.py +159 -0
- kiln_ai/utils/config.py +43 -1
- kiln_ai/utils/dataset_import.py +232 -0
- kiln_ai/utils/test_dataset_import.py +596 -0
- {kiln_ai-0.11.1.dist-info → kiln_ai-0.13.0.dist-info}/METADATA +86 -6
- kiln_ai-0.13.0.dist-info/RECORD +103 -0
- kiln_ai/adapters/model_adapters/langchain_adapters.py +0 -302
- kiln_ai/adapters/model_adapters/openai_compatible_config.py +0 -11
- kiln_ai/adapters/model_adapters/openai_model_adapter.py +0 -246
- kiln_ai/adapters/model_adapters/test_langchain_adapter.py +0 -350
- kiln_ai/adapters/model_adapters/test_openai_model_adapter.py +0 -225
- kiln_ai-0.11.1.dist-info/RECORD +0 -76
- {kiln_ai-0.11.1.dist-info → kiln_ai-0.13.0.dist-info}/WHEEL +0 -0
- {kiln_ai-0.11.1.dist-info → kiln_ai-0.13.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
from unittest.mock import Mock, patch
|
|
3
|
-
|
|
4
|
-
import pytest
|
|
5
|
-
from openai import AsyncOpenAI
|
|
6
|
-
|
|
7
|
-
from kiln_ai.adapters.ml_model_list import StructuredOutputMode
|
|
8
|
-
from kiln_ai.adapters.model_adapters.base_adapter import AdapterInfo, BasePromptBuilder
|
|
9
|
-
from kiln_ai.adapters.model_adapters.openai_compatible_config import (
|
|
10
|
-
OpenAICompatibleConfig,
|
|
11
|
-
)
|
|
12
|
-
from kiln_ai.adapters.model_adapters.openai_model_adapter import OpenAICompatibleAdapter
|
|
13
|
-
from kiln_ai.datamodel import Project, Task
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.fixture
|
|
17
|
-
def mock_task(tmp_path):
|
|
18
|
-
# Create a project first since Task requires a parent
|
|
19
|
-
project_path = tmp_path / "test_project" / "project.kiln"
|
|
20
|
-
project_path.parent.mkdir()
|
|
21
|
-
|
|
22
|
-
project = Project(name="Test Project", path=str(project_path))
|
|
23
|
-
project.save_to_file()
|
|
24
|
-
|
|
25
|
-
schema = {
|
|
26
|
-
"type": "object",
|
|
27
|
-
"properties": {"test": {"type": "string"}},
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
task = Task(
|
|
31
|
-
name="Test Task",
|
|
32
|
-
instruction="Test instruction",
|
|
33
|
-
parent=project,
|
|
34
|
-
output_json_schema=json.dumps(schema),
|
|
35
|
-
)
|
|
36
|
-
task.save_to_file()
|
|
37
|
-
return task
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
@pytest.fixture
|
|
41
|
-
def mock_prompt_builder():
|
|
42
|
-
builder = Mock(spec=BasePromptBuilder)
|
|
43
|
-
type(builder).prompt_builder_name = Mock(return_value="test_prompt_builder")
|
|
44
|
-
builder.prompt_id = Mock(return_value="test_prompt_id")
|
|
45
|
-
return builder
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
@pytest.fixture
|
|
49
|
-
def config():
|
|
50
|
-
return OpenAICompatibleConfig(
|
|
51
|
-
api_key="test_key",
|
|
52
|
-
base_url="https://api.test.com",
|
|
53
|
-
model_name="test-model",
|
|
54
|
-
provider_name="test-provider",
|
|
55
|
-
default_headers={"X-Test": "test"},
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def test_initialization(config, mock_task, mock_prompt_builder):
|
|
60
|
-
adapter = OpenAICompatibleAdapter(
|
|
61
|
-
config=config,
|
|
62
|
-
kiln_task=mock_task,
|
|
63
|
-
prompt_builder=mock_prompt_builder,
|
|
64
|
-
tags=["test-tag"],
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
assert isinstance(adapter.client, AsyncOpenAI)
|
|
68
|
-
assert adapter.config == config
|
|
69
|
-
assert adapter.kiln_task == mock_task
|
|
70
|
-
assert adapter.prompt_builder == mock_prompt_builder
|
|
71
|
-
assert adapter.default_tags == ["test-tag"]
|
|
72
|
-
assert adapter.model_name == config.model_name
|
|
73
|
-
assert adapter.model_provider_name == config.provider_name
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def test_adapter_info(config, mock_task, mock_prompt_builder):
|
|
77
|
-
adapter = OpenAICompatibleAdapter(
|
|
78
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
info = adapter.adapter_info()
|
|
82
|
-
assert isinstance(info, AdapterInfo)
|
|
83
|
-
assert info.model_name == config.model_name
|
|
84
|
-
assert info.model_provider == config.provider_name
|
|
85
|
-
assert info.adapter_name == "kiln_openai_compatible_adapter"
|
|
86
|
-
assert info.prompt_builder_name == "base_prompt_builder"
|
|
87
|
-
assert info.prompt_id == "test_prompt_id"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
@pytest.mark.asyncio
|
|
91
|
-
async def test_response_format_options_unstructured(
|
|
92
|
-
config, mock_task, mock_prompt_builder
|
|
93
|
-
):
|
|
94
|
-
adapter = OpenAICompatibleAdapter(
|
|
95
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
# Mock has_structured_output to return False
|
|
99
|
-
with patch.object(adapter, "has_structured_output", return_value=False):
|
|
100
|
-
options = await adapter.response_format_options()
|
|
101
|
-
assert options == {}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
@pytest.mark.parametrize(
|
|
105
|
-
"mode",
|
|
106
|
-
[
|
|
107
|
-
StructuredOutputMode.json_mode,
|
|
108
|
-
StructuredOutputMode.json_instruction_and_object,
|
|
109
|
-
],
|
|
110
|
-
)
|
|
111
|
-
@pytest.mark.asyncio
|
|
112
|
-
async def test_response_format_options_json_mode(
|
|
113
|
-
config, mock_task, mock_prompt_builder, mode
|
|
114
|
-
):
|
|
115
|
-
adapter = OpenAICompatibleAdapter(
|
|
116
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
117
|
-
)
|
|
118
|
-
|
|
119
|
-
with (
|
|
120
|
-
patch.object(adapter, "has_structured_output", return_value=True),
|
|
121
|
-
patch.object(adapter, "model_provider") as mock_provider,
|
|
122
|
-
):
|
|
123
|
-
mock_provider.return_value.structured_output_mode = mode
|
|
124
|
-
|
|
125
|
-
options = await adapter.response_format_options()
|
|
126
|
-
assert options == {"response_format": {"type": "json_object"}}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
@pytest.mark.parametrize(
|
|
130
|
-
"mode",
|
|
131
|
-
[
|
|
132
|
-
StructuredOutputMode.default,
|
|
133
|
-
StructuredOutputMode.function_calling,
|
|
134
|
-
],
|
|
135
|
-
)
|
|
136
|
-
@pytest.mark.asyncio
|
|
137
|
-
async def test_response_format_options_function_calling(
|
|
138
|
-
config, mock_task, mock_prompt_builder, mode
|
|
139
|
-
):
|
|
140
|
-
adapter = OpenAICompatibleAdapter(
|
|
141
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
142
|
-
)
|
|
143
|
-
|
|
144
|
-
with (
|
|
145
|
-
patch.object(adapter, "has_structured_output", return_value=True),
|
|
146
|
-
patch.object(adapter, "model_provider") as mock_provider,
|
|
147
|
-
):
|
|
148
|
-
mock_provider.return_value.structured_output_mode = mode
|
|
149
|
-
|
|
150
|
-
options = await adapter.response_format_options()
|
|
151
|
-
assert "tools" in options
|
|
152
|
-
# full tool structure validated below
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
@pytest.mark.asyncio
|
|
156
|
-
async def test_response_format_options_json_instructions(
|
|
157
|
-
config, mock_task, mock_prompt_builder
|
|
158
|
-
):
|
|
159
|
-
adapter = OpenAICompatibleAdapter(
|
|
160
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
161
|
-
)
|
|
162
|
-
|
|
163
|
-
with (
|
|
164
|
-
patch.object(adapter, "has_structured_output", return_value=True),
|
|
165
|
-
patch.object(adapter, "model_provider") as mock_provider,
|
|
166
|
-
):
|
|
167
|
-
mock_provider.return_value.structured_output_mode = (
|
|
168
|
-
StructuredOutputMode.json_instructions
|
|
169
|
-
)
|
|
170
|
-
options = await adapter.response_format_options()
|
|
171
|
-
assert options == {}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
@pytest.mark.asyncio
|
|
175
|
-
async def test_response_format_options_json_schema(
|
|
176
|
-
config, mock_task, mock_prompt_builder
|
|
177
|
-
):
|
|
178
|
-
adapter = OpenAICompatibleAdapter(
|
|
179
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
180
|
-
)
|
|
181
|
-
|
|
182
|
-
with (
|
|
183
|
-
patch.object(adapter, "has_structured_output", return_value=True),
|
|
184
|
-
patch.object(adapter, "model_provider") as mock_provider,
|
|
185
|
-
):
|
|
186
|
-
mock_provider.return_value.structured_output_mode = (
|
|
187
|
-
StructuredOutputMode.json_schema
|
|
188
|
-
)
|
|
189
|
-
options = await adapter.response_format_options()
|
|
190
|
-
assert options == {
|
|
191
|
-
"response_format": {
|
|
192
|
-
"type": "json_schema",
|
|
193
|
-
"json_schema": {
|
|
194
|
-
"name": "task_response",
|
|
195
|
-
"schema": mock_task.output_schema(),
|
|
196
|
-
},
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
def test_tool_call_params(config, mock_task, mock_prompt_builder):
|
|
202
|
-
adapter = OpenAICompatibleAdapter(
|
|
203
|
-
config=config, kiln_task=mock_task, prompt_builder=mock_prompt_builder
|
|
204
|
-
)
|
|
205
|
-
|
|
206
|
-
params = adapter.tool_call_params()
|
|
207
|
-
expected_schema = mock_task.output_schema()
|
|
208
|
-
expected_schema["additionalProperties"] = False
|
|
209
|
-
|
|
210
|
-
assert params == {
|
|
211
|
-
"tools": [
|
|
212
|
-
{
|
|
213
|
-
"type": "function",
|
|
214
|
-
"function": {
|
|
215
|
-
"name": "task_response",
|
|
216
|
-
"parameters": expected_schema,
|
|
217
|
-
"strict": True,
|
|
218
|
-
},
|
|
219
|
-
}
|
|
220
|
-
],
|
|
221
|
-
"tool_choice": {
|
|
222
|
-
"type": "function",
|
|
223
|
-
"function": {"name": "task_response"},
|
|
224
|
-
},
|
|
225
|
-
}
|
kiln_ai-0.11.1.dist-info/RECORD
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
kiln_ai/__init__.py,sha256=Sc4z8LRVFMwJUoc_DPVUriSXTZ6PO9MaJ80PhRbKyB8,34
|
|
2
|
-
kiln_ai/adapters/__init__.py,sha256=4qEnFkkRSHPKDU7AvYNkqXECjZO_K7PzDCK3HbsY7o4,902
|
|
3
|
-
kiln_ai/adapters/adapter_registry.py,sha256=C4ayYVXRClj5-EEEpJEuMEMesbrJgPxz5yRBv6cyLGQ,3697
|
|
4
|
-
kiln_ai/adapters/ml_model_list.py,sha256=4V6IinAhgYcGba3Kw3Ps2pJcHv5v7NC6Ob-8JN7fh3Y,36240
|
|
5
|
-
kiln_ai/adapters/ollama_tools.py,sha256=0Of6ySbJ2d4j--9laOL6QKgRUQSrqX8dJUIrz20n59s,3561
|
|
6
|
-
kiln_ai/adapters/prompt_builders.py,sha256=gnBf4SI_uz6W9gpkRaKOK9oHQX6eTjdSbKX-Tpaj2gQ,13906
|
|
7
|
-
kiln_ai/adapters/provider_tools.py,sha256=CGNLW0xhFyj93HFwznCoDrrbyQbQAaS2mJuOKaMB6gU,14435
|
|
8
|
-
kiln_ai/adapters/run_output.py,sha256=jANUFb_O_P47aWyA_YjLSl2y0Z7QFWPEUsOGE54BGY4,159
|
|
9
|
-
kiln_ai/adapters/test_adapter_registry.py,sha256=obzcaifFLbgcokJwOCrhBe3IU-U3v4rPVBZya7p_hUM,6209
|
|
10
|
-
kiln_ai/adapters/test_generate_docs.py,sha256=a0eO4fJdHhmvhB7aM3FW4nPYw-fqy1s5B6ZVDPRZtpQ,2730
|
|
11
|
-
kiln_ai/adapters/test_ollama_tools.py,sha256=2KwYVaj3ySV3ld-z51TCGbJEMdb3MZj2eoEicIWz3Q4,2552
|
|
12
|
-
kiln_ai/adapters/test_prompt_adaptors.py,sha256=Z-eGy206sDDXhsfngUOuYEUnaerPDOrQb64hipRxfW4,7550
|
|
13
|
-
kiln_ai/adapters/test_prompt_builders.py,sha256=I6d888fIFDYzIp8DbnDWCrbRj8nlieLVrgiZzgqMV0s,20200
|
|
14
|
-
kiln_ai/adapters/test_provider_tools.py,sha256=DtnC6oFuiBvvbhD-kdCcWzEYqXZfMBM_DexuQdyAVR8,28664
|
|
15
|
-
kiln_ai/adapters/data_gen/__init__.py,sha256=QTZWaf7kq5BorhPvexJfwDEKmjRmIbhwW9ei8LW2SIs,276
|
|
16
|
-
kiln_ai/adapters/data_gen/data_gen_prompts.py,sha256=kudjHnAz7L3q0k_NLyTlaIV7M0uRFrxXNcfcnjOE2uc,5810
|
|
17
|
-
kiln_ai/adapters/data_gen/data_gen_task.py,sha256=0v7ufvuSeY5j-HerfrqXuCo30SYlS6EFIiVyiJM9xj0,5986
|
|
18
|
-
kiln_ai/adapters/data_gen/test_data_gen_task.py,sha256=cRKUKMvC0uVompbmPTKwbnQ_N3c0cQDm4J_9H4Y5U18,10129
|
|
19
|
-
kiln_ai/adapters/fine_tune/__init__.py,sha256=DxdTR60chwgck1aEoVYWyfWi6Ed2ZkdJj0lar-SEAj4,257
|
|
20
|
-
kiln_ai/adapters/fine_tune/base_finetune.py,sha256=n3mfE_3bhhzmN_MQxO5qNezN-qpl4WFamZ3ih41dx4o,6069
|
|
21
|
-
kiln_ai/adapters/fine_tune/dataset_formatter.py,sha256=qRhSSkMhTWn13OMb6LKPVwAU7uY4bB49GDiVSuhDkNg,14449
|
|
22
|
-
kiln_ai/adapters/fine_tune/finetune_registry.py,sha256=H1B-opCTlIyd9JlIFTKsY_ctxUX9ziEc49_gnmg1SZg,483
|
|
23
|
-
kiln_ai/adapters/fine_tune/fireworks_finetune.py,sha256=6IfTDn_8tg6PR0OFudRx6V7Wjvf4P7t0fm_xyRwII68,13978
|
|
24
|
-
kiln_ai/adapters/fine_tune/openai_finetune.py,sha256=Dz9E_0BWfrIkvv8ArZe-RKPwbIKPZ3v8rfbc3JELyTY,8571
|
|
25
|
-
kiln_ai/adapters/fine_tune/test_base_finetune.py,sha256=0zWxFYrDGVuoQNQmi9vVUEkBc4mstfHnsUjQmiJA-sE,10864
|
|
26
|
-
kiln_ai/adapters/fine_tune/test_dataset_formatter.py,sha256=wknJZDgkoj61O1TO5_HLTSdKZjvb78pmTyBRUBfCtYw,23968
|
|
27
|
-
kiln_ai/adapters/fine_tune/test_fireworks_tinetune.py,sha256=qQCBUa6kje0P83vH7MWioVQ7IVPti_TFdJG_QaBwqjY,18105
|
|
28
|
-
kiln_ai/adapters/fine_tune/test_openai_finetune.py,sha256=-QHKNr5LICTOoCDavGxAUnWoAWvL3eMWHywpMf69n1U,19972
|
|
29
|
-
kiln_ai/adapters/model_adapters/__init__.py,sha256=FyNq-twr1zQR55Hd_sDlTcVZ8JsZ9jrIBBURtZNjlss,272
|
|
30
|
-
kiln_ai/adapters/model_adapters/base_adapter.py,sha256=f91QR2mmn3x6bTfRFbgWe6N47aIB8ABpQjgv8Scru5Y,9183
|
|
31
|
-
kiln_ai/adapters/model_adapters/langchain_adapters.py,sha256=JCCaXSFgtiNkr67tv4DRZRdmxGvq2JOkrQdC7H__ybw,12606
|
|
32
|
-
kiln_ai/adapters/model_adapters/openai_compatible_config.py,sha256=o7Ae2uWm1bdqOZaSBbsjH1CH9bnSa1woqTHvP8ds0mY,286
|
|
33
|
-
kiln_ai/adapters/model_adapters/openai_model_adapter.py,sha256=nSr_IcubCB7Dk6zkXsjvLrTAvnTedvHpXPZekiYK_cg,9545
|
|
34
|
-
kiln_ai/adapters/model_adapters/test_base_adapter.py,sha256=rRN76HPepuXKmAEzZCJjK_cHZ6rJBLQ2poYpWOpxOaE,6408
|
|
35
|
-
kiln_ai/adapters/model_adapters/test_langchain_adapter.py,sha256=UyQ-jdTFUpXHTO40nxHELIsV_YRA_RgF1xkAJ5oO-dM,12156
|
|
36
|
-
kiln_ai/adapters/model_adapters/test_openai_model_adapter.py,sha256=3pSLHug_GPRpv5C9zE_hivOsbWgs5nLohS6DxtPz1jo,6914
|
|
37
|
-
kiln_ai/adapters/model_adapters/test_saving_adapter_results.py,sha256=iIjI4Ox3wUpv6g1dcQ3zDFpma0MUqljJ_Lqbo8MbQuw,7393
|
|
38
|
-
kiln_ai/adapters/model_adapters/test_structured_output.py,sha256=BipXAzkoKZuixwG2tPyqle9INuYd3teHDP12arncaXA,11871
|
|
39
|
-
kiln_ai/adapters/parsers/__init__.py,sha256=TGJS_8JhjUwg5Bnq4cDmwt5eIRo4vowmcL2A72L1Hzk,202
|
|
40
|
-
kiln_ai/adapters/parsers/base_parser.py,sha256=DaoZVEOOuFTMZd5ZTpl_as6-xc9NPWGP2fAmP12J58M,389
|
|
41
|
-
kiln_ai/adapters/parsers/json_parser.py,sha256=IszrBrhIFrrVr76UZsuejkBdqpZG27mU72264HVgVzE,1274
|
|
42
|
-
kiln_ai/adapters/parsers/parser_registry.py,sha256=G9bAZrnWrR0a82JAQHsSqA2o7-CjrZUBANZljY_6ZxE,623
|
|
43
|
-
kiln_ai/adapters/parsers/r1_parser.py,sha256=9nMEWDAbRSTFuu_--0HMVfVg9IYSoUNQHHw9OxETlRw,2558
|
|
44
|
-
kiln_ai/adapters/parsers/test_json_parser.py,sha256=9kdWe_vRC5wjP8A1Ym6Zu6enDIz4ARCNiRpcZr7_3ak,1971
|
|
45
|
-
kiln_ai/adapters/parsers/test_parser_registry.py,sha256=S4MdX7cnhCbmeKq8tZwMwRdGWr-019Z-fw5zey9Wm08,1043
|
|
46
|
-
kiln_ai/adapters/parsers/test_r1_parser.py,sha256=Ys1ICRNVgt54rf8IEKNav5sz9zHYvvcVAUuoSwwftg8,4517
|
|
47
|
-
kiln_ai/adapters/repair/__init__.py,sha256=dOO9MEpEhjiwzDVFg3MNfA2bKMPlax9iekDatpTkX8E,217
|
|
48
|
-
kiln_ai/adapters/repair/repair_task.py,sha256=xX7GI3QZ9OEWV1BGr6OAAAFvHu3h6dYqJgOpqwRADmI,3842
|
|
49
|
-
kiln_ai/adapters/repair/test_repair_task.py,sha256=2pxEwnmJCN_z35_kTNiaFSvnTw_njRinmHV1P9Y7UQw,7974
|
|
50
|
-
kiln_ai/datamodel/__init__.py,sha256=aWGqXz4H-NGDFGBHcnArUVj3o-WgJsRACJ3QHF--8-k,36079
|
|
51
|
-
kiln_ai/datamodel/basemodel.py,sha256=TwMBfNFJ7-5bp2QOoTQUl_YVrF0pkDAk5Rdk6EWEXxI,22143
|
|
52
|
-
kiln_ai/datamodel/json_schema.py,sha256=VjjYkzy8X-QZqOQNZH6x7KitrtdcmZNttVP49iqBJAk,2817
|
|
53
|
-
kiln_ai/datamodel/model_cache.py,sha256=9X4aAigbkFdytckgw8InCMh86uBna0ME_1HJSeMPEn0,4495
|
|
54
|
-
kiln_ai/datamodel/registry.py,sha256=XwGFXJFKZtOpR1Z9ven6SftggfADdZRm8TFxCEVtfUQ,957
|
|
55
|
-
kiln_ai/datamodel/test_basemodel.py,sha256=PqBlx5gIN3DxYjDuLzmNYIp-VwMvOQ9P5hOjPfOs-9g,17813
|
|
56
|
-
kiln_ai/datamodel/test_dataset_split.py,sha256=7DXu3WaIGZ4Tyj0ahgrK7jRChDwU1eolXEdz4urkWNc,10530
|
|
57
|
-
kiln_ai/datamodel/test_datasource.py,sha256=GAiZz31qezVVPwFqnt8wHMu15WvtlV89jw8C1Ue6YNI,3165
|
|
58
|
-
kiln_ai/datamodel/test_example_models.py,sha256=ekAxweFBtkryheBFJMQvy0TkWvjNtlqBsJv3Pcu5uNE,21048
|
|
59
|
-
kiln_ai/datamodel/test_json_schema.py,sha256=vdLnTQxxrcmuSrf6iOmkrmpfh7JnxqIw4B4dbDAAcZ4,3199
|
|
60
|
-
kiln_ai/datamodel/test_model_cache.py,sha256=Fy-ucYNzS5JEG-8SFY4nVHA8iRbXXxai20f8_oGl97o,8184
|
|
61
|
-
kiln_ai/datamodel/test_model_perf.py,sha256=NdD7L8XraGkunaEKGPsfYwdcbIgdjhFanOO3G6hU158,3235
|
|
62
|
-
kiln_ai/datamodel/test_models.py,sha256=s3zjlnN3zbSjPyLfz3PDABO8msKeQXDRd4WrpkLWrOE,19274
|
|
63
|
-
kiln_ai/datamodel/test_nested_save.py,sha256=xciCddqvPyKyoyjC5Lx_3Kh1t4LJv1xYRAPazR3SRcs,5588
|
|
64
|
-
kiln_ai/datamodel/test_output_rating.py,sha256=zvPIp2shAgCs2RQBgwYoL09fRA3krHvgAqUa91RlWR0,15125
|
|
65
|
-
kiln_ai/datamodel/test_registry.py,sha256=PhS4anLi5Bf_023obuTlO5DALhtPB8WIc_bX12Yg6Po,2705
|
|
66
|
-
kiln_ai/utils/__init__.py,sha256=PTD0MwBCKAMIOGsTAwsFaJOusTJJoRFTfOGqRvCaU-E,142
|
|
67
|
-
kiln_ai/utils/config.py,sha256=u289b2AHuQoPup_vILTSpgsO29fxJyU8zy8BwADAtvs,6859
|
|
68
|
-
kiln_ai/utils/exhaustive_error.py,sha256=TkkRixIAR3CPEKHeAJzyv0mtxp6BxUBKMvobA3vzQug,262
|
|
69
|
-
kiln_ai/utils/formatting.py,sha256=VtB9oag0lOGv17dwT7OPX_3HzBfaU9GsLH-iLete0yM,97
|
|
70
|
-
kiln_ai/utils/name_generator.py,sha256=v26TgpCwQbhQFcZvzgjZvURinjrOyyFhxpsI6NQrHKc,1914
|
|
71
|
-
kiln_ai/utils/test_config.py,sha256=Jw3nMFeIgZUsZDRJJY2HpB-2EkR2NoZ-rDe_o9oA7ws,9174
|
|
72
|
-
kiln_ai/utils/test_name_geneator.py,sha256=9-hSTBshyakqlPbFnNcggwLrL7lcPTitauBYHg9jFWI,1513
|
|
73
|
-
kiln_ai-0.11.1.dist-info/METADATA,sha256=Dvlb27BCuxsJOpZHogOzrnlCYiL6FBLFCtCxu3gmee8,9217
|
|
74
|
-
kiln_ai-0.11.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
75
|
-
kiln_ai-0.11.1.dist-info/licenses/LICENSE.txt,sha256=_NA5pnTYgRRr4qH6lE3X-TuZJ8iRcMUi5ASoGr-lEx8,1209
|
|
76
|
-
kiln_ai-0.11.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|