aient 1.2.36__tar.gz → 1.2.38__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 (54) hide show
  1. {aient-1.2.36 → aient-1.2.38}/PKG-INFO +1 -1
  2. {aient-1.2.36 → aient-1.2.38}/aient/core/request.py +4 -2
  3. {aient-1.2.36 → aient-1.2.38}/aient/core/response.py +7 -2
  4. {aient-1.2.36 → aient-1.2.38}/aient/models/chatgpt.py +5 -4
  5. {aient-1.2.36 → aient-1.2.38}/aient.egg-info/PKG-INFO +1 -1
  6. {aient-1.2.36 → aient-1.2.38}/pyproject.toml +1 -1
  7. {aient-1.2.36 → aient-1.2.38}/LICENSE +0 -0
  8. {aient-1.2.36 → aient-1.2.38}/README.md +0 -0
  9. {aient-1.2.36 → aient-1.2.38}/aient/__init__.py +0 -0
  10. {aient-1.2.36 → aient-1.2.38}/aient/architext/architext/__init__.py +0 -0
  11. {aient-1.2.36 → aient-1.2.38}/aient/architext/architext/core.py +0 -0
  12. {aient-1.2.36 → aient-1.2.38}/aient/architext/test/openai_client.py +0 -0
  13. {aient-1.2.36 → aient-1.2.38}/aient/architext/test/test.py +0 -0
  14. {aient-1.2.36 → aient-1.2.38}/aient/architext/test/test_save_load.py +0 -0
  15. {aient-1.2.36 → aient-1.2.38}/aient/core/__init__.py +0 -0
  16. {aient-1.2.36 → aient-1.2.38}/aient/core/log_config.py +0 -0
  17. {aient-1.2.36 → aient-1.2.38}/aient/core/models.py +0 -0
  18. {aient-1.2.36 → aient-1.2.38}/aient/core/test/test_base_api.py +0 -0
  19. {aient-1.2.36 → aient-1.2.38}/aient/core/test/test_geminimask.py +0 -0
  20. {aient-1.2.36 → aient-1.2.38}/aient/core/test/test_image.py +0 -0
  21. {aient-1.2.36 → aient-1.2.38}/aient/core/test/test_payload.py +0 -0
  22. {aient-1.2.36 → aient-1.2.38}/aient/core/utils.py +0 -0
  23. {aient-1.2.36 → aient-1.2.38}/aient/models/__init__.py +0 -0
  24. {aient-1.2.36 → aient-1.2.38}/aient/models/audio.py +0 -0
  25. {aient-1.2.36 → aient-1.2.38}/aient/models/base.py +0 -0
  26. {aient-1.2.36 → aient-1.2.38}/aient/plugins/__init__.py +0 -0
  27. {aient-1.2.36 → aient-1.2.38}/aient/plugins/arXiv.py +0 -0
  28. {aient-1.2.36 → aient-1.2.38}/aient/plugins/config.py +0 -0
  29. {aient-1.2.36 → aient-1.2.38}/aient/plugins/excute_command.py +0 -0
  30. {aient-1.2.36 → aient-1.2.38}/aient/plugins/get_time.py +0 -0
  31. {aient-1.2.36 → aient-1.2.38}/aient/plugins/image.py +0 -0
  32. {aient-1.2.36 → aient-1.2.38}/aient/plugins/list_directory.py +0 -0
  33. {aient-1.2.36 → aient-1.2.38}/aient/plugins/read_file.py +0 -0
  34. {aient-1.2.36 → aient-1.2.38}/aient/plugins/read_image.py +0 -0
  35. {aient-1.2.36 → aient-1.2.38}/aient/plugins/readonly.py +0 -0
  36. {aient-1.2.36 → aient-1.2.38}/aient/plugins/registry.py +0 -0
  37. {aient-1.2.36 → aient-1.2.38}/aient/plugins/run_python.py +0 -0
  38. {aient-1.2.36 → aient-1.2.38}/aient/plugins/websearch.py +0 -0
  39. {aient-1.2.36 → aient-1.2.38}/aient/plugins/write_file.py +0 -0
  40. {aient-1.2.36 → aient-1.2.38}/aient/utils/__init__.py +0 -0
  41. {aient-1.2.36 → aient-1.2.38}/aient/utils/prompt.py +0 -0
  42. {aient-1.2.36 → aient-1.2.38}/aient/utils/scripts.py +0 -0
  43. {aient-1.2.36 → aient-1.2.38}/aient.egg-info/SOURCES.txt +0 -0
  44. {aient-1.2.36 → aient-1.2.38}/aient.egg-info/dependency_links.txt +0 -0
  45. {aient-1.2.36 → aient-1.2.38}/aient.egg-info/requires.txt +0 -0
  46. {aient-1.2.36 → aient-1.2.38}/aient.egg-info/top_level.txt +0 -0
  47. {aient-1.2.36 → aient-1.2.38}/setup.cfg +0 -0
  48. {aient-1.2.36 → aient-1.2.38}/test/test_Web_crawler.py +0 -0
  49. {aient-1.2.36 → aient-1.2.38}/test/test_ddg_search.py +0 -0
  50. {aient-1.2.36 → aient-1.2.38}/test/test_google_search.py +0 -0
  51. {aient-1.2.36 → aient-1.2.38}/test/test_ollama.py +0 -0
  52. {aient-1.2.36 → aient-1.2.38}/test/test_plugin.py +0 -0
  53. {aient-1.2.36 → aient-1.2.38}/test/test_url.py +0 -0
  54. {aient-1.2.36 → aient-1.2.38}/test/test_whisper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.2.36
