fabricatio 0.2.6.dev6__tar.gz → 0.2.6.dev7__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 (123) hide show
  1. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/PKG-INFO +1 -1
  2. fabricatio-0.2.6.dev7/examples/extract_and_inject/.gitignore +2 -0
  3. fabricatio-0.2.6.dev7/examples/extract_and_inject/extract_and_inject.py +53 -0
  4. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/pyproject.toml +1 -1
  5. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/capabilities/rag.py +3 -3
  6. fabricatio-0.2.6.dev7/python/fabricatio/models/extra.py +658 -0
  7. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/kwargs_types.py +16 -6
  8. fabricatio-0.2.6.dev7/templates.tar.gz +0 -0
  9. fabricatio-0.2.6.dev7/uv.lock +1549 -0
  10. fabricatio-0.2.6.dev6/examples/extract_and_review/.gitignore +0 -1
  11. fabricatio-0.2.6.dev6/examples/extract_and_review/extract_and_review.py +0 -46
  12. fabricatio-0.2.6.dev6/python/fabricatio/models/extra.py +0 -339
  13. fabricatio-0.2.6.dev6/templates.tar.gz +0 -0
  14. fabricatio-0.2.6.dev6/uv.lock +0 -1547
  15. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/.github/workflows/build-package.yaml +0 -0
  16. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/.github/workflows/ruff.yaml +0 -0
  17. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/.github/workflows/tests.yaml +0 -0
  18. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/.gitignore +0 -0
  19. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/.python-version +0 -0
  20. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/Cargo.lock +0 -0
  21. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/Cargo.toml +0 -0
  22. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/LICENSE +0 -0
  23. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/Makefile +0 -0
  24. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/README.md +0 -0
  25. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/correct/correct.py +0 -0
  26. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/correct/correct_loop.py +0 -0
  27. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/extract_article/extract.py +0 -0
  28. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/llm_usages/llm_usage.py +0 -0
  29. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/make_a_rating/rating.py +0 -0
  30. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/make_diary/commits.json +0 -0
  31. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/make_diary/diary.py +0 -0
  32. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/minor/hello_fabricatio.py +0 -0
  33. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/minor/write_a_poem.py +0 -0
  34. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/propose_task/propose.py +0 -0
  35. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/reviewer/review.py +0 -0
  36. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/search_bibtex/.gitignore +0 -0
  37. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/search_bibtex/search.py +0 -0
  38. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/simple_chat/chat.py +0 -0
  39. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/simple_rag/simple_rag.py +0 -0
  40. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/task_handle/handle_task.py +0 -0
  41. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/write_outline/.gitignore +0 -0
  42. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/write_outline/write_outline.py +0 -0
  43. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/examples/write_outline/write_outline_corrected.py +0 -0
  44. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/__init__.py +0 -0
  45. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/_rust.pyi +0 -0
  46. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/_rust_instances.py +0 -0
  47. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/actions/article.py +0 -0
  48. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/actions/output.py +0 -0
  49. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/actions/rag.py +0 -0
  50. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/capabilities/correct.py +0 -0
  51. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/capabilities/propose.py +0 -0
  52. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/capabilities/rating.py +0 -0
  53. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/capabilities/review.py +0 -0
  54. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/capabilities/task.py +0 -0
  55. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/config.py +0 -0
  56. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/core.py +0 -0
  57. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/decorators.py +0 -0
  58. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/fs/__init__.py +0 -0
  59. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/fs/curd.py +0 -0
  60. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/fs/readers.py +0 -0
  61. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/journal.py +0 -0
  62. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/action.py +0 -0
  63. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/events.py +0 -0
  64. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/generic.py +0 -0
  65. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/role.py +0 -0
  66. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/task.py +0 -0
  67. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/tool.py +0 -0
  68. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/usages.py +0 -0
  69. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/models/utils.py +0 -0
  70. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/parser.py +0 -0
  71. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/py.typed +0 -0
  72. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/toolboxes/__init__.py +0 -0
  73. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/toolboxes/arithmetic.py +0 -0
  74. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/toolboxes/fs.py +0 -0
  75. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/workflows/articles.py +0 -0
  76. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/python/fabricatio/workflows/rag.py +0 -0
  77. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/src/bib_tools.rs +0 -0
  78. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/src/hash.rs +0 -0
  79. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/src/hbs_helpers.rs +0 -0
  80. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/src/lib.rs +0 -0
  81. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/src/templates.rs +0 -0
  82. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
  83. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/claude-xml.hbs +0 -0
  84. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/clean-up-code.hbs +0 -0
  85. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/co_validation.hbs +0 -0
  86. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/correct.hbs +0 -0
  87. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/create_json_obj.hbs +0 -0
  88. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
  89. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/dependencies.hbs +0 -0
  90. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/document-the-code.hbs +0 -0
  91. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/draft_rating_criteria.hbs +0 -0
  92. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/draft_rating_manual.hbs +0 -0
  93. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/draft_rating_weights_klee.hbs +0 -0
  94. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/draft_tool_usage_code.hbs +0 -0
  95. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/extract_criteria_from_reasons.hbs +0 -0
  96. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/extract_reasons_from_examples.hbs +0 -0
  97. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
  98. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/fix-bugs.hbs +0 -0
  99. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/generic_string.hbs +0 -0
  100. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/improve-performance.hbs +0 -0
  101. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/liststr.hbs +0 -0
  102. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/make_choice.hbs +0 -0
  103. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/make_judgment.hbs +0 -0
  104. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/pathstr.hbs +0 -0
  105. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/rate_fine_grind.hbs +0 -0
  106. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/refactor.hbs +0 -0
  107. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/refined_query.hbs +0 -0
  108. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/retrieved_display.hbs +0 -0
  109. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
  110. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/review_string.hbs +0 -0
  111. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/task_briefing.hbs +0 -0
  112. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/web-ctf-solver.hbs +0 -0
  113. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/write-git-commit.hbs +0 -0
  114. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/write-github-pull-request.hbs +0 -0
  115. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/templates/built-in/write-github-readme.hbs +0 -0
  116. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_config.py +0 -0
  117. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_models/test_action.py +0 -0
  118. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_models/test_advanced.py +0 -0
  119. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_models/test_generic.py +0 -0
  120. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_models/test_role.py +0 -0
  121. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_models/test_task.py +0 -0
  122. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/tests/test_models/test_tool.py +0 -0
  123. {fabricatio-0.2.6.dev6 → fabricatio-0.2.6.dev7}/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.6.dev6
