ازگر میں AI فائل تجزیہ ایجنٹ کیسے بنایا جائے۔

اگر آپ نے کبھی 30 صفحات پر مشتمل پی ڈی ایف کھولی ہے اور سوچا ہے، "میں یہ سب پڑھنے کا کوئی طریقہ نہیں ہے،” تو آپ شاید پہلے ہی سمجھ گئے ہوں گے کہ فائل اینالیسس AI ایجنٹس کیوں کارآمد ہیں۔

ایک تحقیقی مقالہ، دوبارہ شروع، CSV فائل، کاروباری رپورٹ یا پی ڈی ایف اپ لوڈ کرنے کا تصور کریں اور صرف یہ پوچھیں:

"آپ کی سب سے اہم دریافت کیا ہے؟”

دستاویزات کو دستی طور پر تلاش کرنے کے بجائے، AI ایجنٹ فائلوں کی جانچ کر سکتے ہیں، ان کے مواد کو سمجھ سکتے ہیں اور ان کے بارے میں سوالات کے جوابات دے سکتے ہیں۔

اس ٹیوٹوریل میں ہم صرف اسے بنائیں گے۔ ہم ایک ابتدائی دوستانہ ماحول بنائیں گے۔ Python میں AI فائل تجزیہ ایجنٹ یہ کر سکتا ہے:

  • اپنے کمپیوٹر سے فائلیں قبول کریں۔

  • AI ماڈل پر فائلیں اپ لوڈ کریں۔

  • فائل کا مواد پڑھیں

  • فطری زبان کے سوالات کو سمجھیں۔

  • فائل کا تجزیہ

  • مفید جوابات واپس کریں۔

  • آپ ہر ممکنہ سوال کے لیے الگ فنکشن لکھے بغیر بہت سے مختلف قسم کے سوالات کو ہینڈل کر سکتے ہیں۔

ہم Python اور OpenAI API کا استعمال کرتے ہوئے پروجیکٹ بنائیں گے۔

اہم حصہ یہ ہے کہ آپ کوڈ کو صرف کاپی اور پیسٹ نہیں کرتے اور امید کرتے ہیں کہ یہ کام کرے گا۔ ہم کوڈ لائن پر لائن کے ذریعے چلتے ہیں تاکہ آپ سمجھ سکیں کہ ہر اہم حصہ کیا کرتا ہے۔

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

ہم کیا احاطہ کریں گے:

ہم اصل میں کیا بنا رہے ہیں؟

اس سے پہلے کہ ہم کوئی کوڈ لکھیں، آئیے اس کی وضاحت کرتے ہیں کہ AI ایجنٹ کا اصل مطلب کیا ہے۔

ایک عام AI چیٹ بوٹ اس طرح کام کر سکتا ہے:

User → Question → AI → Answer

AI ایجنٹ زیادہ لچکدار ہو سکتے ہیں۔

User → Goal → Agent → Decide what it needs → Use tools/data → Analyze → Answer

ہمارے پروجیکٹ کے لیے، "ڈیٹا” ایک فائل ہے۔

مثال کے طور پر، ہم کہتے ہیں کہ آپ اپنے ایجنٹ کو درج ذیل تحقیقی رپورٹ دیتے ہیں:

ai-research.pdf

پھر ہم پوچھتے ہیں:

What is the main argument of this paper?

ایجنٹوں کو چاہیے:

  1. میں سوالات لیتا ہوں۔

  2. اپنی فائلوں تک رسائی حاصل کریں۔

  3. اس کے بارے میں پڑھیں۔

  4. مواد کو سمجھیں۔

  5. اس کا تجزیہ کریں۔

  6. ایک جواب کے ساتھ آئیں۔

AI ماڈلز زبان کی تفہیم اور استدلال کو سنبھالتے ہیں۔ ہمارا Python پروگرام اس کے لیے ورک فلو کو ہینڈل کرتا ہے۔

یہ فرق اہم ہے۔

ماڈل جادوئی طور پر آپ کے لیپ ٹاپ پر فائل نہیں پڑھتا ہے۔ ہماری درخواست کو ہمارے ماڈل کو فائل تک رسائی دینے کی ضرورت ہے۔

OpenAI کا موجودہ API اپ لوڈ کردہ فائلوں کو جوابات API میں ان پٹ کے طور پر بھیجنے کی حمایت کرتا ہے، جس سے ماڈل کو فائلوں کا براہ راست تجزیہ کرنے کی اجازت ملتی ہے۔

ہم کیا استعمال کریں گے

ہمارے پروجیکٹ میں ہم استعمال کرتے ہیں:

  • ازگر: ہماری پروگرامنگ زبان

  • OpenAI Python SDK: ازگر کو OpenAI API کے ساتھ بات چیت کرنے کی اجازت دیتا ہے۔

  • رسپانس API: ماڈل کے ساتھ تعامل کرنے کے لیے استعمال کرنے کے لیے API اینڈ پوائنٹ

  • اپ لوڈ کردہ فائل: ہمارے ایجنٹوں کی طرف سے تجزیہ کرنے والی معلومات

  • فوری: ہدایات جو ایجنٹ کو بتاتی ہیں کہ کیا کرنا ہے۔

ہم جان بوجھ کر پہلے ورژن کو سادہ رکھیں گے۔

LangChain، ویکٹر ڈیٹا بیس، React یا کسی پیچیدہ پسدید کی ضرورت نہیں۔

ایک بار جب آپ اس ورژن کو سمجھ لیں، تو آپ بعد میں ان مہارتوں کو شامل کر سکتے ہیں۔

شروع کرنے سے پہلے آپ کو کیا جاننے کی ضرورت ہے۔

یہ ٹیوٹوریل ابتدائی اور انٹرمیڈیٹ ڈویلپرز کے لیے ڈیزائن کیا گیا ہے۔

آپ کو مندرجہ ذیل بنیادی Python تصورات سے واقف ہونا چاہیے:

تم ہو ~ نہیں آپ کو مشین لرننگ، ٹرانسفارمرز اندرونی طور پر کیسے کام کرتے ہیں، یا بڑے لینگویج ماڈلز کے پیچھے ریاضی جاننے کی ضرورت ہے۔

یہاں توجہ اس بات پر ہے کہ ایک درخواست کیسے بنائی جائے۔

مرحلہ 1: ایک پروجیکٹ بنائیں

سب سے پہلے، ایک پروجیکٹ فولڈر بنائیں.

مثال کے طور پر:

file-analysis-agent/

اس میں بالآخر شامل ہیں:

file-analysis-agent/
│
├── agent.py
├── requirements.txt
└── .env

ہر فائل کا ایک مقصد ہوتا ہے۔

  1. agent.py: یہ وہ جگہ ہے جہاں Python ایپلیکیشن رہتی ہے۔

  2. requirements.txt: یہ Python کو بتاتا ہے کہ آپ کے پروجیکٹ کو کن بیرونی پیکیجز کی ضرورت ہے۔

  3. .env: یہ وہ جگہ ہے جہاں آپ اپنی API کلید کو براہ راست اپنے Python کوڈ میں داخل کرنے کے بجائے مقامی طور پر اسٹور کرسکتے ہیں۔

ماخذ کوڈ میں رازداری کو برقرار رکھنا ابتدائی ترقی میں ایک اہم عادت ہے۔

مرحلہ 2: ایک ورچوئل ماحول بنائیں

