uipath-langchain 0.0.107__tar.gz → 0.0.109__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 (184) hide show
  1. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/cd.yml +2 -1
  2. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/ci.yml +6 -4
  3. uipath_langchain-0.0.109/.github/workflows/commitlint.yml +43 -0
  4. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/lint.yml +5 -13
  5. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/slack.yml +1 -1
  6. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/test.yml +4 -12
  7. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/PKG-INFO +2 -2
  8. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/quick_start.md +29 -4
  9. uipath_langchain-0.0.109/docs/sample_images/RAG/click-storage-bucket.png +0 -0
  10. uipath_langchain-0.0.109/docs/sample_images/RAG/create-index-1.png +0 -0
  11. uipath_langchain-0.0.109/docs/sample_images/RAG/create-index-2.png +0 -0
  12. uipath_langchain-0.0.109/docs/sample_images/RAG/create-process.png +0 -0
  13. uipath_langchain-0.0.109/docs/sample_images/RAG/create-quiz-generator.png +0 -0
  14. uipath_langchain-0.0.109/docs/sample_images/RAG/create-storage-bucket-1.png +0 -0
  15. uipath_langchain-0.0.109/docs/sample_images/RAG/create-storage-bucket-2.png +0 -0
  16. uipath_langchain-0.0.109/docs/sample_images/RAG/folder-path.png +0 -0
  17. uipath_langchain-0.0.109/docs/sample_images/RAG/job-info.png +0 -0
  18. uipath_langchain-0.0.109/docs/sample_images/RAG/output.png +0 -0
  19. uipath_langchain-0.0.109/docs/sample_images/RAG/process-page.png +0 -0
  20. uipath_langchain-0.0.109/docs/sample_images/RAG/researcher-1.png +0 -0
  21. uipath_langchain-0.0.109/docs/sample_images/RAG/researcher-2.png +0 -0
  22. uipath_langchain-0.0.109/docs/sample_images/RAG/run-process-1.png +0 -0
  23. uipath_langchain-0.0.109/docs/sample_images/RAG/run-process-2.png +0 -0
  24. uipath_langchain-0.0.109/docs/sample_images/RAG/storage-bucket-content.png +0 -0
  25. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/pyproject.toml +2 -2
  26. uipath_langchain-0.0.109/samples/RAG-quiz-generator/README.md +244 -0
  27. uipath_langchain-0.0.109/samples/RAG-quiz-generator/env.example +2 -0
  28. uipath_langchain-0.0.109/samples/RAG-quiz-generator/input.example/quiz-generator-debug-input.json +5 -0
  29. uipath_langchain-0.0.109/samples/RAG-quiz-generator/input.example/researcher-debug-input.json +5 -0
  30. uipath_langchain-0.0.109/samples/RAG-quiz-generator/langgraph.json +8 -0
  31. uipath_langchain-0.0.109/samples/RAG-quiz-generator/pyproject.toml +14 -0
  32. uipath_langchain-0.0.109/samples/RAG-quiz-generator/quiz-generator-RAG-agent.mermaid +21 -0
  33. uipath_langchain-0.0.109/samples/RAG-quiz-generator/researcher-RAG-agent.mermaid +20 -0
  34. uipath_langchain-0.0.109/samples/RAG-quiz-generator/src/agents/quiz-generator-RAG-agent.py +184 -0
  35. uipath_langchain-0.0.109/samples/RAG-quiz-generator/src/agents/researcher-RAG-agent.py +106 -0
  36. uipath_langchain-0.0.109/samples/RAG-quiz-generator/uipath.json +1147 -0
  37. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109/samples/RAG-quiz-generator}/uv.lock +94 -344
  38. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/README.md +3 -0
  39. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +47 -54
  40. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +12 -4
  41. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/tracers/__init__.py +0 -2
  42. uipath_langchain-0.0.109/uv.lock +2849 -0
  43. uipath_langchain-0.0.107/.github/workflows/commitlint.yml +0 -26
  44. uipath_langchain-0.0.107/src/uipath_langchain/tracers/UiPathTracer.py +0 -161
  45. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.cursorrules +0 -0
  46. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.editorconfig +0 -0
  47. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.gitattributes +0 -0
  48. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/build.yml +0 -0
  49. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/publish-dev.yml +0 -0
  50. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.github/workflows/publish-docs.yml +0 -0
  51. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.gitignore +0 -0
  52. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.pre-commit-config.yaml +0 -0
  53. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.python-version +0 -0
  54. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.vscode/extensions.json +0 -0
  55. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/.vscode/settings.json +0 -0
  56. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/CONTRIBUTING.md +0 -0
  57. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/LICENSE +0 -0
  58. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/README.md +0 -0
  59. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/chat_models.md +0 -0
  60. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/context_grounding.md +0 -0
  61. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/human_in_the_loop.md +0 -0
  62. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/quick_start_images/cloud_env_var_dark.png +0 -0
  63. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/quick_start_images/cloud_env_var_light.png +0 -0
  64. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/quick_start_images/invoke_output_dark.png +0 -0
  65. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/quick_start_images/invoke_output_light.png +0 -0
  66. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
  67. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
  68. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
  69. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
  70. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
  71. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
  72. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
  73. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
  74. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
  75. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
  76. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
  77. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
  78. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
  79. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
  80. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/run-agent.png +0 -0
  81. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
  82. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/start-job.png +0 -0
  83. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
  84. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/.env.example +0 -0
  85. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/agent.mermaid +0 -0
  86. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/graph.py +0 -0
  87. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/langgraph.json +0 -0
  88. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/pyproject.toml +0 -0
  89. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/uipath.json +0 -0
  90. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/company-research-agent/uv.lock +0 -0
  91. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/database.py +0 -0
  92. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/main.py +0 -0
  93. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/models.py +0 -0
  94. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/pyproject.toml +0 -0
  95. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/schemas.py +0 -0
  96. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/templates/index.html +0 -0
  97. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/hitl-inbox-server/uv.lock +0 -0
  98. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
  99. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
  100. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
  101. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
  102. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
  103. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +0 -0
  104. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
  105. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/coder.py +0 -0
  106. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/planner.py +0 -0
  107. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/researcher.py +0 -0
  108. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
  109. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  110. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
  111. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  112. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
  113. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  114. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  115. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  116. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  117. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/retrieval-chain/.env.example +0 -0
  118. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/retrieval-chain/README.md +0 -0
  119. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/retrieval-chain/main.py +0 -0
  120. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/retrieval-chain/pyproject.toml +0 -0
  121. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/retrieval-chain/uv.lock +0 -0
  122. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/.env.example +0 -0
  123. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/README.md +0 -0
  124. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/agent.mermaid +0 -0
  125. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/langgraph.json +0 -0
  126. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/pyproject.toml +0 -0
  127. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  128. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  129. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  130. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/uipath.json +0 -0
  131. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-local-mcp/uv.lock +0 -0
  132. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/.env.example +0 -0
  133. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/README.md +0 -0
  134. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/agent.mermaid +0 -0
  135. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/langgraph.json +0 -0
  136. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/main.py +0 -0
  137. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/pyproject.toml +0 -0
  138. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/uipath.json +0 -0
  139. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/simple-remote-mcp/uv.lock +0 -0
  140. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/.env.example +0 -0
  141. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/README.md +0 -0
  142. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/agent.mermaid +0 -0
  143. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/escalation_app_solution/generic-escalation-app-solution-1.0.0.zip +0 -0
  144. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/langgraph.json +0 -0
  145. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/main.py +0 -0
  146. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/pyproject.toml +0 -0
  147. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/uipath.json +0 -0
  148. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/samples/ticket-classification/uv.lock +0 -0
  149. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/__init__.py +0 -0
  150. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/__init__.py +0 -0
  151. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_runtime/_context.py +0 -0
  152. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_runtime/_escalation.py +0 -0
  153. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
  154. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
  155. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
  156. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_runtime/_runtime.py +0 -0
  157. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
  158. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
  159. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/_utils/_graph.py +0 -0
  160. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/cli_init.py +0 -0
  161. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/cli_new.py +0 -0
  162. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_cli/cli_run.py +0 -0
  163. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_utils/__init__.py +0 -0
  164. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_utils/_request_mixin.py +0 -0
  165. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_utils/_settings.py +0 -0
  166. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
  167. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/chat/__init__.py +0 -0
  168. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/chat/models.py +0 -0
  169. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/embeddings/__init__.py +0 -0
  170. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/embeddings/embeddings.py +0 -0
  171. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/middlewares.py +0 -0
  172. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/retrievers/__init__.py +0 -0
  173. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
  174. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/tracers/_events.py +0 -0
  175. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
  176. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/tracers/_utils.py +0 -0
  177. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/vectorstores/__init__.py +0 -0
  178. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
  179. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/tests/__init__.py +0 -0
  180. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/tests/test_dummy.py +0 -0
  181. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/tests/test_langchain_client.py +0 -0
  182. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/tests/tracers/__init__.py +0 -0
  183. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/tests/tracers/test_async_uipath_tracer.py +0 -0
  184. {uipath_langchain-0.0.107 → uipath_langchain-0.0.109}/tests/tracers/test_instrument_traceable.py +0 -0
