اولاما اور کیوین کے ساتھ ذاتی AI ویب ریسرچ ایجنٹ کیسے بنایا جائے۔

اس ٹیوٹوریل میں، میں آپ کو اولاما، کیوین اور پائتھون کا استعمال کرتے ہوئے ایک AI ویب ریسرچ ایجنٹ بنانے کا طریقہ دکھاؤں گا۔ ایجنٹ کسی موضوع کے لیے ویب پر تلاش کرتے ہیں، متعلقہ صفحات کو بازیافت کرتے ہیں، اور پھر ایک مختصر ڈائجسٹ بنانے کے لیے مقامی LLM استعمال کرتے ہیں۔

انڈیکس

پس منظر

ہم میں سے اکثر نے بڑے زبان کے ماڈلز کو سوالات بھیجنے کے لیے ChatGPT یا Claude کا استعمال کیا ہے۔ آپ نے شاید ماڈل کے ردعمل میں وہم دیکھا ہوگا جب اسے کچھ معلوم نہیں تھا۔ بعض اوقات ایسا ہوتا ہے کیونکہ علم پرانا ہوتا ہے۔

جیسے جیسے ٹول کالز میں اضافہ ہوتا ہے، ایل ایل ایم اب ویب پر تازہ ترین معلومات کی تلاش کے لیے ٹولز کا استعمال کر سکتے ہیں۔ اس کے بعد آپ اس معلومات کو سیاق و سباق میں ڈال سکتے ہیں اور اسے آؤٹ پٹ پیدا کرنے، نتائج کا خلاصہ کرنے اور دریافت شدہ ذرائع سے کلیدی ٹیک وے نکالنے کے لیے استعمال کر سکتے ہیں۔

اس ٹیوٹوریل میں، میں آپ کو دکھاؤں گا کہ میں نے کس طرح ایک ذاتی ریسرچ ایجنٹ بنایا جو انٹرنیٹ پر کسی بھی موضوع کو تلاش کرتا ہے اور مقامی LLM کے استعمال سے جو کچھ ملتا ہے اس کا خلاصہ کرتا ہے۔ یہ رازداری کی وجہ سے مکمل طور پر میرے کمپیوٹر پر چلتا ہے اور اس کی کوئی API فیس نہیں ہے۔ تو یہ مکمل طور پر مفت ہے۔

اس ٹیوٹوریل کی پیروی کرنے کے لیے، آپ کو اپنے کمپیوٹر پر اولاما انسٹال کرنے اور ایک مفت اولاما اکاؤنٹ کی ضرورت ہوگی۔ یہ ٹیوٹوریل macOS، Windows اور Linux پر کام کرتا ہے۔ میں 32GB RAM کے ساتھ MacBook Pro استعمال کر رہا ہوں، لیکن اگر آپ Ollama کے چھوٹے Qwen ماڈل کا انتخاب کرتے ہیں تو آپ اسے کم میموری سسٹم پر چلا سکتے ہیں۔

حوصلہ افزائی اور فن تعمیر

اس پروجیکٹ کا محرک میرے کمپیوٹر پر ایک ایجنٹ چلانا ہے جو روزمرہ کے مختلف کاموں کو سنبھال سکتا ہے۔ آپ روزانہ AI خبروں کا خلاصہ کرنے، تازہ ترین عالمی واقعات کو ظاہر کرنے، یا نوکری کے نئے مواقع تلاش کرنے کے لیے ایجنٹوں کو الگ کر سکتے ہیں۔

مقامی LLM چلانے کا مطلب ہے کہ یہ سوالات میرے کمپیوٹر سے کبھی نہیں نکلتے ہیں۔ میری تحقیقی سرگزشت نجی رہتی ہے اور فکر کرنے کی کوئی فی سوال API لاگت نہیں ہے۔

