agent-lab-sdk 0.1.53.dev1__tar.gz → 0.1.53.dev2__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 (41) hide show
  1. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/PKG-INFO +3 -3
  2. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/README.md +2 -2
  3. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/core/settings.py +1 -1
  4. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/agent_service_client.py +1 -1
  5. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/gigachat_token_manager.py +13 -0
  6. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/ags_token_manager.py +2 -0
  7. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/PKG-INFO +3 -3
  8. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/pyproject.toml +1 -1
  9. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/LICENSE +0 -0
  10. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/__init__.py +0 -0
  11. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/core/__init__.py +0 -0
  12. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/__init__.py +0 -0
  13. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/agw_saver.py +0 -0
  14. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/serde.py +0 -0
  15. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/__init__.py +0 -0
  16. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/agw_token_manager.py +0 -0
  17. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/__init__.py +0 -0
  18. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/redis_client.py +0 -0
  19. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/limiting.py +0 -0
  20. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/llm.py +0 -0
  21. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/__init__.py +0 -0
  22. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/limits_manager.py +0 -0
  23. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/__init__.py +0 -0
  24. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/ratelimiter.py +0 -0
  25. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/semaphore.py +0 -0
  26. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/retry_utils.py +0 -0
  27. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/throttled.py +0 -0
  28. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/token_manager_utils.py +0 -0
  29. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/metrics/__init__.py +0 -0
  30. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/metrics/metrics.py +0 -0
  31. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/schema/__init__.py +0 -0
  32. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/schema/input_types.py +0 -0
  33. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/schema/log_message.py +0 -0
  34. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/storage/__init__.py +0 -0
  35. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/storage/storage.py +0 -0
  36. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/storage/storage_v2.py +0 -0
  37. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/SOURCES.txt +0 -0
  38. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/dependency_links.txt +0 -0
  39. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/requires.txt +0 -0
  40. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/top_level.txt +0 -0
  41. {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-lab-sdk
3
- Version: 0.1.53.dev1
3
+ Version: 0.1.53.dev2
4
4
  Summary: SDK для работы с Agent Lab
5
5
  Author-email: Andrew Ohurtsov <andermirik@yandex.com>
6
6
  License: Proprietary and Confidential — All Rights Reserved
@@ -131,9 +131,9 @@ model = get_model(
131
131
  | `TOKEN_PROVIDER_AGW_URL` | URL Agent Gateway для получения AGW-токена | `https://agent-gateway.apps.advosd.sberdevices.ru` |
132
132
  | `TOKEN_PROVIDER_AGW_DEFAULT_MAX_RETRIES` | Макс. попыток запроса токена (AGW) | `3` |
133
133
  | `TOKEN_PROVIDER_AGW_TIMEOUT_SEC` | Таймаут запроса к AGW (секунды) | `5` |
134
- | `AGENT_LAB_SDK_GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
134
+ | `GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
135
135
  | `AGENT_LAB_SDK_GIGACHAT_CREDENTIAL_ID` | Credential Id для получения токена из Agent Service | - |
136
- | `AGENT_LAB_SDK_AGENT_SERVICE_NAME` | Имя сервиса агента (обязательно) | - |
136
+ | `AGENT_SERVICE_NAME` | Имя сервиса агента (обязательно) | - |
137
137
  | `AGENT_LAB_SDK_USE_TOKEN_PROVIDER_AGS` | Использовать `AgsTokenManager` для получения токена и лимитов GigaChat | `false` |
138
138
 
139
139
 
@@ -96,9 +96,9 @@ model = get_model(
96
96
  | `TOKEN_PROVIDER_AGW_URL` | URL Agent Gateway для получения AGW-токена | `https://agent-gateway.apps.advosd.sberdevices.ru` |
97
97
  | `TOKEN_PROVIDER_AGW_DEFAULT_MAX_RETRIES` | Макс. попыток запроса токена (AGW) | `3` |
98
98
  | `TOKEN_PROVIDER_AGW_TIMEOUT_SEC` | Таймаут запроса к AGW (секунды) | `5` |
99
- | `AGENT_LAB_SDK_GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
99
+ | `GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
100
100
  | `AGENT_LAB_SDK_GIGACHAT_CREDENTIAL_ID` | Credential Id для получения токена из Agent Service | - |
101
- | `AGENT_LAB_SDK_AGENT_SERVICE_NAME` | Имя сервиса агента (обязательно) | - |
101
+ | `AGENT_SERVICE_NAME` | Имя сервиса агента (обязательно) | - |
102
102
  | `AGENT_LAB_SDK_USE_TOKEN_PROVIDER_AGS` | Использовать `AgsTokenManager` для получения токена и лимитов GigaChat | `false` |
103
103
 
104
104
 
@@ -6,7 +6,7 @@ ENV_PREFIX = "SDK_AGENT_LAB_"
6
6
 
7
7
  class Settings(BaseSettings):
8
8
  USE_TOKEN_PROVIDER_AGS: bool = False
9
- GIGACHAT_MODEL: str = "GigaChat" # Взял из доки дефолт, мб надо поменять
9
+ GIGACHAT_MODEL: str | None = Field(alias="GIGACHAT_MODEL", default=None)
10
10
  GIGACHAT_CREDENTIAL_ID: str | None = None
11
11
  REDIS_THROTTLE_ENABLED: bool = False
12
12
  AGENT_SERVICE_NAME: str | None = Field(alias="AGENT_SERVICE_NAME", default=None)
@@ -41,7 +41,7 @@ class AgentServiceClient:
41
41
  client = self._get_client()
42
42
  url = urljoin(self.base_url, f"{self.version_prefix}/token-manager/token")
43
43
  body = {
44
- "agentId": agent_id,
44
+ "agentServiceName": agent_id,
45
45
  "credentialId": credential_id,
46
46
  }
47
47
  headers = {
@@ -14,6 +14,9 @@ from datetime import datetime, timedelta, timezone
14
14
  from .agw_token_manager import AgwTokenManager
15
15
  import urllib3
16
16
 
17
+ from agent_lab_sdk.core.settings import settings
18
+ from agent_lab_sdk.llm.managers.ags_token_manager import AgsTokenManager
19
+
17
20
  logging.basicConfig(level=logging.INFO)
18
21
  logger = logging.getLogger(__name__)
19
22
 
@@ -189,12 +192,22 @@ class GigaChatTokenManager:
189
192
  use_gigachat_advanced: Optional[bool] = None,
190
193
  token_file_path: Optional[str] = None,
191
194
  use_token_provider_agw: Optional[bool] = None,
195
+ use_token_provider_ags: Optional[bool] = None,
196
+ model: Optional[str] = None,
197
+ credential_id: Optional[str] = None,
192
198
  ) -> str:
193
199
  """
194
200
  Возвращает валидный токен, обновляя его при необходимости.
195
201
  Использует межпроцессную блокировку (fcntl.flock) и лок для потоков,
196
202
  чтобы избежать дублирующих запросов.
197
203
  """
204
+ if use_token_provider_ags is None:
205
+ use_token_provider_ags = settings.USE_TOKEN_PROVIDER_AGS
206
+
207
+ if use_token_provider_ags:
208
+ token_limits = AgsTokenManager.get_token_by_env(model, credential_id)
209
+ return token_limits.token
210
+
198
211
  if use_token_provider_agw is None:
199
212
  use_token_provider_agw = USE_TOKEN_PROVIDER_AGW
200
213
 
@@ -55,6 +55,8 @@ class AgsTokenManager:
55
55
  raise ValueError(f"Переменная окружения {ENV_PREFIX}AGENT_SERVICE_NAME не установлена.")
56
56
  if credential_id is None:
57
57
  raise ValueError(f"Переменная окружения {ENV_PREFIX}GIGACHAT_CREDENTIAL_ID не установлена.")
58
+ if model is None:
59
+ raise ValueError(f"Переменная окружения {ENV_PREFIX}GIGACHAT_MODEL не установлена.")
58
60
  log_key = f"{settings.AGENT_SERVICE_NAME}_{credential_id}"
59
61
  token_info = cls.get_token(settings.AGENT_SERVICE_NAME, credential_id)
60
62
  token = cls._get_value_or_raise(token_info, "token", log_key)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-lab-sdk
3
- Version: 0.1.53.dev1
3
+ Version: 0.1.53.dev2
4
4
  Summary: SDK для работы с Agent Lab
5
5
  Author-email: Andrew Ohurtsov <andermirik@yandex.com>
6
6
  License: Proprietary and Confidential — All Rights Reserved
@@ -131,9 +131,9 @@ model = get_model(
131
131
  | `TOKEN_PROVIDER_AGW_URL` | URL Agent Gateway для получения AGW-токена | `https://agent-gateway.apps.advosd.sberdevices.ru` |
132
132
  | `TOKEN_PROVIDER_AGW_DEFAULT_MAX_RETRIES` | Макс. попыток запроса токена (AGW) | `3` |
133
133
  | `TOKEN_PROVIDER_AGW_TIMEOUT_SEC` | Таймаут запроса к AGW (секунды) | `5` |
134
- | `AGENT_LAB_SDK_GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
134
+ | `GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
135
135
  | `AGENT_LAB_SDK_GIGACHAT_CREDENTIAL_ID` | Credential Id для получения токена из Agent Service | - |
136
- | `AGENT_LAB_SDK_AGENT_SERVICE_NAME` | Имя сервиса агента (обязательно) | - |
136
+ | `AGENT_SERVICE_NAME` | Имя сервиса агента (обязательно) | - |
137
137
  | `AGENT_LAB_SDK_USE_TOKEN_PROVIDER_AGS` | Использовать `AgsTokenManager` для получения токена и лимитов GigaChat | `false` |
138
138
 
139
139
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lab-sdk"
7
- version = "0.1.53.dev1"
7
+ version = "0.1.53.dev2"
8
8
  description = "SDK для работы с Agent Lab"
9
9
  readme = "README.md"
10
10
  license = { text = "Proprietary and Confidential — All Rights Reserved" }