AgentIQ is a flexible library designed to seamlessly integrate your enterprise agents—regardless of framework—with various data sources and tools. By treating agents, tools, and agentic workflows as simple function calls, AgentIQ enables true composability: build once and reuse anywhere.
- Framework Agnostic: Works with any agentic framework, so you can use your current technology stack without replatforming.
- Reusability: Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
- Rapid Development: Start with a pre-built agent, tool, or workflow, and customize it to your needs.
- Profiling: Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
- Observability: Monitor and debug your workflows with any OpenTelemetry-compatible observability tool.
- Evaluation System: Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
- User Interface: Use the AgentIQ UI chat interface to interact with your agents, visualize output, and debug workflows.
- MCP Compatibility Compatible with Model Context Protocol (MCP), allowing tools served by MCP Servers to be used as AgentIQ functions.
With AgentIQ, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
- Documentation: Explore the full documentation for AgentIQ.
- About AgentIQ: Learn more about the benefits of using AgentIQ.
- Get Started Guide: Set up your environment and start building with AgentIQ.
- Examples: Explore examples of AgentIQ workflows.
- Create and Customize AgentIQ Workflows: Learn how to create and customize AgentIQ workflows.
- Evaluate with AgentIQ: Learn how to evaluate your AgentIQ workflows.
- Troubleshooting: Get help with common issues.
Before you begin using AgentIQ, ensure that you meet the following software prerequisites.
- Install Git
- Install Git Large File Storage (LFS)
- Install uv
-
Clone the AgentIQ repository to your local machine.
git clone [email protected]:NVIDIA/AgentIQ.git agentiq cd agentiq
-
Initialize, fetch, and update submodules in the Git repository.
git submodule update --init --recursive
-
Fetch the data sets by downloading the LFS files.
git lfs install git lfs fetch git lfs pull
-
Create a Python environment.
uv venv --seed .venv source .venv/bin/activate
-
Install the AgentIQ library. To install the AgentIQ library along with all of the optional dependencies. Including developer tools (
--all-groups
) and all of the dependencies needed for profiling and plugins (--all-extras
) in the source repository, run the following:uv sync --all-groups --all-extras
Alternatively to install just the core AgentIQ without any plugins, run the following:
uv sync
At this point individual plugins, which are located under the
packages
directory, can be installed with the following commanduv pip install -e '.[<plugin_name>]'
. For example, to install thelangchain
plugin, run the following:uv pip install -e '.[langchain]'
[!NOTE] Many of the example workflows require plugins, and following the documented steps in one of these examples will in turn install the necessary plugins. For example following the steps in the
examples/simple/README.md
guide will install theagentiq-langchain
plugin if you haven't already done so.In addition to plugins, there are optional dependencies needed for profiling. To install these dependencies, run the following:
uv pip install -e .[profiling]
-
Verify the installation using the AgentIQ CLI
aiq --version
This should output the AgentIQ version which is currently installed.
-
Ensure you have set the
NVIDIA_API_KEY
environment variable to allow the example to use NVIDIA NIMs. An API key can be obtained by visitingbuild.nvidia.com
and creating an account.export NVIDIA_API_KEY=<your_api_key>
-
Create the AgentIQ workflow configuration file. This file will define the agents, tools, and workflows that will be used in the example. Save the following as
workflow.yaml
:functions: # Add a tool to search wikipedia wikipedia_search: _type: wiki_search max_results: 2 llms: # Tell AgentIQ which LLM to use for the agent nim_llm: _type: nim model_name: meta/llama-3.1-70b-instruct temperature: 0.0 workflow: # Use an agent that 'reasons' and 'acts' _type: react_agent # Give it access to our wikipedia search tool tool_names: [wikipedia_search] # Tell it which LLM to use llm_name: nim_llm # Make it verbose verbose: true # Retry parsing errors because LLMs are non-deterministic retry_parsing_errors: true # Retry up to 3 times max_retries: 3
-
Run the Hello World example using the
aiq
CLI and theworkflow.yaml
file.aiq run --config_file workflow.yaml --input "List five subspecies of Aardvarks"
This will run the workflow and output the results to the console.
Workflow Result: ['Here are five subspecies of Aardvarks:\n\n1. Orycteropus afer afer (Southern aardvark)\n2. O. a. adametzi Grote, 1921 (Western aardvark)\n3. O. a. aethiopicus Sundevall, 1843\n4. O. a. angolensis Zukowsky & Haltenorth, 1957\n5. O. a. erikssoni Lönnberg, 1906']
We would love to hear from you! Please file an issue on GitHub if you have any feedback or feature requests.
We would like to thank the following open source projects that made AgentIQ possible: