علم کے مرکز کے حصے ▾

نیویگیشن

▸ یہاں سے شروع کریں کردار کے لحاظ سے

زمرہ جات

ٹولز 37
لغت 12

ٹولز

PydanticAI + گونکا — ٹائپ شدہ AI-ایجنٹ صرف چند روپے میں

PydanticAI ایک Python فریم ورک ہے جو Pydantic کی ٹیم نے AI ایجنٹس بنانے کے لیے تیار کیا ہے (وہی ویلیڈیشن لائبریری جس پر نصف Python ایکو سسٹم کا دارومدار ہے)۔ PydanticAI کی خاصیت ٹائپڈ آؤٹ پٹ ہے: آپ نتیجے کو ایک عام Pydantic ماڈل کے طور پر بیان کرتے ہیں، اور فریم ورک ضمانت دیتا ہے کہ ماڈل اسی ساخت میں واپس آئے گا، جو ویلیڈیٹڈ اور استعمال کے لیے تیار ہوگا۔ مزید برآں، اس میں آسان @agent.tool ٹول کالنگ، ڈیپینڈنسی انجیکشن اور کسی بھی پرووائیڈر کی سپورٹ شامل ہے۔

تمام ایجنٹ فریم ورکس کی طرح، سب سے بڑا مسئلہ ٹوکنز کی قیمت ہے۔ ٹولز کے ساتھ ایک ایجنٹ سیاق و سباق کو چکروں میں گھماتا ہے: کوئری → ٹول کال → نتیجہ → دوبارہ کوئری۔ ایک ٹاسک میں آسانی سے چند ملین ٹوکن خرچ ہو جاتے ہیں۔ OpenAI ($2.50–15 فی 1M) اور Anthropic ($3–15 فی 1M) کی قیمتوں پر، ایک پروٹو ٹائپ بھی مہنگا پڑتا ہے، اور روزانہ ہزاروں درخواستوں والی پروڈکشن سروس تو ناقابل برداشت ہے۔

PydanticAI OpenAIChatModel اور OpenAIProvider کلاسز کے ذریعے کسی بھی OpenAI-compatible اینڈ پوائنٹ کے ساتھ مقامی طور پر کام کرتا ہے۔ اس کا مطلب ہے کہ JoinGonka Gateway کو جوڑنا چند لائنوں کا کام ہے — بغیر کسی الگ پیکج یا اڈاپٹر کے۔ نتیجہ: ٹائپڈ ایجنٹس جو OpenAI/Anthropic کے $2.50–15 کے بجائے 1M ان پٹ ٹوکنز کے لیے صرف $0.0069 میں کام کرتے ہیں — جو سینکڑوں اور ہزاروں گنا سستا ہے۔

فوری آغاز: کوڈ میں کنکشن

سب سے پہلے ایک کلید (key) حاصل کریں: gate.joingonka.ai/register پر رجسٹر کریں — رجسٹریشن پر ہم 3M مفت ٹوکنز دیتے ہیں — اور ڈیش بورڈ → API Keys سے jg-xxx کلید بنائیں۔

انسٹالیشن:

pip install pydantic-ai
# یا صرف OpenAI-انحصار کے ساتھ لائٹ ورژن:
# pip install "pydantic-ai-slim[openai]"

ایک کم از کم مثال — Gonka کے ذریعے ایک ایجنٹ۔ PydanticAI OpenAIProvider(base_url=..., api_key=...) کے ذریعے ایک کسٹم endpoint سیٹ کرتا ہے، جو OpenAIChatModel کو پاس کیا جاتا ہے:

from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider

model = OpenAIChatModel(
    "MiniMaxAI/MiniMax-M2.7",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-آپ-کی-کلید",
    ),
)

agent = Agent(model)

result = agent.run_sync("PoUW کیا ہے، دو جملوں میں وضاحت کریں")
print(result.output)

بس اتنا ہی — آپ کا PydanticAI ایجنٹ غیر مرکزی Gonka نیٹ ورک کے ذریعے انتہائی کم قیمت پر کام کر رہا ہے۔ run_sync کا طریقہ اسکرپٹس کے لیے آسان ہے؛ async کوڈ کے لیے await agent.run(...) استعمال کریں۔