یہ پروجیکٹ Ollama ویب سرچ کو تلاش کرنے کے لیے اور مقامی Qwen LLM کو خلاصہ کے لیے استعمال کرتا ہے (بجائے کہ ChatGPT یا Claude جیسے میزبان چیٹ ٹولز پر انحصار کرنے کے)۔ ذیل میں نظام کا خاکہ دکھاتا ہے کہ ایجنٹ کیسے کام کرتا ہے۔

جب ایجنٹ ٹرمینل میں چلتا ہے، تو یہ صارف سے پوچھتا ہے کہ وہ کیا تفتیش کرنا چاہتے ہیں۔ اس کے بعد یہ سوال کے لیے سرفہرست پانچ نتائج حاصل کرنے کے لیے اولاما ویب سرچ API کو کال کرتا ہے، ان صفحات میں سے ہر ایک کو ڈاؤن لوڈ کرتا ہے، اور پڑھنے کے قابل متن کو نکالتا ہے۔

پانچوں صفحات سے نکالا گیا مواد صارف کے اشارے اور سسٹم پرامپٹس کے ساتھ مقامی Qwen ماڈل کو بھیجا جاتا ہے۔مارک ڈاؤن فارمیٹ میں جواب دینے کے لیے ان ویب نتائج اور صفحہ کا مواد استعمال کریں۔ماڈل کے جوابات کو مارک ڈاؤن فائل کے طور پر ڈسک میں محفوظ کیا جاتا ہے۔

مرحلہ 1: اولاما انسٹال کریں اور API کلید حاصل کریں۔

شروع کرنے کے لیے، Ollama ایپلیکیشن انسٹال کریں، ایک اکاؤنٹ بنائیں اور ایک API کلید حاصل کریں۔ اس ٹیوٹوریل کے لیے علامہ کا فری ٹائر کافی ہے۔

اگر آپ کے پاس کلید ہے تو اسے ماحولیاتی متغیر میں رکھیں۔

export OLLAMA_API_KEY="paste-key-here"

مرحلہ 2: کیوین ماڈل کو کھینچیں۔

اس ٹیوٹوریل میں اوپن ماڈل Qwen کا استعمال کیا گیا ہے، جو اس وقت دستیاب سب سے چھوٹے سائز کے ماڈلز میں سے ایک ہے۔

میں 4 بلین پیرامیٹر ویرینٹ استعمال کر رہا ہوں کیونکہ یہ سٹرکچرڈ پرامپٹس کی اچھی طرح پیروی کرتا ہے اور لیپ ٹاپ پر بغیر وقف GPU کے چلتا ہے۔ دوسرے سائز بھی ہیں جیسے 2b یا 9b۔

مقامی طور پر Qwen3.5:4b استعمال کرنے کے لیے، اسے اولاما کا استعمال کرتے ہوئے انسٹال کریں۔ میری مشین پر 4b ماڈل کا سائز تقریباً 3.4GB ہے۔ اگر آپ کے کمپیوٹر کی ریم کم ہے تو آپ 4b ماڈل کی بجائے qwen3.5:0.8b استعمال کر سکتے ہیں۔

ollama pull qwen3.5:4b

مرحلہ 3: ازگر پر انحصار انسٹال کریں۔

python3 -m venv venv
source venv/bin/activate
pip install ollama requests beautifulsoup4

مرحلہ 4: ایجنٹ کوڈ لکھیں۔

نیچے دیا گیا Python کوڈ چار کام کرتا ہے: یہ ٹرمینل سے ریسرچ پرامپٹس کھینچتا ہے، اوپر پانچ نتائج کے لیے Ollama’s web search API کو کال کرتا ہے، درخواستوں کا استعمال کرتے ہوئے ویب صفحات کو ڈاؤن لوڈ کرتا ہے، BeautifulSoup کا استعمال کرتے ہوئے ہر صفحے پر متن کو صاف کرتا ہے، اور پھر ہر چیز کو ایک مقامی Qwen ماڈل کو بھیجتا ہے تاکہ اسے Markdown میں خلاصہ کرنے کی ہدایات دیں۔ آخر میں، نتائج کو ٹائم اسٹیمپڈ .md فائل میں محفوظ کریں۔