@@ -2,7 +2,8 @@ name: CD
2
2
 
3
3
  on:
4
4
  workflow_run:
5
- workflows: ["Core CI"]
5
+ workflows:
6
+ - CI
6
7
  types:
7
8
  - completed
8
9
 
@@ -1,18 +1,20 @@
1
- name: Core CI
1
+ name: CI
2
2
 
3
3
  on:
4
- workflow_dispatch: {}
5
4
  push:
6
5
  branches:
7
6
  - main
8
- pull_request:
7
+ pull_request_target:
8
+ types:
9
+ - opened
10
+ - synchronize
9
11
  branches:
10
12
  - main
11
13
 
12
14
 
13
15
  jobs:
14
16
  commit-lint:
15
- if: ${{ github.event_name == 'pull_request' }}
17
+ if: ${{ github.event_name == 'pull_request_target' }}
16
18
  uses: ./.github/workflows/commitlint.yml
17
19
  lint:
18
20
  uses: ./.github/workflows/lint.yml
@@ -0,0 +1,43 @@
1
+ name: Commit Lint
2
+
3
+ on:
4
+ workflow_call
5
+
6
+ jobs:
7
+ commitlint:
8
+ name: Commit Lint
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ with:
14
+ fetch-depth: 0
15
+
16
+ - uses: actions/setup-node@v3
17
+ with:
18
+ node-version: 22
19
+
20
+ - name: Install Git
21
+ run: |
22
+ if ! command -v git &> /dev/null; then
23
+ echo "Git is not installed. Installing..."
24
+ sudo apt-get update
25
+ sudo apt-get install -y git
26
+ else
27
+ echo "Git is already installed."
28
+ fi
29
+
30
+ - name: Install commitlint
31
+ run: |
32
+ npm install conventional-changelog-conventionalcommits
33
+ npm install commitlint@latest
34
+ npm install @commitlint/config-conventional
35
+
36
+ - name: Configure
37
+ run: |
38
+ echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
39
+
40
+ - name: Validate PR commits with commitlint
41
+ run: |
42
+ git fetch origin pull/${{ github.event.pull_request.number }}/head:pr_branch
43
+ npx commitlint --from ${{ github.event.pull_request.base.sha }} --to pr_branch --verbose
@@ -1,20 +1,12 @@
1
- name: Reusable Lint Workflow
1
+ name: Lint
2
2
 
