Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 37
Glosarium 12

Alat

PydanticAI + Gonka — Agen AI berjenis dengan biaya rendah

PydanticAI adalah framework Python untuk membuat agen AI dari tim Pydantic (library validasi yang menjadi fondasi separuh ekosistem Python). Fitur utama PydanticAI adalah typed output: Anda mendeskripsikan hasil sebagai model Pydantic biasa, dan framework menjamin bahwa model akan mengembalikan struktur tersebut, tervalidasi dan siap digunakan. Ditambah lagi dengan @agent.tool yang intuitif untuk tool calling, dependency injection, dan dukungan terhadap penyedia mana pun.

Masalahnya sama dengan framework agen lainnya, yaitu harga token. Agen dengan tool terus-menerus memutar konteks: permintaan → panggilan tool → hasil → permintaan ulang. Satu tugas bisa dengan mudah menghabiskan jutaan token. Dengan tarif OpenAI (2,50 $ – 15 $ per 1 juta) dan Anthropic (3 $ – 15 $ per 1 juta), bahkan purwarupa menjadi mahal, dan produksi dengan ribuan permintaan per hari menjadi tidak terjangkau.

PydanticAI bekerja secara native dengan endpoint apa pun yang kompatibel dengan OpenAI melalui class OpenAIChatModel dan OpenAIProvider. Artinya, JoinGonka Gateway dapat terhubung hanya dengan beberapa baris kode — tanpa paket atau adaptor terpisah. Hasilnya: agen terstruktur yang berjalan dengan biaya $0.0069 per 1 juta token input dibandingkan 2,50 $ – 15 $ di OpenAI/Anthropic — ratusan hingga ribuan kali lebih murah.

Mulai Cepat: Koneksi dalam Kode

Pertama, dapatkan kunci: daftar di gate.joingonka.ai/register — saat mendaftar kami memberikan 3M token gratis — dan buat kunci jg-xxx di Dashboard → API Keys.

Instalasi:

pip install pydantic-ai
# atau versi ringan hanya dengan dependensi OpenAI:
# pip install "pydantic-ai-slim[openai]"

Contoh minimal — agen melalui Gonka. PydanticAI menetapkan endpoint kustom melalui OpenAIProvider(base_url=..., api_key=...), yang diteruskan ke 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-kunci-anda",
    ),
)

agent = Agent(model)

result = agent.run_sync("Jelaskan dalam dua kalimat apa itu PoUW")
print(result.output)

Itu saja — agen PydanticAI Anda bekerja melalui jaringan desentralisasi Gonka dengan biaya sangat murah. Metode run_sync mudah digunakan untuk skrip; untuk kode async tersedia await agent.run(...).

Parameter model: jendela konteks MiniMax M2.7 — 200K token (200000), DeepSeek V4 Flash — 380K, GLM-5.3 Flash — 390K; panjang respons maksimum melalui Gateway — hingga 8192 token untuk MiniMax dan GLM-5.3 Flash, hingga 32768 untuk DeepSeek. Output dapat dibatasi melalui pengaturan model (OpenAIChatModelSettings(max_tokens=8192)). Tersedia MiniMaxAI/MiniMax-M2.7, deepseek-ai/DeepSeek-V4-Flash-0731, dan zai-org/GLM-5.3-Flash — cukup ubah nama model di argumen pertama OpenAIChatModel.

Fitur PydanticAI: output berjenis

Alasan utama memilih PydanticAI adalah structured output. Daripada memparsing teks respons dengan regex, Anda mendeskripsikan hasil sebagai model Pydantic dan meneruskannya ke parameter output_type. Framework ini menggunakan tool calling model untuk memaksanya mengembalikan data secara ketat sesuai skema, memvalidasinya, dan memberikan objek yang sudah siap melalui 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-kunci-anda",
    ),
)


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


agent = Agent(model, output_type=Profile)

result = agent.run_sync(
    "Ekstrak data: Anna adalah pengembang backend, menguasai Python, Go, dan Postgres"
)
print(result.output)
# name='Anna' role='pengembang backend' skills=['Python', 'Go', 'Postgres']
print(result.output.skills)  # ['Python', 'Go', 'Postgres'] — sudah list[str], bukan teks