کوڈ کو research_agent.py فائل میں محفوظ کریں۔

خلاصہ کا اشارہ جان بوجھ کر بنیادی ہے۔ اسے اپنی مطلوبہ آؤٹ پٹ قسم کے مطابق کرنے کے لیے بلا جھجھک ایڈجسٹ کریں۔

import os
import json
import requests
import ollama
from bs4 import BeautifulSoup
from datetime import datetime
from pathlib import Path

API_KEY = os.getenv("OLLAMA_API_KEY")
SEARCH_URL = "https://ollama.com/api/web_search"
MODEL = "qwen3.5:4b"

# Search web using Ollama web search 
def search_web(query):
    response = requests.post(
        SEARCH_URL,
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"query": query, "max_results": 5},
        timeout=30,
    )
    response.raise_for_status()
    return response.json().get("results", [])

# Fetch full web page content
def fetch_text(url):
    try:
        response = requests.get(url, timeout=10)
        response.raise_for_status()
    except requests.RequestException as e:
        return ""
    soup = BeautifulSoup(response.text, "html.parser")
    for tag in soup(["script", "style", "nav", "footer"]):
        tag.decompose()
    return soup.get_text(separator="n", strip=True)


def main():
    user_prompt = input("Enter your prompt: ").strip()
    if not user_prompt:
        print("Prompt cannot be empty.")
        return

    results = search_web(user_prompt)

    # For each url in web search result, fetch full content
    pages = []
    for item in results:
        url = item.get("url")
        if not url:
            continue

        print(f"Fetching: {url}")
        page_text = fetch_text(url)

        pages.append({
            "title": item.get("title", ""),
            "url": url,
            "snippet": item.get("content", ""),
            "page_text": page_text,
        })

    # Prompt to send to Qwen model with web data
    prompt = f"""
    User request:
    {user_prompt}

    Use these web results and page contents to answer in markdown format.

    Data:
    {json.dumps(pages, ensure_ascii=False)}
    """

    # Invoke local Qwen model 
    response = ollama.chat(
        model=MODEL,
        messages=[{"role": "user", "content": prompt}],
    )

    digest = response.message.content

    # Build a unique filename using today's date and time
    timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
    filename = f"digest-{timestamp}.md"

    # Save the digest to disk
    with open(filename, "w") as f:
        f.write(digest)
    
    print(f"Saved to digest")

if __name__ == "__main__":
    main()

مرحلہ 5: ایجنٹ کو چلائیں۔

python research_agent.py

اسکرپٹ آپ کو اس موضوع میں داخل کرنے کا اشارہ کرے گا جس پر آپ تحقیق کرنا چاہتے ہیں۔

نمونہ پیداوار

خلاصہ ڈائجسٹ کو ٹائم اسٹیمپ مارک ڈاؤن فائل کے طور پر محفوظ کیا جاتا ہے۔ جب ایجنٹ کو سورس یو آر ایل ملتا ہے، تو وہ اس یو آر ایل کو بھی پرنٹ کرتا ہے۔

کسی خلاصے پر بھروسہ کرنے سے پہلے، اس پر نظر ڈالیں اور تصادفی طور پر اصل ماخذ کے خلاف ایک یا دو دعوے کی جانچ کریں۔ مقامی ماڈلز میزبان فرنٹیئر ماڈلز کے مقابلے میں چھوٹے اور زیادہ فریب ہوتے ہیں۔ لہذا، سائٹ پر معائنہ درستگی کو بڑھانے میں مدد کرسکتا ہے۔

ٹیسٹ رن کے طور پر، میں نے ایک ریسرچ ایجنٹ سے پوچھا "LLM میں نیا کیا ہے” اور پانچ ویب صفحات حاصل کیے، جیسا کہ ذیل میں دکھایا گیا ہے۔

