aient 1.1.38__py3-none-any.whl → 1.1.40__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.
aient/core/request.py CHANGED
@@ -240,6 +240,10 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
240
240
  val = int(m.group(1))
241
241
  if val < 0:
242
242
  val = 0
243
+ elif val > 32768 and "gemini-2.5-pro" in original_model:
244
+ val = 32768
245
+ elif val < 128 and "gemini-2.5-pro" in original_model:
246
+ val = 128
243
247
  elif val > 24576:
244
248
  val = 24576
245
249
  payload["generationConfig"]["thinkingConfig"]["thinkingBudget"] = val
@@ -532,6 +536,10 @@ async def get_vertex_gemini_payload(request, engine, provider, api_key=None):
532
536
  val = int(m.group(1))
533
537
  if val < 0:
534
538
  val = 0
539
+ elif val > 32768 and "gemini-2.5-pro" in original_model:
540
+ val = 32768
541
+ elif val < 128 and "gemini-2.5-pro" in original_model:
542
+ val = 128
535
543
  elif val > 24576:
536
544
  val = 24576
537
545
  payload["generationConfig"]["thinkingConfig"]["thinkingBudget"] = val
aient/core/response.py CHANGED
@@ -568,6 +568,7 @@ async def fetch_response(client, url, headers, payload, engine, model):
568
568
 
569
569
  elif engine == "gemini" or engine == "vertex-gemini" or engine == "aws":
570
570
  response_json = response.json()
571
+ # print("response_json", json.dumps(response_json, indent=4, ensure_ascii=False))
571
572
 
572
573
  if isinstance(response_json, str):
573
574
  import ast
@@ -579,7 +580,7 @@ async def fetch_response(client, url, headers, payload, engine, model):
579
580
  else:
580
581
  logger.error(f"error fetch_response: Unknown response_json type: {type(response_json)}")
581
582
  parsed_data = response_json
582
- # print("parsed_data", json.dumps(parsed_data, indent=4, ensure_ascii=False))
583
+
583
584
  content = ""
584
585
  reasoning_content = ""
585
586
  image_base64 = ""
@@ -596,15 +597,6 @@ async def fetch_response(client, url, headers, payload, engine, model):
596
597
  reasoning_content += chunk
597
598
  else:
598
599
  content += chunk
599
- # for item in parsed_data:
600
- # chunk = safe_get(item, "candidates", 0, "content", "parts", 0, "text")
601
- # is_think = safe_get(item, "candidates", 0, "content", "parts", 0, "thought", default=False)
602
- # # logger.info(f"chunk: {repr(chunk)}")
603
- # if chunk:
604
- # if is_think:
605
- # reasoning_content += chunk
606
- # else:
607
- # content += chunk
608
600
 
609
601
  usage_metadata = safe_get(parsed_data, -1, "usageMetadata")
610
602
  prompt_tokens = safe_get(usage_metadata, "promptTokenCount", default=0)
@@ -618,8 +610,13 @@ async def fetch_response(client, url, headers, payload, engine, model):
618
610
  logger.error(f"Unknown role: {role}, parsed_data: {parsed_data}")
619
611
  role = "assistant"
620
612
 
621
- function_call_name = safe_get(parsed_data, -1, "candidates", 0, "content", "parts", 0, "functionCall", "name", default=None)
622
- function_call_content = safe_get(parsed_data, -1, "candidates", 0, "content", "parts", 0, "functionCall", "args", default=None)
613
+ has_think = safe_get(parsed_data, 0, "candidates", 0, "content", "parts", 0, "thought", default=False)
614
+ if has_think:
615
+ function_message_parts_index = -1
616
+ else:
617
+ function_message_parts_index = 0
618
+ function_call_name = safe_get(parsed_data, -1, "candidates", 0, "content", "parts", function_message_parts_index, "functionCall", "name", default=None)
619
+ function_call_content = safe_get(parsed_data, -1, "candidates", 0, "content", "parts", function_message_parts_index, "functionCall", "args", default=None)
623
620
 
624
621
  timestamp = int(datetime.timestamp(datetime.now()))
625
622
  yield await generate_no_stream_response(timestamp, model, content=content, tools_id=None, function_call_name=function_call_name, function_call_content=function_call_content, role=role, total_tokens=total_tokens, prompt_tokens=prompt_tokens, completion_tokens=candidates_tokens, reasoning_content=reasoning_content, image_base64=image_base64)
@@ -68,14 +68,19 @@ def get_python_executable(command: str) -> str:
68
68
  @register_tool()
69
69
  def excute_command(command):
70
70
  """
71
- 执行命令并返回输出结果 (标准输出会实时打印到控制台)
72
- 禁止用于查看pdf,禁止使用 pdftotext 命令
71
+ 执行命令并返回输出结果 (标准输出会实时打印到控制台)
72
+
73
+ 重要规则:
74
+ - **克隆仓库**: 使用 `git clone` 时,必须指定一个新的子目录作为目标,以避免在非空工作目录中出错。
75
+ - **正确示例**: `git clone https://github.com/user/repo_name.git repo_name`
76
+ - **错误用法**: `git clone https://github.com/user/repo_name.git .`
77
+ - **禁止**: 禁止用于查看pdf,禁止使用 `pdftotext` 命令。
73
78
 
74
79
  参数:
75
- command: 要执行的命令,可以克隆仓库,安装依赖,运行代码等
80
+ command: 要执行的命令,例如克隆仓库、安装依赖、运行代码等。
76
81
 
77
82
  返回:
78
- 命令执行的最终状态和收集到的输出/错误信息
83
+ 命令执行的最终状态和收集到的输出/错误信息。
79
84
  """