Ini berfungsi karena ketiga model Gonka (MiniMax M2.7, DeepSeek V4 Flash, dan GLM-5.3 Flash) mendukung native tool calling — PydanticAI mengandalkannya untuk mengembalikan struktur JSON yang valid. Hasil akhirnya adalah objek Python ter-tipe (typed object), bukan string yang harus diurai secara manual. Ideal untuk ekstraksi data, klasifikasi, pengisian formulir, dan pipeline RAG, di mana hasil harus diteruskan lebih lanjut dalam kode dengan format ketat.

Perbandingan Biaya

PydanticAI adalah framework untuk agen dan pipeline yang bekerja terus-menerus: mengekstrak data, memanggil alat, memproses aliran permintaan. Di sini, biaya token menentukan apakah proyek akan tetap menjadi prototipe atau masuk ke produksi. Mari bandingkan beban kerja tipikal:

SkenarioTokenOpenAI / AnthropicJoinGonka Gonka
Ekstraksi struktur dari dokumen~3K$0.008 — $0.045~$0.000028
Agen dengan tool calling (satu siklus)~15K$0.04 — $0.22~$0.00014
RAG-pipeline (1000 permintaan/hari)~5M/hari$12 — $75/hari~$0.048/hari
Production-agen (100K permintaan/hari)~500M/hari$1,250 — $7,500/hari~$4.80/hari

Perbedaannya mencapai ratusan hingga ribuan kali lipat. Untuk prototipe, ini berarti 3M token gratis cukup untuk uji coba awal agen. Untuk produksi yang menangani ratusan ribu permintaan per hari, penghematannya mencapai puluhan ribu dolar per bulan — dengan kode PydanticAI yang sama, hanya menggunakan base_url yang berbeda.

Satu kunci jg-xxx dan satu saldo berfungsi baik untuk format OpenAI (/v1) maupun format Anthropic (/v1/messages) — namun untuk PydanticAI, endpoint yang kompatibel dengan OpenAI seperti yang ditunjukkan di atas sudah cukup.

Panggilan alat dan pemilihan model

Kemampuan kunci kedua dari PydanticAI adalah alat (tools). Sebuah fungsi dapat didaftarkan dengan dekorator @agent.tool_plain (tanpa konteks) atau @agent.tool (dengan akses ke RunContext dan dependency injection). Model memutuskan sendiri kapan harus memanggil alat, menerima hasilnya, dan melanjutkan penalaran:

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-kunci-anda",
    ),
)

agent = Agent(
    model,
    instructions="Kamu adalah asisten. Gunakan alat saat dibutuhkan.",
)


@agent.tool_plain
def roll_dice() -> str:
    """Melempar dadu enam sisi dan mengembalikan hasilnya."""
    return str(random.randint(1, 6))


@agent.tool_plain
def calculator(expression: str) -> str:
    """Menghitung ekspresi matematika."""
    return str(eval(expression))


result = agent.run_sync("Lempar dadu dan kalikan hasilnya dengan 7")
print(result.output)

Karena pemanggilan alat (tool calling) di Gonka bersifat native, alat dipanggil dengan andal — tanpa penguraian teks respons yang rapuh. Seluruh siklus (permintaan → pemanggilan alat → jawaban akhir) menelan biaya sekitar $0.00007 melalui Gonka dibandingkan $0.04–0.22 di OpenAI/Anthropic.

Model mana yang harus dipilih: MiniMaxAI/MiniMax-M2.7 — untuk dialog panjang dan tugas seimbang, output hingga 8192. deepseek-ai/DeepSeek-V4-Flash-0731 — salah satu konteks terpanjang di jaringan (380K) dan prompt besar yang murah, output hingga 32768. zai-org/GLM-5.3-Flash — model penalaran untuk logika kompleks dan konteks terpanjang di jaringan (390K), output hingga 8192; penalaran menghabiskan sebagian max_tokens, atur dengan cadangan (dari 600). Ketiganya tersedia sekarang dengan satu kunci — hanya baris model yang berubah. Alat dengan semangat serupa: LangChain untuk rangkaian dan RAG, LlamaIndex untuk pengindeksan data.

PydanticAI + Gonka = agen AI terstruktur berbasis Python dengan biaya sangat murah. Structured output pada model Pydantic, tool calling native, dependency injection — semua melalui OpenAIChatModel + OpenAIProvider dengan satu base_url. Biaya — mulai dari $0.0069 per 1 juta token dibandingkan 2,50 $ – 15 $ di OpenAI dan Anthropic.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan token gratis →