Enter your prompt: What's new in LLMs
Fetching: https://openai.com/nl-NL/index/chatgpt-memory-dreaming/
Fetching: https://pub.towardsai.net/tai-210-glm-5-2-closes-most-of-the-open-weight-gap-in-ten-weeks-2f970c5f1326
Fetching: https://www.globenewswire.com/news-release/2026/06/23/3315999/0/en/Multiverse-Computing-Launches-Pulsar-16B-in-collaboration-with-NVIDIA-Frontier-Grade-Reasoning-at-Half-the-Parameters.html
Fetching: https://thenextweb.com/news/anthropic-claude-tag-slack-always-on-ai-teammate
Fetching: https://www.aidoers.io/blog/claude-mythos-5-and-fable-5-explained-what-anthropic-actually-shipped

Saved to digest

ڈائجسٹ کو 4B مقامی ماڈل کے لیے معقول حد تک اچھی طرح سے بنایا گیا پایا گیا۔ اسے حصوں میں ترتیب دیا گیا ہے جس میں ماخذ سے تمام متعلقہ ڈیٹا موجود ہے۔ میں نے خود خلاصہ چیک کیا اور اسے درست پایا۔

نتائج درج ذیل ہیں:

# What's New in LLMs (June 2026)

The landscape of Large Language Models (LLMs) has evolved rapidly in June 2026, with significant updates in memory synthesis, new frontier models, enterprise integrations, and market dynamics.

## 1. Memory & Personalization: OpenAI’s "Dreaming" Update
OpenAI has deployed a new memory architecture for ChatGPT, referred to as **Dreaming V3**.
*   **Purpose:** Improves memory synthesis to optimize freshness, continuity, and relevance.
*   **Evolution:**
    *   **2024:** "Saved memories" (manual instruction-based).
    *   **2025:** "Dreaming V0" (background process curating memories from chat history).
    *   **2026:** **Dreaming V3** (significantly more capable and compute-efficient architecture).
*   **Impact:** Memory is now reviewable via a summary page, allowing users to update information and set instructions on topics to bring up.
*   **Availability:** Rolled out to ChatGPT Plus and Pro users in the US today, expanding to additional countries and Free/Go users over coming weeks.
*   **Capability:** The model now remembers specific user setups (e.g., photography gear preferences) and constraints (e.g., vegetarian diet, hotel AC preferences) without requiring explicit "remember" cues.

## 2. New Frontier Models & Benchmarks

### Claude Fable 5 & Mythos 5 (Anthropic)
*   **Classification:** Mythos-class tier, sitting above Opus in raw capability.
*   **Differentiation:** **Fable 5** is available to the public. **Mythos 5** is the identical model with cybersecurity safeguards removed, restricted to **Project Glasswing** partners only.
*   **Pricing:** (10 per million input tokens / )50 per million output tokens.
*   **Availability:** Included at no extra cost on Pro, Max, Team, and enterprise plans until June 22.
*   **Capabilities:** Significant jumps in **Knowledge work**, **Agentic coding**, **Vision**, **Legal reasoning**, and **Biology**.

### Z.ai GLM-5.2 (Open Weights)
*   **Release:** Z.ai (Z.AI) released GLM-5.2 under an MIT license on June 16, 2026.
*   **Performance:** Closed the open-weight gap in ten weeks. Scored **51** on the Artificial Analysis Intelligence Index.
    *   **Context:** Expanded from 200K to **1 million tokens**.
    *   **Architecture:** Utilizes "IndexShare" for long-context efficiency and "Compaction-aware reinforcement learning" for agents.
*   **Benchmarks:** Ranked third on the AA-Briefcase (91 held-out tasks), behind Fable and Opus 4.8 but ahead of GPT-5.5.
*   **Cost:** ~(0.52 per task (compared to )0.86 for GPT-5.5 and $1.80 for Opus 4.8).

