Skip to content

Commit e5a5b73

Browse files
committed
feat: open-ai-agents
1 parent ea4aa7a commit e5a5b73

51 files changed

Lines changed: 10039 additions & 605 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/integration_tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ permissions:
1414
jobs:
1515
discover-testcases:
1616
uses: ./.github/workflows/discover-testcases.yml
17-
1817
integration-tests:
1918
needs: [discover-testcases]
2019
runs-on: ubuntu-latest

.github/workflows/publish-dev.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ jobs:
1515
package:
1616
- name: uipath-llamaindex
1717
path: packages/uipath-llamaindex
18+
- name: uipath-openai-agents
19+
path: packages/uipath-openai-agents
1820
permissions:
1921
contents: read
2022
pull-requests: write
@@ -128,7 +130,7 @@ jobs:
128130
Write-Output "Updated PR description with development package information"
129131
130132
- name: Build package
131-
run: uv build
133+
run: uv build --package ${{ matrix.package.name }}
132134

133135
- name: Publish
134136
run: uv publish --index testpypi

.github/workflows/publish.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
matrix:
2626
package:
2727
- uipath-llamaindex
28+
- uipath-openai-agents
2829

2930
needs:
3031
- lint
@@ -53,7 +54,7 @@ jobs:
5354
run: uv sync --all-extras
5455

5556
- name: Build
56-
run: uv build
57+
run: uv build --package ${{ matrix.package }}
5758

5859
- name: Upload artifacts
5960
uses: actions/upload-artifact@v4
@@ -69,6 +70,7 @@ jobs:
6970
matrix:
7071
package:
7172
- uipath-llamaindex
73+
- uipath-openai-agents
7274

7375
needs:
7476
- build

README.md

Lines changed: 55 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1-
# UiPath LlamaIndex Python SDK
1+
# UiPath AI Agent Runtimes for Python
2+
3+
A collection of Python SDKs that enable developers to build and deploy AI agents to the UiPath Cloud Platform using different agent frameworks. These packages provide programmatic interaction with UiPath Cloud Platform services and human-in-the-loop (HITL) semantics through Action Center integration.
4+
5+
All packages are extensions to the [UiPath Python SDK](https://github.com/UiPath/uipath-python) and implement the [UiPath Runtime Protocol](https://github.com/UiPath/uipath-runtime-python).
6+
7+
## Available Packages
8+
9+
### UiPath LlamaIndex
210

311
[![PyPI - Version](https://img.shields.io/pypi/v/uipath-llamaindex)](https://pypi.org/project/uipath-llamaindex/)
412
[![PyPI downloads](https://img.shields.io/pypi/dm/uipath-llamaindex.svg)](https://pypi.org/project/uipath-llamaindex/)
5-
[![Python versions](https://img.shields.io/pypi/pyversions/uipath-llamaindex.svg)](https://pypi.org/project/uipath-llamaindex/)
613

7-
A Python SDK that enables developers to build and deploy LlamaIndex agents to the UiPath Cloud Platform. It provides programmatic interaction with UiPath Cloud Platform services and human-in-the-loop (HITL) semantics through Action Center integration.
14+
Build agents using the [LlamaIndex](https://www.llamaindex.ai/) framework with support for RAG, multiple LLM providers, and state persistence.
815

9-
This package is an extension to the [UiPath Python SDK](https://github.com/UiPath/uipath-python) and implements the [UiPath Runtime Protocol](https://github.com/UiPath/uipath-runtime-python).
16+
- **Installation**: `pip install uipath-llamaindex`
17+
- **Documentation**: [packages/uipath-llamaindex/](packages/uipath-llamaindex/)
18+
- **Samples**: [packages/uipath-llamaindex/samples/](packages/uipath-llamaindex/samples/)
1019

1120
Check out these [sample projects](https://github.com/UiPath/uipath-integrations-python/tree/main/packages/uipath-llamaindex/samples) to see the SDK in action.
1221

@@ -15,111 +24,75 @@ Check out these [sample projects](https://github.com/UiPath/uipath-integrations-
1524
- Python 3.11 or higher
1625
- UiPath Automation Cloud account
1726

18-
## Installation
27+
## Quick Start
1928

20-
```bash
21-
pip install uipath-llamaindex
22-
```
29+
Choose the agent framework that best fits your needs and follow the installation instructions for that package:
2330

24-
using `uv`:
31+
- **LlamaIndex**: For RAG applications and stateful workflows → See [LlamaIndex documentation](packages/uipath-llamaindex/)
32+
- **OpenAI Agents**: For multi-agent systems → See [OpenAI Agents documentation](packages/uipath-openai-agents/)
2533

26-
```bash
27-
uv add uipath-llamaindex
28-
```
34+
## Documentation
2935

30-
## Configuration
36+
- [Quick Start Guide](docs/quick_start.md)
37+
- [LlamaIndex Package Documentation](packages/uipath-llamaindex/)
38+
- [OpenAI Agents Package Documentation](packages/uipath-openai-agents/)
39+
- [Sample Projects](packages/uipath-llamaindex/samples/)
3140

32-
### Environment Variables
41+
## Monorepo Structure
3342

34-
Create a `.env` file in your project root with the following variables:
43+
This repository is organized as a UV workspace with multiple packages:
3544

3645
```
37-
UIPATH_URL=https://cloud.uipath.com/ACCOUNT_NAME/TENANT_NAME
38-
UIPATH_ACCESS_TOKEN=YOUR_TOKEN_HERE
46+
uipath-llamaindex-python/
47+
├── packages/
48+
│ ├── uipath-llamaindex/ # LlamaIndex runtime
49+
│ └── uipath-openai-agents/ # OpenAI Agents runtime
50+
├── docs/ # Shared documentation
51+
└── pyproject.toml # Workspace configuration
3952
```
4053

41-
## Command Line Interface (CLI)
42-
43-
The SDK provides a command-line interface for creating, packaging, and deploying LlamaIndex Agents:
44-
45-
### Initialize a Project
46-
47-
```bash
48-
uipath init
49-
```
50-
51-
Running `uipath init` will process the workflow definitions in the `llama_index.json` file and create the corresponding `entry-points.json` file needed for deployment.
52-
53-
For more details on the configuration format, see the [UiPath configuration specifications](https://github.com/UiPath/uipath-python/blob/main/specs/README.md).
54-
55-
### Authentication
56-
57-
```bash
58-
uipath auth
59-
```
60-
61-
This command opens a browser for authentication and creates/updates your `.env` file with the proper credentials.
62-
63-
### Debug a Project
64-
65-
```bash
66-
uipath run WORKFLOW [INPUT]
67-
```
54+
## Development
6855

69-
Executes the agent with the provided JSON input arguments.
56+
### Setting Up a Development Environment
7057

71-
### Package a Project
58+
This repository uses [UV](https://docs.astral.sh/uv/) for workspace management:
7259

7360
```bash
74-
uipath pack
75-
```
76-
77-
Packages your project into a `.nupkg` file that can be deployed to UiPath.
78-
79-
**Note:** Your `pyproject.toml` must include:
61+
# Install UV
62+
curl -LsSf https://astral.sh/uv/install.sh | sh
8063

81-
- A description field (avoid characters: &, <, >, ", ', ;)
82-
- Author information
64+
# Clone the repository
65+
git clone https://github.com/UiPath/uipath-llamaindex-python.git
66+
cd uipath-llamaindex-python
8367

84-
Example:
85-
86-
```toml
87-
description = "Your package description"
88-
authors = [{name = "Your Name", email = "your.email@example.com"}]
89-
```
68+
# Install all dependencies
69+
uv sync --all-extras
9070

91-
### Publish a Package
71+
# Run tests for all packages
72+
uv run pytest
9273

93-
```bash
94-
uipath publish
74+
# Build a specific package
75+
uv build --package uipath-llamaindex
76+
uv build --package uipath-openai-agents
9577
```
9678

97-
Publishes the most recently created package to your UiPath Orchestrator.
98-
99-
## Project Structure
100-
101-
To properly use the CLI for packaging and publishing, your project should include:
102-
103-
- A `pyproject.toml` file with project metadata
104-
- A `llama_index.json` file with your workflow definitions (e.g., `"workflows": {"agent": "main.py:agent"}`)
105-
- A `entry-points.json` file (generated by `uipath init`)
106-
- A `bindings.json` file (generated by `uipath init`) to configure resource overrides
107-
- Any Python files needed for your automation
108-
109-
## Development
110-
11179
### Developer Tools
11280

11381
Check out [uipath-dev](https://github.com/uipath/uipath-dev-python) - an interactive terminal application for building, testing, and debugging UiPath Python runtimes, agents, and automation scripts.
11482

115-
### Setting Up a Development Environment
83+
### Contributing
11684

11785
Please read our [contribution guidelines](https://github.com/UiPath/uipath-integrations-python/packages/uipath-llamaindex/blob/main/CONTRIBUTING.md) before submitting a pull request.
11886

119-
### Special Thanks
87+
## Special Thanks
12088

12189
A huge thank-you to the open-source community and the maintainers of the libraries that make this project possible:
12290

123-
- [LlamaIndex](https://github.com/run-llama/llama_index) for providing a powerful framework for building stateful LLM applications.
124-
- [OpenInference](https://github.com/Arize-ai/openinference) for observability and instrumentation support.
125-
- [Pydantic](https://github.com/pydantic/pydantic) for reliable, typed configuration and validation.
91+
- [LlamaIndex](https://github.com/run-llama/llama_index) for providing a powerful framework for building stateful LLM applications
92+
- [OpenAI](https://github.com/openai) for the Agents framework and APIs
93+
- [OpenInference](https://github.com/Arize-ai/openinference) for observability and instrumentation support
94+
- [Pydantic](https://github.com/pydantic/pydantic) for reliable, typed configuration and validation
95+
96+
## License
97+
98+
See [LICENSE](LICENSE) for details.

0 commit comments

Comments
 (0)