aient 1.1.79__tar.gz → 1.1.81__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.79 → aient-1.1.81}/PKG-INFO +1 -1
  2. {aient-1.1.79 → aient-1.1.81}/aient/core/request.py +12 -31
  3. {aient-1.1.79 → aient-1.1.81}/aient/core/utils.py +5 -2
  4. {aient-1.1.79 → aient-1.1.81}/aient/models/chatgpt.py +12 -0
  5. {aient-1.1.79 → aient-1.1.81}/aient.egg-info/PKG-INFO +1 -1
  6. {aient-1.1.79 → aient-1.1.81}/pyproject.toml +1 -1
  7. {aient-1.1.79 → aient-1.1.81}/LICENSE +0 -0
  8. {aient-1.1.79 → aient-1.1.81}/README.md +0 -0
  9. {aient-1.1.79 → aient-1.1.81}/aient/__init__.py +0 -0
  10. {aient-1.1.79 → aient-1.1.81}/aient/core/__init__.py +0 -0
  11. {aient-1.1.79 → aient-1.1.81}/aient/core/log_config.py +0 -0
  12. {aient-1.1.79 → aient-1.1.81}/aient/core/models.py +0 -0
  13. {aient-1.1.79 → aient-1.1.81}/aient/core/response.py +0 -0
  14. {aient-1.1.79 → aient-1.1.81}/aient/core/test/test_base_api.py +0 -0
  15. {aient-1.1.79 → aient-1.1.81}/aient/core/test/test_geminimask.py +0 -0
  16. {aient-1.1.79 → aient-1.1.81}/aient/core/test/test_image.py +0 -0
  17. {aient-1.1.79 → aient-1.1.81}/aient/core/test/test_payload.py +0 -0
  18. {aient-1.1.79 → aient-1.1.81}/aient/models/__init__.py +0 -0
  19. {aient-1.1.79 → aient-1.1.81}/aient/models/audio.py +0 -0
  20. {aient-1.1.79 → aient-1.1.81}/aient/models/base.py +0 -0
  21. {aient-1.1.79 → aient-1.1.81}/aient/plugins/__init__.py +0 -0
  22. {aient-1.1.79 → aient-1.1.81}/aient/plugins/arXiv.py +0 -0
  23. {aient-1.1.79 → aient-1.1.81}/aient/plugins/config.py +0 -0
  24. {aient-1.1.79 → aient-1.1.81}/aient/plugins/excute_command.py +0 -0
  25. {aient-1.1.79 → aient-1.1.81}/aient/plugins/get_time.py +0 -0
  26. {aient-1.1.79 → aient-1.1.81}/aient/plugins/image.py +0 -0
  27. {aient-1.1.79 → aient-1.1.81}/aient/plugins/list_directory.py +0 -0
  28. {aient-1.1.79 → aient-1.1.81}/aient/plugins/read_file.py +0 -0
  29. {aient-1.1.79 → aient-1.1.81}/aient/plugins/read_image.py +0 -0
  30. {aient-1.1.79 → aient-1.1.81}/aient/plugins/readonly.py +0 -0
  31. {aient-1.1.79 → aient-1.1.81}/aient/plugins/registry.py +0 -0
  32. {aient-1.1.79 → aient-1.1.81}/aient/plugins/run_python.py +0 -0
  33. {aient-1.1.79 → aient-1.1.81}/aient/plugins/websearch.py +0 -0
  34. {aient-1.1.79 → aient-1.1.81}/aient/plugins/write_file.py +0 -0
  35. {aient-1.1.79 → aient-1.1.81}/aient/utils/__init__.py +0 -0
  36. {aient-1.1.79 → aient-1.1.81}/aient/utils/prompt.py +0 -0
  37. {aient-1.1.79 → aient-1.1.81}/aient/utils/scripts.py +0 -0
  38. {aient-1.1.79 → aient-1.1.81}/aient.egg-info/SOURCES.txt +0 -0
  39. {aient-1.1.79 → aient-1.1.81}/aient.egg-info/dependency_links.txt +0 -0
  40. {aient-1.1.79 → aient-1.1.81}/aient.egg-info/requires.txt +0 -0
  41. {aient-1.1.79 → aient-1.1.81}/aient.egg-info/top_level.txt +0 -0
  42. {aient-1.1.79 → aient-1.1.81}/setup.cfg +0 -0
  43. {aient-1.1.79 → aient-1.1.81}/test/test_Web_crawler.py +0 -0
  44. {aient-1.1.79 → aient-1.1.81}/test/test_ddg_search.py +0 -0
  45. {aient-1.1.79 → aient-1.1.81}/test/test_google_search.py +0 -0
  46. {aient-1.1.79 → aient-1.1.81}/test/test_ollama.py +0 -0
  47. {aient-1.1.79 → aient-1.1.81}/test/test_plugin.py +0 -0
  48. {aient-1.1.79 → aient-1.1.81}/test/test_search.py +0 -0
  49. {aient-1.1.79 → aient-1.1.81}/test/test_url.py +0 -0
  50. {aient-1.1.79 → aient-1.1.81}/test/test_whisper.py +0 -0
  51. {aient-1.1.79 → aient-1.1.81}/test/test_yjh.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.79