اپنے پروجیکٹ فولڈر میں ٹرمینل کھولیں۔

چلائیں:

python -m venv venv

یہ ازگر کا ورچوئل ماحول بنائے گا۔

ایک ورچوئل ماحول آپ کے پروجیکٹ کو ازگر پیکجوں کا اپنا الگ تھلگ مجموعہ فراہم کرتا ہے۔ اس کے بارے میں سوچیں جیسے اس پروجیکٹ کے لیے ایک چھوٹا Python ورک اسپیس فراہم کرنا۔

آپ اسے ونڈوز پر استعمال کر کے چالو کر سکتے ہیں:

venv\Scripts\activate

macOS یا Linux کے لیے:

source venv/bin/activate

ایک بار چالو ہونے کے بعد، آپ کو مندرجہ ذیل کی طرح کچھ نظر آئے گا:

(venv)

ٹرمینل پرامپٹ کے شروع میں۔

مرحلہ 3: OpenAI SDK انسٹال کریں۔

اب آفیشل OpenAI Python پیکیج انسٹال کریں۔

pip install openai

SDK Python کی کلاسیں اور طریقے مہیا کرتا ہے جو API کالز کو بہت آسان بنا دیتے ہیں۔

SDK کے بغیر، آپ کو HTTP درخواستوں کو دستی طور پر کنفیگر کرنا ہوگا۔

SDK آپ کو ازگر کو اس طرح لکھنے کی اجازت دیتا ہے:

client.responses.create(...)

پوری HTTP درخواست کو دستی طور پر بنانے کے بجائے۔

اوپن اے آئی کوئیک سٹارٹ فی الحال ریسپانس API کو API درخواستوں کے نقطہ آغاز کے طور پر استعمال کرتا ہے۔

مرحلہ 4: ایک API کلید بنائیں

API کے ساتھ بات چیت کرنے کے لیے آپ کو ایک OpenAI API کلید کی ضرورت ہے۔ اپنے OpenAI ڈویلپر اکاؤنٹ کے ذریعے ایک API کلید بنائیں۔

کرو ~ نہیں اپنی اصل API کلید براہ راست اپنے سورس کوڈ میں درج کریں، اس طرح:

api_key = "sk-your-real-key"

یہ ایک بری عادت ہے۔

جب آپ اپنا پروجیکٹ GitHub پر اپ لوڈ کرتے ہیں، تو آپ کی چابیاں حادثاتی طور پر سامنے آ سکتی ہیں۔ اس کے بجائے، اسے ماحولیاتی متغیر کے طور پر محفوظ کریں۔

مثال کے طور پر، Windows PowerShell میں:

$env:OPENAI_API_KEY="your_api_key_here"

macOS/Linux کے لیے:

export OPENAI_API_KEY="your_api_key_here"

OpenAI SDK خود بخود OPENAI_API_KEY ماحولیاتی متغیرات۔

مرحلہ 5: بنائیں requirements.txt

نام کی ایک فائل بنائیں:

requirements.txt

اسے اندر رکھو:

openai

اب دوسرے ڈویلپر آپ کے پروجیکٹ کی انحصار کو استعمال کرکے انسٹال کرسکتے ہیں:

pip install -r requirements.txt

یہ ایک چھوٹی سی بات ہے، لیکن ایک بہت مفید پیشہ ورانہ عادت ہے۔

مرحلہ 6: ازگر فائل بنائیں

بنانا:

agent.py

کے ساتھ شروع کریں:

from openai import OpenAI

آئیے اس کا تجزیہ کرتے ہیں۔

  • from: ازگر میں from مطلوبہ الفاظ آپ کو کسی دوسرے ماڈیول سے کچھ درآمد کرنے کی اجازت دیتے ہیں۔

  • openai: یہ Python پیکیج ہے جو ہم نے انسٹال کیا ہے۔

  • import OpenAI: ہم ہیں۔ OpenAI یہ اس پیکیج کی کلاس ہے۔

اب آپ OpenAI کلائنٹ بنا سکتے ہیں۔

شامل کریں:

client = OpenAI()

یہ ایک API کلائنٹ بنائے گا۔

آپ سوچ سکتے ہیں client یہ OpenAI API سے آپ کی ایپلیکیشن کے کنکشن پوائنٹ کے طور پر کام کرتا ہے۔ جب بھی آپ API کے ساتھ بات چیت کرتے ہیں تو آپ اس کلائنٹ کو استعمال کرتے ہیں۔

مثال کے طور پر:

response = client.responses.create(...)

کلائنٹ ہمارے لیے بنیادی HTTP مواصلت کو ہینڈل کرتا ہے۔

مرحلہ 7: صارف سے فائل کی درخواست کریں۔

ہم صارف کو اپنی درخواست میں ایک فائل کی وضاحت کرنے کی اجازت دینا چاہتے ہیں۔

شامل کریں:

file_path = input("Enter the path to your file: ")

آئیے اب اس لائن کو سمجھتے ہیں۔

کہ input() فنکشن صارف کے کچھ داخل کرنے کا انتظار کرتا ہے۔

مثال کے طور پر، آپ کا ٹرمینل ظاہر کر سکتا ہے:

Enter the path to your file:

صارفین درج کر سکتے ہیں:

research.pdf

ازگر اس متن کو اندر اسٹور کرتا ہے:

file_path

لہذا صارف کے داخل ہونے کے بعد:

research.pdf

ہم مؤثر طریقے سے:

file_path = "research.pdf"

اب ہمارا پروگرام جانتا ہے کہ آپ کس فائل کا تجزیہ کرنا چاہتے ہیں۔

مرحلہ 8: چیک کریں کہ آیا فائل موجود ہے۔

یہ تصدیق کرنا اچھا خیال ہے کہ فائل کو اپ لوڈ کرنے سے پہلے اصل میں موجود ہے۔

آپ Python کے بلٹ ان فنکشنز استعمال کر سکتے ہیں: os اس کے لیے یہ ماڈیول ہے۔

شامل کریں:

import os

پھر:

if not os.path.exists(file_path):
    print("File not found.")
    exit()

آئیے اس کا تجزیہ کرتے ہیں۔

کہ os ماڈیول آپریٹنگ سسٹم کے ساتھ تعامل کے لیے ازگر کے اوزار فراہم کرتا ہے۔

ان ٹولز میں سے ایک یہ ہے:

os.path.exists()

چیک کریں کہ آیا کوئی فائل یا فولڈر کسی مخصوص راستے میں موجود ہے۔

if: حالات کی جانچ کرنا۔

if not os.path.exists(file_path):

اس کا مطلب ہے:

اگر فائل موجود نہیں ہے…

کہ not مطلوبہ الفاظ نتائج کو الٹ دیتے ہیں۔

اگر:

os.path.exists(file_path)

رپورٹ True پھر not True بن جاتا ہے۔ False. لیکن اگر فائل موجود نہیں ہے …False بن جاتا ہے۔ True.

تو اندر کا کوڈ ہے۔ if بیان صرف اس صورت میں عمل میں لایا جاتا ہے جب فائل نہ ملے۔

اگلا، print() ڈسپلے:

File not found.

exit() پروگرام بند کرو۔

یہ ہماری درخواست کو ایسی فائل اپ لوڈ کرنے کی کوشش کرنے سے روکتا ہے جو موجود نہیں ہے۔

مرحلہ 9: فائلیں اپ لوڈ کریں۔