3
3
  on:
4
- workflow_call:
5
- inputs:
6
- should_skip:
7
- description: 'Whether to skip the linting step'
8
- required: false
9
- type: boolean
10
- default: false
4
+ workflow_call
11
5
 
12
6
  jobs:
13
7
  lint:
14
8
  name: Lint
15
- runs-on: "ubuntu-24.04"
16
- if: inputs.should_skip == false
17
-
9
+ runs-on: ubuntu-latest
18
10
 
19
11
  steps:
20
12
  - uses: actions/checkout@v4
@@ -30,7 +22,7 @@ jobs:
30
22
  uv venv
31
23
  uv sync --all-extras
32
24
 
33
- - name: "Check static types"
25
+ - name: Check static types
34
26
  run: |
35
27
  uv run mypy --config-file pyproject.toml .
36
28
 
@@ -38,7 +30,7 @@ jobs:
38
30
  run: |
39
31
  uv run ruff check .
40
32
 
41
- - name: "Check formatting"
33
+ - name: Check formatting
42
34
  run: |
43
35
  uv run ruff format --check .
44
36
 
@@ -1,7 +1,7 @@
1
1
  name: GitHub Reviewer Slack Agent
2
2
 
3
3
  on:
4
- pull_request:
4
+ pull_request_target:
5
5
  types: [opened]