80
85
  try:
81
86
  command = unescape_html(command)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.38
3
+ Version: 1.1.40
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -4,8 +4,8 @@ aient/core/.gitignore,sha256=5JRRlYYsqt_yt6iFvvzhbqh2FTUQMqwo6WwIuFzlGR8,13
4
4
  aient/core/__init__.py,sha256=NxjebTlku35S4Dzr16rdSqSTWUvvwEeACe8KvHJnjPg,34
5
5
  aient/core/log_config.py,sha256=kz2_yJv1p-o3lUQOwA3qh-LSc3wMHv13iCQclw44W9c,274
6
6
  aient/core/models.py,sha256=d4MISNezTSe0ls0-fjuToI2SoT-sk5fWqAJuKVinIlo,7502
7
- aient/core/request.py,sha256=6Nwduj7kFuubFaZ0ZLkT_zd03XpT-bFhgrKVOZiGBOQ,71918
8
- aient/core/response.py,sha256=RYy70Ld_txixHHd61Dqtlo0tKHMU_OIXqxGWd6EfATI,35315
7
+ aient/core/request.py,sha256=gXHdx61emExUTZbUyLng_AYmlfyKl3uOcCmlAY5eN98,72330
8
+ aient/core/response.py,sha256=mAVsCnNhWY09DXNe0lyPUJq-1ljtGjC67Az-Uh7ozIw,35166
9
9
  aient/core/utils.py,sha256=fhI5wBxr01lVEp8nMfjG9dQ859AE-VdrWyb9suLzzqM,27400
10
10
  aient/core/test/test_base_api.py,sha256=pWnycRJbuPSXKKU9AQjWrMAX1wiLC_014Qc9hh5C2Pw,524
11
11
  aient/core/test/test_geminimask.py,sha256=HFX8jDbNg_FjjgPNxfYaR-0-roUrOO-ND-FVsuxSoiw,13254
@@ -23,7 +23,7 @@ aient/models/vertex.py,sha256=qVD5l1Q538xXUPulxG4nmDjXE1VoV4yuAkTCpIeJVw0,16795
23
23
  aient/plugins/__init__.py,sha256=p3KO6Aa3Lupos4i2SjzLQw1hzQTigOAfEHngsldrsyk,986
24
24
  aient/plugins/arXiv.py,sha256=yHjb6PS3GUWazpOYRMKMzghKJlxnZ5TX8z9F6UtUVow,1461
25
25
  aient/plugins/config.py,sha256=2DXH-LP9KGl_P4467chJu3q4AAbX5nSn4DIkdI0aYH8,7105
26
- aient/plugins/excute_command.py,sha256=XEGg1AX8U8iUBaHBqoCmZHLCpI_wQiDSmHDFvqG6ONE,10243
26
+ aient/plugins/excute_command.py,sha256=U2rmL0r7AxWeifXkxmOANVVmt2t4lJ_iNF4-rhgnRts,10578
27
27
  aient/plugins/get_time.py,sha256=Ih5XIW5SDAIhrZ9W4Qe5Hs1k4ieKPUc_LAd6ySNyqZk,654
28
28
  aient/plugins/image.py,sha256=ZElCIaZznE06TN9xW3DrSukS7U3A5_cjk1Jge4NzPxw,2072
29
29
  aient/plugins/list_directory.py,sha256=V_uKkLx_fQDL5z__bSDC-PqAP-o32KmQW6Pdhx0Fx0s,1433
@@ -37,8 +37,8 @@ aient/plugins/write_file.py,sha256=hExFLuoNPtjYxJI3pVbofZRpokvUabpXdEkd3mZJPPc,3
37
37
  aient/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  aient/utils/prompt.py,sha256=UcSzKkFE4-h_1b6NofI6xgk3GoleqALRKY8VBaXLjmI,11311
39
39
  aient/utils/scripts.py,sha256=h7EA2xBydUF_wdZLsPgjCq4Egdycx1gf2qrdrm0I7y0,40909
40
- aient-1.1.38.dist-info/licenses/LICENSE,sha256=XNdbcWldt0yaNXXWB_Bakoqnxb3OVhUft4MgMA_71ds,1051
41
- aient-1.1.38.dist-info/METADATA,sha256=38zEAQdCebE6fWq7cMpup-k5yuPu1o73dXd7uOqAo8M,4968
42
- aient-1.1.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
43
- aient-1.1.38.dist-info/top_level.txt,sha256=3oXzrP5sAVvyyqabpeq8A2_vfMtY554r4bVE-OHBrZk,6
44
- aient-1.1.38.dist-info/RECORD,,
40
+ aient-1.1.40.dist-info/licenses/LICENSE,sha256=XNdbcWldt0yaNXXWB_Bakoqnxb3OVhUft4MgMA_71ds,1051
41
+ aient-1.1.40.dist-info/METADATA,sha256=hD9dZLHXJ2D7cZ0jM88HNw0lNcgMnaeXHyIHFCYN_6I,4968
42
+ aient-1.1.40.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
43
+ aient-1.1.40.dist-info/top_level.txt,sha256=3oXzrP5sAVvyyqabpeq8A2_vfMtY554r4bVE-OHBrZk,6
44
+ aient-1.1.40.dist-info/RECORD,,
File without changes