auto-coder 0.1.229__py3-none-any.whl → 0.1.230__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 auto-coder might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.229
3
+ Version: 0.1.230
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -1,17 +1,17 @@
1
1
  autocoder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- autocoder/auto_coder.py,sha256=TGauh4UJQoPTL8rplB_DzziXnVw37A6-vs0TpT6VtVA,57054
2
+ autocoder/auto_coder.py,sha256=DEAtEcOHw82tbmX64VeaUpsR6eG_mM2FTm_fwyKZ7IE,58226
3
3
  autocoder/auto_coder_lang.py,sha256=Rtupq6N3_HT7JRhDKdgCBcwRaiAnyCOR_Gsp4jUomrI,3229
4
4
  autocoder/auto_coder_rag.py,sha256=illKgzP2bv-Tq50ujsofJnOHdI4pzr0ALtfR8NHHWdQ,22351
5
5
  autocoder/auto_coder_rag_client_mcp.py,sha256=WV7j5JUiQge0x4-B7Hp5-pSAFXLbvLpzQMcCovbauIM,6276
6
6
  autocoder/auto_coder_rag_mcp.py,sha256=-RrjNwFaS2e5v8XDIrKR-zlUNUE8UBaeOtojffBrvJo,8521
7
7
  autocoder/auto_coder_server.py,sha256=XU9b4SBH7zjPPXaTWWHV4_zJm-XYa6njuLQaplYJH_c,20290
8
8
  autocoder/benchmark.py,sha256=Ypomkdzd1T3GE6dRICY3Hj547dZ6_inqJbBJIp5QMco,4423
9
- autocoder/chat_auto_coder.py,sha256=eufxzEhopHzLPZUhE8epP5d3JVvcUWXrl_DdSh2-Sfs,101889
9
+ autocoder/chat_auto_coder.py,sha256=KtDAwIiBB1b2jBSY8BCoSj88iRSwtRACkzME9h91ido,101601
10
10
  autocoder/chat_auto_coder_lang.py,sha256=YJsFi8an0Kjbo9X7xKZfpdbHS3rbhrvChZNjWqEQ5Sw,11032
11
11
  autocoder/command_args.py,sha256=9aYJ-AmPxP1sQh6ciw04FWHjSn31f2W9afXFwo8wgx4,30441
12
12
  autocoder/lang.py,sha256=U6AjVV8Rs1uLyjFCZ8sT6WWuNUxMBqkXXIOs4S120uk,14511
13
- autocoder/models.py,sha256=YIvJZJ_Vrmff9mLyDuHvo8zd4YOnNP3v0uYG8oSu7ZM,5162
14
- autocoder/version.py,sha256=sfyghLRAQ6aSLULneoCBX_LJssf68smbuYMGOKVEtDI,24
13
+ autocoder/models.py,sha256=FlBrF6HhGao_RiCSgYhCmP7vs0KlG4hI_BI6dyZiL9s,5292
14
+ autocoder/version.py,sha256=fIEM3Ro4B5XghP9WBVkzWKwljXRNXRcr3OsrxvyVk0U,24
15
15
  autocoder/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  autocoder/agent/auto_demand_organizer.py,sha256=NWSAEsEk94vT3lGjfo25kKLMwYdPcpy9e-i21txPasQ,6942
17
17
  autocoder/agent/auto_filegroup.py,sha256=CW7bqp0FW1GIEMnl-blyAc2UGT7O9Mom0q66ITz1ckM,6635
@@ -120,6 +120,7 @@ autocoder/utils/_markitdown.py,sha256=RU88qn4eZfYIy0GDrPxlI8oYXIypbi63VRJjdlnE0V
120
120
  autocoder/utils/coder.py,sha256=rK8e0svQBe0NOP26dIGToUXgha_hUDgxlWoC_p_r7oc,5698
121
121
  autocoder/utils/conversation_store.py,sha256=sz-hhY7sttPAUOAQU6Pze-5zJc3j0_Emj22dM_0l5ro,1161
122
122
  autocoder/utils/llm_client_interceptors.py,sha256=FEHNXoFZlCjAHQcjPRyX8FOMjo6rPXpO2AJ2zn2KTTo,901
123
+ autocoder/utils/llms.py,sha256=YH2hJIkHUEBOz93nXzJmWUIHC9oXFlHDjE8DF3NP2q4,2252
123
124
  autocoder/utils/log_capture.py,sha256=I-bsJFLWoGUiX-GKoZsH9kWJCKSV7ZlUnRt7jh-fOL0,1548
