fabricatio 0.2.7.dev5__cp312-cp312-win_amd64.whl → 0.2.8.dev1__cp312-cp312-win_amd64.whl
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/_rust.cp312-win_amd64.pyd +0 -0
- fabricatio/actions/article.py +188 -74
- fabricatio/actions/output.py +36 -1
- fabricatio/capabilities/advanced_judge.py +23 -0
- fabricatio/capabilities/correct.py +26 -6
- fabricatio/capabilities/rating.py +1 -1
- fabricatio/capabilities/review.py +2 -2
- fabricatio/models/action.py +3 -1
- fabricatio/models/extra/advanced_judge.py +22 -0
- fabricatio/models/extra/article_base.py +196 -86
- fabricatio/models/extra/article_essence.py +6 -9
- fabricatio/models/extra/article_main.py +29 -49
- fabricatio/models/extra/article_outline.py +10 -156
- fabricatio/models/extra/article_proposal.py +12 -14
- fabricatio/models/generic.py +12 -16
- fabricatio/models/usages.py +5 -1
- {fabricatio-0.2.7.dev5.data → fabricatio-0.2.8.dev1.data}/scripts/tdown.exe +0 -0
- {fabricatio-0.2.7.dev5.dist-info → fabricatio-0.2.8.dev1.dist-info}/METADATA +1 -1
- {fabricatio-0.2.7.dev5.dist-info → fabricatio-0.2.8.dev1.dist-info}/RECORD +21 -19
- {fabricatio-0.2.7.dev5.dist-info → fabricatio-0.2.8.dev1.dist-info}/WHEEL +0 -0
- {fabricatio-0.2.7.dev5.dist-info → fabricatio-0.2.8.dev1.dist-info}/licenses/LICENSE +0 -0
@@ -1,45 +1,28 @@
|
|
1
1
|
"""A module containing the ArticleOutline class, which represents the outline of an academic paper."""
|
2
2
|
|
3
|
-
from typing import
|
3
|
+
from typing import Dict
|
4
4
|
|
5
|
-
import regex
|
6
5
|
from fabricatio.models.extra.article_base import (
|
7
6
|
ArticleBase,
|
8
|
-
ArticleOutlineBase,
|
9
7
|
ChapterBase,
|
10
8
|
SectionBase,
|
11
9
|
SubSectionBase,
|
12
10
|
)
|
13
11
|
from fabricatio.models.extra.article_proposal import ArticleProposal
|
14
12
|
from fabricatio.models.generic import CensoredAble, Display, PersistentAble, WithRef
|
15
|
-
from fabricatio.models.utils import ok
|
16
13
|
|
17
14
|
|
18
|
-
class ArticleSubsectionOutline(
|
15
|
+
class ArticleSubsectionOutline(SubSectionBase):
|
19
16
|
"""Atomic research component specification for academic paper generation."""
|
20
17
|
|
21
18
|
|
22
|
-
|
23
|
-
class ArticleSectionOutline(ArticleOutlineBase, SectionBase[ArticleSubsectionOutline]):
|
19
|
+
class ArticleSectionOutline(SectionBase[ArticleSubsectionOutline]):
|
24
20
|
"""A slightly more detailed research component specification for academic paper generation, Must contain subsections."""
|
25
21
|
|
26
22
|
|
27
|
-
|
28
|
-
"""Updates the current instance with the attributes of another instance."""
|
29
|
-
super().update_from_inner(other)
|
30
|
-
super(ArticleOutlineBase, self).update_from_inner(other)
|
31
|
-
return self
|
32
|
-
|
33
|
-
|
34
|
-
class ArticleChapterOutline(ArticleOutlineBase, ChapterBase[ArticleSectionOutline]):
|
23
|
+
class ArticleChapterOutline(ChapterBase[ArticleSectionOutline]):
|
35
24
|
"""Macro-structural unit implementing standard academic paper organization. Must contain sections."""
|
36
25
|
|
37
|
-
def update_from_inner(self, other: Self) -> Self:
|
38
|
-
"""Updates the current instance with the attributes of another instance."""
|
39
|
-
super().update_from_inner(other)
|
40
|
-
super(ArticleOutlineBase, self).update_from_inner(other)
|
41
|
-
return self
|
42
|
-
|
43
26
|
|
44
27
|
class ArticleOutline(
|
45
28
|
Display,
|
@@ -48,140 +31,11 @@ class ArticleOutline(
|
|
48
31
|
PersistentAble,
|
49
32
|
ArticleBase[ArticleChapterOutline],
|
50
33
|
):
|
51
|
-
"""
|
52
|
-
|
53
|
-
abstract: str
|
54
|
-
"""The abstract is a concise summary of the academic paper's main findings."""
|
55
|
-
|
56
|
-
prospect: str
|
57
|
-
"""Consolidated research statement with four pillars:
|
58
|
-
1. Problem Identification: Current limitations
|
59
|
-
2. Methodological Response: Technical approach
|
60
|
-
3. Empirical Validation: Evaluation strategy
|
61
|
-
4. Scholarly Impact: Field contributions
|
62
|
-
"""
|
63
|
-
|
64
|
-
title: str
|
65
|
-
"""Title of the academic paper."""
|
66
|
-
|
67
|
-
language: str
|
68
|
-
"""Written language of the article. SHALL be aligned to the language of the article proposal provided."""
|
69
|
-
|
70
|
-
def finalized_dump(self) -> str:
|
71
|
-
"""Generates standardized hierarchical markup for academic publishing systems.
|
72
|
-
|
73
|
-
Implements ACL 2024 outline conventions with four-level structure:
|
74
|
-
= Chapter Title (Level 1)
|
75
|
-
== Section Title (Level 2)
|
76
|
-
=== Subsection Title (Level 3)
|
77
|
-
==== Subsubsection Title (Level 4)
|
78
|
-
|
79
|
-
Returns:
|
80
|
-
str: Strictly formatted outline with academic sectioning
|
34
|
+
"""Outline of an academic paper, containing chapters, sections, subsections."""
|
81
35
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
=== Implementation Details
|
88
|
-
== Evaluation Protocol
|
89
|
-
"""
|
90
|
-
lines: List[str] = []
|
91
|
-
for i, chapter in enumerate(self.chapters, 1):
|
92
|
-
lines.append(f"= Chapter {i}: {chapter.title}")
|
93
|
-
for j, section in enumerate(chapter.sections, 1):
|
94
|
-
lines.append(f"== {i}.{j} {section.title}")
|
95
|
-
for k, subsection in enumerate(section.subsections, 1):
|
96
|
-
lines.append(f"=== {i}.{j}.{k} {subsection.title}")
|
97
|
-
return "\n".join(lines)
|
98
|
-
|
99
|
-
@override
|
100
|
-
def iter_dfs(
|
101
|
-
self,
|
102
|
-
) -> Generator[ArticleChapterOutline | ArticleSectionOutline | ArticleSubsectionOutline, None, None]:
|
103
|
-
return super().iter_dfs()
|
104
|
-
def find_illegal(self) -> Optional[Tuple[ArticleOutlineBase, str]]:
|
105
|
-
"""Finds the first illegal component in the outline.
|
106
|
-
|
107
|
-
Returns:
|
108
|
-
Tuple[ArticleOutlineBase, str]: A tuple containing the illegal component and an error message.
|
109
|
-
"""
|
110
|
-
summary = ""
|
111
|
-
for component in self.iter_dfs():
|
112
|
-
for ref in component.depend_on:
|
113
|
-
if not ref.deref(self):
|
114
|
-
summary += f"Invalid internal reference in {component.__class__.__name__} titled `{component.title}` at `depend_on` field, because the referred {ref.referring_type} is not exists within the article, see the original obj dump: {ref.model_dump()}\n"
|
115
|
-
for ref in component.support_to:
|
116
|
-
if not ref.deref(self):
|
117
|
-
summary += f"Invalid internal reference in {component.__class__.__name__} titled `{component.title}` at `support_to` field, because the referred {ref.referring_type} is not exists within the article, see the original obj dump: {ref.model_dump()}\n"
|
118
|
-
summary += component.introspect()
|
119
|
-
if summary:
|
120
|
-
return component, summary
|
121
|
-
return None
|
122
|
-
|
123
|
-
@classmethod
|
124
|
-
def from_typst_code(
|
125
|
-
cls, typst_code: str, title: str = "", article_language: str = "en", prospect: str = "", abstract: str = ""
|
126
|
-
) -> "ArticleOutline":
|
127
|
-
"""Parses a Typst code string and creates an ArticleOutline instance."""
|
128
|
-
self = cls(language=article_language, prospect=prospect, abstract=abstract, chapters=[], title=title)
|
129
|
-
stack = [self] # 根节点为ArticleOutline实例
|
130
|
-
|
131
|
-
for line in typst_code.splitlines():
|
132
|
-
parsed = cls._parse_line(line)
|
133
|
-
if not parsed:
|
134
|
-
continue
|
135
|
-
level, title = parsed
|
136
|
-
cls._adjust_stack(stack, level)
|
137
|
-
parent = stack[-1]
|
138
|
-
component = cls._create_component(level, title)
|
139
|
-
cls._add_to_parent(parent, component, level)
|
140
|
-
stack.append(component)
|
141
|
-
|
142
|
-
return self
|
143
|
-
|
144
|
-
@classmethod
|
145
|
-
def _parse_line(cls, line: str) -> Optional[Tuple[int, str]]:
|
146
|
-
stripped = line.strip()
|
147
|
-
if not stripped.startswith("="):
|
148
|
-
return None
|
149
|
-
match = regex.match(r"^(\=+)(.*)", stripped)
|
150
|
-
if not match:
|
151
|
-
return None
|
152
|
-
eqs, title_part = match.groups()
|
153
|
-
return len(eqs), title_part.strip()
|
154
|
-
|
155
|
-
@classmethod
|
156
|
-
def _adjust_stack(cls, stack: List[object], target_level: int) -> None:
|
157
|
-
while len(stack) > target_level:
|
158
|
-
stack.pop()
|
159
|
-
|
160
|
-
@classmethod
|
161
|
-
def _create_component(cls, level: int, title: str) -> ArticleOutlineBase:
|
162
|
-
default_kwargs = {
|
163
|
-
"writing_aim": [],
|
164
|
-
"depend_on": [],
|
165
|
-
"support_to": [],
|
166
|
-
"description": [],
|
36
|
+
def _as_prompt_inner(self) -> Dict[str, str]:
|
37
|
+
return {
|
38
|
+
"Original Article Briefing": self.referenced.referenced,
|
39
|
+
"Original Article Proposal": self.referenced.display(),
|
40
|
+
"Original Article Outline": self.display(),
|
167
41
|
}
|
168
|
-
component_map = {
|
169
|
-
1: lambda: ArticleChapterOutline(title=title, sections=[], **default_kwargs),
|
170
|
-
2: lambda: ArticleSectionOutline(title=title, subsections=[], **default_kwargs),
|
171
|
-
3: lambda: ArticleSubsectionOutline(title=title, **default_kwargs),
|
172
|
-
}
|
173
|
-
return ok(component_map.get(level, lambda: None)(), "Invalid level")
|
174
|
-
|
175
|
-
@classmethod
|
176
|
-
def _add_to_parent(
|
177
|
-
cls,
|
178
|
-
parent: Union["ArticleOutline", ArticleChapterOutline, ArticleSectionOutline],
|
179
|
-
component: ArticleOutlineBase,
|
180
|
-
level: int,
|
181
|
-
) -> None:
|
182
|
-
if level == 1 and isinstance(component, ArticleChapterOutline):
|
183
|
-
parent.chapters.append(component)
|
184
|
-
elif level == 2 and isinstance(component, ArticleSectionOutline): # noqa: PLR2004
|
185
|
-
parent.sections.append(component)
|
186
|
-
elif level == 3 and isinstance(component, ArticleSubsectionOutline): # noqa: PLR2004
|
187
|
-
parent.subsections.append(component)
|
@@ -11,25 +11,23 @@ class ArticleProposal(CensoredAble, Display, WithRef[str], AsPrompt, PersistentA
|
|
11
11
|
Guides LLM in generating comprehensive research proposals with clearly defined components.
|
12
12
|
"""
|
13
13
|
|
14
|
+
language: str
|
15
|
+
"""The language in which the article is written. This should align with the language specified in the article briefing."""
|
16
|
+
|
17
|
+
title: str
|
18
|
+
"""The title of the academic paper, formatted in Title Case."""
|
19
|
+
|
20
|
+
focused_problem: List[str]
|
21
|
+
"""A list of specific research problems or questions that the paper aims to address."""
|
22
|
+
|
14
23
|
technical_approaches: List[str]
|
15
|
-
"""
|
24
|
+
"""A list of technical approaches or methodologies used to solve the research problems."""
|
16
25
|
|
17
26
|
research_methods: List[str]
|
18
|
-
"""
|
19
|
-
Example: ['Differentiable architecture search', 'Transformer-based search space', 'Multi-lingual perplexity evaluation']"""
|
27
|
+
"""A list of methodological components, including techniques and tools utilized in the research."""
|
20
28
|
|
21
29
|
research_aim: List[str]
|
22
|
-
"""
|
23
|
-
Example: ['Develop parameter-efficient NAS framework', 'Establish cross-lingual architecture transfer metrics']"""
|
24
|
-
|
25
|
-
focused_problem: List[str]
|
26
|
-
"""Specific research problem(s) or question(s) addressed (list of 1-3 concise statements).
|
27
|
-
Example: ['NAS computational overhead in low-resource settings', 'Architecture transferability across language pairs']"""
|
28
|
-
|
29
|
-
title: str
|
30
|
-
"""Paper title in academic style (Title Case, 8-15 words). Example: 'Exploring Neural Architecture Search for Low-Resource Machine Translation'"""
|
31
|
-
language: str
|
32
|
-
"""Written language of the article. SHALL be aligned to the language of the article briefing provided."""
|
30
|
+
"""A list of primary research objectives that the paper seeks to achieve."""
|
33
31
|
|
34
32
|
def _as_prompt_inner(self) -> Dict[str, str]:
|
35
33
|
return {"ArticleBriefing": self.referenced, "ArticleProposal": self.display()}
|
fabricatio/models/generic.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"""This module defines generic classes for models in the Fabricatio library."""
|
2
2
|
|
3
|
-
from abc import abstractmethod
|
3
|
+
from abc import ABC, abstractmethod
|
4
4
|
from pathlib import Path
|
5
5
|
from typing import Any, Callable, Dict, Iterable, List, Optional, Self, Union, final, overload
|
6
6
|
|
@@ -108,7 +108,7 @@ class PersistentAble(Base):
|
|
108
108
|
"""Class that provides a method to persist the object."""
|
109
109
|
|
110
110
|
def persist(self, path: str | Path) -> Self:
|
111
|
-
"""Persist the object to a file.
|
111
|
+
"""Persist the object to a file or directory.
|
112
112
|
|
113
113
|
Args:
|
114
114
|
path (str | Path): The path to save the object.
|
@@ -117,7 +117,7 @@ class PersistentAble(Base):
|
|
117
117
|
Self: The current instance of the object.
|
118
118
|
"""
|
119
119
|
p = Path(path)
|
120
|
-
out = self.model_dump_json()
|
120
|
+
out = self.model_dump_json(indent=1)
|
121
121
|
if p.is_dir():
|
122
122
|
p.joinpath(f"{self.__class__.__name__}_{blake3_hash(out.encode())[:6]}.json").write_text(
|
123
123
|
out, encoding="utf-8"
|
@@ -125,6 +125,7 @@ class PersistentAble(Base):
|
|
125
125
|
return self
|
126
126
|
p.mkdir(exist_ok=True, parents=True)
|
127
127
|
p.write_text(out, encoding="utf-8")
|
128
|
+
logger.info(f"Persisted {self} to {p.as_posix()}")
|
128
129
|
return self
|
129
130
|
|
130
131
|
def from_persistent(self, path: str | Path) -> Self:
|
@@ -228,20 +229,11 @@ class WithBriefing(Named, Described):
|
|
228
229
|
raise TypeError(f"{system_msg_like} is not a dict or str")
|
229
230
|
|
230
231
|
|
231
|
-
class
|
232
|
+
class UnsortGenerate(GenerateJsonSchema):
|
232
233
|
"""Class that provides a reverse JSON schema of the model."""
|
233
234
|
|
234
|
-
def
|
235
|
-
|
236
|
-
sorted_dict: dict[str, JsonSchemaValue] = {}
|
237
|
-
# Reverse all keys regardless of parent_key
|
238
|
-
keys = reversed(value.keys())
|
239
|
-
for key in keys:
|
240
|
-
sorted_dict[key] = self._sort_recursive(value[key], parent_key=key)
|
241
|
-
return sorted_dict
|
242
|
-
if isinstance(value, list):
|
243
|
-
# Reverse list order and process each item
|
244
|
-
return [self._sort_recursive(item, parent_key) for item in reversed(value)]
|
235
|
+
def sort(self, value: JsonSchemaValue, parent_key: str | None = None) -> JsonSchemaValue:
|
236
|
+
"""Not sort."""
|
245
237
|
return value
|
246
238
|
|
247
239
|
|
@@ -256,7 +248,7 @@ class WithFormatedJsonSchema(Base):
|
|
256
248
|
str: The JSON schema of the model in a formatted string.
|
257
249
|
"""
|
258
250
|
return orjson.dumps(
|
259
|
-
cls.model_json_schema(schema_generator=
|
251
|
+
cls.model_json_schema(schema_generator=UnsortGenerate),
|
260
252
|
option=orjson.OPT_INDENT_2,
|
261
253
|
).decode()
|
262
254
|
|
@@ -316,6 +308,10 @@ class ProposedAble(CreateJsonObjPrompt, InstantiateFromString):
|
|
316
308
|
"""Class that provides a method to propose a JSON object based on the requirement."""
|
317
309
|
|
318
310
|
|
311
|
+
class ProposedUpdateAble(PersistentAble, UpdateFrom, ABC):
|
312
|
+
"""Make the obj can be updated from the proposed obj in place."""
|
313
|
+
|
314
|
+
|
319
315
|
class FinalizedDumpAble(Base):
|
320
316
|
"""Class that provides a method to finalize the dump of the object."""
|
321
317
|
|
fabricatio/models/usages.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
"""This module contains classes that manage the usage of language models and tools in tasks."""
|
2
2
|
|
3
|
+
import traceback
|
3
4
|
from asyncio import gather
|
4
5
|
from typing import Callable, Dict, Iterable, List, Optional, Self, Sequence, Set, Type, Union, Unpack, overload
|
5
6
|
|
@@ -38,6 +39,8 @@ ROUTER = Router(
|
|
38
39
|
allowed_fails=configs.routing.allowed_fails,
|
39
40
|
retry_after=configs.routing.retry_after,
|
40
41
|
cooldown_time=configs.routing.cooldown_time,
|
42
|
+
cache_responses=configs.cache.enabled,
|
43
|
+
cache_kwargs=configs.cache.params,
|
41
44
|
)
|
42
45
|
|
43
46
|
|
@@ -135,7 +138,7 @@ class LLMUsage(ScopedConfig):
|
|
135
138
|
List[Choices | StreamingChoices]: A list of choices or streaming choices from the model response.
|
136
139
|
"""
|
137
140
|
resp = await self.aquery(
|
138
|
-
messages=Messages().add_system_message(system_message).add_user_message(question),
|
141
|
+
messages=Messages().add_system_message(system_message).add_user_message(question).as_list(),
|
139
142
|
n=n,
|
140
143
|
**kwargs,
|
141
144
|
)
|
@@ -324,6 +327,7 @@ class LLMUsage(ScopedConfig):
|
|
324
327
|
continue
|
325
328
|
except Exception as e: # noqa: BLE001
|
326
329
|
logger.error(f"Error during validation: \n{e}")
|
330
|
+
logger.debug(traceback.format_exc())
|
327
331
|
break
|
328
332
|
if not kwargs.get("no_cache"):
|
329
333
|
kwargs["no_cache"] = True
|
Binary file
|
@@ -1,15 +1,16 @@
|
|
1
|
-
fabricatio-0.2.
|
2
|
-
fabricatio-0.2.
|
3
|
-
fabricatio-0.2.
|
4
|
-
fabricatio/actions/article.py,sha256=
|
1
|
+
fabricatio-0.2.8.dev1.dist-info/METADATA,sha256=doJ4_NB0Ild3P3v79TzSYye8wttaYrTaoieNesBqxgw,5259
|
2
|
+
fabricatio-0.2.8.dev1.dist-info/WHEEL,sha256=jABKVkLC9kJr8mi_er5jOqpiQUjARSLXDUIIxDqsS50,96
|
3
|
+
fabricatio-0.2.8.dev1.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
|
4
|
+
fabricatio/actions/article.py,sha256=l1WzphK_yR-l8KdmX6cb95vhETntrJEvMgVLBTULwJU,12074
|
5
5
|
fabricatio/actions/article_rag.py,sha256=PiOFxI6VTmLXm3BK-01g_KH1mTE9uOtnA-CwUjt16AU,1456
|
6
|
-
fabricatio/actions/output.py,sha256=
|
6
|
+
fabricatio/actions/output.py,sha256=eHI4EH5n1nOt6MqQ00b7UWTjIqO8FerNakem_45d5qk,2315
|
7
7
|
fabricatio/actions/rag.py,sha256=QBdzEM8MloM_ahx5pTBZAETm9_631lTe_0ih_he_Iuo,2759
|
8
|
-
fabricatio/capabilities/
|
8
|
+
fabricatio/capabilities/advanced_judge.py,sha256=selB0Gwf1F4gGJlwBiRo6gI4KOUROgh3WnzO3mZFEls,706
|
9
|
+
fabricatio/capabilities/correct.py,sha256=2093ggHkY8vQW8fl7VwXC8u39oW1xsfjxDjGoQ5puOA,7269
|
9
10
|
fabricatio/capabilities/propose.py,sha256=y3kge5g6bb8HYuV8e9h4MdqOMTlsfAIZpqE_cagWPTY,1593
|
10
11
|
fabricatio/capabilities/rag.py,sha256=XVvfH6rcog-moj1WCgwtR-l0-NdbFR6-fMQFLG7_asY,17690
|
11
|
-
fabricatio/capabilities/rating.py,sha256=
|
12
|
-
fabricatio/capabilities/review.py,sha256=
|
12
|
+
fabricatio/capabilities/rating.py,sha256=j7ABxVyEnXwdKIPOIP_ysP4WP7PR1FcwjmYTkSZsVcw,14900
|
13
|
+
fabricatio/capabilities/review.py,sha256=1VBP9lNeqrTs-Whu2StpaPL2aDSrFybce8TfPJKIMjE,11376
|
13
14
|
fabricatio/capabilities/task.py,sha256=vtS0YOe639vN8iTrkP2WK0AJVCr5N_JAaJuvRGyY2Fg,4639
|
14
15
|
fabricatio/config.py,sha256=hUv5XMzOkEw8cQjsVHTpPPix52IKwmxjBsZM6Px3xZI,16915
|
15
16
|
fabricatio/core.py,sha256=VQ_JKgUGIy2gZ8xsTBZCdr_IP7wC5aPg0_bsOmjQ588,6458
|
@@ -18,19 +19,20 @@ fabricatio/fs/curd.py,sha256=N6l2MncjrFfnXBRtteRouXp5Rjy8EAKC_i29_G-zz98,4618
|
|
18
19
|
fabricatio/fs/readers.py,sha256=EZKN_AZdrp8DggJECP53QHw3uHeSDf-AwCAA_V7fNKU,1202
|
19
20
|
fabricatio/fs/__init__.py,sha256=PCf0s_9KDjVfNw7AfPoJzGt3jMq4gJOfbcT4pb0D0ZY,588
|
20
21
|
fabricatio/journal.py,sha256=stnEP88aUBA_GmU9gfTF2EZI8FS2OyMLGaMSTgK4QgA,476
|
21
|
-
fabricatio/models/action.py,sha256=
|
22
|
+
fabricatio/models/action.py,sha256=Rt3a9JWVhaoo7AatStzb9Gl45MKRcSeLWcOHJFCqNNM,8883
|
22
23
|
fabricatio/models/events.py,sha256=QvlnS8FEELg6KNabcJMeh2GV_y0ZBzKOPphcteKYWYU,4183
|
23
|
-
fabricatio/models/extra/
|
24
|
-
fabricatio/models/extra/
|
25
|
-
fabricatio/models/extra/
|
26
|
-
fabricatio/models/extra/
|
27
|
-
fabricatio/models/extra/
|
28
|
-
fabricatio/models/
|
24
|
+
fabricatio/models/extra/advanced_judge.py,sha256=98NACWVFG01Q-tZDiMNwyQ5-RDVAZ73IVt3D9aqky4Y,574
|
25
|
+
fabricatio/models/extra/article_base.py,sha256=SRMCwtxYMkJyA7tK2GG8rFmg2UJgQV7O3qyiVwoq2MQ,15826
|
26
|
+
fabricatio/models/extra/article_essence.py,sha256=-vtI8Kua-XoAYXg82b3szT-vscrXne-zmlv2TIxWspI,9063
|
27
|
+
fabricatio/models/extra/article_main.py,sha256=N5deYozSjmAyYO8_On85NesUV0mIyTsGdHUWtR2b6q4,8087
|
28
|
+
fabricatio/models/extra/article_outline.py,sha256=jFbVgiwlo7rnwCGS6ToVgeMUOoRe99Edgbx95THR6z8,1450
|
29
|
+
fabricatio/models/extra/article_proposal.py,sha256=DWn3MQUNQlXj9Fcm3xSONyxARz8goAroJUA6pWvBhHw,1398
|
30
|
+
fabricatio/models/generic.py,sha256=nyfhgaIEsSvbDvcHrjULEgseBKRzZx2t21lfncwCsq4,19225
|
29
31
|
fabricatio/models/kwargs_types.py,sha256=chJ-rHaeBVRUPuORHuGR3DdNxxTUrotz0eflPEh4l4w,5474
|
30
32
|
fabricatio/models/role.py,sha256=mmQbJ6GKr2Gx3wtjEz8d-vYoXs09ffcEkT_eCXaDd3E,2782
|
31
33
|
fabricatio/models/task.py,sha256=8NaR7ojQWyM740EDTqt9stwHKdrD6axCRpLKo0QzS-I,10492
|
32
34
|
fabricatio/models/tool.py,sha256=kD0eB7OxO9geZOxO6JIKvCBeG-KOpRAkfRZqK_WGfW4,7105
|
33
|
-
fabricatio/models/usages.py,sha256=
|
35
|
+
fabricatio/models/usages.py,sha256=BZXHdm198wMOaYvCqL7wBcSzAHUMS4mYeD_VCi08mmY,31736
|
34
36
|
fabricatio/models/utils.py,sha256=yjxPZ6N7QGpGwkI_Vb28Ud3EhkdlB-tyfGRHAZMcGxs,5872
|
35
37
|
fabricatio/parser.py,sha256=9Jzw-yV6uKbFvf6sPna-XHdziVGVBZWvPctgX_6ODL8,6251
|
36
38
|
fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -42,6 +44,6 @@ fabricatio/workflows/rag.py,sha256=-YYp2tlE9Vtfgpg6ROpu6QVO8j8yVSPa6yDzlN3qVxs,5
|
|
42
44
|
fabricatio/_rust.pyi,sha256=dGTGV7viu3YAGl1cRKIWrdHPc1hlwk3_hbaDaswxdVo,3831
|
43
45
|
fabricatio/_rust_instances.py,sha256=2GwF8aVfYNemRI2feBzH1CZfBGno-XJJE5imJokGEYw,314
|
44
46
|
fabricatio/__init__.py,sha256=SzBYsRhZeL77jLtfJEjmoHOSwHwUGyvMATX6xfndLDM,1135
|
45
|
-
fabricatio/_rust.cp312-win_amd64.pyd,sha256=
|
46
|
-
fabricatio-0.2.
|
47
|
-
fabricatio-0.2.
|
47
|
+
fabricatio/_rust.cp312-win_amd64.pyd,sha256=8WKD2UwAiWvZL9Nrl7xvYdQjVX0zNIMuINGgdxtaIHU,1830912
|
48
|
+
fabricatio-0.2.8.dev1.data/scripts/tdown.exe,sha256=8q6RV1e71w8_otae06rFwh3ESP7jxTx6mQiQMP09aJU,3399680
|
49
|
+
fabricatio-0.2.8.dev1.dist-info/RECORD,,
|
File without changes
|
File without changes
|