fabricatio 0.2.1.dev2__tar.gz → 0.2.1.dev3__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 (87) hide show
  1. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/PKG-INFO +1 -1
  2. fabricatio-0.2.1.dev3/examples/make_a_rating/rating.py +84 -0
  3. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/minor/hello_fabricatio.py +1 -1
  4. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/propose_task/propose.py +1 -1
  5. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/simple_chat/chat.py +1 -1
  6. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/pyproject.toml +1 -1
  7. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/config.py +3 -0
  8. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/action.py +2 -2
  9. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/advanced.py +46 -1
  10. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/role.py +2 -3
  11. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/task.py +3 -0
  12. fabricatio-0.2.1.dev3/templates/built-in/draft_rating_dimensions.hbs +24 -0
  13. fabricatio-0.2.1.dev3/templates/built-in/draft_rating_manual.hbs +26 -0
  14. fabricatio-0.2.1.dev3/templates.tar.gz +0 -0
  15. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/uv.lock +1 -1
  16. fabricatio-0.2.1.dev2/templates/built-in/draft_rating_manual.hbs +0 -26
  17. fabricatio-0.2.1.dev2/templates.tar.gz +0 -0
  18. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/.github/workflows/build-package.yaml +0 -0
  19. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/.github/workflows/ruff.yaml +0 -0
  20. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/.github/workflows/tests.yaml +0 -0
  21. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/.gitignore +0 -0
  22. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/.python-version +0 -0
  23. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/Cargo.lock +0 -0
  24. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/Cargo.toml +0 -0
  25. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/LICENSE +0 -0
  26. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/Makefile +0 -0
  27. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/README.md +0 -0
  28. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/llm_usages/llm_usage.py +0 -0
  29. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/make_diary/commits.json +0 -0
  30. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/make_diary/diary.py +0 -0
  31. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/examples/task_handle/handle_task.py +0 -0
  32. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/__init__.py +0 -0
  33. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/_rust.pyi +0 -0
  34. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/_rust_instances.py +0 -0
  35. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/actions/__init__.py +0 -0
  36. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/actions/communication.py +0 -0
  37. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/actions/transmission.py +0 -0
  38. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/core.py +0 -0
  39. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/decorators.py +0 -0
  40. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/fs/__init__.py +0 -0
  41. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/fs/curd.py +0 -0
  42. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/fs/readers.py +0 -0
  43. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/journal.py +0 -0
  44. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/events.py +0 -0
  45. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/generic.py +0 -0
  46. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/kwargs_types.py +0 -0
  47. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/tool.py +0 -0
  48. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/usages.py +0 -0
  49. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/models/utils.py +0 -0
  50. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/parser.py +0 -0
  51. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/py.typed +0 -0
  52. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/toolboxes/__init__.py +0 -0
  53. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/toolboxes/arithmetic.py +0 -0
  54. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/toolboxes/fs.py +0 -0
  55. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/python/fabricatio/toolboxes/task.py +0 -0
  56. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/src/hash.rs +0 -0
  57. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/src/lib.rs +0 -0
  58. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/src/templates.rs +0 -0
  59. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
  60. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/claude-xml.hbs +0 -0
  61. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/clean-up-code.hbs +0 -0
  62. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
  63. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/dependencies.hbs +0 -0
  64. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/document-the-code.hbs +0 -0
  65. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/draft_tool_usage_code.hbs +0 -0
  66. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
  67. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/fix-bugs.hbs +0 -0
  68. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/improve-performance.hbs +0 -0
  69. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/make_choice.hbs +0 -0
  70. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/make_judgment.hbs +0 -0
  71. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/propose_task.hbs +0 -0
  72. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/rate_fine_grind.hbs +0 -0
  73. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/refactor.hbs +0 -0
  74. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
  75. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/task_briefing.hbs +0 -0
  76. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/web-ctf-solver.hbs +0 -0
  77. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/write-git-commit.hbs +0 -0
  78. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/write-github-pull-request.hbs +0 -0
  79. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/templates/built-in/write-github-readme.hbs +0 -0
  80. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_config.py +0 -0
  81. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_action.py +0 -0
  82. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_advanced.py +0 -0
  83. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_generic.py +0 -0
  84. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_role.py +0 -0
  85. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_task.py +0 -0
  86. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_tool.py +0 -0
  87. {fabricatio-0.2.1.dev2 → fabricatio-0.2.1.dev3}/tests/test_models/test_usages.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fabricatio
