You can run a Strands Agent against a model served locally by Ollama, without sending inference to Amazon Bedrock. The documented Python setup connects to Ollama at http://localhost:11434 and passes an OllamaModel to Agent. That is a local-provider setup, not a model-routing policy: Strands also accepts a ModelRouter, but the available API documentation does not provide enough detail to reproduce a specific routing strategy.
Run a Strands Agent with local Ollama
Strands Agents runs in your application’s process. Although Amazon Bedrock is its default model provider, the Python SDK supports selecting Ollama instead. The Strands quickstart documents this local endpoint and uses llama3.1 as an example model ID; that example is not a universal recommendation. See the Strands quickstart.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
MINISFORUM MS-02 Ultra Workstation Mini PC, Intel Core Ultra 9 285HX (24C/24T, up to 5.5GHz), PCIe... | $1,659.00 | Buy on Amazon |
| 2 |
|
GMKtec EVO-X2 AI Mini PC Ryzen Al Max+ 395 Superchip 128GB LPDDR5X 2TB SSD | $3,649.99 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
Install Ollama, make sure its local service is running, and make the model you plan to use available to it. An AWS sample demonstrates installing the Ollama integration extra and pulling a tool-capable model before creating the agent. Its example command is:
Recommended Free Tools
pip install 'strands-agents[ollama]'
Then, using a model ID available in your Ollama installation, create the model and agent:
#1 Best Overall
- High-Performance AI Processor:The MS-02 Ultra features an Intel Core Ultra 9 285HX (24C/24T, up to 5.5 GHz, 13 TOPS NPU), delivering fast and efficient performance for AI inference, algorithm development, and media workloads. A PCIe x16 expansion slot supports desktop-class GPU upgrades for advanced model training and accelerated computing tasks. It's ideal for creators, engineers, and teams handling intensive parallel workloads.
- 4 × M.2 PCIe 4.0 + 4 × DDR5 SODIMM slots:Four DDR5 SODIMM slots support up to 256 GB of memory, while ECC helps maintain data integrity in mission-critical environments. Four PCIe 4.0 M.2 slots support up to 24 TB of storage, supporting RAID 0/1/5/10, combining high-speed performance with data protection. It allows for the creation of independent scratch disks, media libraries, and project drives, providing high-throughput for production workflows.
- PCIe & USB 4.0 v2: Up to three PCIe slots can be equipped, including a dual-slot x16 GPU. The main slot supports PCIe 5.0, meeting the needs of high-bandwidth creative and computing workloads. USB 4.0 v2 (80Gbps) supports high-bandwidth external storage and displays.
- Ultra-fast Networking: Wi-Fi 7 further enhances wireless performance with next-generation speeds and low-latency stability. Intelligent bandwidth switching optimizes throughput in different network environments, ensuring optimal performance for enterprise or local networks. Dual 25GbE ports (providing up to approximately 3.125 GB/s bandwidth, about 25 times faster than traditional 1GbE), enabling seamless large-scale file transfers and parallel computing. 10GbE and 2.5GbE ports, with support for Intel vPro technology, ensure enterprise-grade remote management and deployment flexibility.
- Server-grade thermal architecture: Utilizing a dedicated CPU/GPU airflow design, equipped with a 6-pipe dual-fan cooler, it maintains stable performance even under sustained loads, delivering up to 140W Turbo power while maintaining a 100W TDP, and operating with noise levels as low as 36 dB. An integrated 350W power supply ensures stable and reliable output for demanding computing tasks and fully loaded extended configurations.
from strands import Agent
from strands.models.ollama import OllamaModel
model = OllamaModel(host="http://localhost:11434", model_id="llama3.1")
agent = Agent(model=model)
print(agent("Give me a short greeting"))
The host and model ID match the quickstart example. If you use a different Ollama model, set model_id to the ID you have installed. The AWS Strands workshop sample shows the broader install-and-pull workflow.
What “local” means—and whether you need AWS credentials
With OllamaModel configured for a local Ollama host, Strands sends model requests to that endpoint rather than using its default Bedrock provider. The Strands SDK overview describes Ollama as an alternative provider, and an AWS sample demonstrates local Ollama without AWS credentials. You therefore do not need an AWS account merely to run this local-provider example; credentials are relevant if you retain the Bedrock default or use other AWS services in your application. See the Strands SDK overview and the AWS Strands workshop course.
“Local” here describes where the model endpoint runs, not a blanket guarantee about every part of an application’s data flow. Your code may separately call tools, APIs, or other services. Review those integrations and their destinations independently.
Local provider setup is not model routing
Passing an OllamaModel to Agent selects that provider and model for the agent. It does not, by itself, inspect a request’s intent and choose among models. Routing generally means application logic choosing between multiple candidate models or providers according to some policy.
Rank #2
- EVOLUTION RYZEN AI MAX+ 395 MINI PC - GMKtec EVO-X2 is the next evolution in AI mini PC Ryzen Strix Halo series. Thanks to AMD Simultaneous Multithreading (SMT) the core-count is effectively doubled, to 32 threads. Ryzen AI Max+ 395 has 64 MB of L3 cache and can boost up to 5.1 GHz, depending on the workload. The Ryzen AI Max+ 395 is currently rated as the "most powerful x86 APU" on the market for AI computing.
- AI NPU with XDNA 2 ARCHITECTURE - Powered by 16 “Zen 5” CPU cores, 50+ peak AI TOPS XDNA 2 NPU and a truly massive integrated GPU driven by 40 AMD RDNA 3.5 CUs, the Ryzen AI MAX+ 395 is a transformative upgrade and delivers a significant performance boost over the competition. The Ryzen AI Max+ 395 excels in consumer AI workloads like the llama.cpp-powered application: LM Studio. Shaping up to be the must-have app for client LLM workloads, LM Studio allows users to locally run the latest language model without any technical knowledge required and unleash their creativity and productivity.
- AMD RADEON 8090S iGPU GAMING PC - The AMD Radeon RX 8060S offers all 40 CUs with up to 2.9 GHz graphics clock and uses the new RDNA 3.5 architecture. The powerful iGPU is positioned between an RTX 4060 and 4070 laptop GPU and therefore enables gaming in FHD at maximum details in most demanding games. The 8060S can also utilize the full 128GB pool, which is perfect for running LLMs such as Deepseek 70B Q8, which runs comfortably on this machine.
- EIGHT CHANNEL LPDDR5X - LPDDR5X is a new ground breaking memory small form factor installed on-board. With blazing speeds up to to 8000MT/s, it runs 1.5x faster than the DDR5 SODIMMs; 90% better performance over DDR5 SODIMMs in video conferencing and photo editing; 30% better performance in productivity apps; 12% better performance in digital content workloads.
- QUAD SCREEN 8K DISPLAY SUPPORT - EVO-X2 AI Mini PC support 4-screen 4K/8K output via HDMI 2.1 (8K@60Hz), DisplayPort 1.4 (4K@60Hz), and dual USB 4 40Gbps Transfer speed (supporting PD3.0/DP1.4/DATA). Ideal for gaming, video editing, and multitasking, it provides expansive and crisp multi-display support.
The Strands Agent constructor API accepts a ModelRouter as its model argument and says that the first candidate is resolved to a concrete model exposed as agent.model. The API excerpt does not specify how to declare candidates, define selection criteria, configure fallbacks, or combine a router with Ollama. Consult the Agent constructor API for the API surface, but do not treat the local Ollama example above as a router implementation.
To build a routing policy, first establish a version-specific Strands example for candidate configuration and selection behavior. Then test that policy with the providers you intend to use, including the local Ollama endpoint if it is one of them. The cited material does not support a ready-to-run combined router-and-Ollama code sample.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Python support, model fit, and operational limits
The Ollama integration described here is for the Strands Python SDK. The quickstart marks Ollama unavailable in the TypeScript SDK, so do not assume the same provider configuration works in TypeScript. Check the quickstart’s provider availability for the SDK you are using.
Model choice affects whether the setup suits your machine and whether it performs well for your tasks. The cited examples do not establish minimum RAM, GPU or VRAM requirements, speed benchmarks, comparative quality, or tool-use results across models. Validate the Ollama model you choose on your own hardware and test its tool behavior for your application. The Ollama project provides current information about running its models.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