124
125
  autocoder/utils/multi_turn.py,sha256=unK9OpqVRbK6uIcTKXgggX2wNmyj7s5eyEAQ2xUwHoM,88
125
126
  autocoder/utils/operate_config_api.py,sha256=99YAKsuUFLPwrRvj0CJal_bAPgyiXWMma6ZKMU56thw,5790
@@ -131,9 +132,10 @@ autocoder/utils/rest.py,sha256=opE_kBEdNQdxh350M5lUTMk5TViRfpuKP_qWc0B1lks,8861
131
132
  autocoder/utils/tests.py,sha256=BqphrwyycGAvs-5mhH8pKtMZdObwhFtJ5MC_ZAOiLq8,1340
132
133
  autocoder/utils/auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
134
  autocoder/utils/auto_coder_utils/chat_stream_out.py,sha256=pBOyWa1qwCcsAag1XsLIeTMv_D4QN4ppGo5jFiKzIkE,4165
134
- auto_coder-0.1.229.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
135
- auto_coder-0.1.229.dist-info/METADATA,sha256=TAvwuRtI5_rO2QiAbGV_ug6L6bgkj8Jkj1p_p_zjz88,2641
136
- auto_coder-0.1.229.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
137
- auto_coder-0.1.229.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
138
- auto_coder-0.1.229.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
139
- auto_coder-0.1.229.dist-info/RECORD,,
135
+ autocoder/utils/chat_auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
+ auto_coder-0.1.230.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
137
+ auto_coder-0.1.230.dist-info/METADATA,sha256=wzVDi7uDvqJhfmVUjNRUKhavnCONO-IlDuw5wn8clxw,2641
138
+ auto_coder-0.1.230.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
139
+ auto_coder-0.1.230.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
140
+ auto_coder-0.1.230.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
141
+ auto_coder-0.1.230.dist-info/RECORD,,
autocoder/auto_coder.py CHANGED
@@ -280,6 +280,7 @@ def main(input_args: Optional[List[str]] = None):
280
280
  byzerllm.connect_cluster(address=args.ray_address)
281
281
 
282
282
  llm = byzerllm.ByzerLLM(verbose=args.print_request)
283
+
283
284
  if args.product_mode == "lite":
284
285
  llm = byzerllm.SimpleByzerLLM(default_model_name="deepseek_chat")
285
286
  api_key_dir = os.path.expanduser("~/.auto-coder/keys")
@@ -298,7 +299,8 @@ def main(input_args: Optional[List[str]] = None):
298
299
  infer_params={
299
300
  "saas.base_url": "https://api.deepseek.com/v1",
300
301
  "saas.api_key": api_key,
301
- "saas.model": "deepseek-chat"
302
+ "saas.model": "deepseek-chat",
303
+ "saas.is_reasoning": False
302
304
  }
303
305
  )
304
306
 
@@ -310,7 +312,8 @@ def main(input_args: Optional[List[str]] = None):
310
312
  infer_params={
311
313
  "saas.base_url": "https://api.deepseek.com/v1",
312
314
  "saas.api_key": api_key,
313
- "saas.model": "deepseek-chat"
315
+ "saas.model": "deepseek-chat",
316
+ "saas.is_reasoning": False
314
317
  }
315
318
  )
316
319
 
@@ -322,7 +325,8 @@ def main(input_args: Optional[List[str]] = None):
322
325
  infer_params={
323
326
  "saas.base_url": "https://api.deepseek.com/v1",
324
327
  "saas.api_key": api_key,
325
- "saas.model": "deepseek-reasoner"
328
+ "saas.model": "deepseek-reasoner",
329
+ "saas.is_reasoning": True
326
330
  }
327
331
  )
328
332
 
@@ -334,7 +338,8 @@ def main(input_args: Optional[List[str]] = None):
334
338
  infer_params={
335
339
  "saas.base_url": "https://api.deepseek.com/v1",
336
340
  "saas.api_key": api_key,
337
- "saas.model": "deepseek-reasoner"
341
+ "saas.model": "deepseek-reasoner",
342
+ "saas.is_reasoning": True
338
343
  }
339
344
  )
340
345
 
@@ -360,7 +365,8 @@ def main(input_args: Optional[List[str]] = None):
360
365
  infer_params={
361
366
  "saas.base_url": model_info["base_url"],
362
367
  "saas.api_key": model_info["api_key"],
363
- "saas.model": model_info["model_name"]
368
+ "saas.model": model_info["model_name"],
369
+ "saas.is_reasoning": model_info["is_reasoning"]
364
370
  }
