fabricatio 0.3.14.dev1__cp312-cp312-win_amd64.whl → 0.3.14.dev4__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/__init__.py +5 -6
- fabricatio/actions/article.py +31 -31
- fabricatio/actions/article_rag.py +58 -58
- fabricatio/actions/output.py +58 -24
- fabricatio/actions/rag.py +2 -3
- fabricatio/capabilities/advanced_judge.py +4 -7
- fabricatio/capabilities/advanced_rag.py +2 -1
- fabricatio/capabilities/censor.py +5 -4
- fabricatio/capabilities/check.py +27 -27
- fabricatio/capabilities/correct.py +22 -22
- fabricatio/capabilities/extract.py +33 -33
- fabricatio/capabilities/persist.py +103 -0
- fabricatio/capabilities/propose.py +2 -2
- fabricatio/capabilities/rag.py +37 -37
- fabricatio/capabilities/rating.py +66 -70
- fabricatio/capabilities/review.py +12 -11
- fabricatio/capabilities/task.py +19 -18
- fabricatio/decorators.py +9 -9
- fabricatio/{core.py → emitter.py} +17 -19
- fabricatio/journal.py +2 -1
- fabricatio/models/action.py +9 -11
- fabricatio/models/extra/aricle_rag.py +15 -12
- fabricatio/models/extra/article_base.py +4 -5
- fabricatio/models/extra/article_essence.py +2 -1
- fabricatio/models/extra/article_main.py +5 -4
- fabricatio/models/extra/article_outline.py +2 -1
- fabricatio/models/extra/article_proposal.py +1 -1
- fabricatio/models/extra/rag.py +2 -2
- fabricatio/models/extra/rule.py +2 -1
- fabricatio/models/generic.py +48 -131
- fabricatio/models/kwargs_types.py +1 -9
- fabricatio/models/role.py +14 -13
- fabricatio/models/task.py +3 -4
- fabricatio/models/tool.py +5 -6
- fabricatio/models/usages.py +137 -147
- fabricatio/parser.py +59 -99
- fabricatio/rust.cp312-win_amd64.pyd +0 -0
- fabricatio/rust.pyi +39 -59
- fabricatio/utils.py +6 -170
- fabricatio-0.3.14.dev4.data/scripts/tdown.exe +0 -0
- {fabricatio-0.3.14.dev1.data → fabricatio-0.3.14.dev4.data}/scripts/ttm.exe +0 -0
- {fabricatio-0.3.14.dev1.dist-info → fabricatio-0.3.14.dev4.dist-info}/METADATA +3 -7
- fabricatio-0.3.14.dev4.dist-info/RECORD +64 -0
- fabricatio-0.3.14.dev1.data/scripts/tdown.exe +0 -0
- fabricatio-0.3.14.dev1.dist-info/RECORD +0 -63
- {fabricatio-0.3.14.dev1.dist-info → fabricatio-0.3.14.dev4.dist-info}/WHEEL +0 -0
- {fabricatio-0.3.14.dev1.dist-info → fabricatio-0.3.14.dev4.dist-info}/licenses/LICENSE +0 -0
fabricatio/utils.py
CHANGED
@@ -1,36 +1,31 @@
|
|
1
1
|
"""A collection of utility functions for the fabricatio package."""
|
2
2
|
|
3
|
-
from typing import Any, Dict, Iterable, List, Mapping, Optional, Tuple, Type,
|
3
|
+
from typing import Any, Dict, Iterable, List, Mapping, Optional, Tuple, Type, overload
|
4
4
|
|
5
5
|
from fabricatio.decorators import precheck_package
|
6
|
-
from fabricatio.journal import logger
|
7
|
-
from fabricatio.models.kwargs_types import RerankOptions
|
8
6
|
|
9
7
|
|
10
8
|
def is_subclass_of_base(cls: Type, base_module: str, base_name: str) -> bool:
|
11
9
|
"""Determines if the given class is a subclass of an unimported base class.
|
12
|
-
|
10
|
+
|
13
11
|
Args:
|
14
12
|
cls: The class to check
|
15
13
|
base_module: The module name of the base class
|
16
14
|
base_name: The class name of the base class
|
17
|
-
|
15
|
+
|
18
16
|
Returns:
|
19
17
|
bool: True if cls is a subclass of the specified base class, False otherwise
|
20
18
|
"""
|
21
|
-
for ancestor in cls.__mro__
|
22
|
-
if ancestor.__module__ == base_module and ancestor.__name__ == base_name:
|
23
|
-
return True
|
24
|
-
return False
|
19
|
+
return any(ancestor.__module__ == base_module and ancestor.__name__ == base_name for ancestor in cls.__mro__)
|
25
20
|
|
26
21
|
|
27
22
|
def is_subclass_of_any_base(cls: Type, bases: List[Tuple[str, str]]) -> bool:
|
28
23
|
"""Determines if the given class is a subclass of the candidate base classes.
|
29
|
-
|
24
|
+
|
30
25
|
Args:
|
31
26
|
cls: The class to check
|
32
27
|
bases: A list of tuples where each tuple contains (module_name, class_name)
|
33
|
-
|
28
|
+
|
34
29
|
Returns:
|
35
30
|
bool: True if cls is a subclass of the specified base classes, False otherwise
|
36
31
|
"""
|
@@ -159,162 +154,3 @@ def wrapp_in_block(string: str, title: str, style: str = "-") -> str:
|
|
159
154
|
str: The wrapped string.
|
160
155
|
"""
|
161
156
|
return f"--- Start of {title} ---\n{string}\n--- End of {title} ---".replace("-", style)
|
162
|
-
|
163
|
-
|
164
|
-
class RerankResult(TypedDict):
|
165
|
-
"""The rerank result."""
|
166
|
-
|
167
|
-
index: int
|
168
|
-
score: float
|
169
|
-
|
170
|
-
|
171
|
-
class RerankerAPI:
|
172
|
-
"""A class to interact with the /rerank API for text reranking."""
|
173
|
-
|
174
|
-
def __init__(self, base_url: str) -> None:
|
175
|
-
"""Initialize the RerankerAPI instance.
|
176
|
-
|
177
|
-
Args:
|
178
|
-
base_url (str): The base URL of the TEI-deployed reranker model API.
|
179
|
-
Example: "http://localhost:8000".
|
180
|
-
"""
|
181
|
-
self.base_url = base_url.rstrip("/") # Ensure no trailing slashes
|
182
|
-
|
183
|
-
@staticmethod
|
184
|
-
def _map_error_code(status_code: int, error_data: Dict[str, str]) -> Exception:
|
185
|
-
"""Map HTTP status codes and error data to specific exceptions.
|
186
|
-
|
187
|
-
Args:
|
188
|
-
status_code (int): The HTTP status code returned by the API.
|
189
|
-
error_data (Dict[str, str]): The error details returned by the API.
|
190
|
-
|
191
|
-
Returns:
|
192
|
-
Exception: A specific exception based on the error code and message.
|
193
|
-
"""
|
194
|
-
error_message = error_data.get("error", "Unknown error")
|
195
|
-
|
196
|
-
if status_code == 400:
|
197
|
-
return ValueError(f"Bad request: {error_message}")
|
198
|
-
if status_code == 413:
|
199
|
-
return ValueError(f"Batch size error: {error_message}")
|
200
|
-
if status_code == 422:
|
201
|
-
return RuntimeError(f"Tokenization error: {error_message}")
|
202
|
-
if status_code == 424:
|
203
|
-
return RuntimeError(f"Rerank error: {error_message}")
|
204
|
-
if status_code == 429:
|
205
|
-
return RuntimeError(f"Model overloaded: {error_message}")
|
206
|
-
return RuntimeError(f"Unexpected error ({status_code}): {error_message}")
|
207
|
-
|
208
|
-
def rerank(self, query: str, texts: List[str], **kwargs: Unpack[RerankOptions]) -> List[RerankResult]:
|
209
|
-
"""Call the /rerank API to rerank a list of texts based on a query (synchronous).
|
210
|
-
|
211
|
-
Args:
|
212
|
-
query (str): The query string used for matching with the texts.
|
213
|
-
texts (List[str]): A list of texts to be reranked.
|
214
|
-
**kwargs (Unpack[RerankOptions]): Optional keyword arguments:
|
215
|
-
- raw_scores (bool, optional): Whether to return raw scores. Defaults to False.
|
216
|
-
- truncate (bool, optional): Whether to truncate the texts. Defaults to False.
|
217
|
-
- truncation_direction (Literal["left", "right"], optional): Direction of truncation. Defaults to "right".
|
218
|
-
|
219
|
-
Returns:
|
220
|
-
List[RerankResult]: A list of dictionaries containing the reranked results.
|
221
|
-
Each dictionary includes:
|
222
|
-
- "index" (int): The original index of the text.
|
223
|
-
- "score" (float): The relevance score.
|
224
|
-
|
225
|
-
Raises:
|
226
|
-
ValueError: If input parameters are invalid or the API returns a client-side error.
|
227
|
-
RuntimeError: If the API call fails or returns a server-side error.
|
228
|
-
"""
|
229
|
-
import requests
|
230
|
-
# Validate inputs
|
231
|
-
if not isinstance(query, str) or not query.strip():
|
232
|
-
raise ValueError("Query must be a non-empty string.")
|
233
|
-
if not isinstance(texts, list) or not all(isinstance(text, str) for text in texts):
|
234
|
-
raise ValueError("Texts must be a list of strings.")
|
235
|
-
|
236
|
-
# Construct the request payload
|
237
|
-
payload = {
|
238
|
-
"query": query,
|
239
|
-
"texts": texts,
|
240
|
-
**kwargs,
|
241
|
-
}
|
242
|
-
|
243
|
-
try:
|
244
|
-
# Send POST request to the API
|
245
|
-
response = requests.post(f"{self.base_url}/rerank", json=payload)
|
246
|
-
|
247
|
-
# Handle non-200 status codes
|
248
|
-
if not response.ok:
|
249
|
-
error_data = None
|
250
|
-
if "application/json" in response.headers.get("Content-Type", ""):
|
251
|
-
error_data = response.json()
|
252
|
-
else:
|
253
|
-
error_data = {"error": response.text, "error_type": "unexpected_mimetype"}
|
254
|
-
raise self._map_error_code(response.status_code, error_data)
|
255
|
-
|
256
|
-
# Parse the JSON response
|
257
|
-
data: List[RerankResult] = response.json()
|
258
|
-
logger.debug(f"Rerank for `{query}` get {[s['score'] for s in data]}")
|
259
|
-
return data
|
260
|
-
|
261
|
-
except requests.exceptions.RequestException as e:
|
262
|
-
raise RuntimeError(f"Failed to connect to the API: {e}") from e
|
263
|
-
|
264
|
-
async def arerank(self, query: str, texts: List[str], **kwargs: Unpack[RerankOptions]) -> List[RerankResult]:
|
265
|
-
"""Call the /rerank API to rerank a list of texts based on a query (asynchronous).
|
266
|
-
|
267
|
-
Args:
|
268
|
-
query (str): The query string used for matching with the texts.
|
269
|
-
texts (List[str]): A list of texts to be reranked.
|
270
|
-
**kwargs (Unpack[RerankOptions]): Optional keyword arguments:
|
271
|
-
- raw_scores (bool, optional): Whether to return raw scores. Defaults to False.
|
272
|
-
- truncate (bool, optional): Whether to truncate the texts. Defaults to False.
|
273
|
-
- truncation_direction (Literal["left", "right"], optional): Direction of truncation. Defaults to "right".
|
274
|
-
|
275
|
-
Returns:
|
276
|
-
List[RerankResult]: A list of dictionaries containing the reranked results.
|
277
|
-
Each dictionary includes:
|
278
|
-
- "index" (int): The original index of the text.
|
279
|
-
- "score" (float): The relevance score.
|
280
|
-
|
281
|
-
Raises:
|
282
|
-
ValueError: If input parameters are invalid or the API returns a client-side error.
|
283
|
-
RuntimeError: If the API call fails or returns a server-side error.
|
284
|
-
"""
|
285
|
-
import aiohttp
|
286
|
-
|
287
|
-
# Validate inputs
|
288
|
-
if not isinstance(query, str) or not query.strip():
|
289
|
-
raise ValueError("Query must be a non-empty string.")
|
290
|
-
if not isinstance(texts, list) or not all(isinstance(text, str) for text in texts):
|
291
|
-
raise ValueError("Texts must be a list of strings.")
|
292
|
-
|
293
|
-
# Construct the request payload
|
294
|
-
payload = {
|
295
|
-
"query": query,
|
296
|
-
"texts": texts,
|
297
|
-
**kwargs,
|
298
|
-
}
|
299
|
-
|
300
|
-
try:
|
301
|
-
# Send POST request to the API using aiohttp
|
302
|
-
async with (
|
303
|
-
aiohttp.ClientSession() as session,
|
304
|
-
session.post(f"{self.base_url}/rerank", json=payload) as response,
|
305
|
-
):
|
306
|
-
# Handle non-200 status codes
|
307
|
-
if not response.ok:
|
308
|
-
if "application/json" in response.headers.get("Content-Type", ""):
|
309
|
-
error_data = await response.json()
|
310
|
-
else:
|
311
|
-
error_data = {"error": await response.text(), "error_type": "unexpected_mimetype"}
|
312
|
-
raise self._map_error_code(response.status, error_data)
|
313
|
-
|
314
|
-
# Parse the JSON response
|
315
|
-
data: List[RerankResult] = await response.json()
|
316
|
-
logger.debug(f"Rerank for `{query}` get {[s['score'] for s in data]}")
|
317
|
-
return data
|
318
|
-
|
319
|
-
except aiohttp.ClientError as e:
|
320
|
-
raise RuntimeError(f"Failed to connect to the API: {e}") from e
|
Binary file
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: fabricatio
|
3
|
-
Version: 0.3.14.
|
3
|
+
Version: 0.3.14.dev4
|
4
4
|
Classifier: License :: OSI Approved :: MIT License
|
5
5
|
Classifier: Programming Language :: Rust
|
6
6
|
Classifier: Programming Language :: Python :: 3.12
|
@@ -18,17 +18,13 @@ Requires-Dist: pydantic>=2.10.6
|
|
18
18
|
Requires-Dist: pymitter>=1.0.0
|
19
19
|
Requires-Dist: rich>=13.9.4
|
20
20
|
Requires-Dist: ujson>=5.10.0
|
21
|
-
Requires-Dist: fabricatio[
|
21
|
+
Requires-Dist: fabricatio[ftd,qa,rag,cli] ; extra == 'full'
|
22
22
|
Requires-Dist: pymilvus>=2.5.4 ; extra == 'rag'
|
23
|
-
Requires-Dist: sympy>=1.13.3 ; extra == 'calc'
|
24
|
-
Requires-Dist: matplotlib>=3.10.1 ; extra == 'plot'
|
25
23
|
Requires-Dist: questionary>=2.1.0 ; extra == 'qa'
|
26
24
|
Requires-Dist: magika>=0.6.1 ; extra == 'ftd'
|
27
25
|
Requires-Dist: typer-slim[standard]>=0.15.2 ; extra == 'cli'
|
28
26
|
Provides-Extra: full
|
29
27
|
Provides-Extra: rag
|
30
|
-
Provides-Extra: calc
|
31
|
-
Provides-Extra: plot
|
32
28
|
Provides-Extra: qa
|
33
29
|
Provides-Extra: ftd
|
34
30
|
Provides-Extra: cli
|
@@ -36,7 +32,7 @@ License-File: LICENSE
|
|
36
32
|
Summary: A LLM multi-agent framework.
|
37
33
|
Keywords: ai,agents,multi-agent,llm,pyo3
|
38
34
|
Author-email: Whth <zettainspector@foxmail.com>
|
39
|
-
Requires-Python: >=3.12, <3.
|
35
|
+
Requires-Python: >=3.12, <3.14
|
40
36
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
41
37
|
Project-URL: Homepage, https://github.com/Whth/fabricatio
|
42
38
|
Project-URL: Repository, https://github.com/Whth/fabricatio
|
@@ -0,0 +1,64 @@
|
|
1
|
+
fabricatio-0.3.14.dev4.dist-info/METADATA,sha256=RQu1-d7pqsIWpqH7Ts6YVBMl91x2LaSOvvhxozZhrk4,5116
|
2
|
+
fabricatio-0.3.14.dev4.dist-info/WHEEL,sha256=jABKVkLC9kJr8mi_er5jOqpiQUjARSLXDUIIxDqsS50,96
|
3
|
+
fabricatio-0.3.14.dev4.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
|
4
|
+
fabricatio/actions/article.py,sha256=TPS2fOqCymKv2hK2c_WmMRMKNBkvN8M91QkB9ar8-bg,12507
|
5
|
+
fabricatio/actions/article_rag.py,sha256=e1fVh7Jph2zVD0bRAmK2dJ0BVkSEvF-FPfxUKujkn6s,18407
|
6
|
+
fabricatio/actions/fs.py,sha256=gJR14U4ln35nt8Z7OWLVAZpqGaLnED-r1Yi-lX22tkI,959
|
7
|
+
fabricatio/actions/output.py,sha256=jZL72D5uFobKNiVFapnVxBcjSNqGEThYNlCUKQvZwz8,9935
|
8
|
+
fabricatio/actions/rag.py,sha256=vgCzIfbSd3_vL3QxB12PY4h12V9Pe3sZRsWme0KC6X8,3583
|
9
|
+
fabricatio/actions/rules.py,sha256=dkvCgNDjt2KSO1VgPRsxT4YBmIIMeetZb5tiz-slYkU,3640
|
10
|
+
fabricatio/actions/__init__.py,sha256=wVENCFtpVb1rLFxoOFJt9-8smLWXuJV7IwA8P3EfFz4,48
|
11
|
+
fabricatio/capabilities/advanced_judge.py,sha256=jQ_Gsn6L8EKb6KQi3j0G0GSUz2j8D2220C1hIhrAeU8,682
|
12
|
+
fabricatio/capabilities/advanced_rag.py,sha256=DYh-imLQkjVOgKd__OEbwGzqwNeTtX_6NBGx_bCiFs8,2539
|
13
|
+
fabricatio/capabilities/censor.py,sha256=e0tHll4J_-TT8-Vn1OZ1innVZbJfx55oyGtDoEI99r8,4745
|
14
|
+
fabricatio/capabilities/check.py,sha256=6IC6F0IhYVpSf9pJ8r9lq40l_FF3qf-iJcTRWwpnkdg,8591
|
15
|
+
fabricatio/capabilities/correct.py,sha256=-JR8ZUAtagmNXepVyY679MBUyFCZwtKPjv8dANJMZiE,10403
|
16
|
+
fabricatio/capabilities/extract.py,sha256=E7CLZflWzJ6C6DVLEWysYZ_48g_-F93gZJVU56k2-XA,2523
|
17
|
+
fabricatio/capabilities/persist.py,sha256=9XnKoeZ62YjXVDpYnkbDFf62B_Mz46WVsq1dTr2Wvvc,3421
|
18
|
+
fabricatio/capabilities/propose.py,sha256=v8OiUHc8GU7Jg1zAUghYhrI-AKgmBeUvQMo22ZAOddw,2030
|
19
|
+
fabricatio/capabilities/rag.py,sha256=D5rULrQxPmp4kVLP_jBE4yal1v9N68XOgBdJqGvVHpU,10979
|
20
|
+
fabricatio/capabilities/rating.py,sha256=cm-s2YJMYcS36mR9b7XNwRQ1x0h0uWxLHCapoAORv8I,17815
|
21
|
+
fabricatio/capabilities/review.py,sha256=l06BYcQzPi7VKmWdplj9L6WvZEscZqW1Wx9OhR-UnNw,5061
|
22
|
+
fabricatio/capabilities/task.py,sha256=-b92cGi7b3B30kOSS-90_H6BjA0VF_cjc1BzPbO5MkI,4401
|
23
|
+
fabricatio/capabilities/__init__.py,sha256=v1cHRHIJ2gxyqMLNCs6ERVcCakSasZNYzmMI4lqAcls,57
|
24
|
+
fabricatio/decorators.py,sha256=OohwKgc5dUjybv70D-J2lA0C9zjUuq8-gzU5O8JPl8w,8962
|
25
|
+
fabricatio/emitter.py,sha256=n4vH6E7lcT57qVve_3hUAdfvj0mQUDkWu6iU5aNztB8,6341
|
26
|
+
fabricatio/fs/curd.py,sha256=652nHulbJ3gwt0Z3nywtPMmjhEyglDvEfc3p7ieJNNA,4777
|
27
|
+
fabricatio/fs/readers.py,sha256=UXvcJO3UCsxHu9PPkg34Yh55Zi-miv61jD_wZQJgKRs,1751
|
28
|
+
fabricatio/fs/__init__.py,sha256=USoMI_HcIr3Yc77_JQYYsXrsplYPXtFTaNB9YgFfC4s,713
|
29
|
+
fabricatio/journal.py,sha256=mnbdB1Dw-mhEKIgWlPKn7W07ssg-6dmxMXilIGQMFV8,216
|
30
|
+
fabricatio/models/action.py,sha256=RhjHaEJILiCZux5hzxSZVt_7Evcu3TnFHNuJN8rzgq8,10052
|
31
|
+
fabricatio/models/adv_kwargs_types.py,sha256=IBV3ZcsNLvvEjO_2hBpYg_wLSpNKaMx6Ndam3qXJCw8,2097
|
32
|
+
fabricatio/models/extra/advanced_judge.py,sha256=INUl_41C8jkausDekkjnEmTwNfLCJ23TwFjq2cM23Cw,1092
|
33
|
+
fabricatio/models/extra/aricle_rag.py,sha256=fTxlQyrzyl9bLCC5Zreb71TKaJ7xiHqqyR62HXr2unQ,11935
|
34
|
+
fabricatio/models/extra/article_base.py,sha256=Hm78qqqkZpeLlt979cgGiam3LE4CussLv0nQkNC9mW8,16769
|
35
|
+
fabricatio/models/extra/article_essence.py,sha256=z3Qz6xVsB9k-K-c4Y2CoKzxZrXaUd4oyt2Mb6hGDYdg,2793
|
36
|
+
fabricatio/models/extra/article_main.py,sha256=S6eUUBuzBzRcuFe8hPhaFvL7UhyO1gaUCyJkNbJIgz8,11278
|
37
|
+
fabricatio/models/extra/article_outline.py,sha256=P0T-1DGCzoNmQ3iQVwSmOul0nwS6qLgr0FF8jDdD7F0,1673
|
38
|
+
fabricatio/models/extra/article_proposal.py,sha256=OQIKoJkmJv0ogYVk7eGK_TOtANVYcBPA_HeV1nuG0Vo,1909
|
39
|
+
fabricatio/models/extra/patches.py,sha256=_WNCxtYzzsVfUxI16vu4IqsLahLYRHdbQN9er9tqhC0,997
|
40
|
+
fabricatio/models/extra/problem.py,sha256=8tTU-3giFHOi5j7NJsvH__JJyYcaGrcfsRnkzQNm0Ew,7216
|
41
|
+
fabricatio/models/extra/rag.py,sha256=C7ptZCuGJmT8WikjpF9KhZ0Bw-VicdB-s8EqEAgMLKE,3967
|
42
|
+
fabricatio/models/extra/rule.py,sha256=WKahNiaIp8s_l2r_FG21F_PP3_hgNm4hfSVCSFyfoBE,2669
|
43
|
+
fabricatio/models/extra/__init__.py,sha256=XlYnS_2B9nhLhtQkjE7rvvfPmAAtXVdNi9bSDAR-Ge8,54
|
44
|
+
fabricatio/models/generic.py,sha256=OJrYClooL2XnyalWTyyLgorycA1d_JNW8VqOYNDJdXc,27873
|
45
|
+
fabricatio/models/kwargs_types.py,sha256=Ik8-Oi_NmwfkvC9B8K4NsoZc_vSWV85xKCSthA1Xv_k,3403
|
46
|
+
fabricatio/models/role.py,sha256=b3zg96YKDsMBqa7SIe9LQHc-IVs2fGWqoQeRQYQIl4o,3856
|
47
|
+
fabricatio/models/task.py,sha256=XZ1l1P-iS02ZF9P8cXv8gEfJKBa17PFPNJ1SbhyhT4Q,11033
|
48
|
+
fabricatio/models/tool.py,sha256=K7XYG_DnlM5IfFabe4LwEZ3DtlSCcf5LZOKbeDWBH14,12419
|
49
|
+
fabricatio/models/usages.py,sha256=q2jLqa0vJ7ho9ZUkC-2uPuFpK8uClBLIS6TEEYHUotY,33041
|
50
|
+
fabricatio/parser.py,sha256=dYFri9pDlsiwVpEJ-a5jmVU2nFuKN3uBHC8VsVpdEm8,4642
|
51
|
+
fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
|
+
fabricatio/rust.pyi,sha256=dlssKYR2RrS9UQb9bc3y6XP7a9Clq1Qr40dzMW_vNB0,26256
|
53
|
+
fabricatio/toolboxes/arithmetic.py,sha256=WLqhY-Pikv11Y_0SGajwZx3WhsLNpHKf9drzAqOf_nY,1369
|
54
|
+
fabricatio/toolboxes/fs.py,sha256=l4L1CVxJmjw9Ld2XUpIlWfV0_Fu_2Og6d3E13I-S4aE,736
|
55
|
+
fabricatio/toolboxes/__init__.py,sha256=KBJi5OG_pExscdlM7Bnt_UF43j4I3Lv6G71kPVu4KQU,395
|
56
|
+
fabricatio/utils.py,sha256=WYhFB4tHk6jKmjZgAsYhRmg1ZvBjn4X2y4n7yz25HjE,5454
|
57
|
+
fabricatio/workflows/articles.py,sha256=ObYTFUqLUk_CzdmmnX6S7APfxcGmPFqnFr9pdjU7Z4Y,969
|
58
|
+
fabricatio/workflows/rag.py,sha256=-YYp2tlE9Vtfgpg6ROpu6QVO8j8yVSPa6yDzlN3qVxs,520
|
59
|
+
fabricatio/workflows/__init__.py,sha256=5ScFSTA-bvhCesj3U9Mnmi6Law6N1fmh5UKyh58L3u8,51
|
60
|
+
fabricatio/__init__.py,sha256=w7ObFg6ud4pQuC1DhVyQI9x9dtp05QrcJAEk643iJmc,761
|
61
|
+
fabricatio/rust.cp312-win_amd64.pyd,sha256=ZsLv0XzO3uY7aq1iWWn_OPV3RxXpS-EN-pb_H0CUYpI,7820288
|
62
|
+
fabricatio-0.3.14.dev4.data/scripts/tdown.exe,sha256=_KzECUC9Yv4WqhMRD4jySkTZyQnN1cPtOAfLB-FKI4k,3448320
|
63
|
+
fabricatio-0.3.14.dev4.data/scripts/ttm.exe,sha256=V5VyXllNYb2AZJOGj_hthigX7UtoB-FtQqpRs1qa_M8,2555392
|
64
|
+
fabricatio-0.3.14.dev4.dist-info/RECORD,,
|
Binary file
|
@@ -1,63 +0,0 @@
|
|
1
|
-
fabricatio-0.3.14.dev1.dist-info/METADATA,sha256=LEO0wrmRNbOC_iHWDNg33zW9Qe3WYmETnz-7aNytbWA,5267
|
2
|
-
fabricatio-0.3.14.dev1.dist-info/WHEEL,sha256=jABKVkLC9kJr8mi_er5jOqpiQUjARSLXDUIIxDqsS50,96
|
3
|
-
fabricatio-0.3.14.dev1.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
|
4
|
-
fabricatio/actions/article.py,sha256=vkYbzRy4SSJL73SFdgdsMfUy3nbjNFc44mu1-uPjqBo,12627
|
5
|
-
fabricatio/actions/article_rag.py,sha256=Ahij8TSNvE5T1rHhJM5zNj57SaORldNj1YEHFTj0xm8,18631
|
6
|
-
fabricatio/actions/fs.py,sha256=gJR14U4ln35nt8Z7OWLVAZpqGaLnED-r1Yi-lX22tkI,959
|
7
|
-
fabricatio/actions/output.py,sha256=w_7xVFs7OZ8uXqFQKmuXw7Y0vWugSuN6phcVW_VnCqI,8389
|
8
|
-
fabricatio/actions/rag.py,sha256=UifqC4jPpmhTrfToXkqi6ElbNxUoc2wqSMJQEubkhNU,3589
|
9
|
-
fabricatio/actions/rules.py,sha256=dkvCgNDjt2KSO1VgPRsxT4YBmIIMeetZb5tiz-slYkU,3640
|
10
|
-
fabricatio/actions/__init__.py,sha256=wVENCFtpVb1rLFxoOFJt9-8smLWXuJV7IwA8P3EfFz4,48
|
11
|
-
fabricatio/capabilities/advanced_judge.py,sha256=selB0Gwf1F4gGJlwBiRo6gI4KOUROgh3WnzO3mZFEls,706
|
12
|
-
fabricatio/capabilities/advanced_rag.py,sha256=FaXHGOqS4VleGSLsnC5qm4S4EBcHZLZbj8TjXRieKBs,2513
|
13
|
-
fabricatio/capabilities/censor.py,sha256=bBT5qy-kp7fh8g4Lz3labSwxwJ60gGd_vrkc6k1cZ1U,4719
|
14
|
-
fabricatio/capabilities/check.py,sha256=3Y7M9DLYWJefCMDg4aSYuU7XgVdWGR4ElQVeHFVYt4U,8663
|
15
|
-
fabricatio/capabilities/correct.py,sha256=K-m8OZK25AjboGQXFltNk_A3WPBByi1sG_fuEHWDGFw,10445
|
16
|
-
fabricatio/capabilities/extract.py,sha256=005FFcLAC_A6FNmuGK679yJtTL8ai__Zg5bjG9eiSts,2619
|
17
|
-
fabricatio/capabilities/propose.py,sha256=hkBeSlmcTdfYWT-ph6nlbtHXBozi_JXqXlWcnBy3W78,2007
|
18
|
-
fabricatio/capabilities/rag.py,sha256=LHSpBW6FTEgUvsIbE5HGhlRba_bRV5-kM1s8fZUc_IM,11143
|
19
|
-
fabricatio/capabilities/rating.py,sha256=JdxNzjg7hQO6Cbe4Muf20r6f1Cb9dQnUBQq1VRS_bRU,18089
|
20
|
-
fabricatio/capabilities/review.py,sha256=qimV-r51nqLtAcKBO0SKS_J06DYLUL-FsbZNA9JxQ9k,5060
|
21
|
-
fabricatio/capabilities/task.py,sha256=mqRzrNBJEYTYbNfDPhTNy9bpDFyUpygff6FKBiNumbA,4431
|
22
|
-
fabricatio/capabilities/__init__.py,sha256=v1cHRHIJ2gxyqMLNCs6ERVcCakSasZNYzmMI4lqAcls,57
|
23
|
-
fabricatio/core.py,sha256=KN2Rx-j46xzCh9s2ckfXruz3lui6Q2JPV6LKwjHhkJQ,6485
|
24
|
-
fabricatio/decorators.py,sha256=TGUTUuIfSV2u6Thv1kmAVXAPN_8ynP5T28R8MQw8eg0,8990
|
25
|
-
fabricatio/fs/curd.py,sha256=652nHulbJ3gwt0Z3nywtPMmjhEyglDvEfc3p7ieJNNA,4777
|
26
|
-
fabricatio/fs/readers.py,sha256=UXvcJO3UCsxHu9PPkg34Yh55Zi-miv61jD_wZQJgKRs,1751
|
27
|
-
fabricatio/fs/__init__.py,sha256=USoMI_HcIr3Yc77_JQYYsXrsplYPXtFTaNB9YgFfC4s,713
|
28
|
-
fabricatio/journal.py,sha256=cgVnJv8faZXaxUIo_X_Y9veqepC0o5SlOCALjDmXtEw,214
|
29
|
-
fabricatio/models/action.py,sha256=5CrjW5Qf0ErTaTq4xnxSU9llKD7D1Uk_0z0pJ4dWp6I,10084
|
30
|
-
fabricatio/models/adv_kwargs_types.py,sha256=IBV3ZcsNLvvEjO_2hBpYg_wLSpNKaMx6Ndam3qXJCw8,2097
|
31
|
-
fabricatio/models/extra/advanced_judge.py,sha256=INUl_41C8jkausDekkjnEmTwNfLCJ23TwFjq2cM23Cw,1092
|
32
|
-
fabricatio/models/extra/aricle_rag.py,sha256=2dHQOz7Br8xpf3PTtdZmrIw49kC4_YGa89evta67LYg,11707
|
33
|
-
fabricatio/models/extra/article_base.py,sha256=4veM9DNd7T54iocoLS1mP-jOPImrxACAzfsdd6A3LIU,16736
|
34
|
-
fabricatio/models/extra/article_essence.py,sha256=mlIkkRMR3I1RtqiiOnmIE3Vy623L4eECumkRzryE1pw,2749
|
35
|
-
fabricatio/models/extra/article_main.py,sha256=jOHJt6slBakOAdY8IDq4JPiPGXX0_g1n3ROm802UYqc,11221
|
36
|
-
fabricatio/models/extra/article_outline.py,sha256=mw7eOuKMJgns4bihjcjOEIpAy38i0g-x6T6Vx3J0T5A,1629
|
37
|
-
fabricatio/models/extra/article_proposal.py,sha256=NbyjW-7UiFPtnVD9nte75re4xL2pD4qL29PpNV4Cg_M,1870
|
38
|
-
fabricatio/models/extra/patches.py,sha256=_WNCxtYzzsVfUxI16vu4IqsLahLYRHdbQN9er9tqhC0,997
|
39
|
-
fabricatio/models/extra/problem.py,sha256=8tTU-3giFHOi5j7NJsvH__JJyYcaGrcfsRnkzQNm0Ew,7216
|
40
|
-
fabricatio/models/extra/rag.py,sha256=RMi8vhEPB0I5mVmjRLRLxYHUnm9pFhvVwysaIwmW2s0,3955
|
41
|
-
fabricatio/models/extra/rule.py,sha256=KQQELVhCLUXhEZ35jU3WGYqKHuCYEAkn0p6pxAE-hOU,2625
|
42
|
-
fabricatio/models/extra/__init__.py,sha256=XlYnS_2B9nhLhtQkjE7rvvfPmAAtXVdNi9bSDAR-Ge8,54
|
43
|
-
fabricatio/models/generic.py,sha256=lChlpyHiPC0F_ggPnZSsJPBX6bO5qch8dGgsfE3aQj4,30408
|
44
|
-
fabricatio/models/kwargs_types.py,sha256=tDeF0B_TnumYGCKU58f-llAApn6ng_Joz8CcGq5GiLk,3619
|
45
|
-
fabricatio/models/role.py,sha256=LRmCRr5EwyQ4dXJ2klYiStjfb_HveFx0Ki4Mxv4L_l4,3806
|
46
|
-
fabricatio/models/task.py,sha256=vOL8mzwBRMWC8R_59zh4SDXkjWuAL6WTtsAGfcxp_eE,11032
|
47
|
-
fabricatio/models/tool.py,sha256=uNYVCNr9KUBWQ_KAtekGECdNPZREGJ9Aioyk4lrvtTE,12503
|
48
|
-
fabricatio/models/usages.py,sha256=8oQqAHxJcOrylCMSfsNQm1vWLfzytO2sY5GKUNRj7xU,33646
|
49
|
-
fabricatio/parser.py,sha256=QXHoJf0i9lAuaUjPBltXXvDZqyeuPwDLdQgr1uMU95w,6633
|
50
|
-
fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
|
-
fabricatio/rust.pyi,sha256=tIHHY_eCSJ8hqAWvTO8zY_sNKWuVKo_tc_MvEUaBERM,25231
|
52
|
-
fabricatio/toolboxes/arithmetic.py,sha256=WLqhY-Pikv11Y_0SGajwZx3WhsLNpHKf9drzAqOf_nY,1369
|
53
|
-
fabricatio/toolboxes/fs.py,sha256=l4L1CVxJmjw9Ld2XUpIlWfV0_Fu_2Og6d3E13I-S4aE,736
|
54
|
-
fabricatio/toolboxes/__init__.py,sha256=KBJi5OG_pExscdlM7Bnt_UF43j4I3Lv6G71kPVu4KQU,395
|
55
|
-
fabricatio/utils.py,sha256=UgrcIEbQefjrc1KqyMl0NkZ62vU8VnHrSzCyERAR0VY,12740
|
56
|
-
fabricatio/workflows/articles.py,sha256=ObYTFUqLUk_CzdmmnX6S7APfxcGmPFqnFr9pdjU7Z4Y,969
|
57
|
-
fabricatio/workflows/rag.py,sha256=-YYp2tlE9Vtfgpg6ROpu6QVO8j8yVSPa6yDzlN3qVxs,520
|
58
|
-
fabricatio/workflows/__init__.py,sha256=5ScFSTA-bvhCesj3U9Mnmi6Law6N1fmh5UKyh58L3u8,51
|
59
|
-
fabricatio/__init__.py,sha256=o6aNM0EHV_j0d1b6RYtauzHaysz--zVFOmK2ZuTSiBg,786
|
60
|
-
fabricatio/rust.cp312-win_amd64.pyd,sha256=cw8MR14GqfQOaMLfP8mSxWiXnnyctbI5CT7eV-ZuK3Q,6022144
|
61
|
-
fabricatio-0.3.14.dev1.data/scripts/tdown.exe,sha256=H4jAAIQ8YZegDLhIvbNDv3sI-d35YuFDvMW0O7eLQps,3356160
|
62
|
-
fabricatio-0.3.14.dev1.data/scripts/ttm.exe,sha256=kTiRq_B54Zlzj99s0dRutZ8fDORvXUfRb7k7shq0U9Q,2554880
|
63
|
-
fabricatio-0.3.14.dev1.dist-info/RECORD,,
|
File without changes
|
File without changes
|