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.
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/PKG-INFO +3 -3
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/README.md +2 -2
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/core/settings.py +1 -1
- {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
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/gigachat_token_manager.py +13 -0
- {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
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/PKG-INFO +3 -3
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/pyproject.toml +1 -1
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/LICENSE +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/core/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/agw_saver.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/serde.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/agw_token_manager.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/redis_client.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/limiting.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/llm.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/limits_manager.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/ratelimiter.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/semaphore.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/retry_utils.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/throttled.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/token_manager_utils.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/metrics/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/metrics/metrics.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/schema/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/schema/input_types.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/schema/log_message.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/storage/__init__.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/storage/storage.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/storage/storage_v2.py +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/SOURCES.txt +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/dependency_links.txt +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/requires.txt +0 -0
- {agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/top_level.txt +0 -0
- {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.
|
|
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
|
-
| `
|
|
134
|
+
| `GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
|
|
135
135
|
| `AGENT_LAB_SDK_GIGACHAT_CREDENTIAL_ID` | Credential Id для получения токена из Agent Service | - |
|
|
136
|
-
| `
|
|
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
|
-
| `
|
|
99
|
+
| `GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
|
|
100
100
|
| `AGENT_LAB_SDK_GIGACHAT_CREDENTIAL_ID` | Credential Id для получения токена из Agent Service | - |
|
|
101
|
-
| `
|
|
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 = "
|
|
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)
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/gigachat_token_manager.py
RENAMED
|
@@ -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.
|
|
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
|
-
| `
|
|
134
|
+
| `GIGACHAT_MODEL` | Модель GigaChat | `GigaChat` |
|
|
135
135
|
| `AGENT_LAB_SDK_GIGACHAT_CREDENTIAL_ID` | Credential Id для получения токена из Agent Service | - |
|
|
136
|
-
| `
|
|
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.
|
|
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" }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/langgraph/checkpoint/serde.py
RENAMED
|
File without changes
|
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/agw_token_manager.py
RENAMED
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/__init__.py
RENAMED
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/clients/redis_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/__init__.py
RENAMED
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/limits_manager.py
RENAMED
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/managers/redis/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk/llm/token_manager_utils.py
RENAMED
|
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
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{agent_lab_sdk-0.1.53.dev1 → agent_lab_sdk-0.1.53.dev2}/agent_lab_sdk.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|