3
- Version: 0.2.1.dev2
3
+ Version: 0.2.1.dev3
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -0,0 +1,84 @@
1
+ """Example of proposing a task to a role."""
2
+
3
+ import asyncio
4
+ from typing import Dict, List, Set, Unpack
5
+
6
+ import orjson
7
+ from fabricatio import Action, JsonCapture, Role, WorkFlow, logger
8
+ from fabricatio.models.events import Event
9
+ from fabricatio.models.task import Task
10
+
11
+
12
+ class Rate(Action):
13
+ """Rate the task."""
14
+
15
+ name: str = "rate"
16
+ output_key: str = "task_output"
17
+
18
+ async def _execute(self, to_rate: List[str], rate_topic: str, dimensions: Set[str], **_) -> [Dict[str, float]]:
19
+ """Rate the task."""
20
+ return await asyncio.gather(
21
+ *[
22
+ self.rate(
23
+ target,
24
+ rate_topic,
25
+ dimensions,
26
+ )
27
+ for target in to_rate
28
+ ]
29
+ )
30
+
31
+
32
+ class WhatToRate(Action):
33
+ """Figure out what to rate."""
34
+
35
+ name: str = "figure out what to rate"
36
+
37
+ output_key: str = "to_rate"
38
+
39
+ async def _execute(self, task_input: Task, rate_topic: str, **cxt: Unpack) -> List[str]:
40
+ def _validate(resp: str) -> List[str] | None:
41
+ if (
42
+ (cap := JsonCapture.convert_with(resp, orjson.loads)) is not None
43
+ and isinstance(cap, list)
44
+ and all(isinstance(i, str) for i in cap)
45
+ ):
46
+ return cap
47
+ return None
48
+
49
+ return await self.aask_validate(
50
+ f"This is task briefing:\n{task_input.briefing}\n\n"
51
+ f"We are talking about {rate_topic}. you need to extract targets to rate into a the JSON array\n"
52
+ f"The response SHALL be a JSON array of strings within the codeblock\n"
53
+ f"# Example\n"
54
+ f'```json\n["this is a target to rate", "this is another target to rate"]\n```',
55
+ _validate,
56
+ )
57
+
58
+
59
+ async def main() -> None:
60
+ """Main function."""
61
+ role = Role(
62
+ name="TaskRater",
63
+ description="A role that can rate tasks.",
64
+ registry={
65
+ Event.instantiate_from("rate_food").push_wildcard().push("pending"): WorkFlow(
66
+ name="Rate food",
67
+ steps=(WhatToRate, Rate),
68
+ extra_init_context={
69
+ "rate_topic": "If this food is cheap and delicious",
70
+ "dimensions": {"taste", "price", "quality", "safety", "healthiness", "freshness"},
71
+ },
72
+ ),
73
+ },
74
+ )
75
+ task = await role.propose(
76
+ "rate for rotten apple, ripen banana, fresh orange, giga-burger, smelly pizza with flies on it, and a boiling instant coffee",
77
+ )
78
+ rating = await task.move_to("rate_food").delegate()
79
+
80
+ logger.success(f"Result: \n{rating}")
81
+
82
+
83
+ if __name__ == "__main__":
84
+ asyncio.run(main())
@@ -5,7 +5,7 @@ from typing import Any
5
5
 
6
6
  from fabricatio import Action, Role, Task, WorkFlow, logger
7
7
 
8
- task = Task(name="say hello", goal="say hello", description="say hello to the world")
8
+ task = Task(name="say hello", goal=["say hello"], description="say hello to the world")
9
9
 
10
10
 
11
11
  class Hello(Action):
@@ -5,7 +5,7 @@ from typing import Any
5
5
 
6
6
  from fabricatio import Action, Role, Task, WorkFlow, logger
7
7
 
8
- task = Task(name="say hello", goal="say hello", description="say hello to the world")
8
+ task = Task(name="say hello", goal=["say hello"], description="say hello to the world")
9
9
 
10
10
 
11
11
  class Talk(Action):
@@ -5,7 +5,7 @@ from typing import Any
5
5
 
6
6
  from fabricatio import Action, Role, Task, WorkFlow, logger
7
7
 
8
- task = Task(name="say hello", goal="say hello", description="say hello to the world")
8
+ task = Task(name="say hello", goal=["say hello"], description="say hello to the world")
9
9
 
10
10
 
11
11
  class Talk(Action):
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fabricatio"
3
- version = "0.2.1-dev2"
3
+ version = "0.2.1-dev3"
4
4
  description = "A LLM multi-agent framework."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -163,6 +163,9 @@ class TemplateConfig(BaseModel):
163
163
  draft_rating_manual_template: str = Field(default="draft_rating_manual")
