uipath-langchain 0.0.108__tar.gz → 0.0.110__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.
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/cd.yml +2 -1
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/ci.yml +6 -4
- uipath_langchain-0.0.110/.github/workflows/commitlint.yml +43 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/lint.yml +5 -13
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/slack.yml +1 -1
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/test.yml +4 -12
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/PKG-INFO +2 -2
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/chat_models.md +5 -4
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/quick_start.md +41 -14
- uipath_langchain-0.0.110/docs/sample_images/RAG/click-storage-bucket.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/create-index-1.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/create-index-2.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/create-process.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/create-quiz-generator.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/create-storage-bucket-1.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/create-storage-bucket-2.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/folder-path.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/job-info.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/output.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/process-page.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/researcher-1.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/researcher-2.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/run-process-1.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/run-process-2.png +0 -0
- uipath_langchain-0.0.110/docs/sample_images/RAG/storage-bucket-content.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/pyproject.toml +2 -2
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/README.md +244 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/env.example +2 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/input.example/quiz-generator-debug-input.json +5 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/input.example/researcher-debug-input.json +5 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/langgraph.json +8 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/pyproject.toml +14 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/quiz-generator-RAG-agent.mermaid +21 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/researcher-RAG-agent.mermaid +20 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/src/agents/quiz-generator-RAG-agent.py +184 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/src/agents/researcher-RAG-agent.py +106 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/uipath.json +1147 -0
- uipath_langchain-0.0.110/samples/RAG-quiz-generator/uv.lock +2169 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/README.md +3 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +1 -1
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +47 -54
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +1 -1
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/README.md +1 -1
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +10 -2
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/tracers/__init__.py +0 -2
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/uv.lock +1878 -1452
- uipath_langchain-0.0.108/.github/workflows/commitlint.yml +0 -26
- uipath_langchain-0.0.108/src/uipath_langchain/tracers/UiPathTracer.py +0 -161
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.cursorrules +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.editorconfig +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.gitattributes +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/build.yml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/publish-dev.yml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.github/workflows/publish-docs.yml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.gitignore +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.pre-commit-config.yaml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.python-version +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.vscode/extensions.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/.vscode/settings.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/CONTRIBUTING.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/LICENSE +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/README.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/context_grounding.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/human_in_the_loop.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/quick_start_images/cloud_env_var_dark.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/quick_start_images/cloud_env_var_light.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/quick_start_images/invoke_output_dark.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/quick_start_images/invoke_output_light.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/run-agent.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/start-job.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/agent.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/graph.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/langgraph.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/pyproject.toml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/uipath.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/company-research-agent/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/database.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/main.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/models.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/pyproject.toml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/schemas.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/templates/index.html +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/hitl-inbox-server/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/coder.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/planner.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/researcher.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/retrieval-chain/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/retrieval-chain/README.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/retrieval-chain/main.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/retrieval-chain/pyproject.toml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/retrieval-chain/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/agent.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/langgraph.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/pyproject.toml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/uipath.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-local-mcp/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/README.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/agent.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/langgraph.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/main.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/pyproject.toml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/uipath.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/simple-remote-mcp/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/.env.example +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/README.md +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/agent.mermaid +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/escalation_app_solution/generic-escalation-app-solution-1.0.0.zip +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/langgraph.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/main.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/pyproject.toml +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/uipath.json +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/samples/ticket-classification/uv.lock +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_runtime/_context.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_runtime/_escalation.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_runtime/_runtime.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/_utils/_graph.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/cli_init.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/cli_new.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_cli/cli_run.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_utils/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_utils/_request_mixin.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_utils/_settings.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/chat/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/chat/models.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/embeddings/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/embeddings/embeddings.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/middlewares.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/retrievers/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/tracers/_events.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/tracers/_utils.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/vectorstores/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/tests/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/tests/test_dummy.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/tests/test_langchain_client.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/tests/tracers/__init__.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/tests/tracers/test_async_uipath_tracer.py +0 -0
- {uipath_langchain-0.0.108 → uipath_langchain-0.0.110}/tests/tracers/test_instrument_traceable.py +0 -0
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: CI
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
workflow_dispatch: {}
|
|
5
4
|
push:
|
|
6
5
|
branches:
|
|
7
6
|
- main
|
|
8
|
-
|
|
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 == '
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
33
|
+
- name: Check formatting
|
|
42
34
|
run: |
|
|
43
35
|
uv run ruff format --check .
|
|
44
36
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name:
|
|
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:
|
|
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:
|
|
27
|
+
- name: Setup venv
|
|
35
28
|
run: |
|
|
36
29
|
uv venv
|
|
37
30
|
uv sync --all-extras
|
|
38
31
|
|
|
39
|
-
- name:
|
|
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.
|
|
3
|
+
Version: 0.0.110
|
|
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.
|
|
27
|
+
Requires-Dist: uipath<2.1.0,>=2.0.55
|
|
28
28
|
Provides-Extra: langchain
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
30
|
|
|
@@ -26,7 +26,7 @@ llm = ChatOpenAI(
|
|
|
26
26
|
)
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
You can simply change `ChatOpenAi` with `UiPathAzureChatOpenAI`, you don't have to provide an
|
|
29
|
+
You can simply change `ChatOpenAi` with `UiPathAzureChatOpenAI`, you don't have to provide an OpenAI token.
|
|
30
30
|
|
|
31
31
|
```python
|
|
32
32
|
from uipath_langchain.chat.models import UiPathAzureChatOpenAI
|
|
@@ -41,7 +41,7 @@ llm = UiPathAzureChatOpenAI(
|
|
|
41
41
|
)
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Currently the following models can be used with `UiPathAzureChatOpenAI` (this list can be updated in the future):
|
|
44
|
+
Currently, the following models can be used with `UiPathAzureChatOpenAI` (this list can be updated in the future):
|
|
45
45
|
|
|
46
46
|
- `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`
|
|
47
47
|
|
|
@@ -85,8 +85,9 @@ Currently the following models can be used with `UiPathChat` (this list can be u
|
|
|
85
85
|
|
|
86
86
|
- `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`
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
/// warning
|
|
90
89
|
Please note that that you may get errors related to data residency, as some models are not available on all regions.
|
|
91
90
|
|
|
92
91
|
Example: `[Enforced Region] No model configuration found for product uipath-python-sdk in EU using model anthropic.claude-3-opus-20240229-v1:0`.
|
|
92
|
+
|
|
93
|
+
///
|
|
@@ -10,8 +10,8 @@ Before proceeding, ensure you have the following installed:
|
|
|
10
10
|
|
|
11
11
|
- Python 3.10 or higher
|
|
12
12
|
- `pip` or `uv` package manager
|
|
13
|
-
- A UiPath Cloud
|
|
14
|
-
-
|
|
13
|
+
- A UiPath Automation Cloud account with appropriate permissions
|
|
14
|
+
- An Anthropic or OpenAI API key
|
|
15
15
|
|
|
16
16
|
/// info
|
|
17
17
|
|
|
@@ -20,7 +20,7 @@ Before proceeding, ensure you have the following installed:
|
|
|
20
20
|
2. **OpenAI** - Generate an OpenAI API key [here](https://platform.openai.com).
|
|
21
21
|
///
|
|
22
22
|
|
|
23
|
-
## Creating
|
|
23
|
+
## Creating a New Project
|
|
24
24
|
|
|
25
25
|
We recommend using `uv` for package management. To create a new project:
|
|
26
26
|
|
|
@@ -135,7 +135,7 @@ This command creates the following files:
|
|
|
135
135
|
| `pyproject.toml` | Project metadata and dependencies as per [PEP 518](https://peps.python.org/pep-0518/). |
|
|
136
136
|
|
|
137
137
|
|
|
138
|
-
## Initialize
|
|
138
|
+
## Initialize Project
|
|
139
139
|
|
|
140
140
|
<!-- termynal -->
|
|
141
141
|
|
|
@@ -228,18 +228,33 @@ uipath run agent '{\"topic\":\"uipath\"}'
|
|
|
228
228
|
|
|
229
229
|
///
|
|
230
230
|
|
|
231
|
-
///
|
|
231
|
+
/// attention
|
|
232
232
|
|
|
233
|
-
|
|
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
|
-
## Deploy
|
|
253
|
+
## Deploy the Agent to UiPath Automation Cloud
|
|
239
254
|
|
|
240
|
-
Follow these steps to publish and run your agent
|
|
255
|
+
Follow these steps to publish and run your agent to UiPath Automation Cloud:
|
|
241
256
|
|
|
242
|
-
### (Optional) Customize
|
|
257
|
+
### (Optional) Customize the Package
|
|
243
258
|
|
|
244
259
|
Update author details in `pyproject.toml`:
|
|
245
260
|
|
|
@@ -274,7 +289,9 @@ Authors : Your Name
|
|
|
274
289
|
💡 Use the link above to configure any environment variables
|
|
275
290
|
```
|
|
276
291
|
|
|
277
|
-
|
|
292
|
+
/// info
|
|
293
|
+
Please note that a process will be auto-created only upon publishing to **my-workspace** package feed.
|
|
294
|
+
///
|
|
278
295
|
|
|
279
296
|
Set the environment variables using the provided link:
|
|
280
297
|
|
|
@@ -288,7 +305,7 @@ Set the environment variables using the provided link:
|
|
|
288
305
|
/>
|
|
289
306
|
</picture>
|
|
290
307
|
|
|
291
|
-
## Invoke
|
|
308
|
+
## Invoke the Agent on UiPath Automation Cloud
|
|
292
309
|
|
|
293
310
|
<!-- termynal -->
|
|
294
311
|
|
|
@@ -312,8 +329,18 @@ Use the provided link to monitor your job and view detailed traces.
|
|
|
312
329
|
/>
|
|
313
330
|
</picture>
|
|
314
331
|
|
|
332
|
+
### (Optional) Invoke The Agent with a json File as Input
|
|
333
|
+
|
|
334
|
+
The `invoke` command operates similarly to the `run` command, allowing you to use the same .json file defined
|
|
335
|
+
in the [(Optional) Run the agent with a .json file as input](#optional-run-the-agent-with-a-json-file-as-input)
|
|
336
|
+
section, as agent input:
|
|
337
|
+
|
|
338
|
+
```shell
|
|
339
|
+
> uipath invoke agent --file input.json
|
|
340
|
+
```
|
|
341
|
+
|
|
315
342
|
## Next Steps
|
|
316
343
|
|
|
317
344
|
Congratulations! You have successfully set up, created, published, and run a UiPath LangChain Agent. 🚀
|
|
318
345
|
|
|
319
|
-
For more advanced agents and
|
|
346
|
+
For more advanced agents and agent samples, please refer to our [samples section](https://github.com/UiPath/uipath-langchain-python/tree/main/samples) in GitHub.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath-langchain"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.110"
|
|
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.
|
|
8
|
+
"uipath>=2.0.55, <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
|
+

|
|
89
|
+
|
|
90
|
+
|
|
91
|
+

|
|
92
|
+
2. **Create a Context Grounding Index**
|
|
93
|
+
|
|
94
|
+
Next, we'll create a Context Grounding Index
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
|
|
98
|
+
When configuring _Index General Details_, we'll select the previously created storage bucket as data source.
|
|
99
|
+
|
|
100
|
+

|
|
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
|
+

|
|
168
|
+
|
|
169
|
+
> Note: We can leave everything empty in the _input_ section.
|
|
170
|
+
|
|
171
|
+
On the _package requirements_ page click **Next**.
|
|
172
|
+
|
|
173
|
+

|
|
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
|
+

|
|
183
|
+
|
|
184
|
+

|
|
185
|
+
|
|
186
|
+

|
|
187
|
+
|
|
188
|
+
7. **Run the agents on UiPath Cloud Platform**
|
|
189
|
+
|
|
190
|
+
We can run the agent from _Processes_ page
|
|
191
|
+
|
|
192
|
+

|
|
193
|
+
|
|
194
|
+

|
|
195
|
+
|
|
196
|
+
> ℹ️ Here is how we can easily copy any folder path.
|
|
197
|
+
|
|
198
|
+

|
|
199
|
+
|
|
200
|
+
8. **Conclusions**
|
|
201
|
+
|
|
202
|
+
We can monitor our agent execution from the job info panel.
|
|
203
|
+
|
|
204
|
+

|
|
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
|
+

|
|
210
|
+
|
|
211
|
+
We can also check the storage bucket content.
|
|
212
|
+
|
|
213
|
+

|
|
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
|
+

|
|
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,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"
|