fabricatio 0.4.0.dev2__tar.gz → 0.4.1.dev1__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.
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/.github/workflows/build-package.yaml +8 -11
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/Makefile +8 -5
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/PKG-INFO +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/correct/correct.py +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/article_rag.py +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/ask.py +5 -4
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/chunk_article.py +6 -5
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/extract_and_inject.py +13 -11
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_article/extract.py +2 -2
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/llm_usages/llm_usage.py +2 -3
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/make_a_rating/rating.py +7 -7
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/minor/write_a_poem.py +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/propose_task/propose.py +6 -5
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/reviewer/censor.py +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/reviewer/review.py +2 -1
- fabricatio-0.4.1.dev1/examples/search_bibtex/search.py +14 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/simple_rag/simple_rag.py +3 -2
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/task_handle/handle_task.py +3 -2
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_article/article_rag.py +9 -14
- fabricatio-0.4.1.dev1/examples/write_article/post_process.py +11 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_article/write_article.py +12 -12
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_outline/write_outline.py +3 -4
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_outline/write_outline_corrected.py +1 -2
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/python/fabricatio_actions/actions/fs.py +3 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/python/fabricatio_actions/actions/output.py +22 -21
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/python/fabricatio_actions/models/generic.py +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/models/problem.py +2 -3
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/python/fabricatio_judge/__init__.py +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/pyproject.toml +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/actions/rules.py +4 -3
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/capabilities/censor.py +4 -3
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/capabilities/check.py +27 -25
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/models/kwargs_types.py +2 -2
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/models/patch.py +2 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/models/rule.py +2 -3
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/pyproject.toml +1 -1
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/python/fabricatio/__init__.py +2 -1
- fabricatio-0.4.1.dev1/python/fabricatio/actions/__init__.py +73 -0
- fabricatio-0.4.1.dev1/python/fabricatio/capabilities/__init__.py +43 -0
- fabricatio-0.4.1.dev1/python/fabricatio/models/__init__.py +31 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/python/fabricatio/toolboxes/__init__.py +2 -1
- fabricatio-0.4.1.dev1/python/fabricatio/workflows/__init__.py +13 -0
- fabricatio-0.4.1.dev1/subpackages.py +515 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/uv.lock +85 -83
- fabricatio-0.4.0.dev2/examples/search_bibtex/search.py +0 -11
- fabricatio-0.4.0.dev2/examples/write_article/post_process.py +0 -12
- fabricatio-0.4.0.dev2/publish_subpackages.py +0 -146
- fabricatio-0.4.0.dev2/python/fabricatio/workflows/__init__.py +0 -1
- fabricatio-0.4.0.dev2/python/fabricatio/workflows/rag.py +0 -12
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/.github/workflows/ruff.yaml +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/.github/workflows/tests.yaml +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/Cargo.lock +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/Cargo.toml +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/LICENSE +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/README.md +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/correct/correct_loop.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/make_diary/commits.json +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/make_diary/diary.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/minor/hello_fabricatio.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/propose_task/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/rules/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/rules/draft_ruleset.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/search_bibtex/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/simple_chat/chat.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_article/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_outline/.gitignore +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/LICENSE +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/README.md +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/pyproject.toml +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/python/fabricatio_actions/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/python/fabricatio_actions/actions/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-actions/python/fabricatio_actions/py.typed +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/LICENSE +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/README.md +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/pyproject.toml +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/capabilities/correct.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/capabilities/review.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/models/improve.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/models/kwargs_types.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-improve/python/fabricatio_improve/py.typed +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/LICENSE +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/README.md +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/pyproject.toml +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/python/fabricatio_judge/capabilities/advanced_judge.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/python/fabricatio_judge/models/advanced_judge.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-judge/python/fabricatio_judge/py.typed +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/LICENSE +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/README.md +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/actions/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/capabilities/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/models/__init__.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/packages/fabricatio-rule/python/fabricatio_rule/py.typed +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/python/fabricatio/py.typed +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/python/fabricatio/toolboxes/arithmetic.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/python/fabricatio/toolboxes/fs.py +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/src/lib.rs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/as_prompt.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/chap_summary.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/check_string.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/claude-xml.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/clean-up-code.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/co_validation.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/create_json_obj.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/dependencies.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/document-the-code.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/draft_rating_criteria.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/draft_rating_manual.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/draft_rating_weights_klee.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/draft_tool_usage_code.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/extract.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/extract_criteria_from_reasons.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/extract_reasons_from_examples.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/fix-bugs.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/fix_troubled_obj.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/fix_troubled_string.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/generic_string.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/improve-performance.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/liststr.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/make_choice.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/make_judgment.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/pathstr.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/rate_fine_grind.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/refactor.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/refined_query.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/research_content_summary.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/retrieved_display.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/review_string.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/rule_requirement.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/ruleset_requirement_breakdown.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/task_briefing.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/web-ctf-solver.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/write-git-commit.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/write-github-pull-request.hbs +0 -0
- {fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/templates/built-in/write-github-readme.hbs +0 -0
@@ -107,9 +107,15 @@ jobs:
|
|
107
107
|
run: |
|
108
108
|
uv sync --no-install-project --only-dev --index https://pypi.org/simple -p ${{ matrix.python-version }}
|
109
109
|
|
110
|
-
- name:
|
110
|
+
- name: Upload to PyPI
|
111
|
+
if: needs.determine_changes.outputs.version_changed == 'true'
|
111
112
|
run: |
|
112
|
-
make PY=${{ matrix.python-version }}
|
113
|
+
make publish PY=${{ matrix.python-version }}
|
114
|
+
env:
|
115
|
+
MATURIN_USERNAME: __token__
|
116
|
+
MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
117
|
+
UV_INDEX: https://pypi.org/simple
|
118
|
+
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
113
119
|
|
114
120
|
- name: Upload assets
|
115
121
|
uses: softprops/action-gh-release@v2
|
@@ -119,12 +125,3 @@ jobs:
|
|
119
125
|
dist/*.whl
|
120
126
|
env:
|
121
127
|
GITHUB_TOKEN: ${{ secrets.PAT }}
|
122
|
-
|
123
|
-
- name: Upload to PyPI
|
124
|
-
if: needs.determine_changes.outputs.version_changed == 'true'
|
125
|
-
run: |
|
126
|
-
make publish PY=${{ matrix.python-version }}
|
127
|
-
env:
|
128
|
-
MATURIN_USERNAME: __token__
|
129
|
-
MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
130
|
-
|
@@ -14,10 +14,13 @@ dev:
|
|
14
14
|
rm $(DATA)/scripts/*.pdb |true
|
15
15
|
rm $(DATA)/scripts/*.dwarf |true
|
16
16
|
uvx -p $(PY) --project . maturin develop --uv -r
|
17
|
+
uv run subpackages.py --no-publish --pyversion $(PY) --dev
|
18
|
+
|
19
|
+
|
20
|
+
bdist: dirs
|
17
21
|
|
18
|
-
bdist: dirs clean dev
|
19
22
|
uvx -p $(PY) --project . maturin build --sdist -r -o $(DIST)
|
20
|
-
uv run
|
23
|
+
uv run subpackages.py --no-publish --pyversion $(PY)
|
21
24
|
|
22
25
|
clean:
|
23
26
|
rm -rf $(DIST)/* $(DATA)/*
|
@@ -26,8 +29,8 @@ clean:
|
|
26
29
|
test:dev
|
27
30
|
uvx -p $(PY) --project . pytest tests
|
28
31
|
|
29
|
-
publish:
|
30
|
-
uv run
|
32
|
+
publish: bdist
|
33
|
+
uv run subpackages.py --pyversion $(PY)
|
31
34
|
|
32
35
|
|
33
|
-
.PHONY: dev bdist clean publish
|
36
|
+
.PHONY: dev bdist clean publish tests
|
@@ -2,12 +2,13 @@
|
|
2
2
|
|
3
3
|
import asyncio
|
4
4
|
|
5
|
-
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
6
|
-
from fabricatio.capabilities.rag import RAG
|
7
|
-
from fabricatio.models.extra.aricle_rag import ArticleChunk
|
8
|
-
from fabricatio.utils import ok
|
9
5
|
from questionary import text
|
10
6
|
|
7
|
+
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
8
|
+
from fabricatio.capabilities import RAG
|
9
|
+
from fabricatio.models import ArticleChunk
|
10
|
+
from fabricatio_core.utils import ok
|
11
|
+
|
11
12
|
|
12
13
|
class Talk(Action, RAG):
|
13
14
|
"""Action that says hello to the world."""
|
{fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/chunk_article.py
RENAMED
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
import asyncio
|
4
4
|
|
5
|
-
from
|
6
|
-
|
7
|
-
from fabricatio
|
8
|
-
from fabricatio.
|
9
|
-
from
|
5
|
+
from fabricatio_typst.rust import BibManager
|
6
|
+
|
7
|
+
from fabricatio import Event, Role, Task, WorkFlow, logger
|
8
|
+
from fabricatio.actions import ChunkArticle, InjectToDB
|
9
|
+
from fabricatio_core.fs import gather_files
|
10
|
+
from fabricatio_core.utils import ok
|
10
11
|
|
11
12
|
|
12
13
|
async def main() -> None:
|
{fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/extract_and_inject/extract_and_inject.py
RENAMED
@@ -3,26 +3,28 @@
|
|
3
3
|
import asyncio
|
4
4
|
from typing import Optional
|
5
5
|
|
6
|
-
from
|
7
|
-
from fabricatio.actions.article import ExtractArticleEssence, FixArticleEssence
|
8
|
-
from fabricatio.actions.output import PersistentAll
|
9
|
-
from fabricatio.actions.rag import InjectToDB
|
10
|
-
from fabricatio.fs import safe_text_read
|
11
|
-
from fabricatio.fs.curd import gather_files
|
6
|
+
from fabricatio_typst.rust import BibManager
|
12
7
|
from litellm.utils import token_counter
|
13
8
|
|
9
|
+
from fabricatio import Event, Role, Task, WorkFlow, logger
|
10
|
+
from fabricatio.actions import ExtractArticleEssence, FixArticleEssence, InjectToDB, PersistentAll
|
11
|
+
from fabricatio_core.fs import safe_text_read
|
12
|
+
from fabricatio_core.fs.curd import gather_files
|
13
|
+
|
14
14
|
MAX_TOKEN = 64000
|
15
15
|
|
16
16
|
|
17
|
-
def _reader(path:str)->Optional[str]:
|
18
|
-
string=safe_text_read(path)
|
19
|
-
string=string.split("References\n")[0]
|
20
|
-
string=string.split("参考文献\n")[0]
|
21
|
-
if (leng:=token_counter(text=string))> MAX_TOKEN:
|
17
|
+
def _reader(path: str) -> Optional[str]:
|
18
|
+
string = safe_text_read(path)
|
19
|
+
string = string.split("References\n")[0]
|
20
|
+
string = string.split("参考文献\n")[0]
|
21
|
+
if (leng := token_counter(text=string)) > MAX_TOKEN:
|
22
22
|
logger.warning(f'{path} is too long, got {leng} tokens, skip.')
|
23
23
|
return None
|
24
24
|
logger.info(f'Read {path} get {leng} tokens.')
|
25
25
|
return string
|
26
|
+
|
27
|
+
|
26
28
|
async def main() -> None:
|
27
29
|
"""Main function."""
|
28
30
|
Role(
|
@@ -4,10 +4,10 @@ import asyncio
|
|
4
4
|
from typing import TYPE_CHECKING, List
|
5
5
|
|
6
6
|
from fabricatio import Event, Role, Task, WorkFlow, logger
|
7
|
-
from fabricatio.actions
|
7
|
+
from fabricatio.actions import ExtractArticleEssence
|
8
8
|
|
9
9
|
if TYPE_CHECKING:
|
10
|
-
from fabricatio.models
|
10
|
+
from fabricatio.models import ArticleEssence
|
11
11
|
|
12
12
|
|
13
13
|
async def main() -> None:
|
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
import asyncio
|
4
4
|
|
5
|
-
from fabricatio import Action, Event, Role, Task, WorkFlow
|
6
|
-
from
|
7
|
-
from fabricatio.parser import PythonCapture
|
5
|
+
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
6
|
+
from fabricatio_core.parser import PythonCapture
|
8
7
|
|
9
8
|
|
10
9
|
class WriteCode(Action):
|
@@ -4,10 +4,10 @@ import asyncio
|
|
4
4
|
from typing import Dict, List, Set, Unpack
|
5
5
|
|
6
6
|
import ujson
|
7
|
-
|
8
|
-
from fabricatio
|
9
|
-
from fabricatio.
|
10
|
-
from
|
7
|
+
|
8
|
+
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
9
|
+
from fabricatio.capabilities import Rating
|
10
|
+
from fabricatio_core.parser import JsonCapture
|
11
11
|
|
12
12
|
|
13
13
|
class Rate(Action, Rating):
|
@@ -33,9 +33,9 @@ class WhatToRate(Action):
|
|
33
33
|
async def _execute(self, task_input: Task, rate_topic: str, **cxt: Unpack) -> List[str]:
|
34
34
|
def _validate(resp: str) -> List[str] | None:
|
35
35
|
if (
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
(cap := JsonCapture.convert_with(resp, ujson.loads)) is not None
|
37
|
+
and isinstance(cap, list)
|
38
|
+
and all(isinstance(i, str) for i in cap)
|
39
39
|
):
|
40
40
|
return cap
|
41
41
|
return None
|
@@ -4,11 +4,11 @@ import asyncio
|
|
4
4
|
from typing import Any
|
5
5
|
|
6
6
|
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
7
|
-
from fabricatio.actions
|
8
|
-
from fabricatio.capabilities
|
9
|
-
from fabricatio.
|
10
|
-
from
|
11
|
-
from
|
7
|
+
from fabricatio.actions import PersistentAll
|
8
|
+
from fabricatio.capabilities import Propose
|
9
|
+
from fabricatio.models import ArticleOutline
|
10
|
+
from fabricatio_core.fs import safe_text_read
|
11
|
+
from fabricatio_core.utils import ok
|
12
12
|
|
13
13
|
|
14
14
|
class ProposeObj(Action, Propose):
|
@@ -24,6 +24,7 @@ class ProposeObj(Action, Propose):
|
|
24
24
|
f"Note the heading shall not contain any heading numbers.",
|
25
25
|
)
|
26
26
|
|
27
|
+
|
27
28
|
async def main() -> None:
|
28
29
|
"""Main function."""
|
29
30
|
Role(
|
@@ -3,12 +3,13 @@
|
|
3
3
|
import asyncio
|
4
4
|
|
5
5
|
from fabricatio import Role, logger
|
6
|
-
from fabricatio.capabilities
|
6
|
+
from fabricatio.capabilities import Review
|
7
7
|
|
8
8
|
|
9
9
|
class Reviewer(Role, Review):
|
10
10
|
"""Reviewer role."""
|
11
11
|
|
12
|
+
|
12
13
|
async def main() -> None:
|
13
14
|
"""Main function."""
|
14
15
|
role = Reviewer(
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"""Example of using BibManager."""
|
2
|
+
from fabricatio_typst.rust import BibManager
|
3
|
+
|
4
|
+
from fabricatio import logger
|
5
|
+
|
6
|
+
b = BibManager("Exported Items.bib")
|
7
|
+
logger.success(
|
8
|
+
b.get_cite_key_by_title(
|
9
|
+
"A Negative Selection Immune System Inspired Methodology for Fault Diagnosis of Wind Turbines"))
|
10
|
+
logger.success(
|
11
|
+
b.get_cite_key_fuzzy(
|
12
|
+
"System Inspired Methodology for Fault"
|
13
|
+
)
|
14
|
+
)
|
@@ -2,10 +2,11 @@
|
|
2
2
|
|
3
3
|
import asyncio
|
4
4
|
|
5
|
-
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
6
|
-
from fabricatio.capabilities.rag import RAG
|
7
5
|
from questionary import text
|
8
6
|
|
7
|
+
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
8
|
+
from fabricatio.capabilities import RAG
|
9
|
+
|
9
10
|
|
10
11
|
class Talk(Action, RAG):
|
11
12
|
"""Action that says hello to the world."""
|
@@ -3,10 +3,11 @@
|
|
3
3
|
import asyncio
|
4
4
|
from typing import Any, Set, Unpack
|
5
5
|
|
6
|
-
from fabricatio import Action, Event, Role, Task, ToolBox, WorkFlow, logger, toolboxes
|
7
|
-
from fabricatio.parser import PythonCapture
|
8
6
|
from pydantic import Field
|
9
7
|
|
8
|
+
from fabricatio import Action, Event, Role, Task, ToolBox, WorkFlow, logger, toolboxes
|
9
|
+
from fabricatio_core.parser import PythonCapture
|
10
|
+
|
10
11
|
|
11
12
|
class WriteCode(Action):
|
12
13
|
"""Action that says hello to the world."""
|
@@ -3,26 +3,21 @@
|
|
3
3
|
import asyncio
|
4
4
|
from pathlib import Path
|
5
5
|
|
6
|
-
from fabricatio import Event, Role, WorkFlow, logger
|
7
|
-
from fabricatio.actions
|
8
|
-
from fabricatio.
|
9
|
-
from fabricatio.models.action import Action
|
10
|
-
from fabricatio.models.extra.article_main import Article
|
11
|
-
from fabricatio.models.extra.article_outline import ArticleOutline
|
12
|
-
from fabricatio.models.extra.article_proposal import ArticleProposal
|
13
|
-
from fabricatio.models.task import Task
|
6
|
+
from fabricatio import Action, Event, Role, Task, WorkFlow, logger
|
7
|
+
from fabricatio.actions import DumpFinalizedOutput, PersistentAll, RetrieveFromPersistent, TweakArticleRAG
|
8
|
+
from fabricatio.models import Article, ArticleOutline, ArticleProposal
|
14
9
|
|
15
10
|
|
16
11
|
class Connect(Action):
|
17
12
|
"""Connect the article to the outline."""
|
18
13
|
|
19
14
|
async def _execute(
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
15
|
+
self,
|
16
|
+
article_briefing: str,
|
17
|
+
article_proposal: ArticleProposal,
|
18
|
+
article_outline: ArticleOutline,
|
19
|
+
article: Article,
|
20
|
+
**cxt,
|
26
21
|
) -> None:
|
27
22
|
article.update_ref(article_outline.update_ref(article_proposal.update_ref(article_briefing)))
|
28
23
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"""Fix the article."""
|
2
|
+
|
3
|
+
from fabricatio.models import Article
|
4
|
+
|
5
|
+
a = Article.from_persistent(
|
6
|
+
r"persistent\to_dump\Article_20250408_103051_51d822.json")
|
7
|
+
a.convert_tex()
|
8
|
+
|
9
|
+
from fabricatio_core.fs.curd import dump_text
|
10
|
+
|
11
|
+
dump_text("corrected.typ", a.finalized_dump())
|
@@ -5,21 +5,22 @@ from pathlib import Path
|
|
5
5
|
from typing import List, Optional
|
6
6
|
|
7
7
|
import typer
|
8
|
-
from fabricatio import Event, WorkFlow, logger
|
8
|
+
from fabricatio import Event, Task, WorkFlow, logger
|
9
9
|
from fabricatio import Role as RoleBase
|
10
|
-
from fabricatio.actions
|
10
|
+
from fabricatio.actions import (
|
11
|
+
ArticleConsultRAG,
|
12
|
+
DumpFinalizedOutput,
|
11
13
|
ExtractOutlineFromRaw,
|
12
14
|
GenerateArticleProposal,
|
13
15
|
GenerateInitialOutline,
|
16
|
+
PersistentAll,
|
17
|
+
RenderedDump,
|
18
|
+
WriteArticleContentRAG,
|
14
19
|
WriteChapterSummary,
|
15
20
|
WriteResearchContentSummary,
|
16
21
|
)
|
17
|
-
from fabricatio.
|
18
|
-
from
|
19
|
-
from fabricatio.models.extra.article_outline import ArticleOutline
|
20
|
-
from fabricatio.models.task import Task
|
21
|
-
from fabricatio.models.usages import LLMUsage
|
22
|
-
from fabricatio.utils import ok
|
22
|
+
from fabricatio.models import ArticleOutline, LLMUsage
|
23
|
+
from fabricatio_core.utils import ok
|
23
24
|
from typer import Typer
|
24
25
|
|
25
26
|
# from pydantic import HttpUrl
|
@@ -102,7 +103,6 @@ Role(
|
|
102
103
|
},
|
103
104
|
)
|
104
105
|
|
105
|
-
|
106
106
|
app = Typer()
|
107
107
|
|
108
108
|
|
@@ -126,7 +126,7 @@ def finish(
|
|
126
126
|
article_outline_path: Path = typer.Argument( # noqa: B008
|
127
127
|
help="Path to the article outline raw file."
|
128
128
|
),
|
129
|
-
dump_path: Path = typer.Option(Path("out.typ"), "-d", "--dump-path", help="Path to dump the final output."),
|
129
|
+
dump_path: Path = typer.Option(Path("out.typ"), "-d", "--dump-path", help="Path to dump the final output."),
|
130
130
|
persist_dir: Path = typer.Option( # noqa: B008
|
131
131
|
Path("persistent"), "-p", "--persist-dir", help="Directory to persist the output."
|
132
132
|
),
|
@@ -156,7 +156,7 @@ def completion(
|
|
156
156
|
article_outline_raw_path: Path = typer.Option( # noqa: B008
|
157
157
|
Path("article_outline_raw.txt"), "-a", "--article-outline-raw", help="Path to the article outline raw file."
|
158
158
|
),
|
159
|
-
dump_path: Path = typer.Option(Path("out.typ"), "-d", "--dump-path", help="Path to dump the final output."),
|
159
|
+
dump_path: Path = typer.Option(Path("out.typ"), "-d", "--dump-path", help="Path to dump the final output."),
|
160
160
|
persist_dir: Path = typer.Option( # noqa: B008
|
161
161
|
Path("persistent"), "-p", "--persist-dir", help="Directory to persist the output."
|
162
162
|
),
|
@@ -186,7 +186,7 @@ def write(
|
|
186
186
|
article_briefing: Path = typer.Option( # noqa: B008
|
187
187
|
Path("article_briefing.txt"), "-a", "--article-briefing", help="Path to the article briefing file."
|
188
188
|
),
|
189
|
-
dump_path: Path = typer.Option(Path("out.typ"), "-d", "--dump-path", help="Path to dump the final output."),
|
189
|
+
dump_path: Path = typer.Option(Path("out.typ"), "-d", "--dump-path", help="Path to dump the final output."),
|
190
190
|
persist_dir: Path = typer.Option( # noqa: B008
|
191
191
|
Path("persistent"), "-p", "--persist-dir", help="Directory to persist the output."
|
192
192
|
),
|
@@ -2,10 +2,9 @@
|
|
2
2
|
|
3
3
|
import asyncio
|
4
4
|
|
5
|
-
from fabricatio import Event, Role, logger
|
6
|
-
from fabricatio.
|
7
|
-
from
|
8
|
-
from fabricatio.workflows.articles import WriteOutlineCorrectedWorkFlow
|
5
|
+
from fabricatio import Event, Role, Task, logger
|
6
|
+
from fabricatio.workflows import WriteOutlineCorrectedWorkFlow
|
7
|
+
from fabricatio_core.utils import ok
|
9
8
|
|
10
9
|
|
11
10
|
async def main() -> None:
|
{fabricatio-0.4.0.dev2 → fabricatio-0.4.1.dev1}/examples/write_outline/write_outline_corrected.py
RENAMED
@@ -3,8 +3,7 @@
|
|
3
3
|
import asyncio
|
4
4
|
|
5
5
|
from fabricatio import Event, Role, WorkFlow, logger
|
6
|
-
from fabricatio.actions
|
7
|
-
from fabricatio.actions.output import DumpFinalizedOutput
|
6
|
+
from fabricatio.actions import DumpFinalizedOutput, GenerateArticleProposal, GenerateInitialOutline
|
8
7
|
|
9
8
|
|
10
9
|
async def main() -> None:
|
@@ -3,14 +3,16 @@
|
|
3
3
|
from pathlib import Path
|
4
4
|
from typing import Any, List, Mapping, Self
|
5
5
|
|
6
|
-
from fabricatio_actions.models.generic import FromMapping
|
7
6
|
from fabricatio_core.fs import safe_text_read
|
8
7
|
from fabricatio_core.journal import logger
|
9
8
|
from fabricatio_core.models.action import Action
|
10
9
|
|
10
|
+
from fabricatio_actions.models.generic import FromMapping
|
11
|
+
|
11
12
|
|
12
13
|
class ReadText(Action, FromMapping):
|
13
14
|
"""Read text from a file."""
|
15
|
+
|
14
16
|
output_key: str = "read_text"
|
15
17
|
read_path: str | Path
|
16
18
|
"""Path to the file to read."""
|
@@ -3,7 +3,6 @@
|
|
3
3
|
from pathlib import Path
|
4
4
|
from typing import Any, Iterable, List, Mapping, Optional, Self, Sequence, Type
|
5
5
|
|
6
|
-
from fabricatio_actions.models.generic import FromMapping, FromSequence
|
7
6
|
from fabricatio_capabilities.models.generic import FinalizedDumpAble, PersistentAble
|
8
7
|
from fabricatio_core.fs import dump_text
|
9
8
|
from fabricatio_core.journal import logger
|
@@ -13,6 +12,8 @@ from fabricatio_core.models.usages import LLMUsage
|
|
13
12
|
from fabricatio_core.rust import TEMPLATE_MANAGER
|
14
13
|
from fabricatio_core.utils import ok
|
15
14
|
|
15
|
+
from fabricatio_actions.models.generic import FromMapping, FromSequence
|
16
|
+
|
16
17
|
|
17
18
|
class DumpFinalizedOutput(Action, LLMUsage):
|
18
19
|
"""Dump the finalized output to a file."""
|
@@ -21,11 +22,11 @@ class DumpFinalizedOutput(Action, LLMUsage):
|
|
21
22
|
dump_path: Optional[str] = None
|
22
23
|
|
23
24
|
async def _execute(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
self,
|
26
|
+
to_dump: FinalizedDumpAble,
|
27
|
+
task_input: Optional[Task] = None,
|
28
|
+
dump_path: Optional[str | Path] = None,
|
29
|
+
**_,
|
29
30
|
) -> str:
|
30
31
|
dump_path = Path(
|
31
32
|
dump_path
|
@@ -52,11 +53,11 @@ class RenderedDump(Action, LLMUsage):
|
|
52
53
|
"""The template name to render the data."""
|
53
54
|
|
54
55
|
async def _execute(
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
56
|
+
self,
|
57
|
+
to_dump: FinalizedDumpAble,
|
58
|
+
task_input: Optional[Task] = None,
|
59
|
+
dump_path: Optional[str | Path] = None,
|
60
|
+
**_,
|
60
61
|
) -> str:
|
61
62
|
dump_path = Path(
|
62
63
|
dump_path
|
@@ -91,10 +92,10 @@ class PersistentAll(Action, LLMUsage):
|
|
91
92
|
"""Whether to remove the existing dir before dumping."""
|
92
93
|
|
93
94
|
async def _execute(
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
95
|
+
self,
|
96
|
+
task_input: Optional[Task] = None,
|
97
|
+
persist_dir: Optional[str | Path] = None,
|
98
|
+
**cxt,
|
98
99
|
) -> int:
|
99
100
|
persist_dir = Path(
|
100
101
|
persist_dir
|
@@ -124,7 +125,7 @@ class PersistentAll(Action, LLMUsage):
|
|
124
125
|
v.persist(final_dir)
|
125
126
|
count += 1
|
126
127
|
if isinstance(v, Iterable) and any(
|
127
|
-
|
128
|
+
persistent_ables := (pers for pers in v if isinstance(pers, PersistentAble))
|
128
129
|
):
|
129
130
|
logger.info(f"Persisting collection {k} to {final_dir}")
|
130
131
|
final_dir.mkdir(parents=True, exist_ok=True)
|
@@ -174,11 +175,11 @@ class RetrieveFromLatest[T: PersistentAble](RetrieveFromPersistent[T], FromMappi
|
|
174
175
|
|
175
176
|
@classmethod
|
176
177
|
def from_mapping(
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
178
|
+
cls,
|
179
|
+
mapping: Mapping[str, str | Path],
|
180
|
+
*,
|
181
|
+
retrieve_cls: Type[T],
|
182
|
+
**kwargs,
|
182
183
|
) -> List["RetrieveFromLatest[T]"]:
|
183
184
|
"""Create a list of `RetrieveFromLatest` from the mapping."""
|
184
185
|
return [
|
@@ -2,13 +2,12 @@
|
|
2
2
|
|
3
3
|
from typing import Any, List, Optional, Self
|
4
4
|
|
5
|
-
from pydantic import Field
|
6
|
-
from rich import print as r_print
|
7
|
-
|
8
5
|
from fabricatio_capabilities.models.generic import SketchedAble
|
9
6
|
from fabricatio_core.journal import logger
|
10
7
|
from fabricatio_core.models.generic import WithBriefing
|
11
8
|
from fabricatio_core.utils import ask_edit
|
9
|
+
from pydantic import Field
|
10
|
+
from rich import print as r_print
|
12
11
|
|
13
12
|
|
14
13
|
class Problem(SketchedAble, WithBriefing):
|
@@ -6,6 +6,7 @@ from fabricatio_actions.models.generic import FromMapping
|
|
6
6
|
from fabricatio_core.journal import logger
|
7
7
|
from fabricatio_core.models.action import Action
|
8
8
|
from fabricatio_core.utils import ok
|
9
|
+
|
9
10
|
from fabricatio_rule.capabilities.check import Check
|
10
11
|
from fabricatio_rule.models.rule import RuleSet
|
11
12
|
|
@@ -22,9 +23,9 @@ class DraftRuleSet(Action, Check, FromMapping):
|
|
22
23
|
"""The number of rules to generate in the ruleset (0 for no restriction)."""
|
23
24
|
|
24
25
|
async def _execute(
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
self,
|
27
|
+
ruleset_requirement: Optional[str] = None,
|
28
|
+
**_,
|
28
29
|
) -> Optional[RuleSet]:
|
29
30
|
"""Draft a ruleset based on the requirement description.
|
30
31
|
|