6
6
 
7
7
  jobs:
@@ -1,4 +1,4 @@
1
- name: Reusable Test Workflow
1
+ name: Test
2
2
 
3
3
  on:
4
4
  workflow_call:
@@ -9,18 +9,11 @@ on:
9
9
  required: true
10
10
  UIPATH_CLIENT_SECRET:
11
11
  required: true
12
- inputs:
13
- should_skip:
14
- description: 'Whether to skip the linting step'
15
- required: false
16
- type: boolean
17
- default: false
18
12
 
19
13
  jobs:
20
14
  test:
21
15
  name: Test
22
- runs-on: "ubuntu-24.04"
23
- if: inputs.should_skip == false
16
+ runs-on: ubuntu-latest
24
17
 
25
18
  steps:
26
19
  - uses: actions/checkout@v4
@@ -31,16 +24,15 @@ jobs:
31
24
  with:
32
25
  python-version-file: ".python-version"
33
26
 
34
- - name: "Setup venv"
27
+ - name: Setup venv
35
28
  run: |
36
29
  uv venv
37
30
  uv sync --all-extras
38
31
 
39
- - name: "Run tests"
32
+ - name: Run tests
40
33
  run: |
41
34
  uv run pytest
42
35
  env:
43
36
  UIPATH_URL: ${{ secrets.UIPATH_URL }}
44
37
  UIPATH_CLIENT_ID: ${{ secrets.UIPATH_CLIENT_ID }}
45
38
  UIPATH_CLIENT_SECRET: ${{ secrets.UIPATH_CLIENT_SECRET }}
46
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath-langchain
3
- Version: 0.0.107
3
+ Version: 0.0.109
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
@@ -24,7 +24,7 @@ Requires-Dist: langgraph>=0.2.70
24
24
  Requires-Dist: openai>=1.65.5
25
25
  Requires-Dist: pydantic-settings>=2.6.0
26
26
  Requires-Dist: python-dotenv>=1.0.1
27
- Requires-Dist: uipath<2.1.0,>=2.0.33
27
+ Requires-Dist: uipath<2.1.0,>=2.0.45
28
28
  Provides-Extra: langchain
29
29
  Description-Content-Type: text/markdown
30
30
 
@@ -228,12 +228,27 @@ uipath run agent '{\"topic\":\"uipath\"}'
228
228
 
229
229
  ///
230
230
 
231
- /// info
231
+ /// attention
232
232
 
233
- Run command also accepts a _.json_ file as input:
234
- >uipath run agent -f <path_to_input_json_file>
233
+ For a shell agnostic option, please refer to the next section.
235
234
 