3
+ Version: 0.2.6.dev7
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,2 @@
1
+ bpdf_out
2
+ output*
@@ -0,0 +1,53 @@
1
+ """Example of proposing a task to a role."""
2
+
3
+ import asyncio
4
+ from pathlib import Path
5
+ from typing import List
6
+
7
+ from fabricatio import Action, Event, Role, Task, WorkFlow, logger
8
+ from fabricatio.actions.article import ExtractArticleEssence
9
+ from fabricatio.actions.rag import InjectToDB
10
+ from fabricatio.fs.curd import dump_text, gather_files
11
+ from fabricatio.models.extra import ArticleEssence
12
+ from pydantic import HttpUrl
13
+
14
+
15
+ class SaveToFS(Action):
16
+ """Save to file system."""
17
+
18
+ async def _execute(self, to_inject: List[ArticleEssence], output_dir: Path, **_) -> None:
19
+ output_dir.mkdir(parents=True, exist_ok=True)
20
+ for i, e in enumerate(to_inject):
21
+ dump_text(output_dir / f"{i}.json", e.display())
22
+
23
+
24
+ async def main() -> None:
25
+ """Main function."""
26
+ role = Role(
27
+ name="Researcher",
28
+ description="Extract article essence",
29
+ llm_api_endpoint=HttpUrl("https://dashscope.aliyuncs.com/compatible-mode/v1"),
30
+ llm_model="deepseek-r1-distill-llama-70b",
31
+ registry={
32
+ Event.quick_instantiate("article"): WorkFlow(
33
+ name="extract",
34
+ steps=(ExtractArticleEssence(output_key="to_inject"), InjectToDB(output_key="task_output")),
35
+ extra_init_context={"collection_name": "article_essence", "output_dir": Path("output")},
36
+ )
37
+ },
38
+ )
39
+
40
+ task: Task[str] = await role.propose_task(
41
+ "Extract the essence of the article from the files in './bpdf_out'",
42
+ )
43
+
44
+ col_name = await task.override_dependencies(gather_files("bpdf_out", "md")).delegate("article")
45
+
46
+ if col_name is None:
47
+ logger.error("No essence found")
48
+ return
49
+ logger.success(f"Injected to collection: {col_name}")
50
+
51
+
52
+ if __name__ == "__main__":
53
+ asyncio.run(main())
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fabricatio"
3
- version = "0.2.6-dev6"
3
+ version = "0.2.6-dev7"
4
4
  description = "A LLM multi-agent framework."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -15,7 +15,7 @@ from fabricatio.config import configs
15
15
  from fabricatio.journal import logger
16
16
  from fabricatio.models.kwargs_types import (
17
17
  ChooseKwargs,
18
- CollectionSimpleConfigKwargs,
18
+ CollectionConfigKwargs,
19
19
  EmbeddingKwargs,
20
20
  FetchKwargs,
21
21
  LLMKwargs,
@@ -102,14 +102,14 @@ class RAG(EmbeddingUsage):
102
102
  ]
103
103
 
104
104
  def view(
105
- self, collection_name: Optional[str], create: bool = False, **kwargs: Unpack[CollectionSimpleConfigKwargs]
105
+ self, collection_name: Optional[str], create: bool = False, **kwargs: Unpack[CollectionConfigKwargs]
106
106
  ) -> Self:
107
107
  """View the specified collection.
108
108
 
109
109
  Args:
110
110
  collection_name (str): The name of the collection.
111
111
  create (bool): Whether to create the collection if it does not exist.
112
- **kwargs (Unpack[CollectionSimpleConfigKwargs]): Additional keyword arguments for collection configuration.
112
+ **kwargs (Unpack[CollectionConfigKwargs]): Additional keyword arguments for collection configuration.
113
113
  """
114
114
  if create and collection_name and self.client.has_collection(collection_name):
115
115
  kwargs["dimension"] = kwargs.get("dimension") or self.milvus_dimensions or configs.rag.milvus_dimensions