365
371
  )
366
372
  models.append(code_model)
@@ -377,7 +383,8 @@ def main(input_args: Optional[List[str]] = None):
377
383
  infer_params={
378
384
  "saas.base_url": model_info["base_url"],
379
385
  "saas.api_key": model_info["api_key"],
380
- "saas.model": model_info["model_name"]
386
+ "saas.model": model_info["model_name"],
387
+ "saas.is_reasoning": model_info["is_reasoning"]
381
388
  }
382
389
  )
383
390
  llm.setup_sub_client("code_model", code_model)
@@ -397,7 +404,8 @@ def main(input_args: Optional[List[str]] = None):
397
404
  infer_params={
398
405
  "saas.base_url": model_info["base_url"],
399
406
  "saas.api_key": model_info["api_key"],
400
- "saas.model": model_info["model_name"]
407
+ "saas.model": model_info["model_name"],
408
+ "saas.is_reasoning": model_info["is_reasoning"]
401
409
  }
402
410
  )
403
411
  models.append(rerank_model)
@@ -414,7 +422,8 @@ def main(input_args: Optional[List[str]] = None):
414
422
  infer_params={
415
423
  "saas.base_url": model_info["base_url"],
416
424
  "saas.api_key": model_info["api_key"],
417
- "saas.model": model_info["model_name"]
425
+ "saas.model": model_info["model_name"],
426
+ "saas.is_reasoning": model_info["is_reasoning"]
418
427
  }
419
428
  )
420
429
  llm.setup_sub_client("generate_rerank_model", rerank_model)
@@ -430,7 +439,8 @@ def main(input_args: Optional[List[str]] = None):
430
439
  infer_params={
431
440
  "saas.base_url": model_info["base_url"],
432
441
  "saas.api_key": model_info["api_key"],
433
- "saas.model": model_info["model_name"]
442
+ "saas.model": model_info["model_name"],
443
+ "saas.is_reasoning": model_info["is_reasoning"]
434
444
  }
435
445
  )
436
446
  llm.setup_sub_client("inference_model", inference_model)
@@ -610,7 +620,8 @@ def main(input_args: Optional[List[str]] = None):
610
620
  infer_params={
611
621
  "saas.base_url": model_info["base_url"],
612
622
  "saas.api_key": model_info["api_key"],
613
- "saas.model": model_info["model_name"]
623
+ "saas.model": model_info["model_name"],
624
+ "saas.is_reasoning": model_info["is_reasoning"]
614
625
  }
615
626
  )
616
627
  llm.setup_sub_client("chat_model", chat_model)
@@ -626,7 +637,8 @@ def main(input_args: Optional[List[str]] = None):
626
637
  infer_params={
627
638
  "saas.base_url": model_info["base_url"],
628
639
  "saas.api_key": model_info["api_key"],
629
- "saas.model": model_info["model_name"]
640
+ "saas.model": model_info["model_name"],
641
+ "saas.is_reasoning": model_info["is_reasoning"]
630
642
  }
631
643
  )
632
644
  llm.setup_sub_client("vl_model", vl_model)
@@ -642,7 +654,8 @@ def main(input_args: Optional[List[str]] = None):
642
654
  infer_params={
643
655
  "saas.base_url": model_info["base_url"],
644
656
  "saas.api_key": model_info["api_key"],
645
- "saas.model": model_info["model_name"]
657
+ "saas.model": model_info["model_name"],
658
+ "saas.is_reasoning": model_info["is_reasoning"]
646
659
  }
647
660
  )
648
661
  llm.setup_sub_client("sd_model", sd_model)
@@ -658,7 +671,8 @@ def main(input_args: Optional[List[str]] = None):
658
671
  infer_params={
659
672
  "saas.base_url": model_info["base_url"],
660
673
  "saas.api_key": model_info["api_key"],
661
- "saas.model": model_info["model_name"]
674
+ "saas.model": model_info["model_name"],
675
+ "saas.is_reasoning": model_info["is_reasoning"]
662
676
  }
663
677
  )
664
678
  llm.setup_sub_client("text2voice_model", text2voice_model)
@@ -674,7 +688,8 @@ def main(input_args: Optional[List[str]] = None):
674
688
  infer_params={
675
689
  "saas.base_url": model_info["base_url"],
676
690
  "saas.api_key": model_info["api_key"],
677
- "saas.model": model_info["model_name"]
691
+ "saas.model": model_info["model_name"],
692
+ "saas.is_reasoning": model_info["is_reasoning"]
678
693
  }
