Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 54
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.0062 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 kuncinya: daftar di gate.joingonka.ai/register — saat mendaftar kami beri 3M token gratis — lalu buat kunci jg-xxx di Dashboard → API Keys.

Instalasi:

pip install pydantic-ai
# or the slim variant with only the OpenAI dependencies:
# pip install "pydantic-ai-slim[openai]"

Contoh minimal — agen lewat Gonka. PydanticAI mengatur 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-your-key",
    ),
)

agent = Agent(model)

result = agent.run_sync("Explain in two sentences what PoUW is")
print(result.output)

Selesai — agen PydanticAI Anda berjalan lewat jaringan terdesentralisasi Gonka dengan biaya sangat murah. Metode run_sync praktis untuk skrip; untuk kode async gunakan await agent.run(...).

Parameter model: jendela konteks MiniMax M2.7 adalah 180K token (180000), DeepSeek V4 Flash 380K, GLM-5.3 Flash 390K; panjang respons maksimum lewat Gateway hingga 8192 token untuk MiniMax dan GLM-5.3 Flash, hingga 32768 untuk DeepSeek. Anda bisa membatasi output lewat 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 ganti nama model di argumen pertama OpenAIChatModel.

Fitur PydanticAI: output berjenis

Alasan utama memilih PydanticAI adalah structured output. Alih-alih mengurai teks respons dengan regex, Anda mendeskripsikan hasilnya sebagai model Pydantic dan meneruskannya ke parameter output_type. Framework ini memakai tool calling dari model untuk memaksanya mengembalikan data yang benar-benar sesuai skema, memvalidasinya, lalu memberi Anda objek siap pakai lewat 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-your-key",
    ),
)


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


agent = Agent(model, output_type=Profile)

result = agent.run_sync(
    "Extract the data: Anna is a backend developer who knows Python, Go and Postgres"
)
print(result.output)
# name='Anna' role='backend developer' skills=['Python', 'Go', 'Postgres']
print(result.output.skills)  # ['Python', 'Go', 'Postgres'] — already a list[str], not text

Ini berhasil karena ketiga model Gonka (MiniMax M2.7, DeepSeek V4 Flash, dan GLM-5.3 Flash) mendukung tool calling native — PydanticAI mengandalkannya untuk mengembalikan struktur JSON yang valid. Hasilnya adalah objek Python bertipe, bukan string yang harus Andaurai sendiri. Sempurna untuk ekstraksi data, klasifikasi, pengisian formulir, dan pipeline RAG, di mana hasilnya harus mengalir ke kode berikutnya dalam format yang 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 PydanticAI adalah tools. Sebuah fungsi bisa didaftarkan dengan dekorator @agent.tool_plain (tanpa konteks) atau @agent.tool (dengan akses ke RunContext dan dependency injection). Model sendiri yang memutuskan kapan memanggil tool, menerima hasilnya, dan melanjutkan penalarannya:

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-your-key",
    ),
)

agent = Agent(
    model,
    instructions="You are an assistant. Use the tools when needed.",
)


@agent.tool_plain
def roll_dice() -> str:
    """Rolls a six-sided die and returns the result."""
    return str(random.randint(1, 6))


@agent.tool_plain
def calculator(expression: str) -> str:
    """Evaluates a math expression."""
    return str(eval(expression))


result = agent.run_sync("Roll the die and multiply the result by 7")
print(result.output)

Karena tool calling di Gonka bersifat native, tool dipanggil dengan andal — tanpa parsing teks respons yang rapuh. Seluruh siklus (permintaan → pemanggilan tool → jawaban akhir) hanya sekitar $0.00007 lewat Gonka, dibanding $0.04–0.22 di OpenAI/Anthropic.

Model mana yang harus dipilih: MiniMaxAI/MiniMax-M2.7 — untuk percakapan 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 reasoning untuk penalaran kompleks dan konteks terpanjang di jaringan (390K), output hingga 8192; penalaran memakai sebagian max_tokens, jadi beri cadangan (mulai dari 600). Ketiganya tersedia sekarang juga dengan satu kunci — hanya baris modelnya yang berubah. Tool serupa: LangChain untuk rantai 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.0062 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 →