اب آتا ہے دلچسپ حصہ۔ آپ کو فائل API کو بھیجنے کی ضرورت ہے۔

شامل کریں:

with open(file_path, "rb") as file:
    uploaded_file = client.files.create(
        file=file,
        purpose="user_data"
    )

یہ اس سے کہیں زیادہ پیچیدہ لگتا ہے۔

آئیے ایک ایک کرکے ان کو دیکھتے ہیں۔

سمجھ open()

پہلی سطر یہ ہے:

with open(file_path, "rb") as file:

کہ open() فنکشن ایک فائل کھولتا ہے۔

پہلی دلیل یہ ہے:

file_path

یہ صارف کا داخل کردہ راستہ ہے۔

دوسری دلیل یہ ہے:

"rb"

اس کا مطلب ہے:

ہم بائنری موڈ استعمال کرتے ہیں کیونکہ ہم سادہ متن پڑھنے کے بجائے اپ لوڈ کردہ فائلوں پر کارروائی کر رہے ہیں۔

کہ with بیان اہم ہے کیونکہ جب آپ اس کے ساتھ کام ختم کر لیتے ہیں تو ازگر فائل کو بند کرنے کو خود بخود ہینڈل کرتا ہے۔

متغیر:

file

ایک کھلی فائل کی نشاندہی کرتا ہے۔

فائل اپ لوڈ

اندرونی with ہمارے پاس جو بلاکس ہیں:

uploaded_file = client.files.create(

اپ لوڈ کردہ فائل بنانے کے لیے OpenAI API سے درخواست کرتا ہے۔

کہ file تنازعہ:

file=file

ہم نے جو فائل کھولی اسے پاس کرتے ہیں۔

پھر:

purpose="user_data"

API کو مطلع کرتا ہے کہ اپ لوڈ کردہ فائل کو صارف کے ڈیٹا کے طور پر استعمال کیا جائے گا۔

فائل API سپورٹ کرتا ہے: user_data لچکدار فائل کے استعمال کا مقصد۔

ایک بار یہ ہو جانے کے بعد، OpenAI اپ لوڈ کردہ فائل کے بارے میں معلومات واپس کرتا ہے۔ ہم اس معلومات کو درج ذیل مقامات پر محفوظ کرتے ہیں:

uploaded_file

اس کی مفید خصوصیات میں سے ایک یہ ہے:

uploaded_file.id

وہ ID اپ لوڈ کردہ فائل کی شناخت کرتی ہے۔

مرحلہ 10: اپ لوڈ کردہ فائل کی شناخت چیک کریں۔

شامل کریں:

print("Uploaded file:", uploaded_file.id)

اب آپ کو کچھ اس طرح دیکھنا چاہئے:

Uploaded file: file-abc123

وہ ID اہم ہے۔

مقامی کمپیوٹر فائل کو اس طرح جانتا ہے:

research.pdf

API اسے درج ذیل طریقوں سے جانتا ہے:

file-abc123

آپ اپنے ماڈل پر فائلیں بھیجتے وقت اس ID کا استعمال کر سکتے ہیں۔

مرحلہ 11: ایجنٹ کی ہدایات بنائیں

اب ہمیں AI کو بتانے کی ضرورت ہے کہ اس کا کردار کیا ہے۔

بنانا:

instructions = """
You are a file analysis assistant.

Your job is to carefully analyze the file provided by the user.

Answer questions using information from the file.

If the answer can't be found in the file, clearly say that the information is not available in the file.

Do not invent facts.

When useful, organize your answer with headings and bullet points.
"""

ان کو ہدایات یا اشارے کہا جاتا ہے۔

ٹرپل اقتباس:

"""
...
"""

آپ متعدد لائنوں کے ساتھ تار بنا سکتے ہیں۔

اب ہمارے ایجنٹوں نے کردار ادا کیا ہے۔

یہ جانتا ہے:

  • کیا کرنا ہے؟

  • مجھے کون سی معلومات استعمال کرنی چاہیے؟

  • اگر معلومات غائب ہو تو کیا کریں۔

  • اپنے جواب کو فارمیٹ کرنے کا طریقہ

ہدایات:

Do not invent facts.

یہ فائل تجزیہ ایپلی کیشنز کے لیے خاص طور پر اہم ہے۔

ہم چاہتے ہیں کہ ہمارا ماڈل ان میں فرق کرے:

"یہ فائل میں یہ کہتا ہے۔”

اور:

"میرے خیال میں یہ سچ ہو سکتا ہے۔”

وہ ایک ہی چیز نہیں ہیں۔

مرحلہ 12: اپنے صارفین سے پوچھیں کہ وہ کیا جاننا چاہتے ہیں۔

اب ہمیں اصل سوال پوچھنے کی ضرورت ہے۔

شامل کریں:

question = input("What would you like me to analyze? ")

مثال کے طور پر، صارف ٹائپ کر سکتا ہے:

What are the three most important findings in this paper?

یا:

Summarize this document in five bullet points.

یا:

What methodology did the researchers use?

یہیں سے ہماری درخواست لچکدار ہو جاتی ہے۔

ہر ممکنہ سوال کے لیے علیحدہ ازگر فنکشن بنانے کی ضرورت نہیں ہے۔ صارفین قدرتی طور پر سوالات پوچھ سکتے ہیں۔

مرحلہ 13: اپنے ماڈل کو فائلیں اور سوالات بھیجیں۔

اب آپ آخر کار جواب بنا سکتے ہیں۔

شامل کریں:

response = client.responses.create(
    model="gpt-5",
    instructions=instructions,
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": question
                },
                {
                    "type": "input_file",
                    "file_id": uploaded_file.id
                }
            ]
        }
    ]
)

یہ پورے منصوبے کا سب سے اہم حصہ ہے۔

آئیے اسے آہستہ آہستہ سمجھتے ہیں۔

سمجھ client.responses.create()

ہم اس طرح شروع کرتے ہیں:

