auto-coder 0.1.179__py3-none-any.whl → 0.1.181__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.179
3
+ Version: 0.1.181
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -3,11 +3,11 @@ autocoder/auto_coder.py,sha256=HmgKa_ZApFlCsqo6BvuVeCPuncBT_Dh29ayZxxGR6lo,32216
3
3
  autocoder/auto_coder_lang.py,sha256=4qIS1tbEI8mpbtt6ThppTwKOM6MLuJTWJdgs5jIDGE0,2301
4
4
  autocoder/auto_coder_rag.py,sha256=V82EyeslAO2Z8qkMrwkyC11f1Cz6Ccjo9c867f0J_x8,11455
5
5
  autocoder/auto_coder_server.py,sha256=qRY88mkBnqSGFDcwYE5gwpe2WPhIw1nEH6LdbjCQhQk,20306
6
- autocoder/chat_auto_coder.py,sha256=i5xIuWlTqF0pJz8kXoa-_bW3Ic3SfCFvU2WJIMxrUHU,81798
6
+ autocoder/chat_auto_coder.py,sha256=Yh9QRYsNe8_aQS9_R_K25WrNzLFS57sMDQTK6QKWR1U,81579
7
7
  autocoder/chat_auto_coder_lang.py,sha256=QYtu5gWEQmWKVovR_qUZ8plySZarNFX_Onk-1vN9IiA,8524
8
8
  autocoder/command_args.py,sha256=ftWw6HnFUZPiQPt1oV-SfpHQe69XN3knaFy1lpROBcU,26854
9
9
  autocoder/lang.py,sha256=e-07rYTgimpxS8sm-AxKSmH4kKQX4N05YFHJBg9trVs,12598
10
- autocoder/version.py,sha256=2dEBMYUzBVdhW5N4Nqr07NH9Uz48P3Yl417KfXorcI4,23
10
+ autocoder/version.py,sha256=ZdxQFgfwMgcLstS2tHqv93Tm2T7lXzvvmJLNB0GKS_c,23
11
11
  autocoder/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  autocoder/agent/auto_tool.py,sha256=DBzip-P_T6ZtT2eHexPcusmKYD0h7ufzp7TLwXAY10E,11554
13
13
  autocoder/agent/coder.py,sha256=dnITYHqkcOip8zV4lywbkYNH9w7Q3qyYaUArJ4WPrTs,866
@@ -36,7 +36,7 @@ autocoder/common/command_templates.py,sha256=zhM0pveqwjNhvvUrPYm11Jjn7D-q2C_T20o
36
36
  autocoder/common/const.py,sha256=eTjhjh4Aj4CUzviJ81jaf3Y5cwqsLATySn2wJxaS6RQ,2911
37
37
  autocoder/common/git_utils.py,sha256=UdsbUC8SpQdWt2VZ-6px6GQBWRvSJotD4IuDM4J7NBk,6598
38
38
  autocoder/common/image_to_page.py,sha256=O0cNO_vHHUP-fP4GXiVojShmNqkPnZXeIyiY1MRLpKg,13936
39
- autocoder/common/interpreter.py,sha256=cUqM49-d1RzgCXR7QFxqrxWqclS9ldL-T7p02NP1ANw,2014
39
+ autocoder/common/interpreter.py,sha256=62-dIakOunYB4yjmX8SHC0Gdy2h8NtxdgbpdqRZJ5vk,2833
40
40
  autocoder/common/llm_rerank.py,sha256=FbvtCzaR661Mt2wn0qsuiEL1Y3puD6jeIJS4zg_e7Bs,3260
41
41
  autocoder/common/screenshots.py,sha256=_gA-z1HxGjPShBrtgkdideq58MG6rqFB2qMUJKjrycs,3769
42
42
  autocoder/common/search.py,sha256=_ZX03ph89rDPGMY1OrfqaDfxsDR-flh6YEHixherjwM,16616
@@ -59,10 +59,10 @@ autocoder/index/symbols_utils.py,sha256=CjcjUVajmJZB75Ty3a7kMv1BZphrm-tIBAdOJv6u
59
59
  autocoder/pyproject/__init__.py,sha256=-2-ImQVw6e3NQZQOyDlHEP5b4xVs5ur2G5izB-JCa-A,13160
60
60
  autocoder/rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  autocoder/rag/api_server.py,sha256=zokIlDJlk7ucRorSLQm80uICO1mecfmn4J2zVqEBskE,6786
