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

نیویگیشن

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

زمرہ جات

ٹولز 32
لغت 12

ٹولز

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

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

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

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

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

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

تنصیب:

pip install pydantic-ai
# یا صرف OpenAI ڈیپینڈینسیز کے ساتھ ہلکا ورژن:
# pip install "pydantic-ai-slim[openai]"

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

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(...) استعمال کریں۔

ماڈل پیرامیٹرز: نیٹ ورک ماڈلز کا کانٹیکسٹ ونڈو 200K ٹوکن (200000) ہے، گیٹ وے کے ذریعے رسپانس کی زیادہ سے زیادہ لمبائی 8192 ٹوکن تک ہے۔ آپ ماڈل سیٹنگز کے ذریعے آؤٹ پٹ کو محدود کر سکتے ہیں (OpenAIChatModelSettings(max_tokens=8192)moonshotai/Kimi-K2.6 اور MiniMaxAI/MiniMax-M2.7 (ہر ایک 8192 آؤٹ پٹ ٹوکن تک) بھی دستیاب ہیں — بس 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 ماڈلز (Kimi K2.6 اور MiniMax M2.7) نیٹو tool calling کو سپورٹ کرتے ہیں — PydanticAI اس کا فائدہ اٹھا کر درست JSON-اسٹرکچر واپس کرتا ہے۔ آپ کو آؤٹ پٹ میں پائتھن کا ٹائپڈ آبجیکٹ ملتا ہے، نہ کہ کوئی سٹرنگ جسے دستی طور پر پارس کرنا پڑے۔ یہ ڈیٹا نکالنے، درجہ بندی، فارم بھرنے اور RAG-پائپ لائنز کے لیے مثالی ہے، جہاں رزلٹ کو کوڈ میں آگے ایک سخت فارمیٹ میں بھیجنا ضروری ہو۔

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

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

اسیناریوٹوکنزOpenAI / AnthropicJoinGonka Gonka
دستاویز سے اسٹرکچر نکالنا~3K$0.008 — $0.045~$0.000014
ایجنٹ ود tool calling (ایک سائیکل)~15K$0.04 — $0.22~$0.00007
RAG-پائپ لائن (1000 درخواستیں/دن)~5M/دن$12 — $75 روزانہ~$0.024 روزانہ
پروڈکشن-ایجنٹ (100K درخواستیں/دن)~500M/دن$1,250 — $7,500 روزانہ~$2.40 روزانہ

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

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

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

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

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 میں tool calling نیٹو ہے، اس لیے ٹولز قابل اعتماد طریقے سے کال ہوتے ہیں - ٹیکسٹ رسپانس کی نازک پارسنگ کے بغیر۔ پورا چکر (درخواست → ٹول کال → حتمی جواب) Gonka کے ذریعے تقریباً $0.00007 کی لاگت رکھتا ہے جبکہ OpenAI/Anthropic پر یہ $0.04–0.22 ہے۔

کون سا ماڈل منتخب کریں: moonshotai/Kimi-K2.6 — کوڈنگ اور پیچیدہ استدلال میں مضبوط، آؤٹ پٹ 8192 تک۔ MiniMaxAI/MiniMax-M2.7 — طویل مکالموں اور متوازن کاموں کے لیے، آؤٹ پٹ 8192 تک۔ دونوں ایک کلید (key) کے ساتھ دستیاب ہیں - صرف ماڈل اسٹرنگ تبدیل ہوتی ہے۔ متعلقہ ٹولز: چینز اور RAG کے لیے LangChain، ڈیٹا انڈیکسنگ کے لیے LlamaIndex۔

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

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

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

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