Mga Seksyon ng Base ng Kaalaman ▾

Mga Gamit

Mga Tool

PydanticAI + Gonka — Typed AI Agents sa Maliit na Halaga

Ang PydanticAI ay isang Python framework para sa paglikha ng mga AI agent mula sa koponan ng Pydantic (ang parehong library ng validation kung saan nakasalalay ang kalahati ng Python ecosystem). Ang pangunahing tampok ng PydanticAI ay typed output: inilalarawan mo ang resulta bilang isang ordinaryong Pydantic model, at ginagarantiya ng framework na ibabalik ng modelo ang eksaktong istrukturang iyon, na na-validate at handa nang gamitin. Dagdag pa, isang malinaw na @agent.tool tool calling, dependency injection at suporta para sa anumang provider.

Ang problema ay pareho sa lahat ng agent frameworks — ang presyo ng token. Ang isang agent na may mga tool ay nagpapalipat-lipat ng konteksto: kahilingan → tool call → resulta → muling kahilingan. Sa isang gawain, madaling umabot sa milyun-milyong token. Sa mga taripa ng OpenAI ($2.50–15 bawat 1M) at Anthropic ($3–15 bawat 1M), kahit ang isang prototype ay nagiging mahal, at ang produksiyon na may libu-libong kahilingan bawat araw — ay hindi kayang bilhin.

Ang PydanticAI ay native na gumagana sa anumang OpenAI-compatible na endpoint sa pamamagitan ng mga klase na OpenAIChatModel at OpenAIProvider. Nangangahulugan ito na ang JoinGonka Gateway ay nakakonekta sa ilang linya lamang — nang walang hiwalay na mga pakete at adapter. Ang resulta: mga typed agent, na gumagana sa $0.0005 bawat 1M input token sa halip na $2.50–15 sa OpenAI/Anthropic — daan-daan at libu-libong beses na mas mura.

Mabilis na Simula: In-code na Koneksyon

Una, kumuha ng susi: magparehistro sa gate.joingonka.ai/register — sa pagpaparehistro ay nagbibigay kami ng 10M na libreng token — at lumikha ng key na jg-xxx sa Dashboard → API Keys.

Pag-install:

pip install pydantic-ai
# o ang lightened na bersyon na may OpenAI dependencies lamang:
# pip install "pydantic-ai-slim[openai]"

Minimal na halimbawa — isang ahente sa pamamagitan ng Gonka. Nagtatakda ang PydanticAI ng custom na endpoint sa pamamagitan ng OpenAIProvider(base_url=..., api_key=...), na ipinapasa sa OpenAIChatModel:

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

model = OpenAIChatModel(
    "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-your-key",
    ),
)

agent = Agent(model)

result = agent.run_sync("Ipaliwanag sa dalawang pangungusap, ano ang PoUW")
print(result.output)

Ito na — ang iyong PydanticAI agent ay gumagana sa pamamagitan ng desentralisadong network ng Gonka sa maliit na halaga. Ang run_sync na paraan ay maginhawa para sa mga script; para sa async code, mayroong await agent.run(...).

Mga Parameter ng Modelo: ang context window ng Qwen3-235B ay 128K token (131072), ang maximum na haba ng tugon sa pamamagitan ng Gateway ay hanggang 8192 token. Maaaring limitahan ang output sa pamamagitan ng mga setting ng modelo (OpenAIChatModelSettings(max_tokens=8192)). Magagamit din ang moonshotai/Kimi-K2.6 (hanggang 3072 output token) at MiniMaxAI/MiniMax-M2.7 (hanggang 4096) — sapat na palitan ang pangalan ng modelo sa unang argumento ng OpenAIChatModel.

Tampok ng PydanticAI: Typed Output

Ang pangunahing dahilan upang piliin ang PydanticAI ay ang structured output. Sa halip na mag-parse ng text mula sa sagot gamit ang regular expressions, inilalarawan mo ang resulta bilang isang Pydantic model at ipinapasa ito sa parameter na output_type. Ginagamit ng framework ang tool calling ng modelo upang pilitin itong magbalik ng data na mahigpit ayon sa schema, i-validate ang mga ito, at ibalik ang handa nang object sa pamamagitan ng 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(
    "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-your-key",
    ),
)


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


agent = Agent(model, output_type=Profile)

result = agent.run_sync(
    "Kuhanin ang data: Si Anna ay isang backend developer, marunong siya sa Python, Go at Postgres"
)
print(result.output)
# name='Anna' role='backend-developer' skills=['Python', 'Go', 'Postgres']
print(result.output.skills)  # ['Python', 'Go', 'Postgres'] — list[str] na, hindi text

