model-train-protocol 0.3.2__tar.gz → 0.3.3__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.
Files changed (57) hide show
  1. {model_train_protocol-0.3.2/model_train_protocol.egg-info → model_train_protocol-0.3.3}/PKG-INFO +1 -1
  2. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/examples/example_model.json +1 -1
  3. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/examples/example_template.json +8 -7
  4. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/Protocol.py +1 -1
  5. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/_internal/TemplateFile.py +12 -7
  6. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/pydantic/template.py +1 -0
  7. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3/model_train_protocol.egg-info}/PKG-INFO +1 -1
  8. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/pyproject.toml +1 -1
  9. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/LICENSE +0 -0
  10. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/MANIFEST.in +0 -0
  11. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/README.md +0 -0
  12. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/assets/banner.png +0 -0
  13. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/examples/example.py +0 -0
  14. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/examples/prototyping/prototyping.py +0 -0
  15. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/__init__.py +0 -0
  16. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/_internal/ProtocolFile.py +0 -0
  17. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/_internal/__init__.py +0 -0
  18. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/__init__.py +0 -0
  19. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/constants.py +0 -0
  20. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/guardrails/Guardrail.py +0 -0
  21. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/guardrails/__init__.py +0 -0
  22. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/BaseInstruction.py +0 -0
  23. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/ExtendedInstruction.py +0 -0
  24. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/Instruction.py +0 -0
  25. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/__init__.py +0 -0
  26. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/input/BaseInput.py +0 -0
  27. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/input/InstructionInput.py +0 -0
  28. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/input/__init__.py +0 -0
  29. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/output/BaseOutput.py +0 -0
  30. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/output/ExtendedResponse.py +0 -0
  31. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/output/InstructionOutput.py +0 -0
  32. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/instructions/output/__init__.py +0 -0
  33. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/prototyping/__init__.py +0 -0
  34. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/prototyping/entry.py +0 -0
  35. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/prototyping/providers/__init__.py +0 -0
  36. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/prototyping/providers/openai.py +0 -0
  37. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/prototyping/translator.py +0 -0
  38. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/pydantic/__init__.py +0 -0
  39. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/pydantic/protocol.py +0 -0
  40. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/pydantic/prototyping.py +0 -0
  41. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/FinalNumToken.py +0 -0
  42. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/FinalToken.py +0 -0
  43. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/NumListToken.py +0 -0
  44. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/NumToken.py +0 -0
  45. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/SpecialFinalToken.py +0 -0
  46. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/SpecialToken.py +0 -0
  47. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/Token.py +0 -0
  48. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/TokenSet.py +0 -0
  49. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/tokens/__init__.py +0 -0
  50. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/common/utils.py +0 -0
  51. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/prototyping.py +0 -0
  52. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol/utils.py +0 -0
  53. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol.egg-info/SOURCES.txt +0 -0
  54. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol.egg-info/dependency_links.txt +0 -0
  55. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol.egg-info/requires.txt +0 -0
  56. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/model_train_protocol.egg-info/top_level.txt +0 -0
  57. {model_train_protocol-0.3.2 → model_train_protocol-0.3.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: model-train-protocol
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: Standardized protocol to train models on Databiomes
5
5
  Author-email: "Databiomes Inc." <dev@databiomes.com>
6
6
  Project-URL: Homepage, https://pypi.org/project/model-train-protocol/
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://mtp.schemas.databiomes.com/v0/bloom_0_3_1.json",
2
+ "$schema": "https://mtp.schemas.databiomes.com/v0/bloom_0_3_3.json",
3
3
  "name": "example",
4
4
  "inputs": 2,
5
5
  "encrypted": false,
@@ -1,6 +1,7 @@
1
1
  {
2
- "$schema": "https://mtp.schemas.databiomes.com/v0/template_0_3_1.json",
2
+ "$schema": "https://mtp.schemas.databiomes.com/v0/template_0_3_3.json",
3
3
  "encrypt": false,
4
+ "inputs": 2,
4
5
  "tokens": {
5
6
  "input": {
6
7
  "Tree_English_Alice_Talk_": "Tree_English_Alice_Talk_",
@@ -41,8 +42,8 @@
41
42
  "<RUN>"
42
43
  ],
43
44
  "output": [
44
- "<string>\nVanish_\n<EOS>",
45
- "<string>\nAppear_\n<EOS>"
45
+ "<string>\nAppear_\n<EOS>",
46
+ "<string>\nVanish_\n<EOS>"
46
47
  ]
47
48
  },
48
49
  "alice_cat_alice_continue": {
@@ -55,14 +56,14 @@
55
56
  "<RUN>"
56
57
  ],
57
58
  "output": [
58
- "<string>\nContinue_\n<EOS>",
59
- "<string>\n<UNK>\n<EOS>"
59
+ "<string>\nContinue_<UNK>_\n<EOS>",
60
+ "<string>\nContinue_\n<EOS>"
60
61
  ]
61
62
  }
62
63
  },