ماڈل پیرامیٹرز: MiniMax M2.7 کی کانٹیکسٹ ونڈو 200K ٹوکنز (200000) ہے، DeepSeek V4 Flash کی 380K، اور GLM-5.3 Flash کی 390K ہے؛ گیٹ وے کے ذریعے زیادہ سے زیادہ جواب کی لمبائی — MiniMax اور GLM-5.3 Flash کے لیے 8192 ٹوکنز تک، DeepSeek کے لیے 32768 تک ہے۔ آؤٹ پٹ کو محدود کرنے کے لیے ماڈل کی سیٹنگز (OpenAIChatModelSettings(max_tokens=8192)) استعمال کریں۔ MiniMaxAI/MiniMax-M2.7، deepseek-ai/DeepSeek-V4-Flash-0731 اور zai-org/GLM-5.3-Flash دستیاب ہیں — OpenAIChatModel کے پہلے آرگومنٹ میں ماڈل کا نام تبدیل کرنا کافی ہے۔

PydanticAI کی خصوصیت: ٹائپ شدہ آؤٹ پٹ

PydanticAI کو منتخب کرنے کی اہم وجہ structured output ہے۔ ٹیکسٹ رسپانس کو ریگولر ایکسپریشنز کے ساتھ پارس کرنے کے بجائے، آپ نتیجے کو ایک Pydantic ماڈل کے طور پر بیان کرتے ہیں اور اسے output_type پیرامیٹر میں پاس کرتے ہیں۔ فریم ورک ماڈل کی tool calling کا استعمال کرتے ہوئے ڈیٹا کو سختی سے اسکیما کے مطابق واپس لاتا ہے، اس کی توثیق کرتا ہے اور result.output کے ذریعے ایک تیار آبجیکٹ فراہم کرتا ہے۔

from pydantic import BaseModel
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider

model = OpenAIChatModel(
    "MiniMaxAI/MiniMax-M2.7",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-آپ-کی-کلید",
    ),
)


class Profile(BaseModel):
    name: str
    role: str
    skills: list[str]


agent = Agent(model, output_type=Profile)

result = agent.run_sync(
    "ڈیٹا نکالیں: آنا — ایک backend-developer ہے، Python، Go اور Postgres جانتی ہے"
)
print(result.output)
# name='آنا' role='backend-developer' skills=['Python', 'Go', 'Postgres']
print(result.output.skills)  # ['Python', 'Go', 'Postgres'] — یہ اب list[str] ہے، ٹیکسٹ نہیں

یہ اس لیے کام کرتا ہے کیونکہ Gonka کے تینوں ماڈلز (MiniMax M2.7, DeepSeek V4 Flash اور GLM-5.3 Flash) مقامی tool calling کو سپورٹ کرتے ہیں — PydanticAI درست JSON سٹرکچر واپس لانے کے لیے اس پر انحصار کرتا ہے۔ آؤٹ پٹ میں آپ کو ایک ٹائپ شدہ Python آبجیکٹ ملتا ہے، نہ کہ وہ اسٹرنگ جسے دستی طور پر پارس کرنا پڑے۔ یہ ڈیٹا ایکسٹریکشن، کلاسیفیکیشن، فارم فلنگ اور RAG-پائپ لائنز کے لیے مثالی ہے، جہاں نتیجہ کو کوڈ میں سختی سے فارمیٹ کرنے کی ضرورت ہوتی ہے۔

لاگت کا موازنہ

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

منظرنامہٹوکنزOpenAI / AnthropicJoinGonka Gonka
دستاویز سے اسٹرکچر نکالنا~3K$0.008 — $0.045~$0.000028
ٹول کالنگ کے ساتھ ایجنٹ (ایک سائیکل)~15K$0.04 — $0.22~$0.00014
RAG-پائپ لائن (1000 درخواست/دن)~5M/دن$12 — $75/دن~$0.048/دن
پروڈکشن-ایجنٹ (100K درخواست/دن)~500M/دن$1,250 — $7,500/دن~$4.80/دن

فرق سینکڑوں یا ہزاروں گنا ہے۔ ایک پروٹوٹائپ کے لیے اس کا مطلب ہے کہ 3M مفت ٹوکنز ایجنٹ کے پہلے رنز کے لیے کافی ہیں۔ روزانہ لاکھوں درخواستیں سنبھالنے والے پروڈکشن کے لیے، بچت مہینے میں ہزاروں ڈالر ہوتی ہے — PydanticAI کا کوڈ وہی رہتا ہے، صرف base_url تبدیل کرنا پڑتا ہے۔