Umuobra ito dahil sinusuportahan ng Qwen3-235B (at ang dalawa pang models ng Gonka) ang native tool calling — umaasa ang PydanticAI dito upang magbalik ng valid JSON structure. Ang resulta ay isang typed Python object, hindi isang string na kailangan mong i-parse nang manu-mano. Ideal para sa data extraction, classification, form filling, at RAG-pipelines, kung saan ang resulta ay dapat lumabas sa structured na format.

Paghahambing ng Gastos

Ang PydanticAI ay isang framework para sa mga ahente at pipeline na patuloy na gumagana: nagkuha ng data, tumatawag ng mga tool, nagpoproseso ng mga stream ng kahilingan. Dito, ang halaga ng mga token ang nagpapasya kung ang proyekto ay mananatiling prototype o magpapatuloy sa produksyon. Paghambingin natin ang tipikal na mga workload:

ScenarioTokensOpenAI / AnthropicJoinGonka Gonka
Pagkuha ng istruktura mula sa dokumento~3K$0.008 — $0.045~$0.000002
Agent na may tool calling (isang cycle)~15K$0.04 — $0.22~$0.00001
RAG-pipeline (1000 requests/araw)~5M/araw$12 — $75/araw~$0.003/araw
Production-agent (100K requests/araw)~500M/araw$1,250 — $7,500/araw~$0.30/araw

Ang pagkakaiba ay daan-daan at libu-libong beses. Para sa prototype, nangangahulugan ito na ang 10M na libreng token ay sapat na para sa daan-daang pagpapatakbo ng ahente. Para sa produksyon, na nagpoproseso ng daan-daang libong kahilingan bawat araw, ang pagtitipid ay sampu-sampung libong dolyar bawat buwan — na may parehong code sa PydanticAI, na may iba lamang na base_url.

Isang jg-xxx key at isang balanse ang gumagana para sa OpenAI-format (/v1) at Anthropic-format (/v1/messages) — ngunit para sa PydanticAI, sapat na ang OpenAI-compatible endpoint na ipinapakita sa itaas.

Pagtawag ng Tool at Pagpili ng Modelo

Ang pangalawang pangunahing kakayahan ng PydanticAI ay mga tool. Maaaring irehistro ang isang function gamit ang decorator na @agent.tool_plain (walang konteksto) o @agent.tool (na may access sa RunContext at dependency injection). Ang modelo mismo ang nagpapasya kung kailan tatawagan ang tool, nakakakuha ng resulta at nagpapatuloy sa paghuhusga:

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

model = OpenAIChatModel(
    "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-your-key",
    ),
)

agent = Agent(
    model,
    instructions="Ikaw ay isang assistant. Gamitin ang mga tool kung kinakailangan.",
)


@agent.tool_plain
def roll_dice() -> str:
    """Ibinabalik ang resulta ng paghagis ng six-sided dice."""
    return str(random.randint(1, 6))


@agent.tool_plain
def calculator(expression: str) -> str:
    """Kinakalkula ang isang mathematical expression."""
    return str(eval(expression))


result = agent.run_sync("Bumato ng dice at i-multiply ang resulta sa 7")
print(result.output)

Dahil ang tool calling ng Gonka ay native, ang mga tool ay tinatawagan nang mapagkakatiwalaan — nang walang marupok na pag-parse ng mga text na sagot. Ang buong cycle (kahilingan → tool call → pangwakas na sagot) ay nagkakahalaga ng humigit-kumulang $0.00001 sa pamamagitan ng Gonka kumpara sa $0.04–0.22 sa OpenAI/Anthropic.

Anong modelo ang pipiliin: Qwen/Qwen3-235B-A22B-Instruct-2507-FP8 — default, pinakamahusay na balanse ng kalidad at pinakamalaking limitasyon sa output (8192). Ang moonshotai/Kimi-K2.6 ay malakas sa coding at kumplikadong pangangatwiran (output hanggang 3072). Ang MiniMaxAI/MiniMax-M2.7 — para sa mahabang diyalogo (output hanggang 4096). Lahat ng tatlo ay magagamit na ngayon sa iisang key — ang pangalan ng modelo lamang ang nagbabago. Ang mga katulad na tool: LangChain para sa mga chains at RAG, LlamaIndex para sa data indexing.

PydanticAI + Gonka = typed AI agents sa Python sa maliit na halaga. Structured output sa Pydantic models, native tool calling, dependency injection — lahat sa pamamagitan ng OpenAIChatModel + OpenAIProvider na may iisang base_url. Ang gastos — mula $0.0005 bawat 1M tokens sa halip na $2.50–15 sa OpenAI at Anthropic.

Gusto mo pang matuto?

Galugarin ang iba pang mga seksyon o simulang kumita ng GNK ngayon.

Kumuha ng libreng 10M token →