|
1 | | -# UiPath LlamaIndex Python SDK |
| 1 | +# UiPath AI Agent Runtimes for Python |
2 | 2 |
|
3 | | -[](https://pypi.org/project/uipath-llamaindex/) |
4 | | -[](https://pypi.org/project/uipath-llamaindex/) |
5 | | -[](https://pypi.org/project/uipath-llamaindex/) |
6 | | - |
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. |
| 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. |
8 | 4 |
|
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). |
| 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). |
10 | 6 |
|
11 | | -Check out these [sample projects](https://github.com/UiPath/uipath-llamaindex-python/tree/main/samples) to see the SDK in action. |
| 7 | +## Available Packages |
12 | 8 |
|
13 | | -## Requirements |
14 | | - |
15 | | -- Python 3.11 or higher |
16 | | -- UiPath Automation Cloud account |
17 | | - |
18 | | -## Installation |
19 | | - |
20 | | -```bash |
21 | | -pip install uipath-llamaindex |
22 | | -``` |
| 9 | +### UiPath LlamaIndex |
23 | 10 |
|
24 | | -using `uv`: |
| 11 | +[](https://pypi.org/project/uipath-llamaindex/) |
| 12 | +[](https://pypi.org/project/uipath-llamaindex/) |
25 | 13 |
|
26 | | -```bash |
27 | | -uv add uipath-llamaindex |
28 | | -``` |
| 14 | +Build agents using the [LlamaIndex](https://www.llamaindex.ai/) framework with support for RAG, multiple LLM providers, and state persistence. |
29 | 15 |
|
30 | | -## Configuration |
| 16 | +- **Installation**: `pip install uipath-llamaindex` |
| 17 | +- **Documentation**: [packages/uipath-llamaindex/](packages/uipath-llamaindex/) |
| 18 | +- **Samples**: [packages/uipath-llamaindex/samples/](packages/uipath-llamaindex/samples/) |
31 | 19 |
|
32 | | -### Environment Variables |
| 20 | +### UiPath OpenAI Agents |
33 | 21 |
|
34 | | -Create a `.env` file in your project root with the following variables: |
| 22 | +[](https://pypi.org/project/uipath-openai-agents/) |
35 | 23 |
|
36 | | -``` |
37 | | -UIPATH_URL=https://cloud.uipath.com/ACCOUNT_NAME/TENANT_NAME |
38 | | -UIPATH_ACCESS_TOKEN=YOUR_TOKEN_HERE |
39 | | -``` |
| 24 | +Build agents using [OpenAI's native Agents framework](https://platform.openai.com/docs/agents) for multi-agent coordination. |
40 | 25 |
|
41 | | -## Command Line Interface (CLI) |
| 26 | +- **Installation**: `pip install uipath-openai-agents` |
| 27 | +- **Documentation**: [packages/uipath-openai-agents/](packages/uipath-openai-agents/) |
| 28 | +- **Status**: ⚠️ Early development (v0.1.0) |
42 | 29 |
|
43 | | -The SDK provides a command-line interface for creating, packaging, and deploying LlamaIndex Agents: |
| 30 | +## Requirements |
44 | 31 |
|
45 | | -### Initialize a Project |
| 32 | +- Python 3.11 or higher |
| 33 | +- UiPath Automation Cloud account |
46 | 34 |
|
47 | | -```bash |
48 | | -uipath init |
49 | | -``` |
| 35 | +## Quick Start |
50 | 36 |
|
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. |
| 37 | +Choose the agent framework that best fits your needs and follow the installation instructions for that package: |
52 | 38 |
|
53 | | -For more details on the configuration format, see the [UiPath configuration specifications](https://github.com/UiPath/uipath-python/blob/main/specs/README.md). |
| 39 | +- **LlamaIndex**: For RAG applications and stateful workflows → See [LlamaIndex documentation](packages/uipath-llamaindex/) |
| 40 | +- **OpenAI Agents**: For multi-agent systems → See [OpenAI Agents documentation](packages/uipath-openai-agents/) |
54 | 41 |
|
55 | | -### Authentication |
| 42 | +## Documentation |
56 | 43 |
|
57 | | -```bash |
58 | | -uipath auth |
59 | | -``` |
| 44 | +- [Quick Start Guide](docs/quick_start.md) |
| 45 | +- [LlamaIndex Package Documentation](packages/uipath-llamaindex/) |
| 46 | +- [OpenAI Agents Package Documentation](packages/uipath-openai-agents/) |
| 47 | +- [Sample Projects](packages/uipath-llamaindex/samples/) |
60 | 48 |
|
61 | | -This command opens a browser for authentication and creates/updates your `.env` file with the proper credentials. |
| 49 | +## Monorepo Structure |
62 | 50 |
|
63 | | -### Debug a Project |
| 51 | +This repository is organized as a UV workspace with multiple packages: |
64 | 52 |
|
65 | | -```bash |
66 | | -uipath run WORKFLOW [INPUT] |
67 | 53 | ``` |
68 | | - |
69 | | -Executes the agent with the provided JSON input arguments. |
70 | | - |
71 | | -### Package a Project |
72 | | - |
73 | | -```bash |
74 | | -uipath pack |
| 54 | +uipath-llamaindex-python/ |
| 55 | +├── packages/ |
| 56 | +│ ├── uipath-llamaindex/ # LlamaIndex runtime |
| 57 | +│ └── uipath-openai-agents/ # OpenAI Agents runtime |
| 58 | +├── docs/ # Shared documentation |
| 59 | +└── pyproject.toml # Workspace configuration |
75 | 60 | ``` |
76 | 61 |
|
77 | | -Packages your project into a `.nupkg` file that can be deployed to UiPath. |
78 | | - |
79 | | -**Note:** Your `pyproject.toml` must include: |
80 | | - |
81 | | -- A description field (avoid characters: &, <, >, ", ', ;) |
82 | | -- Author information |
83 | | - |
84 | | -Example: |
| 62 | +## Development |
85 | 63 |
|
86 | | -```toml |
87 | | -description = "Your package description" |
88 | | -authors = [{name = "Your Name", email = "your.email@example.com"}] |
89 | | -``` |
| 64 | +### Setting Up a Development Environment |
90 | 65 |
|
91 | | -### Publish a Package |
| 66 | +This repository uses [UV](https://docs.astral.sh/uv/) for workspace management: |
92 | 67 |
|
93 | 68 | ```bash |
94 | | -uipath publish |
95 | | -``` |
96 | | - |
97 | | -Publishes the most recently created package to your UiPath Orchestrator. |
| 69 | +# Install UV |
| 70 | +curl -LsSf https://astral.sh/uv/install.sh | sh |
98 | 71 |
|
99 | | -## Project Structure |
| 72 | +# Clone the repository |
| 73 | +git clone https://github.com/UiPath/uipath-llamaindex-python.git |
| 74 | +cd uipath-llamaindex-python |
100 | 75 |
|
101 | | -To properly use the CLI for packaging and publishing, your project should include: |
| 76 | +# Install all dependencies |
| 77 | +uv sync --all-extras |
102 | 78 |
|
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 |
| 79 | +# Run tests for all packages |
| 80 | +uv run pytest |
108 | 81 |
|
109 | | -## Development |
| 82 | +# Build a specific package |
| 83 | +uv build --package uipath-llamaindex |
| 84 | +uv build --package uipath-openai-agents |
| 85 | +``` |
110 | 86 |
|
111 | 87 | ### Developer Tools |
112 | 88 |
|
113 | 89 | 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. |
114 | 90 |
|
115 | | -### Setting Up a Development Environment |
| 91 | +### Contributing |
116 | 92 |
|
117 | | -Please read our [contribution guidelines](https://github.com/UiPath/uipath-llamaindex-python/blob/main/CONTRIBUTING.md) before submitting a pull request. |
| 93 | +Please read our [contribution guidelines](CONTRIBUTING.md) before submitting a pull request. |
118 | 94 |
|
119 | | -### Special Thanks |
| 95 | +## Special Thanks |
120 | 96 |
|
121 | 97 | A huge thank-you to the open-source community and the maintainers of the libraries that make this project possible: |
122 | 98 |
|
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. |
| 99 | +- [LlamaIndex](https://github.com/run-llama/llama_index) for providing a powerful framework for building stateful LLM applications |
| 100 | +- [OpenAI](https://github.com/openai) for the Agents framework and APIs |
| 101 | +- [OpenInference](https://github.com/Arize-ai/openinference) for observability and instrumentation support |
| 102 | +- [Pydantic](https://github.com/pydantic/pydantic) for reliable, typed configuration and validation |
| 103 | + |
| 104 | +## License |
| 105 | + |
| 106 | +See [LICENSE](LICENSE) for details. |
0 commit comments