client.responses.create(

ہم Responses API سے جواب پیدا کرنے کے لیے کہہ رہے ہیں۔

OpenAI API Responses API میں فائل ان پٹ کو سپورٹ کرتا ہے، بشمول اپ لوڈ کردہ فائل کی ID کو بطور فائل استعمال کرنا۔ input_file.

ماڈل کو سمجھنا

ہم ہیں:

model="gpt-5"

یہ API کو بتاتا ہے کہ کون سا ماڈل درخواست کو ہینڈل کرے۔

ماڈل سوال کو سمجھنے اور فراہم کردہ معلومات کا تجزیہ کرنے کا ذمہ دار حصہ ہے۔

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

سمجھ instructions

اگلا:

instructions=instructions

کیا آپ کو وہ متغیر یاد ہیں جو ہم نے پہلے بنائے تھے؟

instructions = """
You are a file analysis assistant.
...
"""

آپ ان ہدایات کو اپنی API کی درخواست پر منتقل کرتے ہیں تاکہ ماڈل کو معلوم ہو کہ اسے کیا کردار ادا کرنا چاہیے۔

سمجھ input

یہاں مندرجہ ذیل ہے:

input=[

The input contains the information we give the model.

In our case, we’re giving it:

  1. The user’s question

  2. The file

This is important because an AI model can’t answer a file-specific question if we never give it the file.

Understanding the User Message

Inside the input we have:

{
    "role": "user",

This tells the API that this input represents the user’s message.

Then:

"content": [

contains the actual content of that message.

Sending the Question

The first content item is:

{
    "type": "input_text",
    "text": question
}

This tells the model:

Here is some text input.

The actual text comes from:

question

which was entered by the user.

If the user entered:

What is the main conclusion?

then the model receives that question.

Sending the File

The next content item is:

{
    "type": "input_file",
    "file_id": uploaded_file.id
}

This tells the API:

Here is a file input.

And:

uploaded_file.id

tells the API exactly which uploaded file we’re referring to.

So our request effectively contains:

Question:
"What is the main conclusion?"

File:
research.pdf

The model can then analyze the provided file in the context of the user’s question.

Step 14: Print the Answer

We have the response stored in:

response

But we don’t want to print the entire response object.

We want the generated text.

The SDK provides:

response.output_text

So add:

print("\nAgent:\n")
print(response.output_text)

The first print() creates a little spacing and prints:

Agent:

The second prints the actual answer.

Our First Complete Version

At this point, our entire agent.py looks like this:

import os
from openai import OpenAI


client = OpenAI()


file_path = input("Enter the path to your file: ")


if not os.path.exists(file_path):
    print("File not found.")
    exit()


with open(file_path, "rb") as file:
    uploaded_file = client.files.create(
        file=file,
        purpose="user_data"
    )


print("Uploaded file:", uploaded_file.id)


instructions = """
You are a file analysis assistant.

Your job is to carefully analyze the file provided by the user.

Answer questions using information from the file.

If the answer cannot be found in the file, clearly say that the information is not available in the file.

Do not invent facts.

When useful, organize your answer with headings and bullet points.
"""


question = input("What would you like me to analyze? ")


response = client.responses.create(
    model="gpt-5",
    instructions=instructions,
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": question
                },
                {
                    "type": "input_file",
                    "file_id": uploaded_file.id
                }
            ]
        } ]) پرنٹ ("\nایجنٹ:\n") پرنٹ (response.output_text)

یہ پہلے سے ہی ایک فعال فائل تجزیہ AI ایپلی کیشن ہے۔

لیکن ہم اسے بہت بہتر بنا سکتے ہیں۔

مرحلہ 15: ایپلیکیشن چلائیں۔

درج ذیل فائلیں رکھیں:

research.pdf

پروجیکٹ فولڈر کے اندر۔

پھر چلائیں:

python agent.py

آپ کو درج ذیل کو چیک کرنا چاہئے:

Enter the path to your file:

درج کریں:

research.pdf

پھر آپ دیکھیں گے:

Uploaded file: file-abc123

اگلا:

What would you like me to analyze?

آپ پوچھ سکتے ہیں:

Summarize the main findings in five bullet points.

ایجنٹ فائل کا تجزیہ کرتا ہے اور جواب دیتا ہے۔

یہ ایجنٹ کیوں ہے؟

پہلی نظر میں، یہ ایک عام API کال کی طرح لگ سکتا ہے۔ اور تکنیکی طور پر، ہاں۔ پہلا ورژن ایک بہت ہی آسان ایجنٹ ورک فلو ہے۔

اہم تصور ہے۔ ایجنٹ لوپ.

ایجنٹوں کے پاس عام طور پر:

  1. ہدف

  2. رہنما خطوط

  3. معلومات تک رسائی

  4. ممکنہ آلہ

  5. استدلال کا عمل

  6. کارروائی

  7. طاقت کی پیداوار

ہماری درخواست میں ان میں سے کئی ٹکڑے ہیں۔

صارف اہداف فراہم کرتا ہے۔

Analyze this research paper.

ہدایات ایجنٹ کے رویے کی وضاحت کرتی ہیں۔

You are a file analysis assistant.

فائل درج ذیل معلومات فراہم کرتی ہے:

research.pdf

ماڈل معلومات پر کارروائی کرتا ہے اور پھر ایپلیکیشن نتائج کو لوٹاتا ہے۔

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

مرحلہ 16: اسے حقیقی گفتگو میں تبدیل کریں۔

فی الحال، درخواست صرف ایک سوال پوچھتی ہے۔

مفید، لیکن مثالی نہیں۔

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

آپ سوال کو ایک لوپ کے اندر رکھ کر اسے بہتر بنا سکتے ہیں۔

بجائے:

question = input("What would you like me to analyze? ")

ہم استعمال کر سکتے ہیں:

while True:
    question = input("\nAsk a question (or type 'exit'): ")

    if question.lower() == "exit":
        break

اب آئیے سمجھتے ہیں۔

  • while True: ایک لوپ بناتا ہے جو غیر معینہ مدت تک جاری رہتا ہے۔ وہ اس وقت تک سوالات پوچھتے رہیں گے جب تک ہم انہیں رکنے کو نہیں کہیں گے۔

  • question = input(...): صارف نے دوسرا سوال درج کیا ہے۔

  • question.lower(): .lower() طریقہ سوال کو چھوٹے حروف میں تبدیل کرتا ہے۔

مثال کے طور پر:

EXIT

یہ اس طرح جاتا ہے:

exit

اور:

Exit

اس کے علاوہ:

exit

یہ ٹرمینیشن چیکنگ کو زیادہ قابل اعتماد بناتا ہے۔

آخر کار break کلیدی لفظ لوپ کو روکتا ہے۔ تو:

if question.lower() == "exit":
    break

طریقہ:

صارف کی قسمیں ختم ہونے پر سوالات پوچھنا بند کریں۔

مرحلہ 17: AI درخواست کو لوپ میں منتقل کریں۔

API کی درخواست اب ایک لوپ کے اندر ہونی چاہئے۔

ہماری ساخت اس طرح ہے:

while True:
    question = input("\nAsk a question (or type 'exit'): ")

    if question.lower() == "exit":
        break

    response = client.responses.create(
        model="gpt-5",
        instructions=instructions,
        input=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_text",
                        "text": question
                    },
                    {
                        "type": "input_file",
                        "file_id": uploaded_file.id
                    }
                ]
            }
        ]
    )

    print("\nAgent:\n")
    print(response.output_text)

صارفین اب ایک ہی فائل کے بارے میں متعدد سوالات پوچھ سکتے ہیں۔

مثال کے طور پر:

Ask a question:
What is this paper about?

پھر:

Ask a question:
What methodology did the researchers use?

پھر:

Ask a question:
What were the biggest limitations?

اور آخر میں:

Ask a question:
exit

اس سے ایپلیکیشن ایک حقیقی اسسٹنٹ کی طرح محسوس ہوتی ہے۔

مرحلہ 18: ایجنٹ کی ہدایات کو بہتر بنائیں

اچھی AI ایپلی کیشنز صرف APIs کو کال نہیں کرتی ہیں۔ ہدایات بہت اہم ہیں۔

ہم ہدایات کو مزید مخصوص بنا سکتے ہیں۔

مثال کے طور پر:

instructions = """
You are an AI file analysis assistant.

Your job is to analyze the file provided by the user.

Follow these rules:

1. Use the provided file as your primary source.
2. Answer the user's question directly.
3. Do not invent information that is not supported by the file.
4. If the file does not contain enough information to answer a question, say so.
5. When summarizing, focus on the most important information.
6. When comparing ideas, clearly explain the similarities and differences.
7. When analyzing research, distinguish between results, methods, and conclusions.
8. Use simple language unless the user asks for technical language.
9. Use bullet points when they make the answer easier to understand.
10. If you make an inference, clearly label it as an inference.
"""

