aient 1.1.65__tar.gz → 1.1.66__tar.gz

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.
Files changed (51) hide show
  1. {aient-1.1.65 → aient-1.1.66}/PKG-INFO +1 -1
  2. {aient-1.1.65 → aient-1.1.66}/aient/core/request.py +21 -18
  3. {aient-1.1.65 → aient-1.1.66}/aient.egg-info/PKG-INFO +1 -1
  4. {aient-1.1.65 → aient-1.1.66}/pyproject.toml +1 -1
  5. {aient-1.1.65 → aient-1.1.66}/LICENSE +0 -0
  6. {aient-1.1.65 → aient-1.1.66}/README.md +0 -0
  7. {aient-1.1.65 → aient-1.1.66}/aient/__init__.py +0 -0
  8. {aient-1.1.65 → aient-1.1.66}/aient/core/__init__.py +0 -0
  9. {aient-1.1.65 → aient-1.1.66}/aient/core/log_config.py +0 -0
  10. {aient-1.1.65 → aient-1.1.66}/aient/core/models.py +0 -0
  11. {aient-1.1.65 → aient-1.1.66}/aient/core/response.py +0 -0
  12. {aient-1.1.65 → aient-1.1.66}/aient/core/test/test_base_api.py +0 -0
  13. {aient-1.1.65 → aient-1.1.66}/aient/core/test/test_geminimask.py +0 -0
  14. {aient-1.1.65 → aient-1.1.66}/aient/core/test/test_image.py +0 -0
  15. {aient-1.1.65 → aient-1.1.66}/aient/core/test/test_payload.py +0 -0
  16. {aient-1.1.65 → aient-1.1.66}/aient/core/utils.py +0 -0
  17. {aient-1.1.65 → aient-1.1.66}/aient/models/__init__.py +0 -0
  18. {aient-1.1.65 → aient-1.1.66}/aient/models/audio.py +0 -0
  19. {aient-1.1.65 → aient-1.1.66}/aient/models/base.py +0 -0
  20. {aient-1.1.65 → aient-1.1.66}/aient/models/chatgpt.py +0 -0
  21. {aient-1.1.65 → aient-1.1.66}/aient/plugins/__init__.py +0 -0
  22. {aient-1.1.65 → aient-1.1.66}/aient/plugins/arXiv.py +0 -0
  23. {aient-1.1.65 → aient-1.1.66}/aient/plugins/config.py +0 -0
  24. {aient-1.1.65 → aient-1.1.66}/aient/plugins/excute_command.py +0 -0
  25. {aient-1.1.65 → aient-1.1.66}/aient/plugins/get_time.py +0 -0
  26. {aient-1.1.65 → aient-1.1.66}/aient/plugins/image.py +0 -0
  27. {aient-1.1.65 → aient-1.1.66}/aient/plugins/list_directory.py +0 -0
  28. {aient-1.1.65 → aient-1.1.66}/aient/plugins/read_file.py +0 -0
  29. {aient-1.1.65 → aient-1.1.66}/aient/plugins/read_image.py +0 -0
  30. {aient-1.1.65 → aient-1.1.66}/aient/plugins/readonly.py +0 -0
  31. {aient-1.1.65 → aient-1.1.66}/aient/plugins/registry.py +0 -0
  32. {aient-1.1.65 → aient-1.1.66}/aient/plugins/run_python.py +0 -0
  33. {aient-1.1.65 → aient-1.1.66}/aient/plugins/websearch.py +0 -0
  34. {aient-1.1.65 → aient-1.1.66}/aient/plugins/write_file.py +0 -0
  35. {aient-1.1.65 → aient-1.1.66}/aient/utils/__init__.py +0 -0
  36. {aient-1.1.65 → aient-1.1.66}/aient/utils/prompt.py +0 -0
  37. {aient-1.1.65 → aient-1.1.66}/aient/utils/scripts.py +0 -0
  38. {aient-1.1.65 → aient-1.1.66}/aient.egg-info/SOURCES.txt +0 -0
  39. {aient-1.1.65 → aient-1.1.66}/aient.egg-info/dependency_links.txt +0 -0
  40. {aient-1.1.65 → aient-1.1.66}/aient.egg-info/requires.txt +0 -0
  41. {aient-1.1.65 → aient-1.1.66}/aient.egg-info/top_level.txt +0 -0
  42. {aient-1.1.65 → aient-1.1.66}/setup.cfg +0 -0
  43. {aient-1.1.65 → aient-1.1.66}/test/test_Web_crawler.py +0 -0
  44. {aient-1.1.65 → aient-1.1.66}/test/test_ddg_search.py +0 -0
  45. {aient-1.1.65 → aient-1.1.66}/test/test_google_search.py +0 -0
  46. {aient-1.1.65 → aient-1.1.66}/test/test_ollama.py +0 -0
  47. {aient-1.1.65 → aient-1.1.66}/test/test_plugin.py +0 -0
  48. {aient-1.1.65 → aient-1.1.66}/test/test_search.py +0 -0
  49. {aient-1.1.65 → aient-1.1.66}/test/test_url.py +0 -0
  50. {aient-1.1.65 → aient-1.1.66}/test/test_whisper.py +0 -0
  51. {aient-1.1.65 → aient-1.1.66}/test/test_yjh.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.65
