uipath-langchain 0.0.95__tar.gz → 0.0.97__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.

Potentially problematic release.


This version of uipath-langchain might be problematic. Click here for more details.

Files changed (152) hide show
  1. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/PKG-INFO +2 -2
  2. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/chat_models.md +12 -12
  3. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/pyproject.toml +2 -2
  4. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/cli_init.py +14 -21
  5. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/cli_new.py +21 -26
  6. uipath_langchain-0.0.97/src/uipath_langchain/chat/__init__.py +6 -0
  7. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/chat/models.py +1 -1
  8. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/tests/test_langchain_client.py +3 -3
  9. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/uv.lock +1425 -1425
  10. uipath_langchain-0.0.95/src/uipath_langchain/chat/__init__.py +0 -6
  11. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.cursorrules +0 -0
  12. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.editorconfig +0 -0
  13. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.gitattributes +0 -0
  14. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.github/workflows/build.yml +0 -0
  15. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.github/workflows/cd.yml +0 -0
  16. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.github/workflows/ci.yml +0 -0
  17. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.github/workflows/commitlint.yml +0 -0
  18. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.github/workflows/lint.yml +0 -0
  19. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.github/workflows/test.yml +0 -0
  20. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.gitignore +0 -0
  21. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.pre-commit-config.yaml +0 -0
  22. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.python-version +0 -0
  23. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.vscode/extensions.json +0 -0
  24. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/.vscode/settings.json +0 -0
  25. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/CONTRIBUTING.md +0 -0
  26. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/LICENSE +0 -0
  27. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/README.md +0 -0
  28. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/context_grounding_retriever.md +0 -0
  29. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/context_grounding_vector_store.md +0 -0
  30. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/interrupt_models.md +0 -0
  31. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
  32. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
  33. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
  34. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
  35. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
  36. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
  37. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
  38. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
  39. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
  40. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
  41. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
  42. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
  43. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
  44. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
  45. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/run-agent.png +0 -0
  46. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
  47. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/start-job.png +0 -0
  48. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
  49. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/.env.example +0 -0
  50. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/agent.mermaid +0 -0
  51. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/graph.py +0 -0
  52. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/langgraph.json +0 -0
  53. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/pyproject.toml +0 -0
  54. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/uipath.json +0 -0
  55. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/company-research-agent/uv.lock +0 -0
  56. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/database.py +0 -0
  57. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/main.py +0 -0
  58. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/models.py +0 -0
  59. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/pyproject.toml +0 -0
  60. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/schemas.py +0 -0
  61. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/templates/index.html +0 -0
  62. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/hitl-inbox-server/uv.lock +0 -0
  63. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
  64. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
  65. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
  66. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
  67. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
  68. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +0 -0
  69. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
  70. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/coder.py +0 -0
  71. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/planner.py +0 -0
  72. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/researcher.py +0 -0
  73. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
  74. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +0 -0
  75. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  76. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
  77. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  78. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
  79. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  80. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  81. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  82. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  83. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/retrieval-chain/.env.example +0 -0
  84. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/retrieval-chain/README.md +0 -0
  85. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/retrieval-chain/main.py +0 -0
  86. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/retrieval-chain/pyproject.toml +0 -0
  87. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/retrieval-chain/uv.lock +0 -0
  88. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/.env.example +0 -0
  89. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/README.md +0 -0
  90. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/agent.mermaid +0 -0
  91. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/langgraph.json +0 -0
  92. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/pyproject.toml +0 -0
  93. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  94. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  95. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  96. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/uipath.json +0 -0
  97. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-local-mcp/uv.lock +0 -0
  98. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/.env.example +0 -0
  99. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/README.md +0 -0
  100. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/agent.mermaid +0 -0
  101. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/langgraph.json +0 -0
  102. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/main.py +0 -0
  103. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/pyproject.toml +0 -0
  104. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/uipath.json +0 -0
  105. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/simple-remote-mcp/uv.lock +0 -0
  106. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/.env.example +0 -0
  107. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/README.md +0 -0
  108. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/agent.mermaid +0 -0
  109. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/escalation_app_solution/generic-escalation-app-solution-1.0.0.zip +0 -0
  110. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/langgraph.json +0 -0
  111. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/main.py +0 -0
  112. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/pyproject.toml +0 -0
  113. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/uipath.json +0 -0
  114. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/samples/ticket-classification/uv.lock +0 -0
  115. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/__init__.py +0 -0
  116. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/__init__.py +0 -0
  117. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_runtime/_context.py +0 -0
  118. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_runtime/_escalation.py +0 -0
  119. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
  120. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
  121. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
  122. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_runtime/_runtime.py +0 -0
  123. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
  124. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
  125. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/_utils/_graph.py +0 -0
  126. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_cli/cli_run.py +0 -0
  127. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_utils/__init__.py +0 -0
  128. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_utils/_request_mixin.py +0 -0
  129. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_utils/_settings.py +0 -0
  130. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
  131. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/chat/utils/__init__.py +0 -0
  132. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/chat/utils/_chat_types.py +0 -0
  133. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/embeddings/__init__.py +0 -0
  134. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/embeddings/embeddings.py +0 -0
  135. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/middlewares.py +0 -0
  136. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/retrievers/__init__.py +0 -0
  137. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
  138. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +0 -0
  139. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/tracers/UiPathTracer.py +0 -0
  140. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/tracers/__init__.py +0 -0
  141. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/tracers/_events.py +0 -0
  142. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
  143. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/tracers/_utils.py +0 -0
  144. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/utils/__init__.py +0 -0
  145. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/utils/_request_mixin.py +0 -0
  146. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/utils/_settings.py +0 -0
  147. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/utils/_sleep_policy.py +0 -0
  148. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
  149. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/tests/__init__.py +0 -0
  150. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/tests/test_dummy.py +0 -0
  151. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/tests/tracers/__init__.py +0 -0
  152. {uipath_langchain-0.0.95 → uipath_langchain-0.0.97}/tests/tracers/test_instrument_traceable.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath-langchain
