pro-craft 0.1.28__py3-none-any.whl → 0.1.29__py3-none-any.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.

Potentially problematic release.


This version of pro-craft might be problematic. Click here for more details.

pro_craft/database.py CHANGED
@@ -179,6 +179,11 @@ class Prompt(PromptBase):
179
179
  class UseCase(PromptBase):
180
180
  __tablename__ = 'ai_usecase' # 数据库中的表名,你可以改成你希望的名字
181
181
 
182
+ __table_args__ = (
183
+ UniqueConstraint('prompt_id', 'use_case', name='_prompt_id_version_uc'),
184
+ # 'name' 参数是可选的,用于给数据库中的约束指定一个名称,方便管理和调试
185
+ )
186
+
182
187
  # id (int, primary_key=True, autoincrement=True)
183
188
  # 你的属性表中 id 为 int, true (not null), true (primary key), 0 (length), ASC (key order), true (auto increment)
184
189
  id = Column(
@@ -206,6 +211,14 @@ class UseCase(PromptBase):
206
211
  comment="用例"
207
212
  )
208
213
 
214
+ timestamp = Column(
215
+ DateTime,
216
+ nullable=False, # 不能为空
217
+ server_default=text('CURRENT_TIMESTAMP'),
218
+ onupdate=text('CURRENT_TIMESTAMP'),
219
+ comment="时间戳"
220
+ )
221
+
209
222
  output = Column(
210
223
  Text, # TEXT 类型,适用于长文本
211
224
  nullable=False, # 不能为空
@@ -220,6 +233,12 @@ class UseCase(PromptBase):
220
233
  comment="理想结果" # 列注释
221
234
  )
222
235
 
236
+ faired_time = Column(
237
+ Integer,
238
+ nullable=False, # 不能为空
239
+ comment="失败次数"
240
+ )
241
+
223
242
  is_deleted = Column(Boolean, default=False, server_default=text('0'))
224
243
 
225
244
  # 定义 __repr__ 方法以便打印对象时有清晰的表示
@@ -254,6 +254,7 @@ class AsyncIntel():
254
254
  )
255
255
  records_to_sync = source_results.scalars().all()
256
256
  if not records_to_sync:
257
+ print("没有更多记录了")
257
258
  break # 没有更多记录了
258
259
 
259
260
  #2 max_timestamp_in_batch = datetime(1970, 1, 1) # 初始化为最早时间
@@ -912,6 +913,7 @@ class AsyncIntel():
912
913
  prompt_id: str,
913
914
  ExtraFormats: list[object] = [],
914
915
  version: str = None,
916
+ MIN_SUCCESS_RATE = 80.0
915
917
  ):
916
918
 
917
919
  async with create_async_session(self.engine) as session:
@@ -974,22 +976,10 @@ class AsyncIntel():
974
976
  bad_case.append(i)
975
977
 
976
978
  success_rate = (successful_assertions / total_assertions) * 100
977
- print(f"\n--- Aggregated Results ---")
978
- print(f"Total test cases: {total_assertions}")
979
- print(f"Successful cases: {successful_assertions}")
980
- print(f"Success Rate: {success_rate:.2f}%")
981
-
982
- # if success_rate >= MIN_SUCCESS_RATE:
983
- # return "通过", json.dumps(result_cases,ensure_ascii=False)
984
- # else:
985
- # return "未通过",json.dumps(result_cases,ensure_ascii=False)
986
-
987
- print(bad_case)
988
-
989
-
990
- # return results
991
-
992
-
993
979
 
980
+ if success_rate >= MIN_SUCCESS_RATE:
981
+ return "通过", success_rate, total_assertions, json.dumps(bad_case,ensure_ascii=False),
982
+ else:
983
+ return "未通过",success_rate, total_assertions, json.dumps(bad_case,ensure_ascii=False),
994
984
 
995
985
  # 整体测试d, 测试未通过d, 大模型调整再测试, 依旧不通过, 大模型裂变, 仍不通过, 互换人力
@@ -73,6 +73,7 @@ class Intel():
73
73
  ):
74
74
  database_url = database_url or os.getenv("database_url")
75
75
  assert database_url