3
+ Version: 1.1.66
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -27,8 +27,6 @@ from .utils import (
27
27
  gemini_max_token_65k_models = ["gemini-2.5-pro", "gemini-2.0-pro", "gemini-2.0-flash-thinking", "gemini-2.5-flash"]
28
28
 
29
29
  async def get_gemini_payload(request, engine, provider, api_key=None):
30
- import re
31
-
32
30
  headers = {
33
31
  'Content-Type': 'application/json'
34
32
  }
@@ -176,6 +174,24 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
176
174
  ]
177
175
  generation_config = {}
178
176
 
177
+ def process_tool_parameters(data):
178
+ if isinstance(data, dict):
179
+ # 移除 Gemini 不支持的 'additionalProperties'
180
+ data.pop("additionalProperties", None)
181
+
182
+ # 将 'default' 值移入 'description'
183
+ if "default" in data:
184
+ default_value = data.pop("default")
185
+ description = data.get("description", "")
186
+ data["description"] = f"{description}\nDefault: {default_value}"
187
+
188
+ # 递归处理
189
+ for value in data.values():
190
+ process_tool_parameters(value)
191
+ elif isinstance(data, list):
192
+ for item in data:
193
+ process_tool_parameters(item)
194
+
179
195
  for field, value in request.model_dump(exclude_unset=True).items():
180
196
  if field not in miss_fields and value is not None:
181
197
  if field == "tools" and "gemini-2.0-flash-thinking" in original_model:
@@ -185,22 +201,9 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
185
201
  processed_tools = []
186
202
  for tool in value:
187
203
  function_def = tool["function"]
188
- # gemini不支持parameters里面的additionalProperties字段,需要删除
189
- if safe_get(function_def, "parameters", "additionalProperties", default=None) is not None:
190
- del function_def["parameters"]["additionalProperties"]
191
-
192
- # 处理 parameters.properties 中的 default 字段
193
- if safe_get(function_def, "parameters", "properties", default=None):
194
- for prop_value in function_def["parameters"]["properties"].values():
195
- if "additionalProperties" in prop_value:
196
- del prop_value["additionalProperties"]
197
- if "default" in prop_value:
198
- # 将 default 值添加到 description 中
199
- default_value = prop_value["default"]
200
- description = prop_value.get("description", "")
201
- prop_value["description"] = f"{description}\nDefault: {default_value}"
202
- # 删除 default 字段
203
- del prop_value["default"]
204
+ if "parameters" in function_def:
205
+ process_tool_parameters(function_def["parameters"])
206
+
204
207
  if function_def["name"] != "googleSearch" and function_def["name"] != "googleSearch":
205
208
  processed_tools.append({"function": function_def})
206
209
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.65
3
+ Version: 1.1.66
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aient"
3
- version = "1.1.65"
3
+ version = "1.1.66"
4
4
  description = "Aient: The Awakening of Agent."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes