beswarm 0.2.67__py3-none-any.whl → 0.2.68__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.
@@ -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
 
@@ -806,6 +812,9 @@ class chatgpt(BaseLLM):
806
812
  except APITimeoutError:
807
813
  self.logger.warning("API response timeout (524), retrying...")
808
814
  continue
815
+ except HTTPError as e:
816
+ self.logger.warning(f"{e}, retrying...")
817
+ continue
809
818
  except RateLimitError as e:
810
819
  self.logger.warning(f"{e}, retrying...")
811
820
  continue
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beswarm
3
- Version: 0.2.67
3
+ Version: 0.2.68
4
4
  Summary: MAS
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -11,9 +11,9 @@ beswarm/aient/aient/__init__.py,sha256=SRfF7oDVlOOAi6nGKiJIUK6B_arqYLO9iSMp-2IZZ
11
11
  beswarm/aient/aient/core/__init__.py,sha256=NxjebTlku35S4Dzr16rdSqSTWUvvwEeACe8KvHJnjPg,34
12
12
  beswarm/aient/aient/core/log_config.py,sha256=kz2_yJv1p-o3lUQOwA3qh-LSc3wMHv13iCQclw44W9c,274
13
13
  beswarm/aient/aient/core/models.py,sha256=KMlCRLjtq1wQHZTJGqnbWhPS2cHq6eLdnk7peKDrzR8,7490
14
- beswarm/aient/aient/core/request.py,sha256=nSLKNI-T6lI4yv873eQUElz5_fkJVy1LbOy27NiJPNk,77512
14
+ beswarm/aient/aient/core/request.py,sha256=QnDhyrjzcJOEQU2oauMQi_HHMRR5NxdkrX7nn5JMwTc,76675
15
15
  beswarm/aient/aient/core/response.py,sha256=ye6Ie5HevXVcH3X5V5BoOC5yDJMBKTKopWQzsCNs008,34977
16
- beswarm/aient/aient/core/utils.py,sha256=wCPw4upG4-ciBxGyEXeTEHzxTbm38rVHrr4PIu8hDW8,28579
16
+ beswarm/aient/aient/core/utils.py,sha256=9r-Z4KqZXXBm7bUkPx-vOYqgn4CEkG-cRRYz_tl0QUg,28851
17
17
  beswarm/aient/aient/core/test/test_base_api.py,sha256=pWnycRJbuPSXKKU9AQjWrMAX1wiLC_014Qc9hh5C2Pw,524
18
18
  beswarm/aient/aient/core/test/test_geminimask.py,sha256=HFX8jDbNg_FjjgPNxfYaR-0-roUrOO-ND-FVsuxSoiw,13254
19
19
  beswarm/aient/aient/core/test/test_image.py,sha256=_T4peNGdXKBHHxyQNx12u-NTyFE8TlYI6NvvagsG2LE,319
@@ -21,7 +21,7 @@ beswarm/aient/aient/core/test/test_payload.py,sha256=8jBiJY1uidm1jzL-EiK0s6UGmW9
21
21
  beswarm/aient/aient/models/__init__.py,sha256=ZTiZgbfBPTjIPSKURE7t6hlFBVLRS9lluGbmqc1WjxQ,43
22
22
  beswarm/aient/aient/models/audio.py,sha256=kRd-8-WXzv4vwvsTGwnstK-WR8--vr9CdfCZzu8y9LA,1934
23
23
  beswarm/aient/aient/models/base.py,sha256=-nnihYnx-vHZMqeVO9ljjt3k4FcD3n-iMk4tT-10nRQ,7232
24
- beswarm/aient/aient/models/chatgpt.py,sha256=S2KLZEfJLoRh9u60C4AEjOR7yf5iyqMmvSYt9tr8ldY,45256
24
+ beswarm/aient/aient/models/chatgpt.py,sha256=hMYVxN6BuAWKoZnL73z60dUnXmtXVul9kFhdCeOEkW8,45615
25
25
  beswarm/aient/aient/plugins/__init__.py,sha256=p3KO6Aa3Lupos4i2SjzLQw1hzQTigOAfEHngsldrsyk,986
26
26
  beswarm/aient/aient/plugins/arXiv.py,sha256=yHjb6PS3GUWazpOYRMKMzghKJlxnZ5TX8z9F6UtUVow,1461
27
27
  beswarm/aient/aient/plugins/config.py,sha256=TGgZ5SnNKZ8MmdznrZ-TEq7s2ulhAAwTSKH89bci3dA,7079
@@ -116,7 +116,7 @@ beswarm/tools/search_web.py,sha256=NYrb5KL_WUGPm-fOKT8Cyjon04lxBU-gaLdrVjeYgGo,1
116
116
  beswarm/tools/subtasks.py,sha256=mIjA2QrRy9Fos4rYm8fCfu2QrsE_MGnQI9IR8dOxsGs,9885
117
117
  beswarm/tools/worker.py,sha256=_cSkRUKRJMAiZiTfnBze_e9Kc7k7KvbB5hdxdvp4FW4,2009
118
118
  beswarm/tools/write_csv.py,sha256=u0Hq18Ksfheb52MVtyLNCnSDHibITpsYBPs2ub7USYA,1466
119
- beswarm-0.2.67.dist-info/METADATA,sha256=45_G-NGSKRQ-SOwJc7z6vcM6icUnayEMJdXbWoHhJlE,3878
120
- beswarm-0.2.67.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
121
- beswarm-0.2.67.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
122
- beswarm-0.2.67.dist-info/RECORD,,
119
+ beswarm-0.2.68.dist-info/METADATA,sha256=0we5CziVRMEK7GNhdSTnGYEQZdKdTkAhTw_J2qtsfKY,3878
120
+ beswarm-0.2.68.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
121
+ beswarm-0.2.68.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
122
+ beswarm-0.2.68.dist-info/RECORD,,