76
+ assert "aiomysql" not in database_url
76
77
  self.engine = create_engine(database_url, echo=False, # echo=True 仍然会打印所有执行的 SQL 语句
77
78
  pool_size=10, # 连接池中保持的连接数
78
79
  max_overflow=20, # 当pool_size不够时,允许临时创建的额外连接数
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pro-craft
3
- Version: 0.1.28
3
+ Version: 0.1.29
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
@@ -1,19 +1,19 @@
1
1
  pro_craft/__init__.py,sha256=KU9yexREoJVO5eyDNnOCzdYC8Bfo6p4Z45KWZTeO63U,698
2
- pro_craft/database.py,sha256=FJmknolcXpx6sYHuiS1LgXX7FV8drSpoN3RwVvRR2FI,8741
2
+ pro_craft/database.py,sha256=NnJhtyaWbPk-KMMEPo5mRaIfyYYpxcBnt74gIzXNO_U,9302
3
3
  pro_craft/file_manager.py,sha256=abVAlJ07_egWNuTj4JiP4me8NloQrsXGNd-SP63ab94,3738
4
4
  pro_craft/log.py,sha256=x9RS_0LITN2SE8dcVaEcUFdcfr__jCYpFkIkVmqE5f0,3061
5
5
  pro_craft/utils.py,sha256=R1DFkS4dsm5dIhg8lLTgBBvItvIYyyojROdh-ykqiYk,5250
6
6
  pro_craft/code_helper/coder.py,sha256=L6pRQr0pYRIHrMFZ4-pO_tZf1koxgGgF3L7Vl-GIyjM,24687
7
7
  pro_craft/code_helper/designer.py,sha256=3gyCqrjcw61sHzDjUPKhL1LOAE8xWLLbNT8NlK2mFLc,4739
8
8
  pro_craft/prompt_craft/__init__.py,sha256=83ruWO1Oci-DWvdVhPqcQrgdZTNfbmK72VQCkWASk7A,80
9
- pro_craft/prompt_craft/async_.py,sha256=AAN-ikregIYz5ThHmvCuRha8k4W_mAvcCO3ZM-zSg-w,43791
9
+ pro_craft/prompt_craft/async_.py,sha256=vbrOWcWohCmyAsFTBQul1tn_7Fgt6OPoWa2ccRSEQVU,43635
10
10
  pro_craft/prompt_craft/new.py,sha256=ULjGGl95vmHrOs7XECJGlaqj1NE9BypE5WnFYhGugRY,25903
11
- pro_craft/prompt_craft/sync.py,sha256=w-zXC9_yVxgvnotimcs2POEXaHWD6ibspdPwWL9zqXk,26178
11
+ pro_craft/prompt_craft/sync.py,sha256=OmRVieHojyBwRZDAi8zUGBxp3-yP3sf26DDd3bWG5wM,26224
12
12
  pro_craft/server/mcp/__init__.py,sha256=4dbl-lFcm0r2tkOP04OxqiZG2jR-rqF181qi2AfU6UA,123
13
13
  pro_craft/server/mcp/prompt.py,sha256=OZrsyUfSQMOY_KX7dWthW209adz5JfELsQ0ODfuQR44,1245
14
14
  pro_craft/server/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  pro_craft/server/router/prompt.py,sha256=Wa4FfYRL6oeyA3F-79pmPeIH0Vo8wSEv7RH1lP6jXck,2907
16
- pro_craft-0.1.28.dist-info/METADATA,sha256=xcJyGVIPA2e7CU4sOcM2PQIpsc4esvg4GeSDxj-eVvY,1689
17
- pro_craft-0.1.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
18
- pro_craft-0.1.28.dist-info/top_level.txt,sha256=yqYDHArnYMWpeCxkmGRwlL6sJtxiOUnYylLDx9EOgFg,10
19
- pro_craft-0.1.28.dist-info/RECORD,,
16
+ pro_craft-0.1.29.dist-info/METADATA,sha256=HQm6oP2LIU-KOJLOIPZHrA23kROjkzjPFFWcKp56EUo,1689
17
+ pro_craft-0.1.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
18
+ pro_craft-0.1.29.dist-info/top_level.txt,sha256=yqYDHArnYMWpeCxkmGRwlL6sJtxiOUnYylLDx9EOgFg,10
19
+ pro_craft-0.1.29.dist-info/RECORD,,