62
- autocoder/rag/doc_filter.py,sha256=LqU8Wi6klwpY9WTHVtkioSHpmo9IWhRz39dzV1gvp6E,9315
63
- autocoder/rag/document_retriever.py,sha256=Kz79hl9Iro1TTznn486WuzULmEatQqtAExcEIIFbL9k,23420
62
+ autocoder/rag/doc_filter.py,sha256=Ha0Yae_G_hF72YzvrO7NoDZcG18K4hRcqGAEqfrIwAs,9330
63
+ autocoder/rag/document_retriever.py,sha256=i_ilMTQiMg8gLK8YibJuRDc_7CVxER6bNR6-ZlcIgVI,23420
64
64
  autocoder/rag/llm_wrapper.py,sha256=xRbTBpLUH43Ah5jplL8WWWU-kjKfNgEJoUntLGBq5F4,2484
65
- autocoder/rag/long_context_rag.py,sha256=FW4Qv7YpNXOMrNbe28p3hY-baes6nwyVmZ7Qq73J-uc,20173
65
+ autocoder/rag/long_context_rag.py,sha256=V8Z1LNekm6s1XO950yab1QEj9C4vLJv3qpGqhsRqmBo,20356
66
66
  autocoder/rag/rag_config.py,sha256=8LwFcTd8OJWWwi1_WY4IzjqgtT6RyE2j4PjxS5cCTDE,802
67
67
  autocoder/rag/rag_entry.py,sha256=V1RJ8RGqM30DNPmzymv64rZjNRGWn6kfc8sRy_LECg0,2451
68
68
  autocoder/rag/raw_rag.py,sha256=yS2Ur6kG0IRjhCj2_VonwxjY_xls_E62jO5Gz5j2nqE,2952
@@ -95,9 +95,9 @@ autocoder/utils/request_event_queue.py,sha256=r3lo5qGsB1dIjzVQ05dnr0z_9Z3zOkBdP1
95
95
  autocoder/utils/request_queue.py,sha256=nwp6PMtgTCiuwJI24p8OLNZjUiprC-TsefQrhMI-yPE,3889
96
96
  autocoder/utils/rest.py,sha256=3tXA8KZG6jKz_tddHNLGx77Icee88WcUeesfNsgPno4,8790
97
97
  autocoder/utils/tests.py,sha256=BqphrwyycGAvs-5mhH8pKtMZdObwhFtJ5MC_ZAOiLq8,1340
98
- auto_coder-0.1.179.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
99
- auto_coder-0.1.179.dist-info/METADATA,sha256=Fs9mfHZCIadHFKZ7kT4yPmT_cFLvBRMtbSjySL1QT8o,2352
100
- auto_coder-0.1.179.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
101
- auto_coder-0.1.179.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
102
- auto_coder-0.1.179.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
103
- auto_coder-0.1.179.dist-info/RECORD,,
98
+ auto_coder-0.1.181.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
99
+ auto_coder-0.1.181.dist-info/METADATA,sha256=6o-R-qsou7m4vPmbbw_bnEkSvPpUYAkYq0vE0SvWvTk,2352
100
+ auto_coder-0.1.181.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
101
+ auto_coder-0.1.181.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
102
+ auto_coder-0.1.181.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
103
+ auto_coder-0.1.181.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -931,12 +931,7 @@ class CommandCompleter(Completer):
931
931
  field_name + ":"
932
932
  for field_name in AutoCoderArgs.model_fields.keys()
933
933
  if field_name.startswith(current_word)
934
- ]
935
- completions += [
936
- field_name + ":"
937
- for field_name in AutoCoderArgs.model_fields.keys()
938
- if field_name.startswith(current_word)
939
- ]
934
+ ]
940
935
 
941
936
  for completion in completions:
942
937
  yield Completion(completion, start_position=-len(current_word))
@@ -1,30 +1,39 @@
1
1
  from autocoder.common.JupyterClient import JupyterNotebook
2
2
  from autocoder.common.ShellClient import ShellClient
3
3
  from autocoder.common import ExecuteSteps
4
- from typing import List,Dict,Any,Optional,Union
4
+ from typing import List, Dict, Any, Optional, Callable
5
+
5
6
 
6
7
  class Interpreter:
7
- def __init__(self,cwd:Optional[str]=None):
8
+ def __init__(self, cwd: Optional[str] = None):
8
9
  self.jupyter_client = JupyterNotebook()
9
10
  self.shell_client = ShellClient(working_dir=cwd)
10
11
 
11
12
  def close(self):
12
13
  self.jupyter_client.close()
13
- self.shell_client.close()
14
+ self.shell_client.close()
14
15
 
15
- def execute_steps(self, steps: ExecuteSteps) -> str:
16
+ def execute_steps(
17
+ self, steps: ExecuteSteps, output_callback: Optional[Callable] = None
18
+ ) -> str:
16
19
  jupyter_client = self.jupyter_client
17
20
  shell_client = self.shell_client
18
21
 
19
22
  if steps.steps[0].cwd:
20
- self.shell_client.working_dir = steps.steps[0].cwd
23
+ self.shell_client.working_dir = steps.steps[0].cwd
21
24
  try:
22
25
  output = ""
23
26
  for step in steps.steps:
