I built a small LLM briefing agent that reads a raw dump of headlines and release notes, then returns a ranked, developer-focused summary. It runs entirely on Oxlo.ai's flat per-request pricing, so the cost stays fixed even when I feed it a long context window full of articles. If you are tired of scrolling through Twitter or Hacker News to find what actually matters, this agent does the filtering for you.
What you'll need
- Python 3.10 or newer.
- An Oxlo.ai API key from https://portal.oxlo.ai.
- The OpenAI SDK:
pip install openai.
Step 1: Configure the Oxlo.ai client
First, import the OpenAI SDK and point it at Oxlo.ai. I keep my key in an environment variable so it does not end up in git.
from openai import OpenAI
# In production, load this from an environment variable.
client = OpenAI(base_url="https://api.oxlo.ai/v1", api_key="YOUR_OXLO_API_KEY")
Step 2: Prepare a raw feed
To keep the tutorial reproducible without external API keys, I will use a hardcoded string that mimics a scraped feed. In production you would replace this with live RSS or ArXiv abstracts.
RAW_FEED = """
[1] Google releases Gemini 2.5 Pro with 1M token context and native audio output.
[2] Oxlo.ai adds DeepSeek V4 Flash and Kimi K2.6 to its request-based inference platform.
[3] New MIT paper shows that smaller models can match LLaMA 3 70B with test-time compute scaling.
[4] OpenAI updates GPT-4.5 with improved hallucination metrics but keeps token-based pricing.
[5] Mistral ships Codestral 22B, a dedicated code model with fill-in-the-middle support.
"""
Step 3: Define the system prompt
The system prompt is the only logic we need. It tells the model to act as a curator, drop marketing fluff, and highlight what affects inference cost or API behavior.
SYSTEM_PROMPT = """
You are a senior ML engineer summarizing LLM news for other engineers.
Rules:
- Read the raw feed items below.
- Output a markdown list of the top 3 items most relevant to production AI developers.
- For each item, write a one-sentence summary and a one-sentence "Why it matters".
- Ignore product launch hype unless it changes pricing, context length, or API compatibility.
- Keep the total output under 150 words.
"""
Step 4: Send the feed to Oxlo.ai
Now we pass the feed as the user message and call Llama 3.3 70B through Oxlo.ai. Because Oxlo.ai uses flat per-request pricing, detailed at https://oxlo.ai/pricing, I can stuff the entire feed into context without watching the meter run on input tokens.
from openai import OpenAI
client = OpenAI(base_url="https://api.oxlo.ai/v1", api_key="YOUR_OXLO_API_KEY")
user_message = f"Here is the raw feed:\n{RAW_FEED}"
response = client.chat.completions.create(
model="llama-3.3-70b",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": user_message},
],
)
briefing = response.choices[0].message.content
print(briefing)
Step 5: Wrap it in a reusable script
I will add a small CLI so we can pipe any text file into the agent. This makes it easy to cron the job against a daily scrape.
import argparse
from openai import OpenAI
client = OpenAI(base_url="https://api.oxlo.ai/v1", api_key="YOUR_OXLO_API_KEY")
SYSTEM_PROMPT = """
You are a senior ML engineer summarizing LLM news for other engineers.
Rules:
- Read the raw feed items below.
- Output a markdown list of the top 3 items most relevant to production AI developers.
- For each item, write a one-sentence summary and a one-sentence "Why it matters".
- Ignore product launch hype unless it changes pricing, context length, or API compatibility.
- Keep the total output under 150 words.
"""
def generate_briefing(feed_text: str) -> str:
response = client.chat.completions.create(
model="llama-3.3-70b",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": f"Here is the raw feed:\n{feed_text}"},
],
)
return response.choices[0].message.content
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="LLM news briefing agent")
parser.add_argument("--input", required=True, help="Path to raw feed text file")
args = parser.parse_args()
with open(args.input, "r", encoding="utf-8") as f:
feed = f.read()
print(generate_briefing(feed))
Run it
Save the raw feed to feed.txt and run the script. On my last run the output looked like this.
$ python briefing_agent.py --input feed.txt
- **Oxlo.ai adds DeepSeek V4 Flash and Kimi K2.6**
Summary: The request-based platform expanded its catalog with a 1M-context MoE model and an advanced reasoning agent model.
Why it matters: Flat per-request pricing means you can send long contexts to Kimi K2.6 without the cost scaling with input tokens.
- **Google releases Gemini 2.5 Pro**
Summary: Gemini 2.5 Pro introduces native audio generation alongside a 1M token context window.
Why it matters: Native multimodal output could change how we build voice apps, but evaluate whether token pricing fits your workload.
- **MIT paper on test-time compute scaling**
Summary: Researchers demonstrated that smaller models can match LLaMA 3 70B performance by increasing inference-time compute.
Why it matters: This supports shifting budget from bigger training clusters to smarter inference strategies, which affects provider selection.
Wrap-up
That is the core agent. Two concrete next steps: swap the hardcoded RAW_FEED for a real RSS fetcher using feedparser, or change the model to qwen-3-32b if you want multilingual source coverage. Because Oxlo.ai uses request-based pricing, either switch costs the same per run no matter how long the articles get.
Top comments (0)