### Multiverse Pulsar 16B (NVIDIA Collaboration)
*   **Parameters:** 16.15B total parameters (3.1B active).
*   **Performance:** Delivers 30B-class intelligence at half the parameter count.
*   **Validation:** Matches 30B-class architectures (e.g., Nemotron-3-Nano-30B-A3B) on reasoning, coding, and math.
*   **Deployment:** Available on Hugging Face under Apache 2.0 license. Optimized for lower-memory GPUs and single-node environments.

## 3. Enterprise Integration & Tools

*   **Claude Tag (Anthropic):**
    *   An "always-on AI teammate" available to **Claude Enterprise and Team** customers.
    *   **Features:** Lives inside Slack, follows conversations, learns context, and uses an **ambient mode** to proactively flag updates and tasks.
    *   **Scoping:** Identity-based permissions allow admins to restrict which channels/teams the AI can access.
*   **MCP Connectors (Anthropic):**
    *   Launched **Enterprise-Managed Authorization (EMA)**.
    *   Allows IT admins to provision connector access via identity providers (Okta) without individual OAuth flows.
*   **Perplexity Brain (Computer Agent):**
    *   Research preview for Max/Enterprise Max subscribers.
    *   Self-improving memory system that remembers what the agent *did* rather than user preferences.
    *   Results show 25% increase in answer correctness on repeated tasks.

## 4. Industry Trends & Personnel Moves

*   **Market Dynamics:** ChatGPT market share dropped below 50% (46.4% by May 2026). Claude leads in subscription conversion (13%).
*   **Talent Shifts:**
    *   **Noam Shazeer:** Co-inventor of Transformer (Google) joins OpenAI as Lead for Architecture Research.
    *   **John Jumper:** Nobel Laureate (DeepMind) joins Anthropic for AI-for-science infrastructure.
*   **Corporate M&A:**
    *   **SpaceX** acquires **Cursor** (Anysphere) for **$60 Billion** in a Q3 2026 deal to strengthen its AI coding division.
    *   **Alibaba** released the **Qwen-Robot Suite** (Qwen-RobotNav, Manip, World) for embodied intelligence and robotic control.

نتیجہ

اس ٹیوٹوریل میں، آپ نے ایک ذاتی AI ویب ریسرچ ایجنٹ بنانے کا طریقہ سیکھا جو ویب پر تلاش کرتا ہے، نتائج کا خلاصہ مقامی LLM میں کرتا ہے، اور مارک ڈاؤن ڈائجسٹ کو اسٹور کرتا ہے۔ یہ سب اس کے اپنے کمپیوٹر پر چلتا ہے بغیر کوئی ڈیٹا آپ کے لیپ ٹاپ سے باہر منتقل ہوتا ہے۔ آپ کو اپنے ماڈلز اور پرامپٹس پر مکمل کنٹرول ہے، بغیر کسی API کے اخراجات۔

یہاں سے، آپ مختلف موضوعات کی چھان بین کے لیے نئے پرامپٹس استعمال کر سکتے ہیں، آؤٹ پٹ کو تبدیل کرنے کے لیے سسٹم پرامپٹس کو ایڈجسٹ کر سکتے ہیں، انہیں دوسرے مقامی ماڈلز جیسے کہ Qwen 3.6 یا Mistral سے بدل سکتے ہیں، یا اسکرپٹ کو آپ کے اپنے ورک فلو کے مطابق کرنے کے لیے بڑھا سکتے ہیں۔ مبارک ہو ٹنکرنگ!

اگر آپ کو یہ سبق پسند آیا ہے، تو آپ میرے بلاگ پر میری مزید تحریریں (حالیہ پوسٹس میں سسٹمز ڈیزائن پیپرز سیریز شامل ہیں)، میری ذاتی ویب سائٹ پر میرا کام، اور LinkedIn پر اپ ڈیٹس حاصل کر سکتے ہیں۔

Scroll to Top