63
64
  "example_usage": {
64
- "instruction_input": "<BOS>\nTree_English_Cat_Talk_Coordinates_[-505, -908, 297]\nThen it doesnt matter which way you go.\nTree_English_Alice_Talk_Emotion_0\nCan you tell me a way?\nTree_English_Cat_Talk_\n<RUN>\n",
65
+ "instruction_input": "<BOS>\nTree_English_Cat_Talk_Coordinates_[586, -736, -974]\nThen it doesnt matter which way you go.\nTree_English_Alice_Talk_Emotion_0\nCan you tell me a way?\nTree_English_Cat_Talk_\n<RUN>\n",
65
66
  "valid_model_output": "Then it doesnt matter which way you go.\nMadness_\n<EOS>",
66
- "guardrail_model_output": "Are you as mad as me?\n<UNK>\n<EOS>"
67
+ "guardrail_model_output": "Are you as mad as me?\nContinue_<UNK>_\n<EOS>"
67
68
  }
68
69
  }
@@ -226,7 +226,7 @@ class Protocol:
226
226
  """
227
227
  return TemplateFile(
228
228
  instructions=list(self.instructions),
229
- instruction_context_snippets=self.input_count,
229
+ inputs=self.input_count,
230
230
  encrypt=self.encrypt,
231
231
  has_guardrails=self.has_guardrails,
232
232
  )
@@ -4,7 +4,7 @@ from enum import Enum
4
4
  from typing import Union
5
5
 
6
6
  from model_train_protocol import Instruction, ExtendedInstruction
7
- from model_train_protocol.common.constants import BOS_TOKEN, RUN_TOKEN, EOS_TOKEN, UNK_TOKEN
7
+ from model_train_protocol.common.constants import BOS_TOKEN, RUN_TOKEN, EOS_TOKEN, UNK_TOKEN, NON_TOKEN
8
8
  from model_train_protocol.common.instructions import BaseInstruction
9
9
  from model_train_protocol.common.instructions.BaseInstruction import Sample
10
10
  from model_train_protocol.common.pydantic.template import (
@@ -133,9 +133,13 @@ class TemplateFile:
133
133
  for sample in instruction.samples
134
134
  ]
135
135
 
136
- # add guardrail output if guardrail exists
136
+ # add guardrail outputs if guardrails present
137
137
  if instruction.has_guardrails:
138
- output_strs.append(f"<string>\n{UNK_TOKEN.key}\n{EOS_TOKEN.key}")
138
+ outputs: list[str] = [token.key for token in instruction.output.final]
139
+ if outputs is None:
140
+ outputs: list[str] = [NON_TOKEN.key + '_']
141
+ for output in outputs:
142
+ output_strs.append(f"<string>\n{output}{UNK_TOKEN.key}_\n{EOS_TOKEN.key}")
139
143
 
140
144
  instructions_dict[instruction.name] = {
141
145
  "type": InstructionTypeEnum.get_instruction_type_by_class(instruction).value,
@@ -145,12 +149,12 @@ class TemplateFile:
145
149
 
146
150
  return instructions_dict
147
151
 
148
- def __init__(self, instruction_context_snippets: int, instructions: list[BaseInstruction], encrypt: bool, has_guardrails: bool):
152
+ def __init__(self, inputs: int, instructions: list[BaseInstruction], encrypt: bool, has_guardrails: bool):
149
153
  """Initializes the template"""
150
154
 
151
155
  self.tokens: TemplateFile.Tokens = TemplateFile.Tokens()
152
156
  self.instructions: TemplateFile.Instructions = TemplateFile.Instructions()
153
- self.instruction_context_snippets: int = instruction_context_snippets
157
+ self.inputs: int = inputs
154
158
  self.instructions_list: list[BaseInstruction] = instructions
155
159
  self.encrypt: bool = encrypt
156
160
  self.has_guardrails: bool = has_guardrails
@@ -285,14 +289,14 @@ class TemplateFile:
285
289
  # extended_instruction_input += RUN_TOKEN.key + "\n"
286
290
  # examples["extended_instruction_input"] = extended_instruction_input
287
291
 
288
- first_instruction = instruction or extended_instruction
292
+ first_instruction: BaseInstruction = instruction or extended_instruction
289
293
  if first_instruction and first_instruction.samples:
290
294
  sample = first_instruction.samples[0]
291
295
  examples["valid_model_output"] = self._create_sample_model_output(first_instruction, sample)
292
296
 
293
297
  if self.has_guardrails:
294
298
  guardrailed_instruction: BaseInstruction = next(instruction for instruction in self.instructions_list if instruction.has_guardrails)
295
- examples["guardrail_model_output"] = f"{list(guardrailed_instruction.input.guardrails.values()).pop().bad_output}\n{UNK_TOKEN.key}\n{EOS_TOKEN.key}"
299
+ examples["guardrail_model_output"] = f"{list(guardrailed_instruction.input.guardrails.values()).pop().bad_output}\n{guardrailed_instruction.example_final_token.key}{UNK_TOKEN.key}_\n{EOS_TOKEN.key}"
296
300
 
297
301
  if "guardrail_model_output" not in examples:
298
302
  examples["guardrail_model_output"] = ""
@@ -318,6 +322,7 @@ class TemplateFile:
318
322
 
319
323
  template: TemplateModel = TemplateModel(
320
324
  encrypt=self.encrypt,
325
+ inputs=self.inputs,
321
326
  tokens=tokens,
322
327
  instructions=instruction_models,
323
328
  example_usage=example_usage,
@@ -39,6 +39,7 @@ class ExampleUsage(BaseModel):
39
39
  class Template(BaseModel):
40
40
  """Main model for MTP Template JSON structure."""
41
41
  encrypt: bool
42
+ inputs: int
42
43
  tokens: Tokens
43
44
  instructions: Dict[str, InstructionDefinition] # Instruction name -> instruction definition
44
45
  example_usage: ExampleUsage
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: model-train-protocol
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: Standardized protocol to train models on Databiomes
5
5
  Author-email: "Databiomes Inc." <dev@databiomes.com>
6
6
  Project-URL: Homepage, https://pypi.org/project/model-train-protocol/
@@ -12,7 +12,7 @@ model_train_protocol = ["schemas/**/*.json"]
12
12
 
13
13
  [project]
14
14
  name = "model-train-protocol"
15
- version = "0.3.2"
15
+ version = "0.3.3"
16
16
  description = "Standardized protocol to train models on Databiomes"
17
17
  requires-python = ">=3.9"
18
18
  readme = { file = "README.md", content-type = "text/markdown" }