یہ بہت زیادہ مضبوط ہے۔

ہم بنیادی طور پر AI کو قواعد کا ایک سیٹ دے رہے ہیں۔

اچھی رہنمائی کیوں ضروری ہے۔

کسی سے یہ کہنے کا تصور کریں:

"براہ کرم اس دستاویز کو پڑھیں۔”

وہ اسے پڑھیں گے اور آپ کو تقریباً کچھ بھی دیں گے۔

اب مندرجہ ذیل کہنے کا تصور کریں:

"اس دستاویز کو پڑھیں، تحقیقی سوال کی شناخت کریں، طریقہ کار کا خلاصہ کریں، کلیدی نتائج کی نشاندہی کریں، اور آسان زبان کا استعمال کرتے ہوئے حدود کی وضاحت کریں۔”

دوسری ہدایت بہت زیادہ مفید ہے۔

AI ایجنٹ اسی طرح کام کرتے ہیں۔ جتنی زیادہ واضح طور پر آپ کام کی وضاحت کریں گے، آپ کے ماڈل کے لیے مستقل نتائج پیدا کرنا اتنا ہی آسان ہوگا۔

مرحلہ 19: ایرر ہینڈلنگ شامل کریں۔

فی الحال ہمارا پروگرام فرض کرتا ہے کہ سب کچھ کام کرے گا۔

حقیقی ایپلی کیشنز میں آپ کو ایسا نہیں کرنا چاہیے۔ فائل اپ لوڈ ناکام ہو سکتا ہے، API ایک غلطی واپس کر سکتا ہے، صارف غلط راستہ داخل کر سکتا ہے، یا نیٹ ورک عارضی طور پر ناکام ہو سکتا ہے۔

ہم استعمال کر سکتے ہیں try اور except ان حالات سے نمٹنے کے لیے۔

مثال کے طور پر:

try:
    response = client.responses.create(
        model="gpt-5",
        instructions=instructions,
        input=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_text",
                        "text": question
                    },
                    {
                        "type": "input_file",
                        "file_id": uploaded_file.id
                    }
                ]
            }
        ]
    )

    print(response.output_text)

except Exception as error:
    print("Something went wrong:")
    print(error)
  • try: اندر کوڈ try بلاک ایک کوڈ ہے جو ناکام ہو سکتا ہے۔

  • except: جب کوئی خرابی ہوتی ہے، Python except بلاک

  • Exception as error: غلطیوں کو پکڑا اور دکھایا جا سکتا ہے۔

مبہم بیک ٹریکنگ کی وجہ سے پوری ایپلیکیشن کریش ہونے کے بجائے، صارف دیکھتا ہے:

Something went wrong:
...

پروڈکشن ایپلی کیشنز کے لیے آپ عام طور پر زیادہ نفیس لاگنگ اور ایرر ہینڈلنگ چاہتے ہیں، لیکن یہ ایک اچھا نقطہ آغاز ہے۔

مرحلہ 20: فائل کی توسیع کو چیک کریں۔

آپ اپنی منتخب کردہ فائل کی قسم کو بھی چیک کر سکتے ہیں۔

شامل کریں:

allowed_extensions = {
    ".pdf",
    ".txt",
    ".docx",
    ".csv"
}

یہ فائل ایکسٹینشنز کا ایک سیٹ بناتا ہے جس کی آپ کی درخواست کی حمایت کی توقع کی جاتی ہے۔

پھر:

extension = os.path.splitext(file_path)[1].lower()

آئیے اس کا تجزیہ کرتے ہیں۔

os.path.splitext()

یہ فائل کا نام ایکسٹینشن سے الگ کرتا ہے۔

کے لیے:

research.pdf

یہ ہمیں تقریباً دیتا ہے:

research

اور:

.pdf

کہ [1] ایک توسیع منتخب کریں۔

پھر:

.lower()

چھوٹے حروف میں تبدیل کریں۔

تو:

RESEARCH.PDF

یہ اس طرح جاتا ہے:

.pdf

اب آپ چیک کر سکتے ہیں:

if extension not in allowed_extensions:
    print("Unsupported file type.")
    exit()

یہ صارفین کو ان فائلوں کی اقسام کو اپ لوڈ کرنے سے روکتا ہے جن کو سنبھالنے کے لیے ہماری ایپلیکیشن ڈیزائن نہیں کی گئی ہے۔

اپنی درخواست کو بڑھانے سے پہلے ہمیشہ اپنے منتخب کردہ API اور ماڈل کے لیے فی الحال تعاون یافتہ فائل فارمیٹس کو چیک کریں۔ OpenAI کی فائل اور ان پٹ API دستاویزات فائل پروسیسنگ اور معاون ان پٹ اقسام۔

مرحلہ 21: انٹرفیس میں فائل کا نام شامل کریں۔

یہ آپ کے ٹرمینل کے تجربے کو تھوڑا بہتر بنا سکتا ہے۔

بجائے:

print("Uploaded file:", uploaded_file.id)

ہم لکھ سکتے ہیں:

print(f"\nSuccessfully uploaded: {os.path.basename(file_path)}")

کہ f اس سے پہلے کہ سٹرنگ ایف سٹرنگ پیدا کرے۔

یہ آپ کو Python متغیرات کے اندر داخل کرنے کی اجازت دیتا ہے۔ {}.

مثال کے طور پر:

f"Successfully uploaded: {os.path.basename(file_path)}"

آپ تشکیل دے سکتے ہیں:

Successfully uploaded: research.pdf

os.path.basename()

یہ راستے سے صرف فائل کا نام نکالے گا۔

اگر صارف ٹائپ کرتا ہے:

documents/research.pdf

پھر:

os.path.basename(file_path)

رپورٹ:

research.pdf

مرحلہ 22: ایک کلین فائنل ورژن بنائیں

اب ہم سب کچھ ایک ساتھ ڈالتے ہیں۔

یہاں ایپلیکیشن کا صاف ورژن ہے:

import os

from openai import OpenAI


# Create the OpenAI client.
client = OpenAI()


# Ask the user for a file.
file_path = input("Enter the path to your file: ").strip()


# Make sure the file exists.
if not os.path.exists(file_path):
    print("File not found.")
    exit()


# Allowed file types.
allowed_extensions = {
    ".pdf",
    ".txt",
    ".docx",
    ".csv"
}


# Get the file extension.
extension = os.path.splitext(file_path)[1].lower()


# Make sure the file type is supported by our application.
if extension not in allowed_extensions:
    print(f"Unsupported file type: {extension}")
    print("Supported types:", ", ".join(allowed_extensions))
    exit()


# Upload the file.
try:
    with open(file_path, "rb") as file:
        uploaded_file = client.files.create(
            file=file,
            purpose="user_data"
        )

except Exception as error:
    print("The file could not be uploaded.")
    print(error)
    exit()


print(f"\nSuccessfully uploaded: {os.path.basename(file_path)}")


# Define the agent's behavior.
instructions = """
You are an AI file analysis assistant.

Your job is to analyze the file provided by the user.

Follow these rules:

1. Use the provided file as your primary source.
2. Answer the user's question directly.
3. Do not invent information that is not supported by the file.
4. If the file does not contain enough information to answer a question, say so.
5. When summarizing, focus on the most important information.
6. When comparing ideas, clearly explain similarities and differences.
7. When analyzing research, distinguish between methods, results, and conclusions.
8. Use simple language unless the user asks for technical language.
9. Use bullet points when they make the answer easier to understand.
10. If you make an inference, clearly label it as an inference.
"""


# Start the conversation.
print("\nYour file is ready to analyze.")
print("Ask questions about the file.")
print("Type 'exit' when you are finished.")


while True:

    # Get a question from the user.
    question = input("\nYou: ").strip()


    # Stop the program if the user wants to exit.
    if question.lower() == "exit":
        print("Goodbye!")
        break


    # Ignore empty questions.
    if not question:
        print("Please enter a question.")
        continue


    # Send the question and file to the model.
    try:
        response = client.responses.create(
            model="gpt-5",
            instructions=instructions,
            input=[
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "input_text",
                            "text": question
                        },
                        {
                            "type": "input_file",
                            "file_id": uploaded_file.id
                        }
                    ]
                }
            ]
        )


        # Display the AI's response.
        print("\nAgent:")
        print(response.output_text)


    except Exception as error:
        print("\nThe agent encountered an error.")
        print(error)

آئیے فن تعمیر کو سمجھتے ہیں۔

اس وقت کوڈ سے الگ ہونا مفید ہے۔ ہماری درخواست میں کئی پرتیں ہیں۔

پرت 1: یوزر انٹرفیس

ٹرمینل پوچھے گا:

Enter the path to your file:

اور:

You:

اس طرح صارف ایپلی کیشن کے ساتھ تعامل کرتا ہے۔

ٹائر 2: فائل پروسیسنگ

ازگر کا معائنہ:

os.path.exists(file_path)

اور یہ کھلتا ہے:

open(file_path, "rb")

یہ پرت مقامی فائلوں کو ہینڈل کرتی ہے۔

پرت 3: فائل اپ لوڈ

ایپلیکیشن فائل کو API کو بھیجتی ہے۔

client.files.create(...)

API ایک فائل ID فراہم کرتا ہے۔

ٹائر 4: ایجنٹ کے رہنما خطوط

ہم تعریف کرتے ہیں:

instructions

یہ ماڈل کو بتاتا ہے کہ کس طرح برتاؤ کرنا ہے۔

پرت 5: صارف کی درخواست

ایک صارف پوچھتا ہے:

What are the main findings?

پرت 6: ماڈل

ماڈل حاصل کرتا ہے:

  • رہنما خطوط

  • سوال

  • فائل

اور یہ ایک جواب پیدا کرتا ہے۔

پرت 7: آؤٹ پٹ

ہم دکھاتے ہیں:

response.output_text

صارفین کو۔

یہ علیحدگی مفید ہے کیونکہ اس سے بعد میں پراجیکٹ کو بڑھانا آسان ہو جاتا ہے۔

ابتدائی سوالات پوچھ سکتے ہیں جیسے:

"پہلے تمام متن کو نکالنے کے لیے ازگر کا استعمال کیوں نہیں کرتے؟”

یہ بالکل ممکن ہے۔ آپ درج ذیل لائبریریوں کو استعمال کر سکتے ہیں:

PyPDF
python-docx
pandas

فائل فارمیٹس کی ایک قسم براہ راست پڑھی جا سکتی ہے۔

نکالا ہوا متن پھر AI ماڈل کو بھیجا جا سکتا ہے۔

یہ نقطہ نظر خاص طور پر مفید ہو سکتا ہے جب حسب ضرورت پری پروسیسنگ کی ضرورت ہو۔ لیکن یہ مزید کام بھی پیدا کرتا ہے۔

آپ کو الگ الگ منطق لکھنے کی ضرورت ہوگی:

PDF → extract text
DOCX → extract text
CSV → read rows
TXT → read text

پھر ہمیں یہ معلوم کرنے کی ضرورت ہے کہ وہ تمام معلومات ماڈل کو کیسے بھیجیں۔

فائل ان پٹ API کو براہ راست فائلوں کو قبول کرنے کی اجازت دیتا ہے، معاون استعمال کے معاملات کے لیے فن تعمیر کو آسان بناتا ہے۔

لیکن بہت بڑی فائلوں کا کیا ہوگا؟

یہ وہ جگہ ہے جہاں چیزیں زیادہ دلچسپ ہوتی ہیں۔

تصور کریں کہ کوئی صارف 2,000 صفحات پر محیط دستاویزات کا مجموعہ اپ لوڈ کرتا ہے۔ آپ شاید ہر ایک درخواست میں سب کچھ نہیں بھیجنا چاہتے۔

اس کے بجائے، آپ کو ایک ایسے نظام کی ضرورت ہو سکتی ہے جو سب سے زیادہ متعلقہ حصوں کو تلاش کر سکے۔ یہ جگہ تلاش کریں یہ اہم ہو جاتا ہے۔

ایک عام فن تعمیر ہے:

Documents
    ↓
Split into chunks
    ↓
Create embeddings
    ↓
Store searchable representations
    ↓
User asks question
    ↓
Find relevant chunks
    ↓
Send relevant information to model
    ↓
Generate answer

یہ نقطہ نظر عام طور پر اس سے وابستہ ہے: تلاش میں اضافہ بنائیںیا RAG۔

OpenAI ایک فائل سرچ ٹول بھی فراہم کرتا ہے جو آپ کو ویکٹر اسٹور کا استعمال کرتے ہوئے اپ لوڈ کردہ فائلوں کو تلاش کرنے کی اجازت دیتا ہے۔

اپنے پہلے پروجیکٹ میں، ہم نے جان بوجھ کر RAG متعارف نہیں کرایا کیونکہ ہم ایک ساتھ بہت سارے تصورات شامل کر رہے تھے۔

پہلے براہ راست فائل کے تجزیہ کو سمجھیں۔ پھر تلاش کرنا سیکھیں۔ پھر دونوں کو ملا دیں۔

براہ راست فائل ان پٹ اور RAG

اختلافات کو سمجھنا مفید ہے۔

براہ راست فائل ان پٹ

ماڈل کو مخصوص درخواست کے لیے فائلوں کے ساتھ فراہم کرتا ہے۔

مثال کے طور پر:

Upload:
research-paper.pdf

Question:
What was the main conclusion?

یہ بہت سی چھوٹی ایپلی کیشنز کے لیے آسان اور موزوں ہے۔

ٹکڑا

دستاویزات کے اور بھی بہت سارے مجموعے ہیں۔

مثال کے طور پر:

100 research papers
50 reports
20 manuals

ہر سوال کے لیے ماڈل کو تمام دستاویزات فراہم کرنے کے بجائے، ہم پہلے متعلقہ معلومات کا مجموعہ بازیافت کرتے ہیں۔ پھر ہم متعلقہ حصوں کو ماڈل میں کھلاتے ہیں۔

یہ بڑے علمی اڈوں کے لیے زیادہ توسیع پذیر ہے۔

مرحلہ 23: مختلف فائل کی اقسام پر ایجنٹ کی کارکردگی کو بہتر بنائیں

مختلف فائلوں میں مختلف قسم کی معلومات ہوتی ہیں۔

PDF میں شامل ہو سکتا ہے:

Research paper

CSV پر مشتمل ہو سکتا ہے:

Name,Age,Score
Alex,17,91
Sam,18,87

DOCX میں شامل ہوسکتا ہے:

A long essay

ایک اچھے ایجنٹ کو یہ سمجھنا چاہیے کہ وہ کس قسم کی معلومات کے ساتھ کام کر رہے ہیں۔

ہم اس بات کو یقینی بنا سکتے ہیں کہ ہماری رہنمائی اس کی عکاسی کرتی ہے۔

مثال کے طور پر:

instructions = """
You are an AI file analysis assistant.

First understand what type of information the uploaded file contains.

If the file is a research paper:
- Identify the research question.
- Explain the methodology.
- Summarize the results.
- Explain the conclusion.
- Identify limitations.

If the file contains tabular data:
- Identify the columns.
- Describe important patterns.
- Identify unusual values when possible.
- Explain trends clearly.
- Do not invent numerical results.

If the file is a general document:
- Identify its main purpose.
- Summarize the important sections.
- Answer questions using information from the document.

Always:
- Use the file as your primary source.
- Do not invent facts.
- Clearly distinguish facts from inferences.
- Say when the file does not contain enough information.
- Use simple language.
"""

اب آپ کے پاس ان کاموں کے بارے میں مزید سیاق و سباق ہے جو آپ کا ایجنٹ انجام دے سکتا ہے۔

مرحلہ 24: ایجنٹوں کو مخصوص کردار تفویض کریں۔

آپ رہنما خطوط کو ایجنٹ کی ملازمت کی تفصیل کے طور پر سوچ سکتے ہیں۔

مثال کے طور پر:

You are an AI research assistant.

یہ کافی کشادہ ہے۔

لیکن:

You are an AI research assistant who analyzes academic papers.

یہ زیادہ مخصوص ہے۔

ہم آگے جا سکتے ہیں:

You are an AI research assistant specializing in helping students understand academic papers.

اب ہمارے پاس ایک ہدف والے سامعین ہیں۔

ماڈل اس کے مطابق اپنی وضاحت کو ایڈجسٹ کرسکتا ہے۔

یہ آپ کے AI ایپلیکیشنز کو بہت زیادہ کوڈ لکھے بغیر زیادہ کارآمد بنانے کا ایک آسان ترین طریقہ ہے۔

مرحلہ 25: تجزیہ موڈ شامل کریں۔

آپ صارفین کو تجزیہ کے طریقوں کا انتخاب کرنے کی اجازت دے کر اپنی ایپلیکیشن کو مزید کارآمد بنا سکتے ہیں۔

مثال کے طور پر:

1. Summarize
2. Explain
3. Find key points
4. Analyze
5. Ask a question

ہم پوچھ سکتے ہیں:

mode = input(
    "\nChoose a mode: "
    "summarize, explain, analyze, or question: "
)

یہ پھر صارف کے انتخاب کی بنیاد پر پرامپٹ میں ترمیم کرتا ہے۔

مثال کے طور پر:

if mode.lower() == "summarize":
    task = "Summarize the most important information from the file."

elif mode.lower() == "explain":
    task = "Explain the file in beginner-friendly language."

elif mode.lower() == "analyze":
    task = "Perform a detailed analysis of the file."

else:
    task = question

یہ ایپلیکیشن منطق کی ایک سادہ سی مثال ہے جو AI ماڈل کو کنٹرول کرتی ہے۔

AI اب بھی زبان تیار کرتا ہے، لیکن Python ایپلی کیشنز اس بات کا تعین کرتی ہیں کہ کس قسم کے کام انجام دینے کی ضرورت ہے۔

مرحلہ 26: یہ تمام جوابات کو ہارڈ کوڈنگ سے مختلف کیوں ہے۔

تصور کریں کہ آپ درج ذیل سوال کی حمایت کرنا چاہتے ہیں:

  1. فائل کا خلاصہ کریں۔

  2. مرکزی خیال کیا ہے؟

  3. حدود کیا ہیں؟

  4. آپ کا ہدف سامعین کون ہے؟

  5. کیا ثبوت آپ کے نتیجے کی حمایت کرتا ہے؟

تکنیکی طور پر، آپ ہر ایک کے لیے علیحدہ ازگر کے فنکشن بنا سکتے ہیں۔ لیکن یہ جلد ہی مضحکہ خیز بن جائے گا۔

اس کے بجائے، آپ صارفین کو قدرتی طور پر سوالات کرنے دے سکتے ہیں۔

question = input("What would you like to know? ")

AI زبان پر کارروائی کرتا ہے۔ ہماری درخواست ایک فائل اور سیاق و سباق فراہم کرتی ہے۔

یہ آپ کی ایپلی کیشنز میں لینگویج ماڈل استعمال کرنے کے اہم فوائد میں سے ایک ہے۔

مرحلہ 27: سیکیورٹی کے مسائل

اب بات کرتے ہیں ایک ایسی چیز کے بارے میں جو کہ AI حصے کی طرح پرجوش تو نہیں لیکن بہت اہم ہے۔

اپنی API کلید کو بے نقاب نہ کریں۔

برا:

client = OpenAI(
    api_key="sk-real-secret-key"
)

بہتر:

client = OpenAI()

ماحولیاتی متغیر میں ذخیرہ شدہ کلید کا استعمال کریں۔

اس کے علاوہ، GitHub کے رازوں کا ارتکاب نہ کریں۔

آپ کا .gitignore فائل میں درج ذیل پر مشتمل ہونا چاہئے:

.env
venv/
__pycache__/

اگر آپ استعمال کرنے کا فیصلہ کرتے ہیں۔ .env اگر آپ فائل کو مقامی طور پر محفوظ کرنا چاہتے ہیں تو یقینی بنائیں کہ اسے Git نے نظر انداز کر دیا ہے۔

مرحلہ 28: حساس فائلوں سے محتاط رہیں

فائل کے تجزیہ کے ایجنٹ ممکنہ طور پر حساس معلومات پر کارروائی کر سکتے ہیں۔

اس کا مطلب ہے کہ آپ کو کوئی بھی چیز اپ لوڈ کرنے سے پہلے احتیاط سے سوچنا چاہیے کہ:

  • طبی ریکارڈ

  • مالی معلومات

  • پاس ورڈ

  • نجی کمپنی کے دستاویزات

  • ذاتی شناختی دستاویزات

  • خفیہ اسکول کے ریکارڈز

آپ کی درخواست کی رازداری کے تقاضوں کا انحصار اس ڈیٹا کی قسم پر ہوتا ہے جس پر یہ کارروائی کرتی ہے۔

AI API کو اپنے کمپیوٹر پر ہر دستاویز کو بے ترتیبی سے اپ لوڈ کرنے کی جگہ نہ سمجھیں۔

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

عام غلطیاں جو ڈویلپرز کرتے ہیں۔

عام غلطی #1: اپنی API کلید کو GitHub پر ڈالنا

ایسا کبھی نہ کریں:

api_key = "your-secret-key"

اور اس کا ارتکاب کریں۔

اس کے بجائے ماحولیاتی متغیرات کا استعمال کریں۔

عام غلطی #2: یہ فرض کرنا کہ AI آپ کی فائل میں سب کچھ جانتا ہے۔

فائل اپ لوڈ کرنے کا مطلب یہ نہیں ہے کہ ایپلیکیشن ہر ممکنہ سوال کو جادوئی طریقے سے حل کر دے گی۔

فائلوں کا تجزیہ کرنے کی ماڈل کی صلاحیت پر منحصر ہے:

اپنی درخواست کو ان حدود کے گرد ڈیزائن کریں۔

عام غلطی #3: ماڈل کو بتانا کہ "صرف تجزیہ کریں”

یہ:

Analyze the file.