ایک jg-xxx کلید اور ایک بیلنس OpenAI-فارمیٹ (/v1) اور Anthropic-فارمیٹ (/v1/messages) دونوں کے لیے کام کرتا ہے — لیکن PydanticAI کے لیے اوپر دکھایا گیا OpenAI-موافق endpoint کافی ہے۔

ٹول کالنگ اور ماڈل کا انتخاب

PydanticAI کی دوسری اہم خصوصیت ٹولز ہیں۔ ایک فنکشن کو @agent.tool_plain (کانٹیکسٹ کے بغیر) یا @agent.tool (RunContext اور dependency injection کے ساتھ) ڈیکوریٹر کا استعمال کرتے ہوئے رجسٹر کیا جا سکتا ہے۔ ماڈل خود فیصلہ کرتا ہے کہ ٹول کو کب کال کرنا ہے، نتیجہ حاصل کرتا ہے اور اپنی منطق (reasoning) جاری رکھتا ہے:

import random
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider

model = OpenAIChatModel(
    "MiniMaxAI/MiniMax-M2.7",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-ваш-ключ",
    ),
)

agent = Agent(
    model,
    instructions="Ты помощник. Используй инструменты, когда нужно.",
)


@agent.tool_plain
def roll_dice() -> str:
    """Бросает шестигранный кубик и возвращает результат."""
    return str(random.randint(1, 6))


@agent.tool_plain
def calculator(expression: str) -> str:
    """Вычисляет математическое выражение."""
    return str(eval(expression))


result = agent.run_sync("Брось кубик и умножь результат на 7")
print(result.output)

چونکہ Gonka میں ٹول کالنگ نیٹو ہے، اس لیے ٹولز کو قابل اعتماد طریقے سے کال کیا جاتا ہے — ٹیکسٹ رسپانسز کو پارس کرنے جیسے نازک طریقوں کی ضرورت نہیں پڑتی۔ پورا سائیکل (درخواست → ٹول کال → حتمی جواب) Gonka کے ذریعے تقریباً $0.00007 میں پڑتا ہے، جبکہ OpenAI/Anthropic میں یہی خرچ $0.04–0.22 ہوتا ہے۔

کون سا ماڈل منتخب کریں: MiniMaxAI/MiniMax-M2.7 — طویل مکالموں اور متوازن کاموں کے لیے، آؤٹ پٹ 8192 تک۔ deepseek-ai/DeepSeek-V4-Flash-0731 — نیٹ ورک کا سب سے طویل کانٹیکسٹ (380K) اور سستے بڑے پرامپٹس، آؤٹ پٹ 32768 تک۔ zai-org/GLM-5.3-Flash — پیچیدہ استدلال کے لیے ریزننگ ماڈل اور نیٹ ورک کا سب سے طویل کانٹیکسٹ (390K)، آؤٹ پٹ 8192 تک؛ استدلال کے دوران max_tokens کا کچھ حصہ خرچ ہوتا ہے، اس لیے اسے مارجن کے ساتھ (600 سے زیادہ) سیٹ کریں۔ یہ تینوں ماڈلز ابھی ایک ہی کلید کے ذریعے دستیاب ہیں — صرف ماڈل سٹرنگ تبدیل کرنے کی ضرورت ہے۔ ملتی جلتی ٹولز: چینز اور RAG کے لیے LangChain، ڈیٹا انڈیکسنگ کے لیے LlamaIndex۔

PydanticAI + Gonka = Python پر مبنی ٹائپڈ AI ایجنٹس انتہائی کم قیمت پر۔ Pydantic-ماڈلز کے ساتھ Structured output، مقامی ٹول کالنگ، ڈیپینڈنسی انجیکشن — سب کچھ OpenAIChatModel + OpenAIProvider اور ایک base_url کے ساتھ۔ قیمت — 1M ٹوکنز کے لیے $0.0069 سے شروع، جبکہ OpenAI اور Anthropic میں یہ $2.50–15 ہے۔

مزید جاننا چاہتے ہیں؟

دیگر حصوں کو دریافت کریں یا ابھی GNK کمانا شروع کریں۔

مفت ٹوکن حاصل کریں →