Run a local AI agent with Ollama to visualize CPU orchestration on Arm
Introduction
Understand the agent and how work is split between CPU and GPU
Set up your environment before running the agent
Serve a model locally with Ollama
Understand the concierge agent code
Run the agent and read the timeline
Understand the CPU's role in the agentic workflow
Next Steps
Run a local AI agent with Ollama to visualize CPU orchestration on Arm
Install and configure prerequisites for the agent
Prepare the following before running the agent: a Serper API key for web search, a Python virtual environment, the required packages, and the agent script.
These steps are identical on an Apple silicon MacBook, an Arm Linux machine, and an NVIDIA DGX Spark.
Create a project directory and virtual environment
A virtual environment keeps the agent’s dependencies isolated from your system Python, so you always run against the right package versions.
Create and enter a project directory:
mkdir concierge-agent
cd concierge-agent
Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
Your shell prompt will now show (.venv), which confirms the environment is active.
Install the required packages
The agent uses requests for HTTP calls and beautifulsoup4 to parse web pages.
Install the two packages:
pip install requests beautifulsoup4
Set your Serper API key
The agent searches the web through Serper , a Google Search API. The free tier is enough to complete this Learning Path.
Go to serper.dev and create a free account.
After logging in, you’ll see the dashboard. On the left, select API Keys.
Copy the Default key.
Export your API key as an environment variable in the same terminal session as your virtual environment:
export SERPER_API_KEY="your-serper-api-key"
This variable only lasts for the current terminal session. To keep it across sessions, add the same line to your shell profile, for example ~/.zshrc on macOS or ~/.bashrc on Linux.
Download the agent script
Download the complete agent script concierge_agent.py, and move it into your concierge-agent directory.
Alternatively, download it directly from the command line:
curl -O https://raw.githubusercontent.com/ArmDeveloperEcosystem/arm-learning-paths/main/content/learning-paths/cross-platform/ai-agent-cpu-orchestration/concierge_agent.py
Confirm the file is in your project directory:
ls concierge_agent.py
What you’ve accomplished and what’s next
You’ve now obtained and set a Serper API key, created a virtual environment, and downloaded the agent script.
Next, you’ll serve the model locally with Ollama.