fabricatio 0.2.12.dev3__tar.gz → 0.2.13.dev0__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.2.12.dev3 → fabricatio-0.2.13.dev0}/Cargo.lock +2 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/PKG-INFO +1 -1
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/pyproject.toml +1 -1
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/article_rag.py +6 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/advanced_rag.py +5 -5
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/article_main.py +13 -6
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/rust.pyi +5 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/typst_tools.rs +26 -3
- fabricatio-0.2.13.dev0/templates.tar.gz +0 -0
- fabricatio-0.2.13.dev0/uv.lock +1709 -0
- fabricatio-0.2.12.dev3/templates.tar.gz +0 -0
- fabricatio-0.2.12.dev3/uv.lock +0 -1709
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/.github/workflows/build-package.yaml +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/.github/workflows/ruff.yaml +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/.github/workflows/tests.yaml +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/.python-version +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/Cargo.toml +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/LICENSE +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/Makefile +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/README.md +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/correct/correct.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/correct/correct_loop.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/extract_and_inject/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/extract_and_inject/article_rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/extract_and_inject/ask.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/extract_and_inject/chunk_article.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/extract_and_inject/extract_and_inject.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/extract_article/extract.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/llm_usages/llm_usage.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/make_a_rating/rating.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/make_diary/commits.json +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/make_diary/diary.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/minor/hello_fabricatio.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/minor/write_a_poem.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/propose_task/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/propose_task/propose.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/reviewer/censor.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/reviewer/review.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/rules/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/rules/draft_ruleset.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/search_bibtex/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/search_bibtex/search.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/simple_chat/chat.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/simple_rag/simple_rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/task_handle/handle_task.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_article/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_article/article_rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_article/post_process.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_article/write_article.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_outline/.gitignore +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_outline/write_outline.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/examples/write_outline/write_outline_corrected.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/article.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/fs.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/output.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/actions/rules.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/advanced_judge.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/censor.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/check.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/correct.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/extract.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/propose.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/rating.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/review.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/task.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/config.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/constants.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/core.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/decorators.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/fs/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/fs/curd.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/fs/readers.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/journal.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/action.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/adv_kwargs_types.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/events.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/advanced_judge.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/aricle_rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/article_base.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/article_essence.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/article_outline.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/article_proposal.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/patches.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/problem.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/rule.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/generic.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/kwargs_types.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/role.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/task.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/tool.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/usages.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/parser.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/py.typed +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/rust_instances.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/toolboxes/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/toolboxes/arithmetic.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/toolboxes/fs.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/utils.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/workflows/__init__.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/workflows/articles.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/workflows/rag.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/bib_tools.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/hash.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/hbs_helpers.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/language.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/lib.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/templates.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/src/word_split.rs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/as_prompt.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/check_string.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/claude-xml.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/clean-up-code.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/co_validation.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/create_json_obj.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/dependencies.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/document-the-code.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/draft_rating_criteria.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/draft_rating_manual.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/draft_rating_weights_klee.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/draft_tool_usage_code.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/extract.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/extract_criteria_from_reasons.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/extract_reasons_from_examples.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/fix-bugs.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/fix_troubled_obj.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/fix_troubled_string.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/generic_string.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/improve-performance.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/liststr.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/make_choice.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/make_judgment.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/pathstr.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/rate_fine_grind.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/refactor.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/refined_query.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/retrieved_display.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/review_string.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/rule_requirement.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/ruleset_requirement_breakdown.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/task_briefing.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/web-ctf-solver.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/write-git-commit.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/write-github-pull-request.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/templates/built-in/write-github-readme.hbs +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_config.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_action.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_advanced.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_generic.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_problem.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_role.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_task.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_tool.py +0 -0
- {fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/tests/test_models/test_usages.py +0 -0
@@ -20,6 +20,7 @@ from fabricatio.models.extra.article_main import Article, ArticleChapter, Articl
|
|
20
20
|
from fabricatio.models.extra.article_outline import ArticleOutline
|
21
21
|
from fabricatio.models.extra.rule import RuleSet
|
22
22
|
from fabricatio.models.kwargs_types import ChooseKwargs, LLMKwargs
|
23
|
+
from fabricatio.rust import convert_to_block_formula, convert_to_inline_formula
|
23
24
|
from fabricatio.utils import ask_retain, ok
|
24
25
|
|
25
26
|
TYPST_CITE_USAGE = (
|
@@ -162,6 +163,7 @@ class WriteArticleContentRAG(Action, RAG, Extract):
|
|
162
163
|
)
|
163
164
|
for p in new_subsec.paragraphs:
|
164
165
|
p.content = cm.apply(p.content)
|
166
|
+
p.description = cm.apply(p.description)
|
165
167
|
subsec.update_from(new_subsec)
|
166
168
|
logger.debug(f"{subsec.title}:rpl\n{subsec.display()}")
|
167
169
|
return subsec
|
@@ -286,6 +288,10 @@ class ArticleConsultRAG(Action, AdvancedRAG):
|
|
286
288
|
while (req := await text("User: ").ask_async()) is not None:
|
287
289
|
if await confirm("Empty the cm?").ask_async():
|
288
290
|
cm.empty()
|
291
|
+
|
292
|
+
req = convert_to_block_formula(req)
|
293
|
+
req = convert_to_inline_formula(req)
|
294
|
+
|
289
295
|
await self.clued_search(
|
290
296
|
req,
|
291
297
|
cm,
|
{fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/capabilities/advanced_rag.py
RENAMED
@@ -24,7 +24,7 @@ class AdvancedRAG(RAG):
|
|
24
24
|
**kwargs: Unpack[FetchKwargs],
|
25
25
|
) -> CitationManager:
|
26
26
|
"""Asynchronously performs a clued search based on a given requirement and citation manager."""
|
27
|
-
if max_round<=0:
|
27
|
+
if max_round <= 0:
|
28
28
|
raise ValueError("max_round should be greater than 0")
|
29
29
|
if max_round == 1:
|
30
30
|
logger.warning(
|
@@ -33,21 +33,21 @@ class AdvancedRAG(RAG):
|
|
33
33
|
|
34
34
|
refinery_kwargs = refinery_kwargs or {}
|
35
35
|
|
36
|
-
for i in range(max_round + 1
|
37
|
-
logger.info(f"Round [{i
|
36
|
+
for i in range(1, max_round + 1):
|
37
|
+
logger.info(f"Round [{i}/{max_round}] search started.")
|
38
38
|
ref_q = await self.arefined_query(
|
39
39
|
f"{cm.as_prompt()}\n\nAbove is the retrieved references in the {i - 1}th RAG, now we need to perform the {i}th RAG."
|
40
40
|
f"\n\n{requirement}",
|
41
41
|
**refinery_kwargs,
|
42
42
|
)
|
43
43
|
if ref_q is None:
|
44
|
-
logger.error(f"At round [{i
|
44
|
+
logger.error(f"At round [{i}/{max_round}] search, failed to refine the query, exit.")
|
45
45
|
return cm
|
46
46
|
refs = await self.aretrieve(ref_q, ArticleChunk, base_accepted, **kwargs)
|
47
47
|
|
48
48
|
if (max_capacity := max_capacity - len(refs)) < 0:
|
49
49
|
cm.add_chunks(refs[0:max_capacity])
|
50
|
-
logger.debug(f"At round [{i
|
50
|
+
logger.debug(f"At round [{i}/{max_round}] search, the capacity is not enough, exit.")
|
51
51
|
return cm
|
52
52
|
|
53
53
|
cm.add_chunks(refs)
|
{fabricatio-0.2.12.dev3 → fabricatio-0.2.13.dev0}/python/fabricatio/models/extra/article_main.py
RENAMED
@@ -161,13 +161,20 @@ class Article(
|
|
161
161
|
"Original Article": self.display(),
|
162
162
|
}
|
163
163
|
|
164
|
-
def convert_tex(self) -> Self:
|
164
|
+
def convert_tex(self, paragraphs: bool = True, descriptions: bool = True) -> Self:
|
165
165
|
"""Convert tex to typst code."""
|
166
|
-
|
167
|
-
for
|
168
|
-
|
169
|
-
|
170
|
-
|
166
|
+
if descriptions:
|
167
|
+
for a in self.iter_dfs():
|
168
|
+
a.description = fix_misplaced_labels(a.description)
|
169
|
+
a.description = convert_all_inline_tex(a.description)
|
170
|
+
a.description = convert_all_block_tex(a.description)
|
171
|
+
|
172
|
+
if paragraphs:
|
173
|
+
for _, _, subsec in self.iter_subsections():
|
174
|
+
for p in subsec.paragraphs:
|
175
|
+
p.content = fix_misplaced_labels(p.content)
|
176
|
+
p.content = convert_all_inline_tex(p.content)
|
177
|
+
p.content = convert_all_block_tex(p.content)
|
171
178
|
return self
|
172
179
|
|
173
180
|
@override
|
@@ -377,3 +377,8 @@ def to_metadata(data: JsonValue) -> str:
|
|
377
377
|
The YAML string representation of the input data.
|
378
378
|
"""
|
379
379
|
|
380
|
+
def convert_to_inline_formula(string: str) -> str:
|
381
|
+
r"""Convert `$...$` to inline formula `\(...\)` and trim spaces."""
|
382
|
+
|
383
|
+
def convert_to_block_formula(string: str) -> str:
|
384
|
+
r"""Convert `$$...$$` to block formula `\[...\]` and trim spaces."""
|
@@ -63,14 +63,14 @@ fn convert_tex_with_pattern(pattern: &str, string: &str, block: bool) -> PyResul
|
|
63
63
|
match tex2typst(tex_code) {
|
64
64
|
Ok(converted) => {
|
65
65
|
if block {
|
66
|
-
format!("$\n{}\n
|
66
|
+
format!("$\n{}\n$", converted)
|
67
67
|
} else {
|
68
68
|
format!(" ${}$ ", converted)
|
69
69
|
}
|
70
70
|
}
|
71
71
|
|
72
72
|
Err(e) => if block {
|
73
|
-
format!("$\n{}\n\"{}\"\n$", comment(tex_code), e)
|
73
|
+
format!("$\n{}\n\"{}\"\n$", comment(tex_code.trim()), e)
|
74
74
|
} else {
|
75
75
|
format!(" ${}$ ", tex_code)
|
76
76
|
},
|
@@ -83,7 +83,7 @@ fn convert_tex_with_pattern(pattern: &str, string: &str, block: bool) -> PyResul
|
|
83
83
|
|
84
84
|
#[pyfunction]
|
85
85
|
fn convert_all_inline_tex(string: &str) -> PyResult<String> {
|
86
|
-
convert_tex_with_pattern(r"\\\((.*?)\\\)", string, false)
|
86
|
+
convert_tex_with_pattern(r"(?s)\\\((.*?)\\\)", string, false)
|
87
87
|
}
|
88
88
|
|
89
89
|
|
@@ -92,6 +92,26 @@ fn convert_all_block_tex(string: &str) -> PyResult<String> {
|
|
92
92
|
convert_tex_with_pattern(r"(?s)\\\[(.*?)\\]", string, true)
|
93
93
|
}
|
94
94
|
|
95
|
+
#[pyfunction]
|
96
|
+
|
97
|
+
/// Convert `$...$` to inline formula `\(...\)` and trim spaces
|
98
|
+
pub fn convert_to_inline_formula(string: &str) -> String {
|
99
|
+
let re = Regex::new(r#"\$(.*?)\$"#).unwrap();
|
100
|
+
re.replace_all(string, |caps: ®ex::Captures| {
|
101
|
+
format!("\\({}\\)", caps[1].trim())
|
102
|
+
}).into_owned()
|
103
|
+
}
|
104
|
+
#[pyfunction]
|
105
|
+
|
106
|
+
/// Convert `$$...$$` to block formula `\[...\]` and trim spaces
|
107
|
+
pub fn convert_to_block_formula(string: &str) -> String {
|
108
|
+
let re = Regex::new(r#"(?s)\$\$(.*?)\$\$"#).unwrap();
|
109
|
+
re.replace_all(string, |caps: ®ex::Captures| {
|
110
|
+
format!("\\[{}\\]", caps[1].trim())
|
111
|
+
}).into_owned()
|
112
|
+
}
|
113
|
+
|
114
|
+
|
95
115
|
#[pyfunction]
|
96
116
|
/// A func to fix labels in a string.
|
97
117
|
pub fn fix_misplaced_labels(string: &str) -> String {
|
@@ -154,6 +174,9 @@ pub(crate) fn register(_: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
154
174
|
m.add_function(wrap_pyfunction!(fix_misplaced_labels, m)?)?;
|
155
175
|
m.add_function(wrap_pyfunction!(split_out_metadata, m)?)?;
|
156
176
|
m.add_function(wrap_pyfunction!(to_metadata, m)?)?;
|
177
|
+
|
178
|
+
m.add_function(wrap_pyfunction!(convert_to_inline_formula, m)?)?;
|
179
|
+
m.add_function(wrap_pyfunction!(convert_to_block_formula, m)?)?;
|
157
180
|
Ok(())
|
158
181
|
}
|
159
182
|
|
Binary file
|