بہت مبہم۔

یہ بہتر ہے:

Identify the main argument, summarize the evidence,
explain the methodology, and identify the limitations.

واضح ہدایات واضح کام تخلیق کرتی ہیں۔

عام غلطی #4: ہیلوسینیشن کو نظر انداز کرنا

AI ماڈل غلط معلومات پیدا کر سکتے ہیں۔

اسی لیے ہماری رہنمائی میں شامل ہیں:

Do not invent information.

اور:

If the file does not contain enough information, say so.

آپ کو ذاتی طور پر کسی بھی حساس معلومات کی تصدیق کرنی ہوگی۔

ہائی رسک ایپلی کیشنز کو زیادہ مضبوط تشخیص اور تصدیقی نظام کی ضرورت ہوتی ہے۔

عام غلطی #5: ہر جگہ بہت زیادہ ڈیٹا بھیجنا

اگر آپ کے پاس ہزاروں دستاویزات ہیں تو ان سب کو ہر درخواست میں شامل نہ کریں۔

یہ وہ جگہ ہے جہاں تلاش کا نظام کارآمد ہو جاتا ہے۔ پہلے تلاش کریں۔ اس کے بعد ہم ماڈل کو انتہائی متعلقہ معلومات فراہم کرتے ہیں۔

عام غلطی #6: سب کچھ ایک ساتھ بنانا

عام ابتدائی غلطیاں اس طرح شروع ہوتی ہیں:

React
FastAPI
LangChain
PostgreSQL
Pinecone
Docker
Kubernetes
OpenAI
Authentication
RAG
Agents

سب ایک ہی وقت میں۔

ایسا مت کرو۔

آپ AI سیکھنے کے بجائے اپنے انفراسٹرکچر کو ڈیبگ کرنے میں زیادہ وقت گزاریں گے۔

کے ساتھ شروع کریں:

Python
+
OpenAI API
+
File

اسے کام کرو۔

پھر ایک وقت میں ایک خصوصیات شامل کریں۔

حتمی پروگرام کیسے کام کرتا ہے۔

آئیے شروع سے آخر تک اپنے پروگرام کا خلاصہ کرتے ہیں۔

صارف چلاتا ہے:

python agent.py

پروگرام پوچھتا ہے:

Enter the path to your file:

صارف کی اقسام:

research.pdf

پائتھون چیک کرتا ہے کہ آیا فائل موجود ہے۔

درخواست پھر اسے اپ لوڈ کرتی ہے۔

client.files.create(...)

API فائل ID واپس کرتا ہے۔ ایپلیکیشن اس ID کو اسٹور کرتی ہے۔

صارف پھر پوچھتا ہے:

What is the main argument?

ہماری درخواست بھیجتی ہے:

Instructions
+
Question
+
File

ماڈل کو۔

ماڈل معلومات کا تجزیہ کرتے ہیں۔

پھر ہمارا پروگرام پرنٹ کرتا ہے:

response.output_text

صارف کو جواب ملتا ہے۔

یہ فائل تجزیہ AI ایجنٹ کا بنیادی حصہ ہے۔

یاد رکھنے کے لیے سب سے اہم کوڈز

اگر آپ باقی سب کچھ بھول جائیں تو اس ساخت کو یاد رکھیں:

from openai import OpenAI


client = OpenAI()


with open("research.pdf", "rb") as file:
    uploaded_file = client.files.create(
        file=file,
        purpose="user_data"
    )


response = client.responses.create(
    model="gpt-5",
    instructions="Analyze the uploaded file carefully.",
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "What is the main argument?"
                },
                {
                    "type": "input_file",
                    "file_id": uploaded_file.id
                }
            ]
        }
    ]
)


print(response.output_text)

اہم ذہنی ماڈلز میں شامل ہیں:

Open file
    ↓
Upload file
    ↓
Get file ID
    ↓
Send question + file ID
    ↓
Model analyzes file
    ↓
Print answer

اس بہاؤ کو سمجھنے کے بعد، آپ اس کے اوپر بہت زیادہ پیچیدہ ایپلی کیشنز بنا سکتے ہیں۔

آپ اس سے کیا بنا سکتے ہیں؟

یہ سادہ پروجیکٹ بہت سے حقیقی دنیا کے ایپلی کیشنز کی بنیاد بن سکتا ہے۔

اے آئی ریسرچ اسسٹنٹ

اپنا تعلیمی کاغذ اپ لوڈ کریں اور سوالات پوچھیں جیسے:

What is the research question?
What methodology was used?
What were the main findings?

خلاصہ تجزیہ کار

اپنا ریزیومے اپ لوڈ کریں اور درج ذیل سوالات پوچھیں:

What skills are missing for this job?

سیکھنے کے اسسٹنٹ

نصابی کتاب کا ایک باب اپ لوڈ کریں اور اس طرح کا سوال پوچھیں:

Explain this chapter in beginner-friendly language.

دستاویزات اپ لوڈ کریں اور رازداری، درستگی اور مناسب قانونی تحفظات پر غور کرتے ہوئے ان کے مواد کے بارے میں سوالات پوچھیں۔

کاروباری رپورٹ تجزیہ کار

اپنی رپورٹ اپ لوڈ کریں اور سوالات پوچھیں جیسے:

What are the most important trends?

ڈیٹا تجزیہ اسسٹنٹ

اپنا ڈیٹاسیٹ اپ لوڈ کریں اور آخر میں اپنے ایجنٹ کو ازگر پر مبنی تجزیہ ٹولز تک رسائی دیں۔

امکانات بہت زیادہ ہیں۔

حتمی خیالات

ایک AI ایجنٹ بنانا جو فائلوں کو پڑھ سکتا ہے پہلے تو پیچیدہ لگ سکتا ہے۔

لیکن جب آپ اسے توڑ دیتے ہیں، تو بنیادی خیال حیرت انگیز طور پر آسان ہوتا ہے۔

  1. Python ایپلیکیشن سیٹ اپ کرتی ہے۔

  2. APIs AI ماڈلز تک رسائی فراہم کرتے ہیں۔

  3. فائلیں معلومات فراہم کرتی ہیں۔

  4. رہنما خطوط ایجنٹ کے کاموں کی وضاحت کرتے ہیں۔

  5. صارفین سوالات فراہم کرتے ہیں۔

  6. ماڈل معلومات کا تجزیہ کرتا ہے اور جواب پیدا کرتا ہے۔

واقعی دلچسپ حصہ یہ ہے کہ آگے کیا ہوتا ہے۔

اپنے AI ماڈل کو فائل تک رسائی دینے کے طریقہ کو سمجھنا آپ کو تلاش، ٹولز، ڈیٹا بیس، ویب سرچ، میموری، یوزر انٹرفیس، اور ملٹی سٹیپ ورک فلوز شامل کرنے کی اجازت دیتا ہے۔

یہیں سے سادہ AI اسکرپٹس حقیقی AI ایپلی کیشنز میں تبدیل ہونا شروع ہو جاتی ہیں۔

اور بہترین حصہ؟ آپ کو اس کی تعمیر شروع کرنے سے پہلے AI کے ہر حصے کو سمجھنے کی ضرورت نہیں ہے۔

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

اس طرح آپ "میں ایک AI ایجنٹ بنانا چاہتا ہوں” سے "میں نے اصل میں ایک AI ایجنٹ بنایا ہے۔”

مبارک کوڈنگ!

Scroll to Top