164
164
  """The name of the draft rating manual template which will be used to draft rating manual."""
165
165
 
166
+ draft_rating_dimensions_template: str = Field(default="draft_rating_dimensions")
167
+ """The name of the draft rating dimensions template which will be used to draft rating dimensions."""
168
+
166
169
 
167
170
  class MagikaConfig(BaseModel):
168
171
  """Magika configuration class."""
@@ -6,14 +6,14 @@ from asyncio import Queue
6
6
  from typing import Any, Dict, Self, Tuple, Type, Union, Unpack
7
7
 
8
8
  from fabricatio.journal import logger
9
- from fabricatio.models.advanced import HandleTask, ProposeTask
9
+ from fabricatio.models.advanced import GiveRating, HandleTask, ProposeTask
10
10
  from fabricatio.models.generic import WithBriefing
11
11
  from fabricatio.models.task import Task
12
12
  from fabricatio.models.usages import ToolBoxUsage
13
13
  from pydantic import Field, PrivateAttr
14
14
 
15
15
 
16
- class Action(HandleTask, ProposeTask):
16
+ class Action(HandleTask, ProposeTask, GiveRating):
17
17
  """Class that represents an action to be executed in a workflow."""
18
18
 
19
19
  personality: str = Field(default="")
@@ -13,7 +13,7 @@ from fabricatio.models.tool import Tool, ToolExecutor
13
13
  from fabricatio.models.usages import LLMUsage, ToolBoxUsage
14
14
  from fabricatio.parser import JsonCapture, PythonCapture
15
15
  from loguru import logger
16
- from pydantic import ValidationError
16
+ from pydantic import NonNegativeInt, ValidationError
17
17
 
18
18
 
19
19
  class ProposeTask(WithBriefing, LLMUsage):
@@ -242,3 +242,48 @@ class GiveRating(WithBriefing, LLMUsage):
242
242
  system_message=f"# your personal briefing: \n{self.briefing}",
243
243
  **kwargs,
244
244
  )
245
+
246
+ async def draft_rating_dimensions(
247
+ self,
248
+ topic: str,
249
+ dimensions_count: NonNegativeInt = 0,
250
+ examples: Optional[List[str]] = None,
251
+ **kwargs: Unpack[ValidateKwargs],
252
+ ) -> Set[str]:
253
+ """Drafts rating dimensions based on a topic.
254
+
255
+ Args:
256
+ topic: The topic for the rating dimensions.
257
+ dimensions_count: The number of dimensions to draft, 0 means no limit.
258
+ examples: A list of examples which is rated based on the rating dimensions.
259
+ **kwargs: Additional keyword arguments for the LLM usage.
260
+
261
+ Returns:
262
+ A set of rating dimensions.
263
+ """
264
+
265
+ def _validator(response: str) -> Set[str] | None:
266
+ if (
267
+ (json_data := JsonCapture.convert_with(response, orjson.loads)) is not None
268
+ and isinstance(json_data, list)
269
+ and all(isinstance(v, str) for v in json_data)
270
+ and (dimensions_count == 0 or len(json_data) == dimensions_count)
271
+ ):
272
+ return set(json_data)
273
+ return None
274
+
275
+ return await self.aask_validate(
276
+ question=(
277
+ template_manager.render_template(
278
+ configs.templates.draft_rating_dimensions_template,
279
+ {
280
+ "topic": topic,
281
+ "examples": examples,
282
+ "dimensions_count": dimensions_count,
283
+ },
284
+ )
285
+ ),
286
+ validator=_validator,
287
+ system_message=f"# your personal briefing: \n{self.briefing}",
288
+ **kwargs,
289
+ )
@@ -5,14 +5,13 @@ from typing import Any, Self, Set
5
5
  from fabricatio.core import env
6
6
  from fabricatio.journal import logger
7
7
  from fabricatio.models.action import WorkFlow
8
- from fabricatio.models.advanced import ProposeTask
8
+ from fabricatio.models.advanced import GiveRating, HandleTask, ProposeTask
9
9
  from fabricatio.models.events import Event
10
10
  from fabricatio.models.tool import ToolBox
11
- from fabricatio.models.usages import ToolBoxUsage
12
11
  from pydantic import Field
13
12
 
14
13
 
15
- class Role(ProposeTask, ToolBoxUsage):
14
+ class Role(ProposeTask, HandleTask, GiveRating):
16
15
  """Class that represents a role with a registry of events and workflows."""
17
16
 
18
17
  registry: dict[Event | str, WorkFlow] = Field(...)