236
- ///
235
+ ///
236
+
237
+ ### (Optional) Run The Agent with a json File as Input
238
+
239
+ The `run` command can also take a .json file as an input. You can create a file named `input.json` having the following content:
240
+
241
+ ```json
242
+ {
243
+ "topic": "UiPath"
244
+ }
245
+ ```
246
+
247
+ Use this file as agent input:
248
+
249
+ ```shell
250
+ > uipath run agent --file input.json
251
+ ```
237
252
 
238
253
  ## Deploy The Agent On UiPath Cloud Platform
239
254
 
@@ -312,6 +327,16 @@ Use the provided link to monitor your job and view detailed traces.
312
327
  />
313
328
  </picture>
314
329
 
330
+ ### (Optional) Invoke The Agent with a json File as Input
331
+
332
+ The `invoke` command operates similarly to the `run` command, allowing you to use the same .json file defined
333
+ in the [(Optional) Run the agent with a .json file as input](#optional-run-the-agent-with-a-json-file-as-input)
334
+ section, as agent input:
335
+
336
+ ```shell
337
+ > uipath invoke agent --file input.json
338
+ ```
339
+
315
340
  ## Next Steps
316
341
 
317
342
  Congratulations! You have successfully set up, created, published, and run a UiPath LangChain Agent. 🚀
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "uipath-langchain"
3
- version = "0.0.107"
3
+ version = "0.0.109"
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.33, <2.1.0",
8
+ "uipath>=2.0.45, <2.1.0",
9
9
  "langgraph>=0.2.70",
10
10
  "langchain-core>=0.3.34",
11
11
  "langgraph-checkpoint-sqlite>=2.0.3",
@@ -0,0 +1,244 @@
1
+ # RAG Sample
2
+
3
+ ## Overview
4
+
5
+ The RAG Sample project demonstrates the implementation of a Retrieval-Augmented Generation (RAG) system using [UiPath Context Grounding](https://docs.uipath.com/automation-cloud/automation-cloud/latest/admin-guide/about-context-grounding).
6
+ The system comprises two langchain agents:
7
+ 1. **Quiz-Generator-RAG-Agent**: Attempts to generate a quiz using the given topic, leveraging only the information obtained through RAG.
8
+ In case it fails to gather sufficient relevant data, the system might opt to invoke the _Researcher-RAG-Agent_.
9
+ 2. **Researcher-RAG-Agent**: Retrieves pertinent information from the Internet based on the provided search instructions and uploads
10
+ it into a UiPath Context Grounding Index.
11
+
12
+ ## System Architecture
13
+
14
+ The system utilizes LangGraph to create a directed graph of agents that can communicate and share state.
15
+
16
+ ### Quiz Generator Agent Graph
17
+
18
+ ```mermaid
19
+ ---
20
+ ---
21
+ config:
22
+ flowchart:
23
+ curve: linear
24
+ ---
25
+ graph TD;
26
+ __start__([<p>__start__</p>]):::first
27
+ invoke_researcher(invoke_researcher)
28
+ create_quiz(create_quiz)
29
+ return_quiz(return_quiz)
30
+ prepare_input(prepare_input)
31
+ __end__([<p>__end__</p>]):::last
32
+ __start__ --> prepare_input;
33
+ invoke_researcher --> create_quiz;
34
+ prepare_input --> create_quiz;
35
+ return_quiz --> __end__;
36
+ create_quiz -.-> invoke_researcher;
37
+ create_quiz -.-> return_quiz;
38
+ classDef default fill:#f2f0ff,line-height:1.2
39
+ classDef first fill-opacity:0
40
+ classDef last fill:#bfb6fc
41
+ ```
42
+
43
+ ### Researcher Agent Graph
44
+
45
+ ```mermaid
46
+ ---
47
+ ---
48
+ config:
49
+ flowchart:
50
+ curve: linear
51
+ ---
52
+ graph TD;
53
+ __start__([<p>__start__</p>]):::first
54
+ research(research)
55
+ add_data_to_context_grounding_index(add_data_to_context_grounding_index)
56
+ prepare_input(prepare_input)
57
+ create_file_name(create_file_name)
58
+ __end__([<p>__end__</p>]):::last
59
+ __start__ --> prepare_input;
60
+ add_data_to_context_grounding_index --> __end__;
61
+ create_file_name --> research;
62
+ prepare_input --> create_file_name;
63
+ research --> add_data_to_context_grounding_index;
64
+ classDef default fill:#f2f0ff,line-height:1.2
65
+ classDef first fill-opacity:0
66
+ classDef last fill:#bfb6fc
67
+
68
+ ```
69
+ ## Agent Responsibilities
70
+
71
+ - **Quiz Generator Agent**:
72
+ - Receives user topics and executes searches using RAG.
73
+ - Decides if there is enough relevant information to generate a quiz.
74
+ - May ask _Researcher Agent_ for additional information.
75
+ - Returns final quiz to the user, complying to the requested output format _(question, difficulty, expected answer)_.
76
+
77
+ - **Researcher Agent**:
78
+ - Retrieves information using a Tavily search tool.
79
+ - Uploads the data to a storage bucket (that the Context Grounding Index relies on).
80
+ - Triggers the index ingestion.
81
+
82
+ ## Steps to Execute Project on UiPath Cloud Platform
83
+ ### Prerequisites
84
+ 1. **Create an Orchestrator Storage Bucket**
85
+
86
+ For this demo we'll create it in the _Shared_ folder.
87
+
88
+ ![navigate to Storage Buckets page](../../docs/sample_images/RAG/create-storage-bucket-1.png)
89
+
90
+
91
+ ![create storage bucket](../../docs/sample_images/RAG/create-storage-bucket-2.png)
92
+ 2. **Create a Context Grounding Index**
93
+
94
+ Next, we'll create a Context Grounding Index
95
+
96
+ ![navigate to Indexes page](../../docs/sample_images/RAG/create-index-1.png)
97
+
98
+ When configuring _Index General Details_, we'll select the previously created storage bucket as data source.
99
+
100
+ ![create index](../../docs/sample_images/RAG/create-index-2.png)
101
+
102
+ That's it! Next, we'll deploy the agents.
103
+
104
+ ### Deploy the agents
105
+ 1. **Clone the Repository**
106
+ ```bash
107
+ git clone https://github.com/UiPath/uipath-langchain-python.git
108
+ ```
109
+
110
+ 2. **Navigate to the Sample Directory**
111
+ - **Windows:**
112
+ ```bash
113
+ cd .\uipath-langchain-python\samples\RAG-quiz-generator
114
+ ```
115
+
116
+ - **Unix-like Systems (Linux, macOS):**
117
+ ```bash
118
+ cd ./uipath-langchain-python/samples/RAG-quiz-generator
119
+ ```
120
+
121
+ 3. **Create and Activate a Virtual Python Environment**
122
+ ```bash
123
+ pip install uv
124
+ uv venv -p 3.11 .venv
125
+ .venv\Scripts\activate # Windows
126
+ source .venv/bin/activate # Unix-like Systems
127
+ uv sync
128
+ ```
129
+
130
+ 4. **Authenticate with UiPath Cloud Platform**
131
+ ```bash
132
+ uipath auth
133
+ ```
134
+ > **Note:** After successful authentication in the browser, select the tenant for publishing the agent package.
135
+ ```
136
+ 👇 Select tenant:
137
+ 0: DefaultTenant
138
+ 1: Tenant2
139
+ 2: Tenant3
140
+ ...
141
+ Select tenant: 2
142
+ ```
143
+
144
+ 5. **Package and Publish Agents**
145
+ ```bash
146
+ uipath pack
147
+ uipath publish --my-workspace
148
+ ```
149
+ ```
150
+ ⠋ Publishing most recent package: RAG-agents.1.0.0.nupkg ...
151
+ ✓ Package published successfully!
152
+ ⠇ Getting process information ...
153
+ 🔗 Process configuration link: [LINK]
154
+ 💡 Use the link above to configure any environment variables
155
+ ```
156
+ > Note: when publishing to _my-workspace_ a process will be auto-provisioned for you.
157
+ > However, our package contains 2 agents (i.e. 2 entrypoints) thus we'll need to create an additional process.
158
+
159
+ 6. **Configure Agent Processes in Orchestrator**
160
+
161
+ Follow the returned URL from the publish command:
162
+
163
+ 1. **Researcher Agent**
164
+
165
+ Make sure _researcher-RAG-agent_ entrypoint is selected, set TAVILY and ANTHROPIC api keys and click on **Next**.
166
+
167
+ ![env-vars-researcher](../../docs/sample_images/RAG/researcher-1.png)
168
+
169
+ > Note: We can leave everything empty in the _input_ section.
170
+
171
+ On the _package requirements_ page click **Next**.
172
+
173
+ ![create-researcher](../../docs/sample_images/RAG/researcher-2.png)
174
+
175
+ > Make sure the process name is _researcher-RAG-agent_.
176
+
177
+ 2. **Quiz Generator Agent**
178
+
179
+ Lastly, we need to create the quiz generator agent.
180
+ Create a new process in _my-workspace_.
181
+
182
+ ![process-page](../../docs/sample_images/RAG/process-page.png)
183
+
184
+ ![create-process](../../docs/sample_images/RAG/create-process.png)
185
+
186
+ ![create quiz generator agent](../../docs/sample_images/RAG/create-quiz-generator.png)
187
+
188
+ 7. **Run the agents on UiPath Cloud Platform**
189
+
190
+ We can run the agent from _Processes_ page
191
+
192
+ ![run-process-button](../../docs/sample_images/RAG/run-process-1.png)
193
+
194
+ ![run-process](../../docs/sample_images/RAG/run-process-2.png)
195
+
196
+ > ℹ️ Here is how we can easily copy any folder path.
197
+
198
+ ![folder-path](../../docs/sample_images/RAG/folder-path.png)
199
+
200
+ 8. **Conclusions**
201
+
202
+ We can monitor our agent execution from the job info panel.
203
+
204
+ ![job-info](../../docs/sample_images/RAG/job-info.png)
205
+
206
+ _Quiz-generator-RAG-agent_ may choose to invoke researcher agent
207
+ multiple times before creating the quiz. The output should look like this:
208
+
209
+ ![agent-output](../../docs/sample_images/RAG/output.png)
210
+
211
+ We can also check the storage bucket content.
212
+
213
+ ![click-storage-bucket](../../docs/sample_images/RAG/click-storage-bucket.png)
214
+
215
+ This is the information fetched by our _researcher agent_ that the _quiz generator_ used to create the quiz using RAG.
216
+ We can download this file/files to analyze them.
217
+
218
+ ![storage-bucket-content](../../docs/sample_images/RAG/storage-bucket-content.png)
219
+
220
+ ## Local Debugging
221
+ You can locally debug individual agents by invoking them directly:
222
+
223
+ #### Researcher Agent
224
+ Run the researcher agent with:
225
+
226
+ ```bash
227
+ uipath run researcher-RAG-agent '{"search_instructions":"Need data about spanish cuisine", "index_name":"sample-RAG-index", "index_folder_path":"<index_folder_path>"}'
228
+ # or use .json file input
229
+ uipath run researcher-RAG-agent -f input.example/researcher-debug-input.json
230
+ ```
231
+ > **_NOTE:_** This assumes that an index named _sample-RAG-index_ is created in the folder identified by the index_folder_path parameter.
232
+
233
+
234
+ #### Quiz Generator Agent
235
+ Run the quiz generator agent with:
236
+
237
+ ```bash
238
+ uipath run quiz-generator-RAG-agent '{"quiz_topic":"spanish cuisine", "index_name":"sample-RAG-index", "index_folder_path":"<index_folder_path>"}'
239
+ # or use .json file input
240
+ uipath run quiz-generator-RAG-agent -f input.example/quiz-generator-debug-input.json
241
+ ```
242
+ > **_NOTE:_** This assumes that an agent named _researcher-RAG-agent_ is created in the folder identified by the folder_path parameter passed to _InvokeProcess_ method.
243
+ > <br> ℹ️ check [researcher-RAG-agent.py](src/agents/quiz-generator-RAG-agent.py) file.
244
+
@@ -0,0 +1,2 @@
1
+ TAVILY_API_KEY=xxx
2
+ ANTHROPIC_API_KEY=xxx
@@ -0,0 +1,5 @@
1
+ {
2
+ "quiz_topic":"spanish cuisine",
3
+ "index_name":"sample-RAG-index",
4
+ "index_folder_path":"<index_folder_path>"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "search_instructions":"Need data about spanish cuisine",
3
+ "index_name":"sample-RAG-index",
4
+ "index_folder_path":"<index_folder_path>"
5
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "dependencies": ["."],
3
+ "graphs": {
4
+ "researcher-RAG-agent": "./src/agents/researcher-RAG-agent.py:graph",
5
+ "quiz-generator-RAG-agent": "./src/agents/quiz-generator-RAG-agent.py:graph"
6
+ },
7
+ "env": ".env"
8
+ }
@@ -0,0 +1,14 @@
1
+ [project]
2
+ name = "RAG-agents"
3
+ version = "0.0.1"
4
+ description = "Project containing two agents: quiz-generator-RAG-agent and researcher-RAG-agent."
5
+ authors = [{ name = "John Doe", email = "john.doe@myemail.com" }]
6
+ dependencies = [
7
+ "langgraph>=0.2.55",
8
+ "langchain-community>=0.3.9",
9
+ "langchain-anthropic>=0.3.8",
10
+ "langchain-experimental>=0.3.4",
11
+ "tavily-python>=0.5.0",
12
+ "uipath-langchain==0.0.105",
13
+ ]
14
+ requires-python = ">=3.10"
@@ -0,0 +1,21 @@
1
+ ---
2
+ config:
3
+ flowchart:
4
+ curve: linear
5
+ ---
6
+ graph TD;
7
+ __start__([<p>__start__</p>]):::first
8
+ invoke_researcher(invoke_researcher)
9
+ create_quiz(create_quiz)
10
+ return_quiz(return_quiz)
11
+ prepare_input(prepare_input)
12
+ __end__([<p>__end__</p>]):::last
13
+ __start__ --> prepare_input;
14
+ invoke_researcher --> create_quiz;
15
+ prepare_input --> create_quiz;
16
+ return_quiz --> __end__;
17
+ create_quiz -.-> invoke_researcher;
18
+ create_quiz -.-> return_quiz;
19
+ classDef default fill:#f2f0ff,line-height:1.2
20
+ classDef first fill-opacity:0
21
+ classDef last fill:#bfb6fc
@@ -0,0 +1,20 @@
1
+ ---
2
+ config:
3
+ flowchart:
4
+ curve: linear
5
+ ---
6
+ graph TD;
7
+ __start__([<p>__start__</p>]):::first
8
+ research(research)
9
+ add_data_to_context_grounding_index(add_data_to_context_grounding_index)
10
+ prepare_input(prepare_input)
11
+ create_file_name(create_file_name)
12
+ __end__([<p>__end__</p>]):::last
13
+ __start__ --> prepare_input;
14
+ add_data_to_context_grounding_index --> __end__;
15
+ create_file_name --> research;
16
+ prepare_input --> create_file_name;
17
+ research --> add_data_to_context_grounding_index;
18
+ classDef default fill:#f2f0ff,line-height:1.2
19
+ classDef first fill-opacity:0
20
+ classDef last fill:#bfb6fc