Skip to content

v0.10.0

Latest

Choose a tag to compare

@cosminacho cosminacho released this 23 Apr 11:30
· 75 commits to main since this release

🚀 Release Notes: uipath-langchain-client & uipath-llm-client

This release introduces two new foundational packages that replace the inline HTTP/auth handling previously baked into uipath-langchain. The result is a cleaner separation of concerns, less boilerplate, and a more flexible integration story across providers.


📦 uipath-llm-client — Core Transport Layer

A focused, provider-agnostic HTTP layer for talking to LLM backends.

  • Centralized plumbing — URL building, authentication (AgentHub & LLM Gateway), and header management are consolidated into a single httpx.Client.
  • Smart transport behavior — retries, streaming headers, BYO credentials, and custom exceptions are handled at the transport level, so there's no per-provider boilerplate.
  • Passthrough clients included — ships ready-to-use httpx clients for OpenAI, Anthropic, and Gemini.
  • Modular installation — pull in only what you need via optional extras:
bash
  pip install uipath-llm-client[openai]
  pip install uipath-llm-client[google]
  pip install uipath-llm-client[all]

🔗 uipath-langchain-client — LangChain Integration Layer

A thin, ergonomic bridge between LangChain and uipath-llm-client.

  • Passthrough chat models — each vendor client simply injects the httpx.Client from uipath-llm-client, keeping the integration surface minimal.
  • UiPathChat normalized client — auto-discovers the correct vendor client via the discovery endpoint, so callers don't have to hardcode provider selection.
  • Unified api_config — every client exposes api_config, including vendor_type and api_flavor, for consistent introspection.
  • Automatic metadata merging — generation info is merged with response metadata out of the box.

🔄 What Moved Out of uipath-langchain

The old monolithic layout has been broken apart. Here's where things live now:

What | Where it lives now -- | -- Auth headers, token refresh, URL construction | uipath-llm-client Retry logic | Transport-level in uipath-llm-client (no longer hardcoded per provider) RequestMixin | Replaced by UiPathBaseLLMClient in uipath-langchain-client Chat model factory | uipath-langchain-client (uses discovery endpoint) Gemini streaming fixes | uipath-langchain-client

ℹ️ Backwards compatibility: old implementations are preserved under chat/_legacy/ so existing integrations continue to work while you migrate.


✨ Why This Matters

  • Cleaner architecture — transport concerns and LangChain concerns are now properly separated.
  • Less duplication — retries, auth, and headers are defined once, not per provider.
  • Easier extensibility — adding a new vendor is now a thin passthrough, not a rewrite.