24
27
  if step.lang and step.lang.lower() in ["python"]:
25
28
  output += f"Python Code:\n{step.code}\n"
29
+ if output_callback:
30
+ output_callback("code", step.code)
26
31
  output += "Output:\n"
27
32
  result, error = jupyter_client.add_and_run(step.code)
33
+ if output_callback:
34
+ output_callback("result", result)
35
+ if error:
36
+ output_callback("error", error)
28
37
  output += result + "\n"
29
38
  if error:
30
39
  output += f"Error: {str(error)}\n"
@@ -40,16 +49,25 @@ class Interpreter:
40
49
  ]:
41
50
  output += f"Shell Command:\n{step.code}\n"
42
51
  output += "Output:\n"
52
+ if output_callback:
53
+ output_callback("code", step.code)
43
54
  stdout, stderr = shell_client.add_and_run(step.code)
55
+ if output_callback:
56
+ output_callback("result", stdout)
57
+ if stderr:
58
+ output_callback("error", stderr)
44
59
  output += stdout + "\n"
45
60
  if stderr:
46
61
  output += f"Error: {stderr}\n"
62
+ if output_callback:
63
+ output_callback("error", stderr)
47
64
  else:
48
65
  output += f"Unknown step type: {step.lang}\n"
49
66
 
50
67
  output += "-" * 20 + "\n"
51
68
  except Exception as e:
52
- output += f"Error: {str(e)}\n"
69
+ output += f"Error: {str(e)}\n"
70
+ if output_callback:
71
+ output_callback("error", str(e))
53
72
 
54
73
  return output
55
-
@@ -52,8 +52,8 @@ def _check_relevance_with_conversation(
52
52
  {{ filter_config }}
53
53
  {% endif %}
54
54
 
55
- 请结合提供的文档以及用户对话历史,判断提供的文档是不是能回答用户的最后一个问题。
56
- 如果该文档提供的知识能够回答问题,那么请回复"yes/<relevant>" 否则回复"no/<relevant>"。
55
+ 请结合提供的文档以及用户对话历史,判断提供的文档是不是能和用户的最后一个问题相关。
56
+ 如果该文档提供的知识能够和用户的问题相关,那么请回复"yes/<relevant>" 否则回复"no/<relevant>"。
57
57
  其中, <relevant> 是你认为文档中和问题的相关度,0-10之间的数字,数字越大表示相关度越高。
58
58
  """
59
59
 
@@ -2,6 +2,7 @@ import json
2
2
  import os
3
3
  import platform
4
4
  import time
5
+ import traceback
5
6
 
6
7
  from watchfiles import Change, DefaultFilter, awatch, watch
7
8
 
@@ -158,8 +159,7 @@ def process_file_local(file_path: str) -> List[SourceCode]:
158
159
  logger.info(f"Load file {file_path} in {time.time() - start_time}")
159
160
  return v
160
161
  except Exception as e:
161
- logger.error(f"Error processing file {file_path}: {str(e)}")
162
- import traceback
162
+ logger.error(f"Error processing file {file_path}: {str(e)}")
163
163
  traceback.print_exc()
164
164
  return []
165
165
 
@@ -13,6 +13,7 @@ from rich.console import Console
13
13
  from rich.panel import Panel
14
14
  from rich.table import Table
15
15
  import statistics
16
+ import traceback
16
17
 
17
18
  from autocoder.common import AutoCoderArgs, SourceCode
18
19
  from autocoder.rag.doc_filter import DocFilter
@@ -32,6 +33,7 @@ from autocoder.rag.variable_holder import VariableHolder
32
33
  try:
33
34
  from autocoder_pro.rag.llm_compute import LLMComputeEngine
34
35
  except ImportError:
36
+ logger.warning("Please install auto-coder-pro to enhance llm compute ability")
35
37
  LLMComputeEngine = None
36
38
 
37
39
 
@@ -288,7 +290,7 @@ class LongContextRAG:
288
290
  )
289
291
  except Exception as e:
290
292
  logger.error(f"Error in stream_chat_oai: {str(e)}")
291
- e.print_exc()
293
+ traceback.print_exc()
292
294
  return ["出现错误,请稍后再试。"], []
293
295
 
294
296
  def _stream_chat_oai(
@@ -489,7 +491,9 @@ class LongContextRAG:
489
491
  )
490
492
 
491
493
  if LLMComputeEngine is not None:
492
- llm_compute_engine = LLMComputeEngine(llm=self.llm)
494
+ llm_compute_engine = LLMComputeEngine(
495
+ llm=self.llm, inference_enhance=True, debug=False
496
+ )
493
497
  new_conversations = llm_compute_engine.process_conversation(
494
498
  conversations, query, [doc.source_code for doc in relevant_docs]
495
499
  )
autocoder/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.179"
1
+ __version__ = "0.1.181"