679
694
  )
680
695
  llm.setup_sub_client("voice2text_model", voice2text_model)
@@ -690,7 +705,8 @@ def main(input_args: Optional[List[str]] = None):
690
705
  infer_params={
691
706
  "saas.base_url": model_info["base_url"],
692
707
  "saas.api_key": model_info["api_key"],
693
- "saas.model": model_info["model_name"]
708
+ "saas.model": model_info["model_name"],
709
+ "saas.is_reasoning": model_info["is_reasoning"]
694
710
  }
695
711
  )
696
712
  llm.setup_sub_client("planner_model", planner_model)
@@ -706,7 +722,8 @@ def main(input_args: Optional[List[str]] = None):
706
722
  infer_params={
707
723
  "saas.base_url": model_info["base_url"],
708
724
  "saas.api_key": model_info["api_key"],
709
- "saas.model": model_info["model_name"]
725
+ "saas.model": model_info["model_name"],
726
+ "saas.is_reasoning": model_info["is_reasoning"]
710
727
  }
711
728
  )
712
729
  llm.setup_sub_client("designer_model", designer_model)
@@ -722,7 +739,8 @@ def main(input_args: Optional[List[str]] = None):
722
739
  infer_params={
723
740
  "saas.base_url": model_info["base_url"],
724
741
  "saas.api_key": model_info["api_key"],
725
- "saas.model": model_info["model_name"]
742
+ "saas.model": model_info["model_name"],
743
+ "saas.is_reasoning": model_info["is_reasoning"]
726
744
  }
727
745
  )
728
746
  llm.setup_sub_client("emb_model", emb_model)
@@ -51,7 +51,7 @@ from byzerllm.utils import format_str_jinja2
51
51
  from autocoder.common.memory_manager import get_global_memory_file_paths
52
52
  from autocoder import models
53
53
  import shlex
54
-
54
+ from autocoder.utils.llms import get_single_llm
55
55
 
56
56
  class SymbolItem(BaseModel):
57
57
  symbol_name: str
@@ -1316,6 +1316,9 @@ def ask(query: str):
1316
1316
  if "code_model" in conf:
1317
1317
  yaml_config["code_model"] = conf["code_model"]
1318
1318
 
1319
+ if "product_mode" in conf:
1320
+ yaml_config["product_mode"] = conf["product_mode"]
1321
+
1319
1322
  yaml_content = convert_yaml_config_to_str(yaml_config=yaml_config)
1320
1323
 
1321
1324
  execute_file = os.path.join("actions", f"{uuid.uuid4()}.yml")
@@ -1589,18 +1592,9 @@ def code_next(query: str):
1589
1592
  )
1590
1593
 
1591
1594
 
1592
- def get_single_llm(model_names: str):
1593
- if "," in model_names:
1594
- # Multiple code models specified
1595
- model_names = model_names.split(",")
1596
- for _, model_name in enumerate(model_names):
1597
- return byzerllm.ByzerLLM.from_default_model(model_name)
1598
- else:
1599
- # Single code model
1600
- return byzerllm.ByzerLLM.from_default_model(model_names)
1601
-
1602
-
1603
1595
  def commit(query: str):
1596
+ conf = memory.get("conf", {})
1597
+ product_mode = conf.get("product_mode", "lite")
1604
1598
  def prepare_commit_yaml():
1605
1599
  auto_coder_main(["next", "chat_action"])
1606
1600
 
@@ -1652,7 +1646,7 @@ def commit(query: str):
1652
1646
  if os.path.exists(temp_yaml):
1653
1647
  os.remove(temp_yaml)
1654
1648
 
1655
- llm = get_single_llm(args.code_model or args.model)
1649
+ llm = get_single_llm(args.code_model or args.model, product_mode)
1656
1650
  uncommitted_changes = git_utils.get_uncommitted_changes(".")
1657
1651
  commit_message = git_utils.generate_commit_message.with_llm(llm).run(
1658
1652
  uncommitted_changes
@@ -1672,6 +1666,8 @@ def commit(query: str):
1672
1666
  )
1673
1667
  git_utils.print_commit_info(commit_result=commit_result)
1674
1668
  except Exception as e:
1669
+ import traceback
1670
+ traceback.print_exc()
1675
1671
  print(f"Failed to commit: {e}")
1676
1672
  if execute_file:
1677
1673
  os.remove(execute_file)
@@ -1949,6 +1945,9 @@ def summon(query: str):
1949
1945
  if "model" in conf:
1950
1946
  yaml_config["model"] = conf["model"]
1951
1947
 
1948
+ if "product_mode" in conf:
1949
+ yaml_config["product_mode"] = conf["product_mode"]
1950
+
1952
1951
  yaml_content = convert_yaml_config_to_str(yaml_config=yaml_config)
1953
1952
 
1954
1953
  execute_file = os.path.join("actions", f"{uuid.uuid4()}.yml")
@@ -2477,9 +2476,6 @@ def lib_command(args: List[str]):
2477
2476
  else:
2478
2477
  console.print(f"Unknown subcommand: {subcommand}")
2479
2478
 
2480
- def agent(query: str):
2481
- console.print(f"Agent query: {query}")
2482
-
2483
2479
 
2484
2480
  def main():
2485
2481
  ARGS = parse_arguments()
@@ -2655,12 +2651,6 @@ def main():
2655
2651
  print("Please enter your query.")
2656
2652
  else:
2657
2653
  manage_models(ARGS,query)
2658
- elif user_input.startswith("/agent"):
2659
- query = user_input[len("/agent"):].strip()
2660
- if not query:
2661
- print("Please enter your query.")
2662
- else:
2663
- agent(query)
2664
2654
 
2665
2655
  elif user_input.startswith("/mode"):
2666
2656
  conf = user_input[len("/mode"):].strip()
autocoder/models.py CHANGED
@@ -32,7 +32,7 @@ default_models_list = [
32
32
  "model_type": "saas/openai",
33
33
  "base_url": "https://api.openai.com/v1",
34
34
  "api_key_path": "",
35
- "is_reasoning": False
35
+ "is_reasoning": True
36
36
  }
37
37
  ]
38
38
 
@@ -54,9 +54,12 @@ def load_models() -> List[Dict]:
54
54
  custom_models = json.load(f)
55
55
  # Custom models will override defaults with same name
56
56
  for model in custom_models:
57
+ model["is_reasoning"] = model.get("is_reasoning", False)
57
58
  models_dict[model["name"]] = model
59
+
58
60
  except json.JSONDecodeError:
59
61
  # If JSON is invalid, just use defaults
62
+ print("JSON is invalid, using defaults")
60
63
  save_models(default_models_list)
61
64
  else:
62
65
  # If file doesn't exist, create it with defaults
File without changes
@@ -0,0 +1,52 @@
1
+ import byzerllm
2
+ from autocoder.auto_coder import models_module
3
+
4
+ def get_single_llm(model_names: str, product_mode: str):
5
+ if product_mode == "pro":
6
+ if "," in model_names:
7
+ # Multiple code models specified
8
+ model_names = model_names.split(",")
9
+ for _, model_name in enumerate(model_names):
10
+ return byzerllm.ByzerLLM.from_default_model(model_name)
11
+ else:
12
+ # Single code model
13
+ return byzerllm.ByzerLLM.from_default_model(model_names)
14
+
15
+ if product_mode == "lite":
16
+ if "," in model_names:
17
+ # Multiple code models specified
18
+ model_names = model_names.split(",")
19
+ for _, model_name in enumerate(model_names):
20
+ model_name = model_name.strip()
21
+ model_info = models_module.get_model_by_name(model_name)
22
+ target_llm = byzerllm.SimpleByzerLLM(default_model_name=model_name)
23
+ target_llm.deploy(
24
+ model_path="",
25
+ pretrained_model_type=model_info["model_type"],
26
+ udf_name=model_name,
27
+ infer_params={
28
+ "saas.base_url": model_info["base_url"],
29
+ "saas.api_key": model_info["api_key"],
30
+ "saas.model": model_info["model_name"],
31
+ "saas.is_reasoning": model_info["is_reasoning"]
32
+ }
33
+ )
34
+ return target_llm
35
+
36
+ else:
37
+ # Single code model
38
+ model_info = models_module.get_model_by_name(model_names)
39
+ model_name = model_names
40
+ target_llm = byzerllm.SimpleByzerLLM(default_model_name=model_name)
41
+ target_llm.deploy(
42
+ model_path="",
43
+ pretrained_model_type=model_info["model_type"],
44
+ udf_name=model_name,
45
+ infer_params={
46
+ "saas.base_url": model_info["base_url"],
47
+ "saas.api_key": model_info["api_key"],
48
+ "saas.model": model_info["model_name"],
49
+ "saas.is_reasoning": model_info["is_reasoning"]
50
+ }
51
+ )
52
+ return target_llm
autocoder/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.229"
1
+ __version__ = "0.1.230"