uipath-langchain 0.0.85__py3-none-any.whl → 0.0.88__py3-none-any.whl
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.
Potentially problematic release.
This version of uipath-langchain might be problematic. Click here for more details.
- uipath_langchain/_cli/_runtime/_context.py +1 -1
- uipath_langchain/_cli/_runtime/_escalation.py +3 -3
- uipath_langchain/_cli/_runtime/_exception.py +1 -1
- uipath_langchain/_cli/_runtime/_input.py +3 -3
- uipath_langchain/_cli/_runtime/_output.py +34 -11
- uipath_langchain/_cli/_runtime/_runtime.py +1 -1
- uipath_langchain/_cli/cli_init.py +2 -2
- uipath_langchain/_cli/cli_run.py +2 -2
- uipath_langchain/middlewares.py +1 -1
- uipath_langchain/retrievers/context_grounding_retriever.py +30 -4
- uipath_langchain/tracers/AsyncUiPathTracer.py +2 -2
- uipath_langchain/tracers/UiPathTracer.py +1 -1
- uipath_langchain/tracers/_events.py +33 -33
- uipath_langchain/tracers/_instrument_traceable.py +285 -285
- uipath_langchain/tracers/_utils.py +52 -52
- uipath_langchain/utils/__init__.py +3 -0
- uipath_langchain/utils/_request_mixin.py +488 -0
- uipath_langchain/utils/_settings.py +91 -0
- uipath_langchain/utils/_sleep_policy.py +41 -0
- uipath_langchain/vectorstores/context_grounding_vectorstore.py +265 -0
- uipath_langchain-0.0.88.dist-info/METADATA +136 -0
- uipath_langchain-0.0.88.dist-info/RECORD +40 -0
- {uipath_langchain-0.0.85.dist-info → uipath_langchain-0.0.88.dist-info}/entry_points.txt +1 -1
- uipath_langchain-0.0.88.dist-info/licenses/LICENSE +21 -0
- uipath_langchain/_utils/tests/cached_embeddings/text-embedding-3-large5034ec3c-85c9-54b8-ac89-5e0cbcf99e3b +0 -3
- uipath_langchain/_utils/tests/cached_embeddings/text-embedding-3-largec48857ed-1302-5954-9e24-69fa9b45e457 +0 -3
- uipath_langchain/_utils/tests/tests_uipath_cache.db +0 -3
- uipath_langchain-0.0.85.dist-info/METADATA +0 -29
- uipath_langchain-0.0.85.dist-info/RECORD +0 -37
- {uipath_langchain-0.0.85.dist-info → uipath_langchain-0.0.88.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Vector store implementation that connects to UiPath Context Grounding as a backend.
|
|
3
|
+
|
|
4
|
+
This is a read-only vector store that uses the UiPath Context Grounding API to retrieve documents.
|
|
5
|
+
|
|
6
|
+
You need to set the following environment variables (also see .env.example):
|
|
7
|
+
### - UIPATH_URL="https://alpha.uipath.com/{ORG_ID}/{TENANT_ID}"
|
|
8
|
+
### - UIPATH_ACCESS_TOKEN={BEARER_TOKEN_WITH_CONTEXT_GROUNDING_PERMISSIONS}
|
|
9
|
+
### - UIPATH_FOLDER_PATH="" - this can be left empty
|
|
10
|
+
### - UIPATH_FOLDER_KEY="" - this can be left empty
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from collections.abc import Iterable
|
|
14
|
+
from typing import Any, Optional, TypeVar
|
|
15
|
+
|
|
16
|
+
from langchain_core.documents import Document
|
|
17
|
+
from langchain_core.embeddings import Embeddings
|
|
18
|
+
from langchain_core.vectorstores import VectorStore
|
|
19
|
+
from uipath import UiPath
|
|
20
|
+
|
|
21
|
+
VST = TypeVar("VST", bound="ContextGroundingVectorStore")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ContextGroundingVectorStore(VectorStore):
|
|
25
|
+
"""Vector store that uses UiPath Context Grounding (ECS) as a backend.
|
|
26
|
+
|
|
27
|
+
This class provides a straightforward implementation that connects to the
|
|
28
|
+
UiPath Context Grounding API for semantic searching.
|
|
29
|
+
|
|
30
|
+
Example:
|
|
31
|
+
.. code-block:: python
|
|
32
|
+
|
|
33
|
+
from uipath_agents_gym.tools.ecs_vectorstore import ContextGroundingVectorStore
|
|
34
|
+
|
|
35
|
+
# Initialize the vector store with an index name
|
|
36
|
+
vectorstore = ContextGroundingVectorStore(index_name="ECCN")
|
|
37
|
+
|
|
38
|
+
# Perform similarity search
|
|
39
|
+
docs_with_scores = vectorstore.similarity_search_with_score(
|
|
40
|
+
"How do I process an invoice?", k=5
|
|
41
|
+
)
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
def __init__(
|
|
45
|
+
self,
|
|
46
|
+
index_name: str,
|
|
47
|
+
uipath_sdk: Optional[UiPath] = None,
|
|
48
|
+
):
|
|
49
|
+
"""Initialize the ContextGroundingVectorStore.
|
|
50
|
+
|
|
51
|
+
Args:
|
|
52
|
+
index_name: Name of the context grounding index to use
|
|
53
|
+
uipath_sdk: Optional SDK instance to use. If not provided, a new instance will be created.
|
|
54
|
+
"""
|
|
55
|
+
self.index_name = index_name
|
|
56
|
+
self.sdk = uipath_sdk or UiPath()
|
|
57
|
+
|
|
58
|
+
def similarity_search_with_score(
|
|
59
|
+
self, query: str, k: int = 4, **kwargs: Any
|
|
60
|
+
) -> list[tuple[Document, float]]:
|
|
61
|
+
"""Return documents most similar to the query along with the distances.
|
|
62
|
+
The distance is 1 - score, where score is the relevance score returned by the Context Grounding API.
|
|
63
|
+
|
|
64
|
+
Args:
|
|
65
|
+
query: The query string
|
|
66
|
+
k: Number of results to return (default=4)
|
|
67
|
+
|
|
68
|
+
Returns:
|
|
69
|
+
list of tuples of (document, score)
|
|
70
|
+
"""
|
|
71
|
+
# Call the UiPath SDK to perform the search
|
|
72
|
+
results = self.sdk.context_grounding.search(
|
|
73
|
+
name=self.index_name,
|
|
74
|
+
query=query,
|
|
75
|
+
number_of_results=k,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
# Convert the results to Documents with scores
|
|
79
|
+
docs_with_scores = []
|
|
80
|
+
for result in results:
|
|
81
|
+
# Create metadata from result fields
|
|
82
|
+
metadata = {
|
|
83
|
+
"source": result.source,
|
|
84
|
+
"id": result.id,
|
|
85
|
+
"reference": result.reference,
|
|
86
|
+
"page_number": result.page_number,
|
|
87
|
+
"source_document_id": result.source_document_id,
|
|
88
|
+
"caption": result.caption,
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
# Add any operation metadata if available
|
|
92
|
+
if result.metadata:
|
|
93
|
+
metadata["operation_id"] = result.metadata.operation_id
|
|
94
|
+
metadata["strategy"] = result.metadata.strategy
|
|
95
|
+
|
|
96
|
+
# Create a Document with the content and metadata
|
|
97
|
+
doc = Document(
|
|
98
|
+
page_content=result.content,
|
|
99
|
+
metadata=metadata,
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
score = 1.0 - float(result.score)
|
|
103
|
+
|
|
104
|
+
docs_with_scores.append((doc, score))
|
|
105
|
+
|
|
106
|
+
return docs_with_scores
|
|
107
|
+
|
|
108
|
+
def similarity_search_with_relevance_scores(
|
|
109
|
+
self, query: str, k: int = 4, **kwargs: Any
|
|
110
|
+
) -> list[tuple[Document, float]]:
|
|
111
|
+
"""Return documents along with their relevance scores on a scale from 0 to 1.
|
|
112
|
+
|
|
113
|
+
This directly uses the scores provided by the Context Grounding API,
|
|
114
|
+
which are already normalized between 0 and 1.
|
|
115
|
+
|
|
116
|
+
Args:
|
|
117
|
+
query: The query string
|
|
118
|
+
k: Number of documents to return (default=4)
|
|
119
|
+
|
|
120
|
+
Returns:
|
|
121
|
+
list of tuples of (document, relevance_score)
|
|
122
|
+
"""
|
|
123
|
+
return [
|
|
124
|
+
(doc, 1.0 - score)
|
|
125
|
+
for doc, score in self.similarity_search_with_score(query, k, **kwargs)
|
|
126
|
+
]
|
|
127
|
+
|
|
128
|
+
async def asimilarity_search_with_score(
|
|
129
|
+
self, query: str, k: int = 4, **kwargs: Any
|
|
130
|
+
) -> list[tuple[Document, float]]:
|
|
131
|
+
"""Asynchronously return documents most similar to the query along with scores.
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
query: The query string
|
|
135
|
+
k: Number of results to return (default=4)
|
|
136
|
+
|
|
137
|
+
Returns:
|
|
138
|
+
list of tuples of (document, score)
|
|
139
|
+
"""
|
|
140
|
+
# Call the UiPath SDK to perform the search asynchronously
|
|
141
|
+
results = await self.sdk.context_grounding.search_async(
|
|
142
|
+
name=self.index_name,
|
|
143
|
+
query=query,
|
|
144
|
+
number_of_results=k,
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
# Convert the results to Documents with scores
|
|
148
|
+
docs_with_scores = []
|
|
149
|
+
for result in results:
|
|
150
|
+
# Create metadata from result fields
|
|
151
|
+
metadata = {
|
|
152
|
+
"source": result.source,
|
|
153
|
+
"id": result.id,
|
|
154
|
+
"reference": result.reference,
|
|
155
|
+
"page_number": result.page_number,
|
|
156
|
+
"source_document_id": result.source_document_id,
|
|
157
|
+
"caption": result.caption,
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
# Add any operation metadata if available
|
|
161
|
+
if result.metadata:
|
|
162
|
+
metadata["operation_id"] = result.metadata.operation_id
|
|
163
|
+
metadata["strategy"] = result.metadata.strategy
|
|
164
|
+
|
|
165
|
+
# Create a Document with the content and metadata
|
|
166
|
+
doc = Document(
|
|
167
|
+
page_content=result.content,
|
|
168
|
+
metadata=metadata,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
# Get the distance score as 1 - ecs_score
|
|
172
|
+
score = 1.0 - float(result.score)
|
|
173
|
+
|
|
174
|
+
docs_with_scores.append((doc, score))
|
|
175
|
+
|
|
176
|
+
return docs_with_scores
|
|
177
|
+
|
|
178
|
+
async def asimilarity_search_with_relevance_scores(
|
|
179
|
+
self, query: str, k: int = 4, **kwargs: Any
|
|
180
|
+
) -> list[tuple[Document, float]]:
|
|
181
|
+
"""Asynchronously return documents along with their relevance scores on a scale from 0 to 1.
|
|
182
|
+
|
|
183
|
+
This directly uses the scores provided by the Context Grounding API,
|
|
184
|
+
which are already normalized between 0 and 1.
|
|
185
|
+
|
|
186
|
+
Args:
|
|
187
|
+
query: The query string
|
|
188
|
+
k: Number of documents to return (default=4)
|
|
189
|
+
|
|
190
|
+
Returns:
|
|
191
|
+
list of tuples of (document, relevance_score)
|
|
192
|
+
"""
|
|
193
|
+
return [
|
|
194
|
+
(doc, 1.0 - score)
|
|
195
|
+
for doc, score in await self.asimilarity_search_with_score(
|
|
196
|
+
query, k, **kwargs
|
|
197
|
+
)
|
|
198
|
+
]
|
|
199
|
+
|
|
200
|
+
def similarity_search(
|
|
201
|
+
self, query: str, k: int = 4, **kwargs: Any
|
|
202
|
+
) -> list[Document]:
|
|
203
|
+
"""Return documents most similar to the query.
|
|
204
|
+
|
|
205
|
+
Args:
|
|
206
|
+
query: The query string
|
|
207
|
+
k: Number of results to return (default=4)
|
|
208
|
+
|
|
209
|
+
Returns:
|
|
210
|
+
list of documents most similar to the query
|
|
211
|
+
"""
|
|
212
|
+
docs_and_scores = self.similarity_search_with_score(query, k, **kwargs)
|
|
213
|
+
return [doc for doc, _ in docs_and_scores]
|
|
214
|
+
|
|
215
|
+
async def asimilarity_search(
|
|
216
|
+
self, query: str, k: int = 4, **kwargs: Any
|
|
217
|
+
) -> list[Document]:
|
|
218
|
+
"""Asynchronously return documents most similar to the query.
|
|
219
|
+
|
|
220
|
+
Args:
|
|
221
|
+
query: The query string
|
|
222
|
+
k: Number of results to return (default=4)
|
|
223
|
+
|
|
224
|
+
Returns:
|
|
225
|
+
list of documents most similar to the query
|
|
226
|
+
"""
|
|
227
|
+
docs_and_scores = await self.asimilarity_search_with_score(query, k, **kwargs)
|
|
228
|
+
return [doc for doc, _ in docs_and_scores]
|
|
229
|
+
|
|
230
|
+
@classmethod
|
|
231
|
+
def from_texts(
|
|
232
|
+
cls: type[VST],
|
|
233
|
+
texts: list[str],
|
|
234
|
+
embedding: Embeddings,
|
|
235
|
+
metadatas: Optional[list[dict[str, Any]]] = None,
|
|
236
|
+
**kwargs: Any,
|
|
237
|
+
) -> VST:
|
|
238
|
+
"""This method is required by the VectorStore abstract class, but is not supported
|
|
239
|
+
by ContextGroundingVectorStore which is read-only.
|
|
240
|
+
|
|
241
|
+
Raises:
|
|
242
|
+
NotImplementedError: This method is not supported by ContextGroundingVectorStore
|
|
243
|
+
"""
|
|
244
|
+
raise NotImplementedError(
|
|
245
|
+
"ContextGroundingVectorStore is a read-only wrapper for UiPath Context Grounding. "
|
|
246
|
+
"Creating a vector store from texts is not supported."
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
# Other required methods with minimal implementation to satisfy the interface
|
|
250
|
+
def add_texts(
|
|
251
|
+
self,
|
|
252
|
+
texts: Iterable[str],
|
|
253
|
+
metadatas: Optional[list[dict[str, Any]]] = None,
|
|
254
|
+
**kwargs: Any,
|
|
255
|
+
) -> list[str]:
|
|
256
|
+
"""Not implemented for ContextGroundingVectorStore as this is a read-only wrapper."""
|
|
257
|
+
raise NotImplementedError(
|
|
258
|
+
"ContextGroundingVectorStore is a read-only wrapper for UiPath Context Grounding."
|
|
259
|
+
)
|
|
260
|
+
|
|
261
|
+
def delete(self, ids: Optional[list[str]] = None, **kwargs: Any) -> Optional[bool]:
|
|
262
|
+
"""Not implemented for ContextGroundingVectorStore as this is a read-only wrapper."""
|
|
263
|
+
raise NotImplementedError(
|
|
264
|
+
"ContextGroundingVectorStore is a read-only wrapper for UiPath Context Grounding."
|
|
265
|
+
)
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: uipath-langchain
|
|
3
|
+
Version: 0.0.88
|
|
4
|
+
Summary: UiPath Langchain
|
|
5
|
+
Project-URL: Homepage, https://uipath.com
|
|
6
|
+
Project-URL: Repository, https://github.com/UiPath/uipath-langchain-python
|
|
7
|
+
Maintainer-email: Marius Cosareanu <marius.cosareanu@uipath.com>, Cristian Pufu <cristian.pufu@uipath.com>
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Requires-Dist: httpx>=0.27.0
|
|
17
|
+
Requires-Dist: langchain-community>=0.3.21
|
|
18
|
+
Requires-Dist: langchain-core>=0.3.34
|
|
19
|
+
Requires-Dist: langchain-openai>=0.3.3
|
|
20
|
+
Requires-Dist: langchain>=0.3.4
|
|
21
|
+
Requires-Dist: langgraph-checkpoint-sqlite>=2.0.3
|
|
22
|
+
Requires-Dist: langgraph>=0.2.70
|
|
23
|
+
Requires-Dist: openai>=1.65.5
|
|
24
|
+
Requires-Dist: pydantic-settings>=2.6.0
|
|
25
|
+
Requires-Dist: python-dotenv>=1.0.1
|
|
26
|
+
Requires-Dist: requests>=2.23.3
|
|
27
|
+
Requires-Dist: types-requests>=2.32.0.20241016
|
|
28
|
+
Requires-Dist: uipath<2.1.0,>=2.0.4
|
|
29
|
+
Provides-Extra: langchain
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# UiPath LangChain Python SDK
|
|
33
|
+
|
|
34
|
+
[](https://pypi.org/project/uipath-langchain/)
|
|
35
|
+
[](https://pypi.org/project/uipath-langchain/)
|
|
36
|
+
|
|
37
|
+
A Python SDK that enables developers to build and deploy LangGraph agents to the UiPath Platform. This package provides programmatic interaction with UiPath Platform services and human-in-the-loop (HITL) semantics through Action Center integration.
|
|
38
|
+
|
|
39
|
+
This package is an extension to the [UiPath Python SDK](https://github.com/UiPath/uipath-python).
|
|
40
|
+
|
|
41
|
+
## Requirements
|
|
42
|
+
|
|
43
|
+
- Python 3.10 or higher
|
|
44
|
+
- UiPath Automation Cloud account
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pip install uipath-langchain
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
using `uv`:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
uv add uipath-langchain
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Configuration
|
|
59
|
+
|
|
60
|
+
### Environment Variables
|
|
61
|
+
|
|
62
|
+
Create a `.env` file in your project root with the following variables:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
UIPATH_URL=https://cloud.uipath.com/ACCOUNT_NAME/TENANT_NAME
|
|
66
|
+
UIPATH_ACCESS_TOKEN=YOUR_TOKEN_HERE
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Command Line Interface (CLI)
|
|
70
|
+
|
|
71
|
+
The SDK provides a command-line interface for creating, packaging, and deploying LangGraph Agents:
|
|
72
|
+
|
|
73
|
+
### Initialize a Project
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
uipath init [GRAPH]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Creates a `uipath.json` configuration file for your project. If `[GRAPH]` is omitted, it will create an entrypoint for each graph specified in the `langgraph.json` file.
|
|
80
|
+
|
|
81
|
+
### Authentication
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
uipath auth
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This command opens a browser for authentication and creates/updates your `.env` file with the proper credentials.
|
|
88
|
+
|
|
89
|
+
### Debug a Project
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
uipath run GRAPH [INPUT]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Executes the agent with the provided JSON input arguments.
|
|
96
|
+
|
|
97
|
+
### Package a Project
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
uipath pack
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Packages your project into a `.nupkg` file that can be deployed to UiPath.
|
|
104
|
+
|
|
105
|
+
**Note:** Your `pyproject.toml` must include:
|
|
106
|
+
- A description field (avoid characters: &, <, >, ", ', ;)
|
|
107
|
+
- Author information
|
|
108
|
+
|
|
109
|
+
Example:
|
|
110
|
+
```toml
|
|
111
|
+
description = "Your package description"
|
|
112
|
+
authors = [{name = "Your Name", email = "your.email@example.com"}]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Publish a Package
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
uipath publish
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Publishes the most recently created package to your UiPath Orchestrator.
|
|
122
|
+
|
|
123
|
+
## Project Structure
|
|
124
|
+
|
|
125
|
+
To properly use the CLI for packaging and publishing, your project should include:
|
|
126
|
+
- A `pyproject.toml` file with project metadata
|
|
127
|
+
- A `langgraph.json` file
|
|
128
|
+
- A `uipath.json` file (generated by `uipath init`)
|
|
129
|
+
- Any Python files needed for your automation
|
|
130
|
+
|
|
131
|
+
## Development
|
|
132
|
+
|
|
133
|
+
### Setting Up a Development Environment
|
|
134
|
+
|
|
135
|
+
Please read our [contribution guidelines](CONTRIBUTING.md) before submitting a pull request.
|
|
136
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
uipath_langchain/__init__.py,sha256=VBrvQn7d3nuOdN7zEnV2_S-uhmkjgEIlXiFVeZxZakQ,80
|
|
2
|
+
uipath_langchain/middlewares.py,sha256=AkGsj-zqyh9u5AyX79MCL0yKL4YArF-hudAHZs_0K0Y,400
|
|
3
|
+
uipath_langchain/_cli/__init__.py,sha256=juqd9PbXs4yg45zMJ7BHAOPQjb7sgEbWE9InBtGZhfo,24
|
|
4
|
+
uipath_langchain/_cli/cli_init.py,sha256=jsMB9p4-ot23wP04gc-TsRHHnbGMYTw7mjA6r1_SqfA,6383
|
|
5
|
+
uipath_langchain/_cli/cli_run.py,sha256=zMn2P1gB1ogM8_EmZsIhqNpeI9Oc02Z5Gj-oni7eUV4,2915
|
|
6
|
+
uipath_langchain/_cli/_runtime/_context.py,sha256=wr4aNn06ReIXmetEZ6b6AnpAt64p13anQ2trZ5Bzgio,807
|
|
7
|
+
uipath_langchain/_cli/_runtime/_escalation.py,sha256=oA5NvZvCo8ngELFJRyhZNM69DxVHrshhMY6CUk_cukQ,8055
|
|
8
|
+
uipath_langchain/_cli/_runtime/_exception.py,sha256=USKkLYkG-dzjX3fEiMMOHnVUpiXJs_xF0OQXCCOvbYM,546
|
|
9
|
+
uipath_langchain/_cli/_runtime/_input.py,sha256=aaqU7ZiTwVmE1CgaiqgOtArr925bYr9c4CuWt1oC-jk,5418
|
|
10
|
+
uipath_langchain/_cli/_runtime/_output.py,sha256=we6sdXGI-dARRWUgcwblB8CMytBmYncJh6xiMkwcAVA,14238
|
|
11
|
+
uipath_langchain/_cli/_runtime/_runtime.py,sha256=PWzs0EnmpzkEIceoPq_SVLLgFbTC1aU71HbPYvlzVOg,11121
|
|
12
|
+
uipath_langchain/_cli/_utils/_graph.py,sha256=WLBSJfPc3_C07SqJhePRe17JIc5wcBvEqLviMcNOdTA,6950
|
|
13
|
+
uipath_langchain/_utils/__init__.py,sha256=Sp2qnEXLAp9ftQ09x7CZMenYnpXIIGFJNv8zNN7vAsw,172
|
|
14
|
+
uipath_langchain/_utils/_request_mixin.py,sha256=t_1HWBxqEl-wsSk9ubmIM-8vs9BlNy4ZVBxtDxktn6U,18489
|
|
15
|
+
uipath_langchain/_utils/_settings.py,sha256=MhwEVj4gVRSar0RBf2w2hTjO-5Qm-HpCuufqN3gSWjA,3390
|
|
16
|
+
uipath_langchain/_utils/_sleep_policy.py,sha256=e9pHdjmcCj4CVoFM1jMyZFelH11YatsgWfpyrfXzKBQ,1251
|
|
17
|
+
uipath_langchain/chat/__init__.py,sha256=hJCcfzHwKx2coTNzo4ggV3_4QVNrtbtIvxa03CubEYI,146
|
|
18
|
+
uipath_langchain/chat/models.py,sha256=0vt8N9lUQk8-6mhsm1dtCOJLDL4i7ukrg2TPGYJ4KR0,10240
|
|
19
|
+
uipath_langchain/chat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
uipath_langchain/chat/utils/_chat_types.py,sha256=iTUh4gY8ML2yLzTQ7H4ZFXChA8RbPz7NgkJK4x7fSbs,1226
|
|
21
|
+
uipath_langchain/embeddings/__init__.py,sha256=QICtYB58ZyqFfDQrEaO8lTEgAU5NuEKlR7iIrS0OBtc,156
|
|
22
|
+
uipath_langchain/embeddings/embeddings.py,sha256=gntzTfwO1pHbgnXiPdfETJaaurvQWqxVUCH75VMah54,4274
|
|
23
|
+
uipath_langchain/retrievers/__init__.py,sha256=rOn7PyyHgZ4pMnXWPkGqmuBmx8eGuo-Oyndo7Wm9IUU,108
|
|
24
|
+
uipath_langchain/retrievers/context_grounding_retriever.py,sha256=CeVSMEz5xTQIladkzDLeQXGC1_ycW72gb0RB41JZeYA,2000
|
|
25
|
+
uipath_langchain/tracers/AsyncUiPathTracer.py,sha256=8eGWZ56iJcmhtRQU4cHuZYt6aJXqc8RB2OL_BCMp-Ow,10463
|
|
26
|
+
uipath_langchain/tracers/UiPathTracer.py,sha256=V5g1nlB0TI1wYvUIkfCEcAdhy4thqeMBmjflWtxc-_M,5601
|
|
27
|
+
uipath_langchain/tracers/__init__.py,sha256=8DeXfBFhu6IaqDRj_ffjRV01I8q5i_8wXbnhBZTwXnc,219
|
|
28
|
+
uipath_langchain/tracers/_events.py,sha256=CJri76SSdu7rGJIkXurJ2C5sQahfSK4E5UWwWYdEAtE,922
|
|
29
|
+
uipath_langchain/tracers/_instrument_traceable.py,sha256=csPMKd-dk4jrnrxWyS177mLxUBKs-xZyj1tfRQgWrYE,9244
|
|
30
|
+
uipath_langchain/tracers/_utils.py,sha256=JOT1tKMdvqjMDtj2WbmbOWMeMlTXBWavxWpogX7KlRA,1543
|
|
31
|
+
uipath_langchain/utils/__init__.py,sha256=-w-4TD9ZnJDCpj4VIPXhJciukrmDJJbmnOFnhAkAaEU,81
|
|
32
|
+
uipath_langchain/utils/_request_mixin.py,sha256=WFyTDyAthSci1DRwUwS21I3hLntD7HdVzYc0ZPoi3ys,18296
|
|
33
|
+
uipath_langchain/utils/_settings.py,sha256=MhwEVj4gVRSar0RBf2w2hTjO-5Qm-HpCuufqN3gSWjA,3390
|
|
34
|
+
uipath_langchain/utils/_sleep_policy.py,sha256=e9pHdjmcCj4CVoFM1jMyZFelH11YatsgWfpyrfXzKBQ,1251
|
|
35
|
+
uipath_langchain/vectorstores/context_grounding_vectorstore.py,sha256=eTa5sX43-ydB1pj9VNHUPbB-hC36fZK_CGrNe5U2Nrw,9393
|
|
36
|
+
uipath_langchain-0.0.88.dist-info/METADATA,sha256=rSi1XhzmDNx8D5LB0F4lhuYTCrlNoMMU6bbTJHknIUY,3818
|
|
37
|
+
uipath_langchain-0.0.88.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
38
|
+
uipath_langchain-0.0.88.dist-info/entry_points.txt,sha256=FUtzqGOEntlJKMJIXhQUfT7ZTbQmGhke1iCmDWZaQZI,81
|
|
39
|
+
uipath_langchain-0.0.88.dist-info/licenses/LICENSE,sha256=JDpt-uotAkHFmxpwxi6gwx6HQ25e-lG4U_Gzcvgp7JY,1063
|
|
40
|
+
uipath_langchain-0.0.88.dist-info/RECORD,,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[
|
|
1
|
+
[uipath.middlewares]
|
|
2
2
|
register = uipath_langchain.middlewares:register_middleware
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 UiPath
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: uipath-langchain
|
|
3
|
-
Version: 0.0.85
|
|
4
|
-
Summary: UiPath Langchain
|
|
5
|
-
Project-URL: Homepage, https://uipath.com
|
|
6
|
-
Project-URL: Repository, https://github.com/UiPath/uipath-python
|
|
7
|
-
Maintainer-email: Marius Cosareanu <marius.cosareanu@uipath.com>, Cristian Pufu <cristian.pufu@uipath.com>
|
|
8
|
-
Classifier: Development Status :: 3 - Alpha
|
|
9
|
-
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
-
Classifier: Topic :: Software Development :: Build Tools
|
|
15
|
-
Requires-Python: >=3.9
|
|
16
|
-
Requires-Dist: httpx>=0.27.0
|
|
17
|
-
Requires-Dist: langchain-community>=0.3.18
|
|
18
|
-
Requires-Dist: langchain-core>=0.3.34
|
|
19
|
-
Requires-Dist: langchain-openai>=0.3.3
|
|
20
|
-
Requires-Dist: langchain>=0.3.4
|
|
21
|
-
Requires-Dist: langgraph-checkpoint-sqlite>=2.0.3
|
|
22
|
-
Requires-Dist: langgraph>=0.2.70
|
|
23
|
-
Requires-Dist: openai>=1.65.5
|
|
24
|
-
Requires-Dist: pydantic-settings>=2.6.0
|
|
25
|
-
Requires-Dist: python-dotenv>=1.0.1
|
|
26
|
-
Requires-Dist: requests>=2.23.3
|
|
27
|
-
Requires-Dist: types-requests>=2.32.0.20241016
|
|
28
|
-
Requires-Dist: uipath-sdk==0.0.112
|
|
29
|
-
Provides-Extra: langchain
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
uipath_langchain/__init__.py,sha256=VBrvQn7d3nuOdN7zEnV2_S-uhmkjgEIlXiFVeZxZakQ,80
|
|
2
|
-
uipath_langchain/middlewares.py,sha256=cj32jZOAcq0tbAQE_u9LFXa9vJwMJ4O6VcF4HNfb3tg,404
|
|
3
|
-
uipath_langchain/_cli/__init__.py,sha256=juqd9PbXs4yg45zMJ7BHAOPQjb7sgEbWE9InBtGZhfo,24
|
|
4
|
-
uipath_langchain/_cli/cli_init.py,sha256=v_lT4r8sBjujqLuBDZDsTWk0RHkXD3-_XZhdnSznvuU,6391
|
|
5
|
-
uipath_langchain/_cli/cli_run.py,sha256=JduZXJMg7arD9Y6Nr-Sw7SxbaA68xR7f4NNo-raRB1A,2923
|
|
6
|
-
uipath_langchain/_cli/_runtime/_context.py,sha256=tp95ilAu2PwtjfzUNcM0nxvNdtzoWdcyBMqOnTJEIzw,811
|
|
7
|
-
uipath_langchain/_cli/_runtime/_escalation.py,sha256=Ii8FTRODQFuzZNRFU8F52QxDNWKuiw5xkNQaCEN2Clk,8070
|
|
8
|
-
uipath_langchain/_cli/_runtime/_exception.py,sha256=0KKJh7wR54HapGW4BNQvEsGUWumvTuF_t0k3huVmn-g,550
|
|
9
|
-
uipath_langchain/_cli/_runtime/_input.py,sha256=77TdtrWYwa1NJSIPU3xTlq9KoqPcc__B-37pUDAMXhA,5432
|
|
10
|
-
uipath_langchain/_cli/_runtime/_output.py,sha256=W7vlpiVYAkfRkGRwEk8LkxlZv2MadkH87QK7peHOCQ0,13383
|
|
11
|
-
uipath_langchain/_cli/_runtime/_runtime.py,sha256=pFLbCBXdYCDcFP3ZMDPccbGRDN7sa3HdMA7yVpWc584,11125
|
|
12
|
-
uipath_langchain/_cli/_utils/_graph.py,sha256=WLBSJfPc3_C07SqJhePRe17JIc5wcBvEqLviMcNOdTA,6950
|
|
13
|
-
uipath_langchain/_utils/__init__.py,sha256=Sp2qnEXLAp9ftQ09x7CZMenYnpXIIGFJNv8zNN7vAsw,172
|
|
14
|
-
uipath_langchain/_utils/_request_mixin.py,sha256=t_1HWBxqEl-wsSk9ubmIM-8vs9BlNy4ZVBxtDxktn6U,18489
|
|
15
|
-
uipath_langchain/_utils/_settings.py,sha256=MhwEVj4gVRSar0RBf2w2hTjO-5Qm-HpCuufqN3gSWjA,3390
|
|
16
|
-
uipath_langchain/_utils/_sleep_policy.py,sha256=e9pHdjmcCj4CVoFM1jMyZFelH11YatsgWfpyrfXzKBQ,1251
|
|
17
|
-
uipath_langchain/_utils/tests/tests_uipath_cache.db,sha256=6xlNESkPeA3Z_pz_a5whJpTs_TkqCrOjAEY_ckf8sWo,130
|
|
18
|
-
uipath_langchain/_utils/tests/cached_embeddings/text-embedding-3-large5034ec3c-85c9-54b8-ac89-5e0cbcf99e3b,sha256=beivo43s6nwI_uANjhyflRQs86BMU0rU9LA31R5tL_c,130
|
|
19
|
-
uipath_langchain/_utils/tests/cached_embeddings/text-embedding-3-largec48857ed-1302-5954-9e24-69fa9b45e457,sha256=08XaRxbtpUV8CaD2NE4bVM__EldNqQ2PoNUE1a5GCsQ,130
|
|
20
|
-
uipath_langchain/chat/__init__.py,sha256=hJCcfzHwKx2coTNzo4ggV3_4QVNrtbtIvxa03CubEYI,146
|
|
21
|
-
uipath_langchain/chat/models.py,sha256=0vt8N9lUQk8-6mhsm1dtCOJLDL4i7ukrg2TPGYJ4KR0,10240
|
|
22
|
-
uipath_langchain/chat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
uipath_langchain/chat/utils/_chat_types.py,sha256=iTUh4gY8ML2yLzTQ7H4ZFXChA8RbPz7NgkJK4x7fSbs,1226
|
|
24
|
-
uipath_langchain/embeddings/__init__.py,sha256=QICtYB58ZyqFfDQrEaO8lTEgAU5NuEKlR7iIrS0OBtc,156
|
|
25
|
-
uipath_langchain/embeddings/embeddings.py,sha256=gntzTfwO1pHbgnXiPdfETJaaurvQWqxVUCH75VMah54,4274
|
|
26
|
-
uipath_langchain/retrievers/__init__.py,sha256=rOn7PyyHgZ4pMnXWPkGqmuBmx8eGuo-Oyndo7Wm9IUU,108
|
|
27
|
-
uipath_langchain/retrievers/context_grounding_retriever.py,sha256=lPn8mkIwgsPbEGw937vqSb3rPrvhGWA-GQJclzIUkSw,1165
|
|
28
|
-
uipath_langchain/tracers/AsyncUiPathTracer.py,sha256=6BtboehXcaWRn4VN9FzeNpbHBpvj09VFvGmStYxRsOM,10466
|
|
29
|
-
uipath_langchain/tracers/UiPathTracer.py,sha256=BpkbDbJEYYy61Qf3_O4qk51t6cxbjBXdDeVSCXUq_dU,5600
|
|
30
|
-
uipath_langchain/tracers/__init__.py,sha256=8DeXfBFhu6IaqDRj_ffjRV01I8q5i_8wXbnhBZTwXnc,219
|
|
31
|
-
uipath_langchain/tracers/_events.py,sha256=v0elr_f6zYDxIB0Mrye4TPRnac4wyoRrZN-8fvPL8DU,955
|
|
32
|
-
uipath_langchain/tracers/_instrument_traceable.py,sha256=fCas01-Aq5Kv8HJGbaclyxuyQiquvjf_jYlVGz4SWII,9529
|
|
33
|
-
uipath_langchain/tracers/_utils.py,sha256=j16MEhuCkG81JN4viUx43QxwRXtOcL7oKPFW0JphDwo,1595
|
|
34
|
-
uipath_langchain-0.0.85.dist-info/METADATA,sha256=O4koaeGnMzAvyzz_PKewdQTUKqFPEc2X932WlGUhLHg,1182
|
|
35
|
-
uipath_langchain-0.0.85.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
36
|
-
uipath_langchain-0.0.85.dist-info/entry_points.txt,sha256=vB4ttaYft0qEsoCQ8qAoQGLmOYysY42x8p_rM-c_jF4,85
|
|
37
|
-
uipath_langchain-0.0.85.dist-info/RECORD,,
|
|
File without changes
|