aidial-sdk 0.37.0.dev3__tar.gz → 0.37.0.dev5__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.
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/PKG-INFO +2 -1
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/README.md +1 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/application.py +5 -1
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/env.py +6 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/pyproject.toml +1 -1
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/LICENSE +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/_errors.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/_pydantic/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/_pydantic/_compat.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/_pydantic/_model_config.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/_types.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/base.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/choice.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/choice_base.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/chunks.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/enums.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/form.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/function_call.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/function_tool_call.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/request.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/response.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/stage.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/configuration.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/from_request_mixin.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/rate.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/tokenize.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/truncate_prompt.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/embeddings/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/embeddings/base.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/embeddings/request.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/embeddings/response.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/exceptions.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/header_propagator.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/py.typed +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/pydantic/v2.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/pydantic_v1/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/telemetry/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/telemetry/init.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/telemetry/types.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/__init__.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_attachment.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_cancel_scope.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_content_stream.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_disconnect_middleware.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_indexed_list.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_reflection.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/errors.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/json.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/log_config.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/logging.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/merge_chunks.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/pydantic.py +0 -0
- {aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/streaming.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aidial-sdk
|
|
3
|
-
Version: 0.37.0.
|
|
3
|
+
Version: 0.37.0.dev5
|
|
4
4
|
Summary: Framework to create applications and model adapters for AI DIAL
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -88,6 +88,7 @@ Applications and model adapters implemented using this framework will be compati
|
|
|
88
88
|
|---|---|---|
|
|
89
89
|
|DIAL_SDK_LOG|WARNING|DIAL SDK log level|
|
|
90
90
|
|DIAL_SDK_HEADERS_TO_PROXY|``|A comma-separated list of headers that should be proxied from incoming requests to outgoing requests to the DIAL API. By default, no headers are proxied.|
|
|
91
|
+
|DIAL_SDK_SSE_HEARTBEAT_INTERVAL||When set, the SDK inserts ping comments into streaming chat completion responses after the response has been idle for the specified number of seconds, helping prevent read timeouts when the DIAL application isn't responsive.|
|
|
91
92
|
|PYDANTIC_V2|False|When `True` and Pydantic V2 is installed, DIAL SDK classes for requests/responses will be based on Pydantic V2 `BaseModel`. Otherwise, they will be based on Pydantic V1 `BaseModel`.|
|
|
92
93
|
|
|
93
94
|
---
|
|
@@ -49,6 +49,7 @@ Applications and model adapters implemented using this framework will be compati
|
|
|
49
49
|
|---|---|---|
|
|
50
50
|
|DIAL_SDK_LOG|WARNING|DIAL SDK log level|
|
|
51
51
|
|DIAL_SDK_HEADERS_TO_PROXY|``|A comma-separated list of headers that should be proxied from incoming requests to outgoing requests to the DIAL API. By default, no headers are proxied.|
|
|
52
|
+
|DIAL_SDK_SSE_HEARTBEAT_INTERVAL||When set, the SDK inserts ping comments into streaming chat completion responses after the response has been idle for the specified number of seconds, helping prevent read timeouts when the DIAL application isn't responsive.|
|
|
52
53
|
|PYDANTIC_V2|False|When `True` and Pydantic V2 is installed, DIAL SDK classes for requests/responses will be based on Pydantic V2 `BaseModel`. Otherwise, they will be based on Pydantic V1 `BaseModel`.|
|
|
53
54
|
|
|
54
55
|
---
|
|
@@ -32,7 +32,7 @@ from aidial_sdk.header_propagator import HeaderPropagator
|
|
|
32
32
|
from aidial_sdk.telemetry.types import TelemetryConfig
|
|
33
33
|
from aidial_sdk.utils._disconnect_middleware import DisconnectMiddleware
|
|
34
34
|
from aidial_sdk.utils._reflection import get_method_implementation
|
|
35
|
-
from aidial_sdk.utils.env import env_var_list
|
|
35
|
+
from aidial_sdk.utils.env import env_float, env_var_list
|
|
36
36
|
from aidial_sdk.utils.log_config import LogConfig
|
|
37
37
|
from aidial_sdk.utils.logging import log_debug, set_log_deployment
|
|
38
38
|
from aidial_sdk.utils.pydantic import model_validate_extra_fields
|
|
@@ -279,6 +279,10 @@ class DIALApp(FastAPI):
|
|
|
279
279
|
*,
|
|
280
280
|
heartbeat_interval: float | None,
|
|
281
281
|
):
|
|
282
|
+
heartbeat_interval = heartbeat_interval or env_float(
|
|
283
|
+
"DIAL_SDK_SSE_HEARTBEAT_INTERVAL"
|
|
284
|
+
)
|
|
285
|
+
|
|
282
286
|
async def _handler(original_request: Request):
|
|
283
287
|
request = await self._parse_request(
|
|
284
288
|
ChatCompletionRequest, original_request, deployment_id
|
|
@@ -5,6 +5,12 @@ def env_bool(name: str, default: bool) -> bool:
|
|
|
5
5
|
return os.getenv(name, str(default)).lower() in ["true", "1"]
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
def env_float(name: str) -> float | None:
|
|
9
|
+
if (value := os.getenv(name)) is not None:
|
|
10
|
+
return float(value)
|
|
11
|
+
return None
|
|
12
|
+
|
|
13
|
+
|
|
8
14
|
def env_var_list(name: str) -> list[str]:
|
|
9
15
|
value = os.getenv(name)
|
|
10
16
|
if value is None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "aidial-sdk"
|
|
3
|
-
version = "0.37.0.
|
|
3
|
+
version = "0.37.0.dev5"
|
|
4
4
|
description = "Framework to create applications and model adapters for AI DIAL"
|
|
5
5
|
authors = [{ name = "EPAM RAIL", email = "SpecialEPM-DIALDevTeam@epam.com" }]
|
|
6
6
|
license = "Apache-2.0"
|
|
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
|
{aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/function_call.py
RENAMED
|
File without changes
|
{aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/chat_completion/function_tool_call.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/deployment/from_request_mixin.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
|
|
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
|
{aidial_sdk-0.37.0.dev3 → aidial_sdk-0.37.0.dev5}/aidial_sdk/utils/_disconnect_middleware.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
|