Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@

All notable changes to `uipath_llm_client` (core package) will be documented in this file.

## [1.0.1] - 2025-01-30
## [1.0.2] - 2026-02-02

### Bug Fixes
- Fixed endpoints on AgentHub Settings

## [1.0.1] - 2026-01-30

### Bug Fixes
- Map 400 Bad requests on S2S to 401 Unauthorized for better readability

## [1.0.0] - 2025-01-30
## [1.0.0] - 2026-01-30

### Official Release
- First stable release of the UiPath LLM Client
Expand All @@ -21,7 +26,7 @@ All notable changes to `uipath_llm_client` (core package) will be documented in
- Full async/sync support with streaming capabilities
- Robust error handling and retry logic

## [0.3.x] - 2025-01-29
## [0.3.x] - 2026-01-29

### Release
- First public release accessible to test.pypi of the UiPath LLM Client
Expand All @@ -37,7 +42,7 @@ All notable changes to `uipath_llm_client` (core package) will be documented in
- Added `UIPATH_LLM_BACKEND` environment variable for runtime backend switching
- Improved error handling with `UiPathAPIError` hierarchy for specific HTTP status codes

## [0.2.x] - 2025-01-15
## [0.2.x] - 2026-01-15

### Architecture
- Split monolithic package into two separate packages:
Expand All @@ -56,7 +61,7 @@ All notable changes to `uipath_llm_client` (core package) will be documented in
- Package structure changed; imports need to be updated from `uipath_llmgw_client` to `uipath_llm_client`
- Settings classes renamed for consistency

## [0.1.x] - 2024-12-20
## [0.1.x] - 2025-12-20

### Initial Development Release
- Core HTTP client with authentication and request handling
Expand Down
13 changes: 9 additions & 4 deletions packages/uipath_langchain_client/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@

All notable changes to `uipath_langchain_client` will be documented in this file.

## [1.0.0] - 2025-01-30
## [1.0.1] - 2026-02-02

### Bug Fix
- Fixed Api Version on OpenAI Embeddings

## [1.0.0] - 2026-01-30

### Official Release
- First stable release of the UiPath LangChain Client
Expand All @@ -15,7 +20,7 @@ All notable changes to `uipath_langchain_client` will be documented in this file
- Comprehensive support for chat completions, embeddings, and streaming
- Seamless integration with both AgentHub and LLMGateway backends

## [0.3.x] - 2025-01-29
## [0.3.x] - 2026-01-29

### Release
- First public release of the UiPath LangChain Client
Expand All @@ -39,7 +44,7 @@ All notable changes to `uipath_langchain_client` will be documented in this file
- Vertex AI
- Azure AI

## [0.2.x] - 2025-01-15
## [0.2.x] - 2026-01-15

### Architecture
- Extracted from monolithic package into dedicated LangChain integration package
Expand Down Expand Up @@ -72,7 +77,7 @@ All notable changes to `uipath_langchain_client` will be documented in this file
- Package renamed from internal module to `uipath_langchain_client`
- Import paths changed; update imports accordingly

## [0.1.x] - 2024-12-20
## [0.1.x] - 2025-12-20

### Initial Development Release
- LangChain-compatible chat models wrapping UiPath LLM services
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
__title__ = "UiPath LangChain Client"
__description__ = "A Python client for interacting with UiPath's LLM services via LangChain."
__version__ = "1.0.0"
__version__ = "1.0.1"
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class UiPathOpenAIEmbeddings(UiPathBaseLLMClient, OpenAIEmbeddings):
client_type="passthrough",
vendor_type="openai",
freeze_base_url=True,
api_version="2025-03-01-preview",
)

# Override fields to avoid errors when instantiating the class
Expand Down Expand Up @@ -53,6 +54,7 @@ class UiPathAzureOpenAIEmbeddings(UiPathBaseLLMClient, AzureOpenAIEmbeddings):
client_type="passthrough",
vendor_type="openai",
freeze_base_url=True,
api_version="2025-03-01-preview",
)

# Override fields to avoid errors when instantiating the class
Expand Down
2 changes: 1 addition & 1 deletion src/uipath_llm_client/__version__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
__titile__ = "UiPath LLM Client"
__description__ = "A Python client for interacting with UiPath's LLM services."
__version__ = "1.0.1"
__version__ = "1.0.2"
4 changes: 2 additions & 2 deletions src/uipath_llm_client/httpx_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ def send(self, request: Request, *, stream: bool = False, **kwargs: Any) -> Resp
Response with patched raise_for_status() that raises UiPath exceptions.
"""
if self._freeze_base_url:
request.url = URL(self.base_url)
request.url = URL(str(self.base_url).rstrip("/"))
request.headers[self._streaming_header] = str(stream).lower()
response = super().send(request, stream=stream, **kwargs)
return patch_raise_for_status(response)
Expand Down Expand Up @@ -313,7 +313,7 @@ async def send(self, request: Request, *, stream: bool = False, **kwargs: Any) -
Response with patched raise_for_status() that raises UiPath exceptions.
"""
if self._freeze_base_url:
request.url = URL(self.base_url)
request.url = URL(str(self.base_url).rstrip("/"))
request.headers[self._streaming_header] = str(stream).lower()
response = await super().send(request, stream=stream, **kwargs)
return patch_raise_for_status(response)
15 changes: 9 additions & 6 deletions src/uipath_llm_client/settings/agenthub/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
from pydantic import Field, SecretStr, model_validator
from pydantic_settings import SettingsConfigDict
from uipath._cli._auth._auth_service import AuthService
from uipath.utils import EndpointManager

from uipath_llm_client.settings.agenthub.utils import AgentHubEndpoints
from uipath_llm_client.settings.base import UiPathAPIConfig, UiPathBaseSettings


Expand Down Expand Up @@ -99,13 +99,16 @@ def build_base_url(
api_config: UiPathAPIConfig | None = None,
) -> str:
"""Build the base URL for API requests."""
if api_config is not None and api_config.client_type == "normalized":
url = f"{self.base_url}/{AgentHubEndpoints.NORMALIZED_ENDPOINT.value.format(api_type=api_config.api_type)}"
assert model_name is not None
assert api_config is not None
if api_config.client_type == "normalized" and api_config.api_type == "completions":
url = f"{self.base_url}/{EndpointManager.get_normalized_endpoint()}"
elif api_config.client_type == "passthrough" and api_config.api_type == "embeddings":
assert api_config.api_version is not None
url = f"{self.base_url}/{EndpointManager.get_embeddings_endpoint().format(model=model_name, api_version=api_config.api_version)}"
else:
assert api_config is not None
assert api_config.api_type is not None
assert api_config.vendor_type is not None
url = f"{self.base_url}/{AgentHubEndpoints.PASSTHROUGH_ENDPOINT.value.format(model=model_name, vendor=api_config.vendor_type, api_type=api_config.api_type)}"
url = f"{self.base_url}/{EndpointManager.get_vendor_endpoint().format(model=model_name, vendor=api_config.vendor_type)}"
return url

@override
Expand Down
14 changes: 0 additions & 14 deletions src/uipath_llm_client/settings/agenthub/utils.py

This file was deleted.