3
+ Version: 1.2.38
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -196,7 +196,7 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
196
196
 
197
197
  for field, value in request.model_dump(exclude_unset=True).items():
198
198
  if field not in miss_fields and value is not None:
199
- if field == "tools" and "gemini-2.0-flash-thinking" in original_model:
199
+ if field == "tools" and ("gemini-2.0-flash-thinking" in original_model or "gemini-2.5-flash-image" in original_model):
200
200
  continue
201
201
  if field == "tools":
202
202
  # 处理每个工具的 function 定义
@@ -221,6 +221,8 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
221
221
  }
222
222
  })
223
223
  elif field == "temperature":
224
+ if "gemini-2.5-flash-image" in original_model:
225
+ value = 1
224
226
  generation_config["temperature"] = value
225
227
  elif field == "max_tokens":
226
228
  if value > 65536:
@@ -244,7 +246,7 @@ async def get_gemini_payload(request, engine, provider, api_key=None):
244
246
  "Image",
245
247
  ]
246
248
 
247
- if "gemini-2.5" in original_model:
249
+ if "gemini-2.5" in original_model and "gemini-2.5-flash-image" not in original_model:
248
250
  # 从请求模型名中检测思考预算设置
249
251
  m = re.match(r".*-think-(-?\d+)", request.model)
250
252
  if m:
@@ -78,7 +78,7 @@ async def fetch_gemini_response_stream(client, url, headers, payload, model, tim
78
78
  try:
79
79
  response_json = await asyncio.to_thread(json.loads, parts_json)
80
80
  except json.JSONDecodeError:
81
- logger.error(f"JSON decode error: {parts_json}")
81
+ # logger.error(f"JSON decode error: {parts_json}")
82
82
  continue
83
83
  else:
84
84
  parts_json += line
@@ -99,7 +99,12 @@ async def fetch_gemini_response_stream(client, url, headers, payload, model, tim
99
99
  yield sse_string
100
100
 
101
101
  if image_base64:
102
- yield await generate_no_stream_response(timestamp, model, content=content, tools_id=None, function_call_name=None, function_call_content=None, role=None, total_tokens=totalTokenCount, prompt_tokens=promptTokenCount, completion_tokens=candidatesTokenCount, image_base64=image_base64)
102
+ if "gemini-2.5-flash-image" not in model:
103
+ yield await generate_no_stream_response(timestamp, model, content=content, tools_id=None, function_call_name=None, function_call_content=None, role=None, total_tokens=totalTokenCount, prompt_tokens=promptTokenCount, completion_tokens=candidatesTokenCount, image_base64=image_base64)
104
+ else:
105
+ image_url = await upload_image_to_0x0st("data:image/png;base64," + image_base64)
106
+ sse_string = await generate_sse_response(timestamp, model, content=f"\n\n![image]({image_url})")
107
+ yield sse_string
103
108
 
104
109
  if function_call_name:
105
110
  sse_string = await generate_sse_response(timestamp, model, content=None, tools_id="chatcmpl-9inWv0yEtgn873CxMBzHeCeiHctTV", function_call_name=function_call_name)
@@ -108,6 +108,7 @@ class chatgpt(BaseLLM):
108
108
  cache_messages: list = None,
109
109
  logger: logging.Logger = None,
110
110
  check_done: bool = False,
111
+ retry_count: int = 999999,
111
112
  ) -> None:
112
113
  """
113
114
  Initialize Chatbot with API key (from https://platform.openai.com/account/api-keys)
@@ -119,7 +120,7 @@ class chatgpt(BaseLLM):
119
120
  self.function_calls_counter = {}
120
121
  self.function_call_max_loop = function_call_max_loop
121
122
  self.check_done = check_done
122
-
123
+ self.retry_count = retry_count
123
124
  if logger:
124
125
  self.logger = logger
125
126
  else:
@@ -708,7 +709,8 @@ class chatgpt(BaseLLM):
708
709
  # 发送请求并处理响应
709
710
  retry_times = 0
710
711
  error_to_raise = None
711
- while True:
712
+ while retry_times < self.retry_count:
713
+ retry_times += 1
712
714
  tmp_post_json = copy.deepcopy(json_post)
713
715
  if need_done_prompt:
714
716
  tmp_post_json["messages"].extend(need_done_prompt)
@@ -821,8 +823,7 @@ class chatgpt(BaseLLM):
821
823
  error_message = "您输入了无效的API URL,请使用正确的URL并使用`/start`命令重新设置API URL。具体错误如下:\n\n" + str(e)
822
824
  raise ConfigurationError(error_message)
823
825
  # 最后一次重试失败,向上抛出异常
824
- retry_times += 1
825
- if retry_times == 9:
826
+ if retry_times == self.retry_count:
826
827
  raise RetryFailedError(str(e))
827
828
 
828
829
  if error_to_raise:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.2.36
3
+ Version: 1.2.38
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.2.36"
3
+ version = "1.2.38"
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