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