This morning, news broke that over 1,000 Amazon employees signed an open letter protesting the company’s “warp-speed” AI strategy, citing concerns over environmental impact and the “all-costs-justified” approach to data centers.
This has sparked a massive conversation today: Is it possible to use powerful AI without feeding the Big Tech machine?
The answer is yes. And itโs easier than you think.
In late 2025, open-source models like Metaโs Llama 3.1 have become so efficient that they can run on a standard laptop with zero internet connection. In this tutorial, we will build a Private Research Agent that reads websites and summarizes them for youโwithout sending a single byte of data to Amazon, Google, or OpenAI.
The Stack: Ollama + Python
We are using Ollama, which has become the “Docker for AI.” It drastically simplifies running local models.
Step 1: Install Ollama & Pull the Model
- Download: Go to ollama.com and download the installer for your OS (Mac/Windows/Linux).
- The Command: Open your terminal (Command Prompt) and type:Bash
ollama run llama3.1- What happens: It will download the 8B parameter model (approx 4.7 GB). This fits comfortably on most laptops with 8GB+ RAM.
- Once the
>>>prompt appears, you can chat with it offline. Type/byeto exit.
Step 2: Building the “Research Agent”
We don’t just want a chatbot; we want an Agent that can do work. We will write a simple Python script that visits a URL, reads the content, and uses Llama 3.1 to summarize it locally.
Prerequisites: You need Python installed. Then install the libraries:
Bash
pip install ollama requests beautifulsoup4
The Code (agent.py): Create a new file named agent.py and paste this code:
Python
import requests
from bs4 import BeautifulSoup
import ollama
def fetch_article(url):
"""Scrapes text from a given URL so the AI can read it."""
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
# Extract text from paragraphs
text = ' '.join([p.get_text() for p in soup.find_all('p')])
return text[:6000] # Limit to ~6k chars to fit context window
def analyze_offline(text):
"""Sends the text to your LOCAL Llama 3.1 model."""
print("Thinking locally (no data sent to cloud)...")
response = ollama.chat(model='llama3.1', messages=[
{
'role': 'system',
'content': 'You are a Private Research Agent. Summarize the following article in 3 distinct bullet points. Focus on the main argument and any controversy mentioned.'
},
{
'role': 'user',
'content': f"Here is the article text: \n\n {text}"
},
])
return response['message']['content']
# --- Main Execution ---
if __name__ == "__main__":
target_url = input("Enter a URL to analyze: ")
try:
print(f"Reading {target_url}...")
article_content = fetch_article(target_url)
summary = analyze_offline(article_content)
print("\n=== PRIVATE AGENT REPORT ===")
print(summary)
print("============================")
except Exception as e:
print(f"Error: {e}")
Step 3: Running Your Private Agent
- Keep Ollama running in the background.
- Run your script:Bash
python agent.py - Paste a link (e.g., a news article about the Amazon protests).
The Result: You will see your terminal say “Thinking locally…”. At this moment, your computerโs fan might spin up. That is the sound of freedom. Your CPU/GPU is crunching the probability vectors itself. No API key was used. No data left your Wi-Fi.
Why This Matters Today
The “Open Letter” from Amazon employees highlights a fear that our reliance on cloud AI is unsustainable and ethically compromised.
By building tools like this agent.py, you prove that AI can be a personal utility, not just a corporate service. You own the hardware, you own the model, and most importantly, you own the data.