3
- Version: 0.0.95
3
+ Version: 0.0.97
4
4
  Summary: UiPath Langchain
5
5
  Project-URL: Homepage, https://uipath.com
6
6
  Project-URL: Repository, https://github.com/UiPath/uipath-langchain-python
@@ -25,7 +25,7 @@ Requires-Dist: pydantic-settings>=2.6.0
25
25
  Requires-Dist: python-dotenv>=1.0.1
26
26
  Requires-Dist: requests>=2.23.3
27
27
  Requires-Dist: types-requests>=2.32.0.20241016
28
- Requires-Dist: uipath<2.1.0,>=2.0.23
28
+ Requires-Dist: uipath<2.1.0,>=2.0.28
29
29
  Provides-Extra: langchain
30
30
  Description-Content-Type: text/markdown
31
31
 
@@ -1,6 +1,6 @@
1
1
  # UiPath chat models
2
2
 
3
- UiPath provides two chat models `UiPathAzureChatOpenAI` and `UiPathNormalizedChatModel`. These are compatible with langgraph as drop in replacements. You do not need to add tokens from OpenAI or Anthropic, usage of these chat models will consume `AI Units` on your account.
3
+ UiPath provides two chat models `UiPathAzureChatOpenAI` and `UiPathChat`. These are compatible with langgraph as drop in replacements. You do not need to add tokens from OpenAI or Anthropic, usage of these chat models will consume `AI Units` on your account.
4
4
 
5
5
  ## UiPathAzureChatOpenAI
6
6
 
@@ -15,8 +15,8 @@ from langchain_openai import ChatOpenAI
15
15
  llm = ChatOpenAI(
16
16
  model="gpt-4o",
17
17
  temperature=0,
18
- max_tokens=None,
19
- timeout=None,
18
+ max_tokens=4000,
19
+ timeout=30,
20
20
  max_retries=2,
21
21
  # api_key="...", # if you prefer to pass api key in directly instaed of using env vars
22
22
  # base_url="...",
@@ -32,10 +32,10 @@ You can simply change `ChatOpenAi` with `UiPathAzureChatOpenAI`, you don't have
32
32
  from uipath_langchain.chat.models import UiPathAzureChatOpenAI
33
33
 
34
34
  llm = UiPathAzureChatOpenAI(
35
- model="gpt-4o",
35
+ model="gpt-4o-2024-08-06",
36
36
  temperature=0,
37
- max_tokens=None,
38
- timeout=None,
37
+ max_tokens=4000,
38
+ timeout=30,
39
39
  max_retries=2,
40
40
  # other params...
41
41
  )
@@ -45,9 +45,9 @@ Currently the following models can be used with `UiPathAzureChatOpenAI` (this li
45
45
  - `gpt-4`, `gpt-4-1106-Preview`, `gpt-4-32k`, `gpt-4-turbo-2024-04-09`, `gpt-4-vision-preview`, `gpt-4o-2024-05-13`, `gpt-4o-2024-08-06`, `gpt-4o-mini-2024-07-18`, `o3-mini-2025-01-31`
46
46
 
47
47
 
48
- ## UiPathNormalizedChatModel
48
+ ## UiPathChat
49
49
 
50
- `UiPathNormalizedChatModel` is a more versatile clas that can suport models from diferent vendors including OpenAI.
50
+ `UiPathChat` is a more versatile clas that can suport models from diferent vendors including OpenAI.
51
51
 
52
52
  ### Example usage
53
53
 
@@ -66,12 +66,12 @@ llm = ChatAnthropic(
66
66
  )
67
67
  ```
68
68
 
69
- You can replace it with `UiPathNormalizedChatModel` like so:
69
+ You can replace it with `UiPathChat` like so:
70
70
 
71
71
  ```python
72
- from uipath_langchain.chat.models import UiPathNormalizedChatModel
72
+ from uipath_langchain.chat.models import UiPathChat
73
73
 
74
- llm = UiPathNormalizedChatModel(
74
+ llm = UiPathChat(
75
75
  model="anthropic.claude-3-opus-20240229-v1:0",
76
76
  temperature=0,
77
77
  max_tokens=1024,
@@ -81,7 +81,7 @@ llm = UiPathNormalizedChatModel(
81
81
  )
82
82
  ```
83
83
 
84
- Currently the following models can be used with `UiPathNormalizedChatModel` (this list can be updated in the future):
84
+ Currently the following models can be used with `UiPathChat` (this list can be updated in the future):
85
85
  - `anthropic.claude-3-5-sonnet-20240620-v1:0`, `anthropic.claude-3-5-sonnet-20241022-v2:0`, `anthropic.claude-3-7-sonnet-20250219-v1:0`, `anthropic.claude-3-haiku-20240307-v1:0`, `gemini-1.5-pro-001`, `gemini-2.0-flash-001`, `gpt-4o-2024-05-13`, `gpt-4o-2024-08-06`, `gpt-4o-2024-11-20`, `gpt-4o-mini-2024-07-18`, `o3-mini-2025-01-31`
86
86
 
87
87
  ### Note
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "uipath-langchain"
3
- version = "0.0.95"
3
+ version = "0.0.97"
4
4
  description = "UiPath Langchain"
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  requires-python = ">=3.10"
7
7
  dependencies = [
8
- "uipath>=2.0.23, <2.1.0",
8
+ "uipath>=2.0.28, <2.1.0",
9
9
  "langgraph>=0.2.70",
10
10
  "langchain-core>=0.3.34",
11
11
  "langgraph-checkpoint-sqlite>=2.0.3",
@@ -4,14 +4,15 @@ import os
4
4
  import uuid
5
5
  from typing import Any, Dict
6
6
 
7
- import click
8
7
  from langgraph.graph.state import CompiledStateGraph
8
+ from uipath._cli._utils._console import ConsoleLogger
9
9
  from uipath._cli._utils._parse_ast import generate_bindings_json # type: ignore
10
10
  from uipath._cli.middlewares import MiddlewareResult
11
- from uipath._cli.spinner import Spinner
12
11
 
13
12
  from ._utils._graph import LangGraphConfig
14
13
 
14
+ console = ConsoleLogger()
15
+
15
16
 
16
17
  def resolve_refs(schema, root=None):
17
18
  """Recursively resolves $ref references in a JSON schema."""
@@ -95,7 +96,6 @@ def generate_schema_from_graph(graph: CompiledStateGraph) -> Dict[str, Any]:
95
96
 
96
97
  async def langgraph_init_middleware_async(entrypoint: str) -> MiddlewareResult:
97
98
  """Middleware to check for langgraph.json and create uipath.json with schemas"""
98
- spinner = Spinner("Initializing UiPath project...")
99
99
  config = LangGraphConfig()
100
100
  if not config.exists:
101
101
  return MiddlewareResult(
@@ -103,7 +103,6 @@ async def langgraph_init_middleware_async(entrypoint: str) -> MiddlewareResult:
103
103
  ) # Continue with normal flow if no langgraph.json
104
104
 
105
105
  try:
106
- spinner.start()
107
106
  config.load_config()
108
107
  entrypoints = []
109
108
  all_bindings = {"version": "2.0", "resources": []}
@@ -134,8 +133,8 @@ async def langgraph_init_middleware_async(entrypoint: str) -> MiddlewareResult:
134
133
  if "resources" in file_bindings:
135
134
  all_bindings["resources"] = file_bindings["resources"]
136
135
  except Exception as e:
137
- print(
138
- f"⚠️ Warning: Could not generate bindings for {graph.file_path}: {str(e)}"
136
+ console.warning(
137
+ f"Warning: Could not generate bindings for {graph.file_path}: {str(e)}"
139
138
  )
140
139
 
141
140
  new_entrypoint: dict[str, Any] = {
@@ -148,21 +147,18 @@ async def langgraph_init_middleware_async(entrypoint: str) -> MiddlewareResult:
148
147
  entrypoints.append(new_entrypoint)
149
148
 
150
149
  except Exception as e:
151
- spinner.stop()
152
- print(f"Error during graph load: {e}")
150
+ console.error(f"Error during graph load: {e}")
153
151
  return MiddlewareResult(
154
152
  should_continue=False,
155
- error_message=f"❌ Failed to load graph '{graph.name}': {str(e)}",
156
153
  should_include_stacktrace=True,
157
154
  )
158
155
  finally:
159
156
  await graph.cleanup()
160
157
 
161
158
  if entrypoint and not entrypoints:
162
- spinner.stop()
159
+ console.error(f"Error: No graph found with name '{entrypoint}'")
163
160
  return MiddlewareResult(
164
161
  should_continue=False,
165
- error_message=f"❌ Error: No graph found with name '{entrypoint}'",
166
162
  )
167
163
 
168
164
  uipath_config = {"entryPoints": entrypoints, "bindings": all_bindings}
@@ -177,25 +173,22 @@ async def langgraph_init_middleware_async(entrypoint: str) -> MiddlewareResult:
177
173
  try:
178
174
  with open(mermaid_file_path, "w") as f:
179
175
  f.write(mermaid_content)
176
+ console.success(f" Created '{mermaid_file_path}' file.")
180
177
  except Exception as write_error:
181
- spinner.stop()
178
+ console.error(
179
+ f"Error writing mermaid file for '{graph_name}': {str(write_error)}"
180
+ )
182
181
  return MiddlewareResult(
183
182
  should_continue=False,
184
- error_message=f"❌ Error writing mermaid file for '{graph_name}': {str(write_error)}",
185
183
  should_include_stacktrace=True,
186
184
  )
187
- spinner.stop()
188
- return MiddlewareResult(
189
- should_continue=False,
190
- info_message=click.style("✓ ", fg="green", bold=True)
191
- + f" Configuration file {config_path} created successfully.",
192
- )
185
+ console.success(f" Created '{config_path}' file.")
186
+ return MiddlewareResult(should_continue=False)
193
187
 
194
188
  except Exception as e:
195
- spinner.stop()
189
+ console.error(f"Error processing langgraph configuration: {str(e)}")
196
190
  return MiddlewareResult(
197
191
  should_continue=False,
198
- error_message=f"❌ Error processing langgraph configuration: {str(e)}",
199
192
  should_include_stacktrace=True,
200
193
  )
201
194
 
@@ -2,8 +2,10 @@ import os
2
2
  import shutil
3
3
 
4
4
  import click
5
+ from uipath._cli._utils._console import ConsoleLogger
5
6
  from uipath._cli.middlewares import MiddlewareResult
6
- from uipath._cli.spinner import Spinner
7
+
8
+ console = ConsoleLogger()
7
9
 
8
10
 
9
11
  def generate_script(target_directory):
@@ -41,36 +43,29 @@ def generate_pyproject(target_directory, project_name):
41
43
 
42
44
  def langgraph_new_middleware(name: str) -> MiddlewareResult:
43
45
  """Middleware to create demo langchain agent"""
44
- spinner = Spinner("Creating demo agent...")
46
+
45
47
  directory = os.getcwd()
46
48
 
47
49
  try:
48
- generate_script(directory)
49
- click.echo(click.style("✓ ", fg="green", bold=True) + "Created main.py file")
50
- click.echo(
51
- click.style("✓ ", fg="green", bold=True) + "Created langgraph.json file"
52
- )
53
- generate_pyproject(directory, name)
54
- click.echo(
55
- click.style(" ", fg="green", bold=True) + "Created pyproject.toml file"
56
- )
57
- os.system("uv sync")
58
- spinner.start()
59
- ctx = click.get_current_context()
60
- init_cmd = ctx.parent.command.get_command(ctx, "init") # type: ignore
61
- ctx.invoke(init_cmd)
62
- spinner.stop()
63
- click.echo(
64
- click.style("✓ ", fg="green", bold=True) + " Agent created successfully."
65
- )
66
- return MiddlewareResult(
67
- should_continue=False,
68
- info_message="""Usage example: ` uipath run agent '{"topic": "UiPath"}' `""",
69
- )
50
+ with console.spinner(f"Creating new agent {name} in current directory ..."):
51
+ generate_pyproject(directory, name)
52
+ generate_script(directory)
53
+ console.success("Created 'main.py' file.")
54
+ console.success("Created 'langgraph.json' file.")
55
+ generate_pyproject(directory, name)
56
+ console.success("Created 'pyproject.toml' file.")
57
+ os.system("uv sync")
58
+ ctx = click.get_current_context()
59
+ init_cmd = ctx.parent.command.get_command(ctx, "init") # type: ignore
60
+ ctx.invoke(init_cmd)
61
+ console.config(
62
+ " Please ensure to define either ANTHROPIC_API_KEY or OPENAI_API_KEY in your .env file."
63
+ )
64
+ console.hint(""" Run agent: uipath run agent '{"topic": "UiPath"}'""")
65
+ return MiddlewareResult(should_continue=False)
70
66
  except Exception as e:
71
- spinner.stop()
67
+ console.error(f"Error creating demo agent {str(e)}")
72
68
  return MiddlewareResult(
73
69
  should_continue=False,
74
- error_message=f"❌ Error creating demo agent {str(e)}",
75
70
  should_include_stacktrace=True,
76
71
  )
@@ -0,0 +1,6 @@
1
+ from .models import UiPathAzureChatOpenAI, UiPathChat
2
+
3
+ __all__ = [
4
+ "UiPathChat",
5
+ "UiPathAzureChatOpenAI",
6
+ ]
@@ -76,7 +76,7 @@ class UiPathAzureChatOpenAI(UiPathRequestMixin, AzureChatOpenAI):
76
76
  )
77
77
 
78
78
 
79
- class UiPathNormalizedChatModel(UiPathRequestMixin, AzureChatOpenAI):
79
+ class UiPathChat(UiPathRequestMixin, AzureChatOpenAI):
80
80
  """Custom LLM connector for LangChain integration with UiPath Normalized."""
81
81
 
82
82
  def _create_chat_result(
@@ -18,7 +18,7 @@ from pydantic import BaseModel, ValidationError
18
18
 
19
19
  from uipath_langchain.chat import (
20
20
  UiPathAzureChatOpenAI,
21
- UiPathNormalizedChatModel,
21
+ UiPathChat,
22
22
  )
23
23
  from uipath_langchain.embeddings import (
24
24
  UiPathAzureOpenAIEmbeddings,
@@ -131,7 +131,7 @@ def test_cached_call_tokens(cached_llmgw_calls: Optional[SQLiteCache]):
131
131
 
132
132
 
133
133
  def test_normalized_cached_call(cached_llmgw_calls: Optional[SQLiteCache]):
134
- model = UiPathNormalizedChatModel(
134
+ model = UiPathChat(
135
135
  model="anthropic.claude-3-5-sonnet-20240620-v1:0", cache=cached_llmgw_calls
136
136
  )
137
137
  messages = [
@@ -143,7 +143,7 @@ def test_normalized_cached_call(cached_llmgw_calls: Optional[SQLiteCache]):
143
143
 
144
144
 
145
145
  def test_normalized_cached_call_tokens(cached_llmgw_calls: Optional[SQLiteCache]):
146
- model = UiPathNormalizedChatModel(
146
+ model = UiPathChat(
147
147
  model="anthropic.claude-3-5-sonnet-20240620-v1:0", cache=cached_llmgw_calls
148
148
  )
149
149
  messages = [