@@ -57,6 +57,9 @@ class Task[T](WithBriefing, WithJsonExample, WithDependency):
57
57
  namespace: List[str] = Field(default_factory=list)
58
58
  """The namespace of the task, a list of namespace segment, as string."""
59
59
 
60
+ dependencies: List[str] = Field(default_factory=list)
61
+ """A list of file paths, These file are needed to read or write to meet a specific requirement of this task."""
62
+
60
63
  _output: Queue = PrivateAttr(default_factory=lambda: Queue(maxsize=1))
61
64
  """The output queue of the task."""
62
65
 
@@ -0,0 +1,24 @@
1
+ # Task
2
+ Please draft rating dimensions for the topic: "{{ topic }}".
3
+ Return the dimensions{{#if dimensions_count}} with length of {{ dimensions_count }}{{/if}} in JSON format as a list of strings within code block.
4
+
5
+
6
+ # Example:
7
+ returning dimensions{{#if dimensions_count}} with length of 3{{/if}} for the topic "Nice icecream"
8
+
9
+ ----- Start of response example -----
10
+ ```json
11
+ [
12
+ "outlook",
13
+ "taste",
14
+ "texture"
15
+ ]
16
+ ```
17
+ ----- End of response example -----
18
+
19
+
20
+ # Warning
21
+ - Please ensure that the dimensions are clear and concise.
22
+ - The response SHALL be returned as a JSON object within the codeblock.
23
+ - No additional Explanation is needed.
24
+ {{#if dimensions_count }}- You must return exactly {{ dimensions_count }} dimensions.{{/if}}
@@ -0,0 +1,26 @@
1
+ # Task
2
+ Please draft a rating manual for the following topic and dimensions, which will be used to rate the entity based.
3
+
4
+ Topic: {{ topic }}
5
+ Dimensions: {{ dimensions }}
6
+
7
+ Return the rating manual as a JSON object within the codeblock where the keys are the dimensions and the values are the criteria for each dimension.
8
+
9
+
10
+ # Example:
11
+
12
+ topic: Nice icecream
13
+ ----- Start of response example -----
14
+ ```json
15
+ {
16
+ "outlook": "Appearance of the icecream, how it looks. High score for an ice cream with a beautiful appearance such as vibrant color combinations and topped with fresh fruits or chocolate pieces; low score for an ice cream that looks unappealing, possibly showing signs of melting or covered in ice crystals.",
17
+ "taste": "How the icecream tastes. High score for delicious ice cream with rich and authentic flavors, like vanilla with natural vanilla bean aroma and moderate sweetness; low score for bland or overly sweet ice cream with noticeable artificial flavoring or not matching its claimed flavor.",
18
+ "texture": "How the icecream feels. High score for smooth texture without icy bits, melts smoothly in the mouth providing a creamy experience; low score for rough texture containing many ice crystals, feeling like it has been frozen for too long lacking softness."
19
+ }
20
+ ```
21
+ ----- end of response example -----
22
+
23
+ # Warning
24
+ - Please ensure that the rating manual is clear and concise, and that the criteria for each dimension are well-defined.
25
+ - The response SHALL be returned as a JSON object within the codeblock.
26
+ - No additional Explanation is needed.
Binary file
@@ -216,7 +216,7 @@ wheels = [
216
216
 
217
217
  [[package]]
218
218
  name = "fabricatio"
219
- version = "0.2.1.dev2"
219
+ version = "0.2.1.dev3"
220
220
  source = { editable = "." }
221
221
  dependencies = [
222
222
  { name = "appdirs" },
@@ -1,26 +0,0 @@
1
- # Task
2
- Please draft a rating manual for the following topic and dimensions, which will be used to rate the entity based.
3
-
4
- Topic: {{ topic }}
5
- Dimensions: {{ dimensions }}
6
-
7
- Return the rating manual as a JSON object within the codeblock where the keys are the dimensions and the values are the criteria for each dimension.
8
-
9
-
10
- # Example:
11
-
12
- topic: Nice icecream
13
- ----- Start of response example -----
14
- ```json
15
- {
16
- "outlook": "Appearance of the icecream, how it looks, high score for a nice looking icecream",
17
- "taste": "How the icecream tastes, high score for a delicious icecream",
18
- "texture": "How the icecream feels, high score for a smooth icecream",
19
- }
20
- ```
21
- ----- end of response example -----
22
-
23
- # Warning
24
- - Please ensure that the rating manual is clear and concise, and that the criteria for each dimension are well-defined.
25
- - The response SHALL be returned as a JSON object within the codeblock.
26
- - No additional Explanation is needed.
Binary file
File without changes