3
+ Version: 1.1.81
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1952,40 +1952,21 @@ async def get_embedding_payload(request, engine, provider, api_key=None):
1952
1952
  headers = {
1953
1953
  "Content-Type": "application/json",
1954
1954
  }
1955
+ if api_key:
1956
+ headers['Authorization'] = f"Bearer {api_key}"
1955
1957
 
1956
1958
  url = provider['base_url']
1957
- parsed_url = urlparse(url)
1958
- if "embedding-00" in original_model and "127.0.0.1" not in url and \
1959
- (parsed_url.path.endswith("/v1beta") or \
1960
- parsed_url.path.endswith("/v1") or \
1961
- (parsed_url.netloc == 'generativelanguage.googleapis.com' and "openai/chat/completions" not in parsed_url.path)):
1962
- if api_key:
1963
- headers['x-goog-api-key'] = f"{api_key}"
1964
- parsed_url = urllib.parse.urlparse(url)
1965
- url = f"{parsed_url.scheme}://{parsed_url.netloc}{parsed_url.path.split('/models')[0].rstrip('/')}/models/{original_model}:embedContent"
1966
- payload = {
1967
- "content": {
1968
- "parts": [
1969
- {
1970
- "text": request.input
1971
- }
1972
- ]
1973
- }
1974
- }
1975
- else:
1976
- if api_key:
1977
- headers['Authorization'] = f"Bearer {api_key}"
1978
- url = BaseAPI(url).embeddings
1979
- payload = {
1980
- "input": request.input,
1981
- "model": original_model,
1982
- }
1959
+ url = BaseAPI(url).embeddings
1960
+ payload = {
1961
+ "input": request.input,
1962
+ "model": original_model,
1963
+ }
1983
1964
 
1984
- if request.encoding_format:
1985
- if url.startswith("https://api.jina.ai"):
1986
- payload["embedding_type"] = request.encoding_format
1987
- else:
1988
- payload["encoding_format"] = request.encoding_format
1965
+ if request.encoding_format:
1966
+ if url.startswith("https://api.jina.ai"):
1967
+ payload["embedding_type"] = request.encoding_format
1968
+ else:
1969
+ payload["encoding_format"] = request.encoding_format
1989
1970
 
1990
1971
  return url, headers, payload
1991
1972
 
@@ -63,11 +63,14 @@ class BaseAPI:
63
63
  else:
64
64
  self.audio_speech: str = urlunparse(parsed_url[:2] + (before_v1 + "audio/speech",) + ("",) * 3)
65
65
 
66
- if parsed_url.hostname == "generativelanguage.googleapis.com":
66
+ if parsed_url.path.endswith("/v1beta") or \
67
+ parsed_url.path.endswith("/v1") or \
68
+ (parsed_url.netloc == 'generativelanguage.googleapis.com' and "openai/chat/completions" not in parsed_url.path):
69
+ before_v1 = parsed_url.path.split("/v1")[0]
67
70
  self.base_url = api_url
68
71
  self.v1_url = api_url
69
72
  self.chat_url = api_url
70
- self.embeddings = api_url
73
+ self.embeddings = urlunparse(parsed_url[:2] + (before_v1 + "/v1beta/embeddings",) + ("",) * 3)
71
74
 
72
75
  def get_engine(provider, endpoint=None, original_model=""):
73
76
  parsed_url = urlparse(provider['base_url'])
@@ -37,6 +37,10 @@ class RateLimitError(Exception):
37
37
  """Custom exception for rate limit (429) errors."""
38
38
  pass
39
39
 
40
+ class HTTPError(Exception):
41
+ """Custom exception for HTTP 500 errors."""
42
+ pass
43
+
40
44
  class ConfigurationError(Exception):
41
45
  """Custom exception for configuration errors."""
42
46
  pass
@@ -793,6 +797,8 @@ class chatgpt(BaseLLM):
793
797
  raise ModelNotFoundError(f"Model: {model or self.engine} not found!")
794
798
  if "HTTP Error', 'status_code': 429" in processed_chunk:
795
799
  raise RateLimitError(f"Rate limit exceeded for model: {model or self.engine}")
800
+ if "HTTP Error', 'status_code': " in processed_chunk:
801
+ raise HTTPError(f"HTTP Error: {processed_chunk}")
796
802
  yield processed_chunk
797
803
  index += 1
798
804
 
@@ -803,9 +809,15 @@ class chatgpt(BaseLLM):
803
809
  return # Stop iteration
804
810
  except httpx.RemoteProtocolError:
805
811
  continue
812
+ except httpx.ReadError:
813
+ self.logger.warning(f"{e}, retrying...")
814
+ continue
806
815
  except APITimeoutError:
807
816
  self.logger.warning("API response timeout (524), retrying...")
808
817
  continue
818
+ except HTTPError as e:
819
+ self.logger.warning(f"{e}, retrying...")
820
+ continue
809
821
  except RateLimitError as e:
810
822
  self.logger.warning(f"{e}, retrying...")
811
823
  continue
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.79
3
+ Version: 1.1.81
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.79"
3
+ version = "1.1.81"
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